Create an sbt task for running tests written in Enso

Summary

test/Test contains tests written in Enso that test the stdlib and are also a way to test correctness of the interpreter. Currently there is no way to run them automatically.
As part of this task, an sbt task testEnso should be created which creates a simple engine distribution structure containing the stdlib, builds the runnner JAR and, using it, runs these native tests. This task should be added as an additional step in the CI testing workflow.
Additionally, we'd like to clean up the directory structure a bit on this occasion, by:

Moving std-lib related parts to a separate directory.
Unifying the distribution directory structure.

After the changes the structure would be as follows:

distribution/

launcher/
engine/ (formerly loose files directly in distribution other than the launcher)

std-lib/

enso/

Base/ (formerly distribution/std-lib/Base)

bits/

base-bits (formerly std-bits)

licenses/

Base (formerly distribution/std-lib/Base/THIRD-PARTY)

A task buildDistribution used by testEnso should be added which will create an engine distribution that will contain all necessary components and will be runnable:

target/distribution/engine/

bin
components (containing latest assembled JARs)
... (other directories from /distribution/engine)
std-lib

Base/ - containing both the Enso sources and JARs from the built bits
... (and any other modules when they are added)

There should also be a buildDistribution variant for the launcher, which creates target/distribution/launcher with the usual launcher distribution structure.
Additionally, a buildBundle task should be added that creates a bundle from the launcher and engine distributions to allow for easier debugging.
Value

It is easier to run the tests written in Enso.
The tests are run on the CI adding an additional layer of testing.
It is easier to locally debug the distribution.

Specification

[ ] Update the directory structure and any references to these directories.
[x] Create an engine-runner/buildDistribution task.

[ ] It must ensure that the latest runner and runtime are built (by depending on runner/assembly).
[ ] It should create a distribution structure, possibly in some temporary directory (like target).
[ ] It should 'compile' the manifest from the template including proper Graal version information.
[ ] It should ensure that the std-lib included in that structure is up-to-date with the std-lib from the repository (probably by using Tracked.diffInputs) or by just wiping the directory.

[x] Create a launcher/buildDistribution task.

[ ] It should trigger Native Image build (possibly cached in the same way as tests, to avoid rebuilding if there are no changes, as it takes a long time).
[ ] It should copy the executable and the distribution structure to the target directory.

[ ] Create a buildBundle task

[ ] It should depend on launcher/buildDistribution and engine-runner/buildDistribution.
[ ] It should copy these two distributions into a separate directory, target/bundle structured like the bundle.
[ ] By default it should locate the current GraalVM distribution and copy it into the bundle.

[ ] But it should take input and avoid copying if --omit-graal is provided. In that case the launcher will automatically download the specific GraalVM version, or the user can use --use-system-jvm.

[ ] It should be incremental: not removing present files and avoiding copying Graal if it is already there (as it takes a long time due to its size).

[ ] But it should include a wipeDirectories setting key that specifies which directories should be wiped - for example this will include std-lib so that any files removed from std-lib are properly propagated without a full clean.

[ ] Create a testLanguage task

It should depend on engine-runner/buildDistribution.
[ ] It must run the test suite and report if it succeeded (if it returned a success exit code).
[ ] It should report the test output much like scalatest can.

[ ] Add a step to the Engine CI Test workflow that runs sbt testEnso.
[ ] When the REPL tests will be able to use the distribution including the std-lib, add from Base import all to the REPL entry point.
[ ] Change the distribution logic on the CI to use these sbt tasks instead of the shell.

The exception is building bundles that still has to be done separately on the CI as the logic there is different.

Acceptance Criteria & Test Cases

[ ] The task above has been implemented and it runs the tests as expected and prints test reports.
The CI uses the buildDistribution tasks for building the distribution.
[ ] The CI with this task added passes.
[ ] The updated release workflow has been ran on staging.

Parts of this specification have been completed within other PRs.
We may reconsider restructuring the distribution directory to allow to skip the built-distribution and just package subdirectories of distribution. However that would require keeping std-lib sources inside of distribution/engine/ instead of putting the std-lib to the repository root as is suggested in this task, so it is unclear if we really want to do that.


[ZEPPELIN-4312] enable livy to run as remote interpreter in docker

What is this PR for?
This pull request enables livy interpreter to run as remote interpreter in docker. This is (hopefully) improvement of @liuxunorg `s work on running remote interpreters in docker
What type of PR is it?
[Improvement]
Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-4312
How should this be tested?

First time? Setup Travis CI as described on https://zeppelin.apache.org/contribution/contributions.html#continuous-integration
Strongly recommended: add automated unit tests for any new or changed behavior
Outline any manual steps to test the PR here.

Screenshots (if appropriate)
Questions:

Does the licenses files need update?
No
Is there breaking changes for older versions?
No
Does this needs documentation?
No

@zjffdu @liuxunorg kindly ask for feedback for this

Thanks @zlosim  will merge if no more comments


Privacy concern

Hi,
I am getting multiple reports about emails meant to be sent to me. Could you please check your service and get this fixed?
The following person received twice as seen in the picture below.
Thanks,

Hi @ss-o  - I only sent these out to folk who had starred our repo. We'll add you to our 'do not contact' list right now.
Thanks for the feedback.


ectool and windows support

Hi,
In the PR #29 , we replaced Most of the Linux dependencies (replacing the file paths with ectool) except for the sockets.
It should now be possible to adapt the script for windows users.
The ectool can be built for win x64 by reproducing the goal in the .gitlab-ci.yml file (after installing VisualStudio Community 2022 with the C++ and ClangCL package (the installation path may vary slightly))
I have successfully built it in a VM, however since I do not have a native windows installation, I could not fully test if the ectool can properly interacts with the computer hardware.
If you have one, could you please test it on your end, and if everything is ok add the exe to the repo bin folder so I can start the adaptation?

Indeed, that would be nice for Windows users but I don't have a Windows install either

I will try to setup one without messing with my existing install then


Added a way to start the dialog box from script

You can now restart and reuse the same syndibox node
also added a way to stop and reset the node too
also got rid of a debug print from last pull request
still a draft as i need to add documentation and fix a few problems first but i wanted to get it out here to make sure it looks right, right now

oops i did not mean to mark as ready for review

It should be ready to review for now, i added some comments and i also fixed a issue with transposing

Just also fixed 2 crash issue relating to hiding text (though it still does not work) and alternate fonts


Prepare for 4.2

I have nothing to say

Changes Unknown when pulling 6b9fc1fd34609445b0a0dfc5f0a9fe19defa96d2 on Strech:rails-4.2 into ** on razum2um:rails-4.2**.


profile dropdown menu created

Pull Request Title: Fix Login Button Visibility Issue After Google OAuth2.0 Login
Issue Number: Fixes #19
🛠 Type of Change

[x] 🐛 Bug fix
[ ] ✨ New feature
[ ] 🚨 Breaking change
[ ] 📚 Documentation update

Approach
I have used the Shadcn dropdown menu to fix the problem where the login button remains visible after logging in with Google OAuth2.0. The dropdown menu now displays user information, including the user's profile image, email, name, and a logout button.
What This Can Do

Before: The login button remains visible after a user logs in using Google OAuth2.0.
After: The user's profile picture, name, email, and a logout button are displayed in place of the login button.

Screenshots
Before

After

✅ Checklist
To ensure a smooth review process, please check off each item as you complete it:

[x] Code Style: My code adheres to the project’s style guidelines.
[x] Self-Review: I have reviewed my own code and made improvements.
[ ] Comments: I’ve added comments to explain complex or non-obvious parts of the code.
[ ] Documentation: I’ve updated the documentation to reflect my changes.
[x] Warnings: My changes introduce no new warnings.
[ ] Tests: I’ve added tests to verify that my changes work as expected.
[ ] Passes Locally: All new and existing unit tests pass on my local machine.

You have branch merge conflicts please get rid of them
And the ui has been changed so look at it that the issue exists or not

You have branch merge conflicts please get rid of them
And the ui has been changed so look at it that the issue exists or not


Variable for uses postgres

@TylerSheffels @wspride
easier to set default var
elf: @czue

offlined deploy strategy with @benrudolph and he'll follow up

:+1:


Add support for Instagram sharing

@RalfNieuwenhuizen In your fork, the method shareSingle works with Instagram to post a photo?

@EstebanFuentealba @jgcmarins any chance this could be merged?

@RalfNieuwenhuizen you got any preview screenshots / gifs we could see for this?

@MarkOSullivan94 https://www.dropbox.com/s/w3y95uy806rwo47/SVID_20180425_154749.mp4?dl=0

Thanks @RalfNieuwenhuizen


apply RUSTC_WRAPPER when querying rustc version

Fixes https://github.com/stepancheg/rust-protobuf/issues/735
The alternative would have been to depend on https://crates.io/crates/rustc_version, but that would have been a larger change.

@stepancheg did you have any chance to look at this? :)
This crate shows up in the rustc compiler workspace, which makes this a blocking issue for https://github.com/rust-lang/rust/pull/127682.

I don't fully understand it, but someone else asked me to merge it, so this is it.

Actually, I removed nightly detection from build.rs of protobuf crate, because it is not needed for the crate itself, only for benches, and I moved benches outside.

That's even better, thanks :-)


Ansible-review can't parse roles with dependices from custom modules

Hi!
In my playbook, I use role spring-boot, which depends from role maven-download, which provides module maven_download.
Ansible-review fails with error:
Couldn't parse task at roles/spring-boot/tasks/extract_artifact.yml:17 (no action detected in task. This often indicates a misspelled module name, or incorrect module path.)
{ 'maven_download': 'group_id={{ item.group_id }} artifact_id={{ item.artifact_id }} version={{ item.artifact_version }} classifier=apidoc dest={{ doc_dest }}/{{ item.artifact_id }}.zip repository_url={{ maven_repo }} username={{ maven_repo_username }} password={{ maven_repo_password }}',
  'name': 'download {{ item.artifact_id }} java package',
  'register': 'download_result'}

Yeah, that's a difficult one. I'm really a little unsure as to better do this.
Currently the pragmatic way is to add module directories to the ANSIBLE_LIBRARY path. I know that's a rubbish solution, but (a) I believe that dependent roles is a recipe for disaster and (b) even if I didn't believe that, there's no code in ansible-review that does the dependency analysis, because it's hard, and because ansible-review is a file-based review tool (it can find a meta/main.yml so what you're asking isn't impossible, just unlikely in the absence of a useful PR)

add module directories to the ANSIBLE_LIBRARY path
Yeah, this workaround is acceptable for me. We use only 3 roles which provide custom modules, so it will be not hard.

BTW, ansible-lint and ansible-review are awesome tools, thanks a lot!

Any plans to fix this? At least if we would have a config option inside .ansible-lint config file, we could use this one to avoid adding an extra environment variable which is extremely problematic for using the linter from other tools where ability to define environment variable may be very limited (gui apps/editors). The linter should be usable and controllable without having to hack environment variables.

PRs accepted @ssbarnea


Allow empty members for ovs_bridge

Instead of allowing schema error (PR#100), updating schema for ovs_bridge to allow empty members:
There are use cases where we don't want to enforce the schema validation, like the current ovn-bgp-agent OpenStack deployments where we rely on "empty" bridges:
type: ovs_bridge
name: br-ex
use_dhcp: false
type: ovs_bridge
name: br-vlan
use_dhcp: false
It is left to the agent/kernel to set up routing and send traffic to the right nic.
Added test case for same
Fixes issue: https://bugzilla.redhat.com/show_bug.cgi?id=2316090

@lmiccini , please review this


Guzzle Client should be injectable to be able to handle proxy

Guzzle Client should be injectable to be able to handle proxy configuration and other options.
For example: GetFolderItemsCommand is constructing it's own new Client().

I agree, and will look into implementing this.

RE: This enhancement refers to code in this repository: https://github.com/ryanvade/laravel-box/

I've started a complete rewrite of the LaravelBox library, I believe your request has been sufficiently implemented.
https://github.com/ryanvade/laravel-box/blob/refactor_remove_factories/src/LaravelBox/LaravelBox.php#L18
I will mark this closed when the new version of the library is implemented.


multiple language site exception, works only in English,

Hi,
This is a exception error if i do amazon payment in a chinese language version of my site.
exception 'OffAmazonPaymentsService_Exception' with message 'The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.' in /var/www/clients/client1/web1/web/lib/OffAmazonPaymentsService/Client.php:914 Stack trace: #0 /var/www/clients/client1/web1/web/lib/OffAmazonPaymentsService/Client.php(862): OffAmazonPaymentsService_Client->_reportAnyErrors('Justin
Please fix this bug. Thank you very much
Justin

Here is the full exception log, Thank you.
exception 'OffAmazonPaymentsService_Exception' with message
'The request signature we calculated does not match the signature you provided.
Check your AWS Secret Access Key and signing method. Consult the service documentation for details.' in
/var/www/lib/OffAmazonPaymentsService/Client.php:916 Stack trace: #0
/var/www/lib/OffAmazonPaymentsService/Client.php(862): OffAmazonPaymentsService_Client->_reportAnyErrors() #1
/var/www/lib/OffAmazonPaymentsService/Client.php(510): OffAmazonPaymentsService_Client->_invoke() #2
/var/www/app/code/community/Amazon/Payments/Model/Api.php(99): OffAmazonPaymentsService_Client->authorize() #3
/var/www/app/code/community/Amazon/Payments/Model/Api.php(169): Amazon_Payments_Model_Api->request() #4
/var/www/app/code/community/Amazon/Payments/Model/PaymentMethod.php(130): Amazon_Payments_Model_Api->authorize() #5
/var/www/app/code/community/Amazon/Payments/Model/PaymentMethod.php(266): Amazon_Payments_Model_PaymentMethod->_authorize() #6
/var/www/app/code/community/Amazon/Payments/Model/PaymentMethod.php(84): Amazon_Payments_Model_PaymentMethod->order() #7
/var/www/app/code/core/Mage/Sales/Model/Order/Payment.php(334): Amazon_Payments_Model_PaymentMethod->initialize() #8
/var/www/app/code/core/Mage/Sales/Model/Order.php(896): Mage_Sales_Model_Order_Payment->place() #9
/var/www/app/code/core/Mage/Sales/Model/Order.php(1114): Mage_Sales_Model_Order->_placePayment() #10
/var/www/app/code/core/Mage/Core/Model/Resource/Transaction.php(105): Mage_Sales_Model_Order->place() #11
/var/www/app/code/core/Mage/Core/Model/Resource/Transaction.php(159): Mage_Core_Model_Resource_Transaction->_runCallbacks() #12
/var/www/app/code/core/Mage/Sales/Model/Service/Quote.php(189): Mage_Core_Model_Resource_Transaction->save() #13
/var/www/app/code/core/Mage/Sales/Model/Service/Quote.php(249): Mage_Sales_Model_Service_Quote->submitOrder() #14
/var/www/app/code/community/Amazon/Payments/Model/Type/Checkout.php(136): Mage_Sales_Model_Service_Quote->submitAll() #15
/var/www/app/code/community/Amazon/Payments/controllers/CheckoutController.php(235): Amazon_Payments_Model_Type_Checkout->saveOrder() #16
/var/www/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Amazon_Payments_CheckoutController->saveOrderAction() #17
/var/www/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch() #18
/var/www/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match() #19
/var/www/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch() #20 /var/www/app/Mage.php(684): Mage_Core_Model_App->run() #21
/var/www/index.php(87): Mage::run() #22 {main}

@jjone Can you tell me what the Seller Note field was? It is possible we dont support Chinese characters

Hi, ngrices
Where do i find the Seller Note field?  Thank you.
Justin

Confirmed that the SoftDescriptor field does no support Chinese characters (@ngrices add to FAQ?). In 1.4.1 the SoftDescriptor can be changed in the admin. Prior versions can modify: app/code/community/Amazon/Payments/Model/PaymentMethod.php and change _getSoftDescriptor() to return plain text instead of the store name.


Fix Overlap When Moving Between Tabs

When you quickly switch between bottom tabs, the screens of the two tabs overlap.
An issue regarding this was also created, and it was resolved by updating the navigation library version.
Issues raised

The above issue was resolved in navigation 2.8.0-beta04.
jetpack navigation release note
(Currently, NowInAndroid is using jetpack navigation version 2.8.0-alpha06)
The latest version is 2.8.0-beta07, but compileSdk version 35 is required, so the version was updated to beta06.

I think the resolve is about Predictive back feature.

@Jaehwa-Noh
Yes, I read it again and there is a screenshot of the release notes.
I removed the highlighted part because it did not seem to fit perfectly with the issue I raised.
However, we have confirmed that the issues raised have been resolved starting with version beta-04
I think it was probably fixed along with fixing the bug in the Predictive back function. What do you think?

@Songgyubin
I'm not sure the issue was resolved as I read a release note.

@Jaehwa-Noh
Yes, I tried it again, but there is no information about it in the release notes.
However, when I ran it and tested it, it seemed to have been resolved.
So, to get an accurate understanding, I commented on the same post as the issue I was raising.
Can I keep an eye on it and update this PR?
https://issuetracker.google.com/issues/338975163
https://issuetracker.google.com/issues/338975163#comment11

@Jaehwa-Noh
As a result of the inquiry, it was said that it was the same problem that caused animation problems due to prediction back cancellation, and that the fix was applied in beta04.
Therefore, the issue of screen overlapping when switching tabs quickly has been corrected starting with version beta04.

https://android-review.googlesource.com/c/platform/frameworks/support/+/3138255/5/navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHost.kt#36
val transition = rememberTransition(transitionState, label = "entry")

        if (inPredictiveBack) {
            LaunchedEffect(progress) {
                val previousEntry = currentBackStack[currentBackStack.size - 2]
                transitionState.seekTo(progress, previousEntry)
            }
        } else {
            LaunchedEffect(backStackEntry) {
                // This ensures we don't animate after the back gesture is cancelled and we
                // are already on the current state
                if (transitionState.currentState != backStackEntry) {
                    transitionState.animateTo(backStackEntry)
                } else {
                    // convert from nanoseconds to milliseconds
                    val totalDuration = transition.totalDurationNanos / 1000000
                    // When the predictive back gesture is cancel, we need to manually animate
                    // the SeekableTransitionState from where it left off, to zero and then
                    // snapTo the final position.
                    animate(
                        transitionState.fraction,
                        0f,
                        animationSpec = tween((transitionState.fraction * totalDuration).toInt())
                    ) { value, _ ->
<EMAIL_ADDRESS>{
                            if (value > 0) {
                                // Seek the original transition back to the currentState
                                transitionState.seekTo(value)
                            }
                            if (value == 0f) {
                                // Once we animate to the start, we need to snap to the right state.
                                transitionState.snapTo(backStackEntry)
                            }
                        }
                    }
                }
            }
        }

I've checked it, yes, there animation is fixed. This issue seems to be fixed that library version.
By the way, when I changed the navigation library to beta-06, I can't start the interests screen.
Could you possible to show the interests screen on this PR?

@Jaehwa-Noh
I also can't open the interests screen.
This is an unexpected situation.
The app crashes.
java.lang.NoSuchMethodError: No static method localLookaheadPositionOf-RE3cj74$default(Landroidx/compose/ui/layout/LookaheadScope;Landroidx/compose/ui/layout/LayoutCoordinates;Landroidx/compose/ui/layout/LayoutCoordinates;JILjava/lang/Object;)J in class Landroidx/compose/ui/layout/LookaheadScope;
or its super classes (declaration of 'androidx.compose.ui.layout.LookaheadScope' appears in /data/app/~~A60uN9g5j3zSh8LW1c2u6A==/com.google.samples.apps.nowinandroid.demo.debug-FbvxGIMsxBPgNmQdZ-yKSA==/base.apk!classes12.dex)

@Jaehwa-Noh
The problem was with androidx.compose.material3.adaptive
It has been resolved starting from androidx.compose.material3.adaptive version beta03, and I raised an issue and received a confirmation that the problem was resolved.
(current version: androidxComposeMaterial3Adaptive = "1.0.0-beta01")
The latest version is 1.1.0-alpha01, but since there are many changes, we don't know what problems will arise, and there is not enough time to test, so we updated it to 1.0.0-rc01 to fix the bug in the PR.
compose-material3-adaptive release note: https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive
After


iothub - fileNotifications.maxDeliveryCount default value is wrong

The default value of fileNotifications.maxDeliveryCount is 10 with REST API instead of 100 in the document https://learn.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-settings.
Below is the request detail:
PUT https://management.azure.com/subscriptions/***/resourceGroups/***/providers/Microsoft.Devices/iothubs/***?api-version=2022-04-30-preview
{
    "location": "eastus",
    "sku": {
        "name": "S1",
        "tier": "Standard",
        "capacity": 1
    }
}

Get response:
{
    "properties": {
        "messagingEndpoints": {
            "fileNotifications": {
                "lockDurationAsIso8601": "PT1M",
                "ttlAsIso8601": "PT1H",
                "maxDeliveryCount": 10
            }
        },
        ...
    },
    ...
}

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: dbaf3777-34b8-b195-691f-2853c9cbe04a
Version Independent ID: 3b0a4384-e495-16db-1c36-dca0a9f95179
Content: Understand Azure IoT Hub file upload
Content Source: articles/iot-hub/iot-hub-devguide-file-upload.md
Service: iot-hub
GitHub Login: @kgremban
Microsoft Alias: kgremban

@myc2h6o Thanks for the feedback! We are currently investigating and will update you shortly.

@AshokPeddakotla-MSFT thanks for the fix. Just a small issue. The default is 10, and the range is still 1 to 100 instead of 1 to 10.

Fixed it. Thanks for raising this.


Hyper currently does not support client body read timeout, which may makes it vulnerable to slow attacks.

Version
0.13.10
Description
When the Hyper serves as the server, the client body reading timeout is not implemented. As a result, the connection may be fully occupied by slow attacks from the client and memory may be exhausted.
The following is an example of an attack:

Use Hyper to create an HTTP server and perform HTTP1.1 and HTTP2 tests.
Construct the following test code (for details, see the official example https://github.com/hyperium/hyper/blob/master/examples/params.rs). The sample code uses the to_bytes method to obtain the client body packet and print the body content.
Server code:
// Respond to all requests and use to_bytes to read the body.
async fn handle(req: Request<Body>) -> Result<Response<Body>, hyper::Error> {
    let bytes = hyper::body::to_bytes(req).await?;
    let body: String = String::from_utf8_lossy(bytes.as_ref()).to_string();
    println!("body : {:?}", body); // Test whether the to_bytes method is suspended.
    Ok(Response::new("Hello, World!\n".into()))
}

#[tokio::main]
async fn main() {
    let addr = SocketAddr::from(([0, 0, 0, 0], 1337));
    let make_svc = make_service_fn(|_conn| async {
        Ok::<_, Infallible>(service_fn(handle))
    });
    let server = Server::bind(&addr).serve(make_svc);
    if let Err(e) = server.await {
        eprintln!("server error: {}", e);
    }
}

1）Test the HTTP1 protocol stack. The HTTP1 protocol stack is a hyper project. The code is as follows:

Key code: conn.rs, io.rs, dispatch.rs, body.rs, and decode.rs.
The test result shows that no data with the length of Content-Length is received. The io.rs keeps reading the data.
fn read_mem(&mut self, cx: &mut task::Context<'_>, len: usize) -> Poll<io::Result<Bytes>> {
    if !self.read_buf.is_empty() {
        let n = std::cmp::min(len, self.read_buf.len());
        Poll::Ready(Ok(self.read_buf.split_to(n).freeze()))
    } else {
        println!("291 begin poll_read_from_io {:?}", len);
        let n = ready!(self.poll_read_from_io(cx))?;
        println!("291 end poll_read_from_io {:?}", len);
        Poll::Ready(Ok(self.read_buf.split_to(::std::cmp::min(len, n)).freeze()))
    }
}

After testing, the read_mem method keeps waiting for data. If the method does not return data, the to_bytes method at the data receiving end is suspended.
The data read from the client is cached in the vec array variable of the to_bytes() method.
pub async fn to_bytes<T>(body: T) -> Result<Bytes, T::Error>
where
    T: HttpBody,
{
    futures_util::pin_mut!(body);

    // If there's only 1 chunk, we can just return Buf::to_bytes()
    let mut first = if let Some(buf) = body.data().await {
        buf?
    } else {
        return Ok(Bytes::new());
    };

    let second = if let Some(buf) = body.data().await {
        buf?
    } else {
        return Ok(first.copy_to_bytes(first.remaining()));
    };

    // With more than 1 buf, we gotta flatten into a Vec first.
    let cap = first.remaining() + second.remaining() + body.size_hint().lower() as usize;
    let mut vec = Vec::with_capacity(cap);
    vec.put(first);
    vec.put(second);

    while let Some(buf) = body.data().await {
        vec.put(buf?);
    }

    Ok(vec.into())
}

Based on the preceding analysis, the attack client starts 100,000 processes and sets the Content-Length of the request packet to 10 MB. Each process sends 10 MB-1 data to the server until the process memory is exhausted, causing the host memory to be exhausted.
Client code：
#!/usr/bin/env python
# coding=utf-8

import socket
import ssl
import time
import threading

def send(id):
    s = ssl.wrap_socket(socket.socket())
    s.connect(("<IP_ADDRESS>", 1337))
    data = "GET /test HTTP/1.1\r\n" + \
            "Host: <IP_ADDRESS>:1337\r\n" + \
            "Content-Length: 10480000\r\n\r\n"
    s.send(data.encode('utf-8'))
    for i in range(1000):
        body = b"1"*10479
        s.send(body)
    d = s.recv(1024)
    print("thread id %s finish:%s" % (id,d))

threads = []
for i in range(100000):
    threads.append(threading.Thread(target=send,args=(i,)))
for t in threads:
    time.sleep(0.001)
    t.start()
for t in threads:
    t.join()

2）Testing HTTP2. The HTTP2 protocol stack of hyper is a subproject of H2.
The data frame processing code for HTTP2 is in data.rs, which has a very important function:
/// Gets the value of the `END_STREAM` flag for this frame.
///
/// If true, this frame is the last that the endpoint will send for the
/// identified stream.
///
/// Setting this flag causes the stream to enter one of the "half-closed"
/// states or the "closed" state (Section 5.1).
pub fn is_end_stream(&self) -> bool {
    self.flags.is_end_stream()
}

In the send_data method in prioritize.rs, if frame.is_end_stream is set to true, the flow closing processing is updated.
if frame.is_end_stream() {
    stream.state.send_close();
    self.reserve_capacity(0, stream, counts);
}

When the H2 protocol stack receives a data frame, if the data frame ends, is_end_stream() returns true. If the data frame does not end, false is returned. The H2 protocol stack continues to receive more data. If is_end_stream returns true, the end data receiving to_bytes method returns normally.
The is_end_stream method of data.rs can directly return false. Even if the normal end frame is sent, the H2 protocol stack continuously receives data, and to_bytes is suspended.
pub fn is_end_stream(&self) -> bool {
    let flag = self.flags.is_end_stream();
    println!("h2 data is_end_stream: {:?}", flag);
    false
}

According to the test result, if the is_end_stream method does not return true, to_bytes is suspended because the end frame is not correctly calculated during data reading at the HTTP2 bottom layer. As a result, to_bytes keeps processing the read status when reading data.
A similar attack is used on HTTP2. The client does not send a data end frame, but the server waits for the data end frame. The client can send a large amount of data to the HIRO, causing the host memory to be exhausted.

For other web containers, such as Tomcat, Nginx processes incomplete data. Tomcat has the SocketTime processing mechanism, and Nginx has the client_body_timeout processing mechanism. The problem does not occur when data is suspended. The following uses the timeout processing mechanism of the Tomcat as an example:
1）The Tomcat process socket read timeout mechanism is as follows:
Code in: org.apache.tomcat.util.net.Nio2Endpoint.fillReadBuffer method
try {
    integer = ((Nio2Channel)this.getSocket()).read(to);
    long timeout = this.getReadTimeout();
    if (timeout > 0L) { //If timeout is set and no data is read from the socket within the timeout period, SocketTimeoutExcception is returned.
        nRead = (Integer)integer.get(timeout, TimeUnit.MILLISECONDS);
    } else {
        nRead = (Integer)integer.get();
    }
} catch (ExecutionException var12) {
    if (var12.getCause() instanceof IOException) {
        throw (IOException)var12.getCause();
    }
    throw new IOException(var12);
} catch (InterruptedException var13) {
    throw new IOException(var13);
} catch (TimeoutException var14) {
    integer.cancel(true);
    throw new SocketTimeoutException();
} finally {
    this.readPending.release();
}

If timeout is set and no data is read from the socket within the timeout period, SocketTimeoutExcception is returned.
This parameter can be configured in the server.xml file:
<Connector port="1337" protocol="HTTP/1.1"
           redirectPort="8443"
           maxPostSize="200"
           connectionTimeout="20000" #This parameter can be used to set the SocketTimeout time, which is valid after testing.
           maxHttpHeaderSize="8192"
           minSpareThreads="2"
           maxThreads="100"/>

The configured connectionTimeout is 20 seconds, which is valid after testing.

 Hyper is an excellent HTTP proxy component of Rust and should implement related functions.

@seanmonstar Could add client body read timeout features to hyper?

Every future (async) in Rust can be easily wrapped in a timeout. Indeed, any that do not get wrapped are vulnerable to a stalled future, whether it's waiting on some body bytes, or waiting on a TLS handshake, or waiting on response headers, or anything else. It's easy to add one, like so:
let bytes = tokio::time::timeout(
    Duration::from_secs(3),
    hyper::body::to_bytes(req)
).await??;

This method of adding timeout is not user-friendly. For example, when the size of the entire client body cannot be estimated, the timeout value is difficult to configure.
The usual timeout design is the timeout between two consecutive poll operations in tcp steam, rather than the timeout for reading the entire body. For example, the client body timeout of Nginx is as follows:
Syntax:  client_body_timeout time;
Default:  client_body_timeout 60s;
Context:  http, server, location

Defines a timeout for reading client request body. The timeout is set only for a period between two successive read operations, not for the transmission of the whole request body. If a client does not transmit anything within this time, the request is terminated with the 408 (Request Time-out) error.

Every future (async) in Rust can be easily wrapped in a timeout. Indeed, any that do not get wrapped are vulnerable to a stalled future, whether it's waiting on some body bytes, or waiting on a TLS handshake, or waiting on response headers, or anything else. It's easy to add one, like so:
let bytes = tokio::time::timeout(
    Duration::from_secs(3),
    hyper::body::to_bytes(req)
).await??;

This method of adding timeout is not user-friendly. For example, when the size of the entire client body cannot be estimated, the timeout value is difficult to configure.
The usual timeout design is the timeout between two consecutive poll operations in tcp steam, rather than the timeout for reading the entire body. For example, the client body timeout of Nginx is as follows:
Syntax:  client_body_timeout time;
Default:  client_body_timeout 60s;
Context:  http, server, location

Defines a timeout for reading client request body. The timeout is set only for a period between two successive read operations, not for the transmission of the whole request body. If a client does not transmit anything within this time, the request is terminated with the 408 (Request Time-out) error.

This method of adding timeout is not user-friendly. For example, when the size of the entire client body cannot be estimated, the timeout value is difficult to configure.
The usual timeout design is the timeout between two consecutive poll operations in tcp steam, rather than the timeout for reading the entire body. For example, the client body timeout of Nginx is as follows:
Syntax:  client_body_timeout time;
Default:  client_body_timeout 60s;
Context:  http, server, location

Defines a timeout for reading client request body. The timeout is set only for a period between two successive read operations, not for the transmission of the whole request body. If a client does not transmit anything within this time, the request is terminated with the 408 (Request Time-out) error.

Every future (async) in Rust can be easily wrapped in a timeout. Indeed, any that do not get wrapped are vulnerable to a stalled future, whether it's waiting on some body bytes, or waiting on a TLS handshake, or waiting on response headers, or anything else. It's easy to add one, like so:
let bytes = tokio::time::timeout(
    Duration::from_secs(3),
    hyper::body::to_bytes(req)
).await??;

@seanmonstar
This method of adding timeout is not user-friendly. For example, when the size of the entire client body cannot be estimated, the timeout value is difficult to configure.
The usual timeout design is the timeout between two consecutive poll operations in tcp steam, rather than the timeout for reading the entire body. For example, the client body timeout of Nginx is as follows:
Syntax:  client_body_timeout time;
Default:  client_body_timeout 60s;
Context:  http, server, location

Defines a timeout for reading client request body. The timeout is set only for a period between two successive read operations, not for the transmission of the whole request body. If a client does not transmit anything within this time, the request is terminated with the 408 (Request Time-out) error.

It's also possible to use req.body_mut().data().await to await the next read from the socket. You can do so in a loop, using the timeout method I mentioned in the previous comment.

It's also possible to use req.body_mut().data().await to await the next read from the socket. You can do so in a loop, using the timeout method I mentioned in the previous comment.

Of course, application services using hyper can be implemented in this way, but should the hyper::body::to_bytes(req) method include the timeout capability? Alternatively, provide an API with timeout.

I remember that the earlier version of hyper did not have client header timeout, but was supported since https://github.com/hyperium/hyper/pull/2675, so should client body timeout be supported?
@seanmonstar

The header timeout was added because it was not possible to do without hyper. Setting a timeout between body reads is possible, so I don't believe it should be part of hyper, but rather something that frameworks provide.
We could consider an adapter in the upcoming hyper-util.

The header timeout was added because it was not possible to do without hyper. Setting a timeout between body reads is possible, so I don't believe it should be part of hyper, but rather something that frameworks provide.
We could consider an adapter in the upcoming hyper-util.

We have a scenario where hyper is used as a proxy. After the request is sent to the server, the body is directly forwarded to a specific backend service through the hyper client. In this scenario, we prefer the body to support read timeout instead of encapsulating the body by using wrap_stream.

@seanmonstar It is unreasonable to let every developer realize the ability of bodytimeout

@lidong14 your test case is wrong. It spawns many parallel connections with a tiny delay between each connection being established, but the sender function doesn't sleep between sends (i.e. you're emulating a LOT of a normal full speed clients, not slow senders). I think your problem (high resource usage) is in fact coming from the use of hyper::body::to_bytes in the hyper example you're using, which is essentially a buffer of the entire request body, as described in the docs:

Concatenate the buffers from a body into a single Bytes asynchronously.
This may require copying the data into a single buffer. If you don’t need a contiguous buffer, prefer the aggregate function.

This means the example code hangs around waiting for client to finish sending the entire request, buffering the body in memory until the client has finished. As each client is sending 10MB of data and you have 100,000 clients, a total of 1TB data will be buffered in memory over the course of your test case executing (likely won't all be in memory at the same time). I think any web framework or server would struggle with this type of load on what I suspect is laptop hardware (i.e. not a 64 core monster server). In a real-world setting you shouldn't use hyper::body::to_bytes as per the warning in the docs (see above).
@seanmonstar maybe it's worth changing the example so people aren't guided into using hyper::body::to_bytes. There is a warning in the docs about it's usage after all.
For what it's worth, I think if you want DDoS protection and you don't want to implement this sort of functionality yourself (as suggested above), you should use a reverse proxy or one of the many cloud provider options you're likely using already, or are going to use. Many web frameworks don't provide this sort of functionality out-of-the-box and hyper is intended to be a low-level one at that, from which others can build upon to implement these sorts of features.


Syntax Highlighting / Autocomplete within Monaco

Are there any existing solutions to get Syntax Highlighting and autocomplete within Monaco?
Monaco is the editor within VSCode, however the extension I use within VSCode (vscode-styled-components) uses TextMate, a C library that is not supported in Monaco.
Alternatively, if anyone knows of any good quality embedable javascript editors, that do support styled-components, I'd love to be aware of them. I'm not entirely tied to Monaco.

Great question for stack overflow


Support for different networks, node templates

This PR contains support for :
This allows you to set your ip range and subnet for private network:
https://github.com/alexzimmer96/rancher-hcloud/issues/2
variable "ip_range" {
    type = string
    default = "<IP_ADDRESS>/12"
    description = "Ip Range to use for setting up Hetzner network."
}

variable "subnet_ip_range" {
    type = string
    default = "<IP_ADDRESS>/24"
    description = "Subnet Ip Range to use for setting up Hetzner network."
}

Extra parameters for the node-init:
Solving https://github.com/alexzimmer96/rancher-hcloud/issues/10
variable "use_private_networks" {
  type = bool
  default = false
  description = "Use private network in node templates."
}

variable "node_cloud_init_path" {
    type = string
    default = ""
    description = "Path to the cloud init user data for node templates."
}

variable "node_template_types" {
    type = list(string)
    default = ["cx", "cx-ceph", "cpx", "ccx"]
    description = "All server types for which a node template will be created"
}

variable "node_template_zones" {
    type = list(string)
    default = ["nbg1", "fsn1", "hel1"]
    description = "All zones for which a node template will be created."
}

The node init will create by default ALL possible nodes, but with the above variables you can choose from zones and type combination.
Please note that https://github.com/alexzimmer96/rancher-hcloud/issues/11 private network checkbox is not working.

I see that this PR also includes the changes from https://github.com/alexzimmer96/rancher-hcloud/pull/6

I see that this PR also includes the changes from https://github.com/alexzimmer96/rancher-hcloud/pull/6

Extra note ... beside the error of the Private Network that is not working for the node template, I see that the Docker Install URL is pointing to 18.09sh.
When I tried to install my cluster, the docker was failing.
When I changed that to the latest 19.03.sh my cluster was provisioning.
So I guess the node template part is not stable.

Extra note ... beside the error of the Private Network that is not working for the node template, I see that the Docker Install URL is pointing to 18.09sh.
When I tried to install my cluster, the docker was failing.
When I changed that to the latest 19.03.sh my cluster was provisioning.
So I guess the node template part is not stable.

Fixes #10 #2


Add MRI 2.1.0 to Travis builds.

@DevL this seems to be superseded by @freeformz's commit 1c0797bd742fdcf3def3308b87312cf24e8d13d0.
Recommend closing.

I am going to close, since this was effectively done on 1c0797bd742fdcf3def3308b87312cf24e8d13d0


[WIP] Initial AlphaAnimals Support

Jo, Vegapnk. Hey, Shabalox
I've started working on initial support for AlphaAnimals. I wanted to create this pull request to get some feedback on on the layout I've created and to be sure I didn't make a major mistake by now :) I don't want this to be merged just jet.

So please be gentle with me and tell me if i do something wrong (which I will).
Note: Some GeneDefs are not complete and were just for testing purpose.
Progress:

[ ] AcanthamoebaGigantea
[ ] AeroFleet
[ ] Agaripawn/pod
[ ] AngelMoth
[ ] AnimaColossus
[ ] Animalisk
[ ] AnimusVox
[x] ArcticLion
[ ] Atispec
[ ] AuroraSlyph
[ ] BarbSlinger
[ ] BedBug
[ ] Behemoth
[ ] BlackHive
[ ] Blizzarisk
[ ] BloodShrimp
[ ] Bobeene
[ ] BoulderMit
[ ] Bumbledrone
[ ] Cactipine
[ ] ChameleonYak
[ ] ChemfuelMyrmidon
[ ] Cinderlisk
[ ] CrepuscularBeetle
[ ] CescendoAnole
[ ] CrystalMit
[ ] CrystallineCaracal
[ ] DarkVandal
[ ] Darkbeast
[ ] DecayDrake
[ ] DesertAve
[ ] DevilSheep
[ ] Drainer
[ ] Dunealisk
[ ] DuskPowler
[ ] Duskrat
[ ] EmpressButterfly
[ ] EngorgedTentacularAberration
[ ] Erin
[ ] Eyeling
[ ] Feralisk
[ ] FireWasp
[ ] FissionMouse
[ ] FlamingoPhoenix
[ ] FrostAve
[ ] FrostLynx
[ ] FristMite
[ ] FrostHoundBehemoth
[ ] Frostling
[ ] FungalHusk
[ ] Gallatross
[ ] Genix
[ ] GiantCrownedSilkie
[ ] Gigantelope
[ ] GreatDevourer
[ ] GreenGoo
[ ] GreyCoatedMouflon
[ ] GroundRunner
[ ] Helixien
[ ] InfectedAerofleet
[ ] IronHuskBeetle
[ ] Junglelisk
[ ] Lockjaw
[ ] LuciferBug
[ ] MammothWorm
[ ] Mantrap
[ ] MatureFleshBeast
[ ] MeadowAve
[ ] MegaLouse
[ ] Metallovore
[ ] Mime
[ ] Murkling
[ ] MycoidColossus
[ ] NeedlePost
[ ] NeedleRoll
[ ] NightMule
[ ] NightAve
[ ] Nightling
[ ] Nightram
[ ] OcularJelly
[ ] OcularNightling
[ ] OvergrownColossus
[ ] PebbleMit
[ ] PedigreedRaptor
[ ] PhoenixOwlcat
[ ] Plasmorth
[ ] Radyak
[ ] RaptorShrimp
[ ] Ravager
[ ] RayHound
[ ] Razorjack
[ ] RedGoo
[ ] RedSpore
[ ] RiperHound
[ ] RoughPlatedMonitor
[ ] RoyalAve
[ ] SandLion
[ ] SandProwler
[ ] SandSquid
[ ] ShadowCharger
[ ] ShockGoat
[ ] Skiphound
[x] ArcturanSkyEel
[ ] Slurrypede
[ ] Swarmling
[ ] SpinedGow
[ ] TarGuzzler
[ ] TeratogenicOriginator
[ ] Terramorph
[ ] TetraSlug
[ ] Thermadon
[ ] Thunderbeast
[ ] Thunderox
[ ] UnblinkingEye
[ ] WaywardMobileAssembler
[ ] Wildpawn/pod
[ ] Windbeast

Thank you for contribution. It looks great! Only thing I am noticing is that for AA_ColossalAerofleet having them in the aerofleet racegenedef may cause some problems as everytime it tries to give genes it will only look at one of them.
Some suggestions. Firstly try and add some genes which add metabolic efficiency, not a must, but without them the kids may get really bad metabolic efficiency frequently, I hope to have a solution for this in the future, but I haven't thought of one that I like. You could also scale back the chance for genes with large negative metabolci efficieny. Other suggestion, if you feel like it you could also include genes from other popular gene mods. Also I believe for aerofleet you should add blue gell production and the aerofleet hood genes, as they are aerogene based genes.

Only thing I am noticing is that for AA_ColossalAerofleet having them in the aerofleet racegenedef may cause some problems as everytime it tries to give genes it will only look at one of them.

Oh, good to know.
I thought that the child RaceGeneDef would be additive to the parent one. So the AeroFleet and the ColossalAeroFleet inherit AG_Detonation and rjw_genes_slime_genitals through the AeroFleet RaceGeneDef and the ColossalAeroFleet inherits rjw_genes_big_male_genitalia on top of that.
The canine childs should work right? Because PawnKindDefs have a higher priority than RaceGroups.
So the genes in the canine child RaceGeneDefs are additive, right?
I currently don't have a testing workflow because i didn't find any useful debug tools inside rimworld to quickly inpregnate a woman and skip the pregnancy duration. Do you have a solid workflow for that?

Some suggestions. Firstly try and add some genes which add metabolic efficiency, not a must, but without them the kids may get really bad metabolic efficiency frequently

Good Point. I will try to keep that in mind.

Other suggestion, if you feel like it you could also include genes from other popular gene mods

This is a point im unsure about. I feel like we shouldn't go overboard with this because people will need to install all of them. I don't know if they would want that. I also thought about creating a few of my own but creating duplicate genes to other mods seems to be bad aswell. Most of the genes i thought about already exist in one of the gene mods.
Thing is. These mods don't only add genes... they add factions and sometimes items aswell.

Also I believe for aerofleet you should add blue gell production and the aerofleet hood genes, as they are aerogene based genes.

Yea the AeroFleet was the one I started out with for testing. I've added these genes in my local branch already :)
Thank you that you took the time to look this through! Greatly appreciated.

I thought that the child RaceGeneDef would be additive to the parent one. So the AeroFleet and the ColossalAeroFleet inherit AG_Detonation and rjw_genes_slime_genitals through the AeroFleet RaceGeneDef and the ColossalAeroFleet inherits rjw_genes_big_male_genitalia on top of that.
Yes, but as the ColossalAerofleet is present in both racegenedefs it will select one of the two, so the chance of rjw_genes_big_male_genitalia is halved. I have made a pull request to
Vegapnk which adds a priority variable so you are able to decide which racegenedef should be used.

The canine childs should work right? Because PawnKindDefs have a higher priority than RaceGroups.
So the genes in the canine child RaceGeneDefs are additive, right?
Yes

I currently don't have a testing workflow because i didn't find any useful debug tools inside rimworld to quickly inpregnate a woman and skip the pregnancy duration. Do you have a solid workflow for that?
If you use biotech pregnancy you should be able to see the child's genes immediately after birth. Do make sure to set in RJW pregnancy the DNA inheritance slides all to mother and to human to ensure human kid. There is also a debug action to increment time. Under rjw_debug you can get enable direct control to initiate the sex.

This is a point im unsure about. I feel like we shouldn't go overboard with this because people will need to install all of them. I don't know if they would want that. I also thought about creating a few of my own but creating duplicate genes to other mods seems to be bad aswell. Most of the genes i thought about already exist in one of the gene mods.
I meant adding the genes inside the racegenedefs, you can add genes of mods that aren't active without problems. They just won't be used if the required mod isn't enabled.

This is a point im unsure about. I feel like we shouldn't go overboard with this because people will need to install all of them. I don't know if they would want that. I also thought about creating a few of my own but creating duplicate genes to other mods seems to be bad aswell. Most of the genes i thought about already exist in one of the gene mods.
If you didn't know, you can make patches conditional on the presence of another mod using PatchOperationFindMod; so it can tack on those genes if they're available, but otherwise omit them without issue.

As for quick pregnancy - you can use IVF or whatnot and then use Character Editor to set the severity of the pregnancy to 100 immediately, which will skip to giving birth.


Update README.md

Currently for "end" instructions show 69.0 which is 01/01/2016 11:00:00 PM.
It should show 70.0 which is 01/01/2016 12:00:00 PM.
Otherwise 12:00:00 PM does not included in any day.

12pm is noon, not midnight


Assignments

HI Olivia,
It looks to me like you’ve been doing your course work directly in my github repo rather than forking the files to your own subscription.  When I log on to my github repo I can’t see any o the work that you [may] be checking in.  Could you please clarify how you’ve been working?
Thanks so much!
Jon Tupitza
Lecturer in Data Science
University of Virginia School of Data Science
(703) 839-3814
@.***
From: oliviadavis03 @.>
Sent: Thursday, February 9, 2023 3:45 PM
To: JTupitza-UVA/DS-2002-002 @.>
Cc: Subscribed @.***>
Subject: [JTupitza-UVA/DS-2002-002] Assignments (PR #2)

You can view, comment on, or merge this pull request online at:
https://github.com/JTupitza-UVA/DS-2002-002/pull/2
Commit Summary

400e27ahttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/400e27ae98599cd692a08965c14fd5a9b71e1ed2 Add files via upload
10d5d9chttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/10d5d9c45b9dcd0bc78608bf76423314beaa5438 Add files via upload

File Changes
(3 fileshttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files)

A Lab_01_SQL_Query_Fundamentals.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-83bd2d6c85ee0513bc45f43c99f447231245265fac1d547d4f16584e737813c5 (136)
A Lab_02a_Create_Datawarehouse.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-c820263685f357127d0b4592ba7db3f314abc0c75776dd5019e859cc4801d9af (137)
A Lab_02b_Datawarehouse_Table_Inserts.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-30c05ca35df045b6f76929caaa4707c380ff621beda737fadcd829dd0b6d658c (209)

Patch Links:

https://github.com/JTupitza-UVA/DS-2002-002/pull/2.patch
https://github.com/JTupitza-UVA/DS-2002-002/pull/2.diff

—
Reply to this email directly, view it on GitHubhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXQU64DCZCWFOBJ6GM7KIXLWWVJN7ANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you are subscribed to this thread.Message ID<EMAIL_ADDRESS>

These are the documents I have for the labs!

On Feb 10, 2023, at 10:57 AM, Jon Tupitza @.***> wrote:
HI Olivia,
It looks to me like you’ve been doing your course work directly in my github repo rather than forking the files to your own subscription. When I log on to my github repo I can’t see any o the work that you [may] be checking in. Could you please clarify how you’ve been working?
Thanks so much!
Jon Tupitza
Lecturer in Data Science
University of Virginia School of Data Science
(703) 839-3814
@.***
From: oliviadavis03 @.>
Sent: Thursday, February 9, 2023 3:45 PM
To: JTupitza-UVA/DS-2002-002 @.>
Cc: Subscribed @.***>
Subject: [JTupitza-UVA/DS-2002-002] Assignments (PR #2)

You can view, comment on, or merge this pull request online at:
https://github.com/JTupitza-UVA/DS-2002-002/pull/2
Commit Summary

400e27ahttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/400e27ae98599cd692a08965c14fd5a9b71e1ed2 Add files via upload
10d5d9chttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/10d5d9c45b9dcd0bc78608bf76423314beaa5438 Add files via upload

File Changes
(3 fileshttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files)

A Lab_01_SQL_Query_Fundamentals.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-83bd2d6c85ee0513bc45f43c99f447231245265fac1d547d4f16584e737813c5 (136)
A Lab_02a_Create_Datawarehouse.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-c820263685f357127d0b4592ba7db3f314abc0c75776dd5019e859cc4801d9af (137)
A Lab_02b_Datawarehouse_Table_Inserts.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-30c05ca35df045b6f76929caaa4707c380ff621beda737fadcd829dd0b6d658c (209)

Patch Links:

https://github.com/JTupitza-UVA/DS-2002-002/pull/2.patch
https://github.com/JTupitza-UVA/DS-2002-002/pull/2.diff

—
Reply to this email directly, view it on GitHubhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXQU64DCZCWFOBJ6GM7KIXLWWVJN7ANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you are subscribed to this thread.Message ID<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHub https://github.com/JTupitza-UVA/DS-2002-002/pull/2#issuecomment-1426011801, or unsubscribe https://github.com/notifications/unsubscribe-auth/A5KOCY3AV5H7KNO4R44ALMDWWZQODANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you authored the thread.

I don’t know if this solves the problem, but I just downloaded my labs to a new GitHub repository I made. https://github.com/oliviadavis03/DS-2002-Assignments https://github.com/oliviadavis03/DS-2002-Assignments
The assignments appear to look correct on my end, but let me know what I can do to solve the issue! I don’t want to end up losing points for not turning something in. Sorry for all the emails!
-Olivia

On Feb 10, 2023, at 10:57 AM, Jon Tupitza @.***> wrote:
HI Olivia,
It looks to me like you’ve been doing your course work directly in my github repo rather than forking the files to your own subscription. When I log on to my github repo I can’t see any o the work that you [may] be checking in. Could you please clarify how you’ve been working?
Thanks so much!
Jon Tupitza
Lecturer in Data Science
University of Virginia School of Data Science
(703) 839-3814
@.***
From: oliviadavis03 @.>
Sent: Thursday, February 9, 2023 3:45 PM
To: JTupitza-UVA/DS-2002-002 @.>
Cc: Subscribed @.***>
Subject: [JTupitza-UVA/DS-2002-002] Assignments (PR #2)

You can view, comment on, or merge this pull request online at:
https://github.com/JTupitza-UVA/DS-2002-002/pull/2
Commit Summary

400e27ahttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/400e27ae98599cd692a08965c14fd5a9b71e1ed2 Add files via upload
10d5d9chttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/10d5d9c45b9dcd0bc78608bf76423314beaa5438 Add files via upload

File Changes
(3 fileshttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files)

A Lab_01_SQL_Query_Fundamentals.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-83bd2d6c85ee0513bc45f43c99f447231245265fac1d547d4f16584e737813c5 (136)
A Lab_02a_Create_Datawarehouse.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-c820263685f357127d0b4592ba7db3f314abc0c75776dd5019e859cc4801d9af (137)
A Lab_02b_Datawarehouse_Table_Inserts.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-30c05ca35df045b6f76929caaa4707c380ff621beda737fadcd829dd0b6d658c (209)

Patch Links:

https://github.com/JTupitza-UVA/DS-2002-002/pull/2.patch
https://github.com/JTupitza-UVA/DS-2002-002/pull/2.diff

—
Reply to this email directly, view it on GitHubhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXQU64DCZCWFOBJ6GM7KIXLWWVJN7ANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you are subscribed to this thread.Message ID<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHub https://github.com/JTupitza-UVA/DS-2002-002/pull/2#issuecomment-1426011801, or unsubscribe https://github.com/notifications/unsubscribe-auth/A5KOCY3AV5H7KNO4R44ALMDWWZQODANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you authored the thread.

Hi Olivia,
So far that seems to have fixed things.  Nice work on Lab 1… perfect score!
Jon Tupitza
Lecturer in Data Science
University of Virginia School of Data Science
(703) 839-3814
@.***
From: oliviadavis03 @.>
Sent: Friday, February 10, 2023 3:29 PM
To: JTupitza-UVA/DS-2002-002 @.>
Cc: Tupitza, Jon A (wna8fw) @.>; Comment @.>
Subject: Re: [JTupitza-UVA/DS-2002-002] Assignments (PR #2)
I don’t know if this solves the problem, but I just downloaded my labs to a new GitHub repository I made. https://github.com/oliviadavis03/DS-2002-Assignments https://github.com/oliviadavis03/DS-2002-Assignments
The assignments appear to look correct on my end, but let me know what I can do to solve the issue! I don’t want to end up losing points for not turning something in. Sorry for all the emails!
-Olivia

On Feb 10, 2023, at 10:57 AM, Jon Tupitza<EMAIL_ADDRESS>wrote:
HI Olivia,
It looks to me like you’ve been doing your course work directly in my github repo rather than forking the files to your own subscription. When I log on to my github repo I can’t see any o the work that you [may] be checking in. Could you please clarify how you’ve been working?
Thanks so much!
Jon Tupitza
Lecturer in Data Science
University of Virginia School of Data Science
(703) 839-3814
<EMAIL_ADDRESS>From: oliviadavis03<EMAIL_ADDRESS>Sent: Thursday, February 9, 2023 3:45 PM
To: JTupitza-UVA/DS-2002-002<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [JTupitza-UVA/DS-2002-002] Assignments (PR #2)

You can view, comment on, or merge this pull request online at:
https://github.com/JTupitza-UVA/DS-2002-002/pull/2
Commit Summary

400e27ahttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/400e27ae98599cd692a08965c14fd5a9b71e1ed2 Add files via upload
10d5d9chttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/10d5d9c45b9dcd0bc78608bf76423314beaa5438 Add files via upload

File Changes
(3 fileshttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files)

A Lab_01_SQL_Query_Fundamentals.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-83bd2d6c85ee0513bc45f43c99f447231245265fac1d547d4f16584e737813c5 (136)
A Lab_02a_Create_Datawarehouse.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-c820263685f357127d0b4592ba7db3f314abc0c75776dd5019e859cc4801d9af (137)
A Lab_02b_Datawarehouse_Table_Inserts.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-30c05ca35df045b6f76929caaa4707c380ff621beda737fadcd829dd0b6d658c (209)

Patch Links:

https://github.com/JTupitza-UVA/DS-2002-002/pull/2.patch
https://github.com/JTupitza-UVA/DS-2002-002/pull/2.diff

—
Reply to this email directly, view it on GitHubhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXQU64DCZCWFOBJ6GM7KIXLWWVJN7ANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you are subscribed to this thread.Message ID: @.@.mailto:***<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHub https://github.com/JTupitza-UVA/DS-2002-002/pull/2#issuecomment-1426011801, or unsubscribe https://github.com/notifications/unsubscribe-auth/A5KOCY3AV5H7KNO4R44ALMDWWZQODANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHubhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2#issuecomment-1426306678, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXQU64BBR5AR2YQL7PW4PBTWW2QJBANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>

Perfect! I will upload my assignments up to that other repo from now on!

On Feb 14, 2023, at 3:07 PM, Jon Tupitza @.***> wrote:
Hi Olivia,
So far that seems to have fixed things. Nice work on Lab 1… perfect score!
Jon Tupitza
Lecturer in Data Science
University of Virginia School of Data Science
(703) 839-3814
@.***
From: oliviadavis03 @.>
Sent: Friday, February 10, 2023 3:29 PM
To: JTupitza-UVA/DS-2002-002 @.>
Cc: Tupitza, Jon A (wna8fw) @.>; Comment @.>
Subject: Re: [JTupitza-UVA/DS-2002-002] Assignments (PR #2)
I don’t know if this solves the problem, but I just downloaded my labs to a new GitHub repository I made. https://github.com/oliviadavis03/DS-2002-Assignments https://github.com/oliviadavis03/DS-2002-Assignments
The assignments appear to look correct on my end, but let me know what I can do to solve the issue! I don’t want to end up losing points for not turning something in. Sorry for all the emails!
-Olivia

On Feb 10, 2023, at 10:57 AM, Jon Tupitza<EMAIL_ADDRESS>wrote:
HI Olivia,
It looks to me like you’ve been doing your course work directly in my github repo rather than forking the files to your own subscription. When I log on to my github repo I can’t see any o the work that you [may] be checking in. Could you please clarify how you’ve been working?
Thanks so much!
Jon Tupitza
Lecturer in Data Science
University of Virginia School of Data Science
(703) 839-3814
<EMAIL_ADDRESS>From: oliviadavis03<EMAIL_ADDRESS>Sent: Thursday, February 9, 2023 3:45 PM
To: JTupitza-UVA/DS-2002-002<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [JTupitza-UVA/DS-2002-002] Assignments (PR #2)

You can view, comment on, or merge this pull request online at:
https://github.com/JTupitza-UVA/DS-2002-002/pull/2
Commit Summary

400e27ahttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/400e27ae98599cd692a08965c14fd5a9b71e1ed2 Add files via upload
10d5d9chttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/commits/10d5d9c45b9dcd0bc78608bf76423314beaa5438 Add files via upload

File Changes
(3 fileshttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files)

A Lab_01_SQL_Query_Fundamentals.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-83bd2d6c85ee0513bc45f43c99f447231245265fac1d547d4f16584e737813c5 (136)
A Lab_02a_Create_Datawarehouse.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-c820263685f357127d0b4592ba7db3f314abc0c75776dd5019e859cc4801d9af (137)
A Lab_02b_Datawarehouse_Table_Inserts.sqlhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2/files#diff-30c05ca35df045b6f76929caaa4707c380ff621beda737fadcd829dd0b6d658c (209)

Patch Links:

https://github.com/JTupitza-UVA/DS-2002-002/pull/2.patch
https://github.com/JTupitza-UVA/DS-2002-002/pull/2.diff

—
Reply to this email directly, view it on GitHubhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXQU64DCZCWFOBJ6GM7KIXLWWVJN7ANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you are subscribed to this thread.Message ID: @.@.mailto:***<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHub https://github.com/JTupitza-UVA/DS-2002-002/pull/2#issuecomment-1426011801, or unsubscribe https://github.com/notifications/unsubscribe-auth/A5KOCY3AV5H7KNO4R44ALMDWWZQODANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHubhttps://github.com/JTupitza-UVA/DS-2002-002/pull/2#issuecomment-1426306678, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXQU64BBR5AR2YQL7PW4PBTWW2QJBANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHub https://github.com/JTupitza-UVA/DS-2002-002/pull/2#issuecomment-1430311005, or unsubscribe https://github.com/notifications/unsubscribe-auth/A5KOCY64H3EN5CRHOQ6EJNDWXPQZNANCNFSM6AAAAAAUXAP7PY.
You are receiving this because you authored the thread.


chore(versions): Upgrade minimum python version

As of October, 2024, Python 3.8 is out of support. Upgrading syntax to target Python 3.9. Adds builds for Python 3.13.

@jorwoods @jacalata my initial thoughts:

I support the idea of moving the Python version forward like this.
 Was that a scripted change you made? (I.e. how confident are we nothing broke?)
By upgrading the syntax to target 3.9, will the library still work for 3.8 or will this be a breaking change?

 Was that a scripted change you made? (I.e. how confident are we nothing broke?)

This was a scripted change. In a year when the minimum version is bumped to 3.10, the volume of change should be lower. It is a lot of change, but I have noticed that some areas of the codebase use f-strings, some use .format, and some use the older python2 style %s string substitution. So while it is a lot of change, hopefully it brings more consistency in these small details across the codebase. Personally, I find the f-strings easier to read. f-strings are also faster than .format or %s, but not in a way that will be meaningful with the main purpose being around API calls.

By upgrading the syntax to target 3.9, will the library still work for 3.8 or will this be a breaking change?

This would be a breaking change, but not because of the f-strings. The main syntax change I see that will cause it to not work for 3.8 would be the change from Dict to dict, List to list, Set to set, and Tuple to tuple.
My comment about 3.8 being out of support is that the Python Software Foundation will stop releasing security fixes for 3.8 in October 2024, as it is considered "End of Life." Obviously we could continue to support older versions of python past their end of life, but I think it would hold back adopting newer syntax, features, and quality of life changes.

Thanks Jordan that makes sense. I do prefer the f-strings as well and I'm in agreement on officially dropping 3.8 soon. I'm just trying to be careful for people still running on old versions.


[Event Request] CU1012 "Job Jnl.-Post Line" - procedure CreateJobLedgEntry()

------- ADD PARAMETER : GLEntryNo ---------
OnCreateJobLedgerEntryOnAfterAssignLedgerEntryTypeAndNo(JobLedgEntry, JobJnlLine2, GLEntryNo);
[IntegrationEvent(false, false)]
local procedure OnCreateJobLedgerEntryOnAfterAssignLedgerEntryTypeAndNo(var JobLedgEntry: Record "Job Ledger Entry"; JobJournalLine: Record "Job Journal Line"; GLEntryNo: Integer)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Add the Take semigroup

An operation we probably want in https://github.com/twitter/summingbird

Sorry my bad, git foo on cmd line broke stuff and closed all of these

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


⚠ ECDC Shop has degraded performance

In 17ade1c, ECDC Shop (https://shop.memmingen-indians.de) experienced degraded performance:

HTTP code: 200
Response time: 9421 ms

Resolved: ECDC Shop performance has improved in ebd2318 after 11 minutes.


Blocking errors on resize if I use hooks with Points (with bufferGeometry and shaderMaterial)

Hey there!
I have a component that essentially is a Points object. Everything runs fine until I insert any kind of react-three-fiber hooks.
I tried with useRender and useThree and even with nothing inside the function I get an error (see below) only when I resize.
I tried to move the the hooks to the parent container and nothing changed, I still get the same error.
I tried to create another component, like a simple cube, and use some hooks inside of it and I don't get any error.
Could it be a bug? Does anyone ever experienced it?
import React, { useRef, useMemo } from 'react'
import { random } from 'lodash'
import vertex from '~/shaders/backgroundStars.vert'
import fragment from '~/shaders/backgroundStars.frag'

const PI = Math.PI

export default function BackgroundStarsField ({ amount, radius }) {
  const field = useRef()

  function Field () {
    /// def vertices
    const vertices = useMemo(() => {
      return new Float32Array(amount * 3)
    })

    /// def theta (vertical)
    const thetaAngles = useMemo(() => {
      const arr = []

      for (let i = 0; i < amount; i++) {
        arr.push(random(0, PI, true))
      }

      return new Float32Array(arr)
    })

    /// def theta (horizzontal)
    const phiAngles = useMemo(() => {
      const arr = []

      for (let i = 0; i < amount; i++) {
        arr.push(random(0, PI, true))
      }

      return new Float32Array(arr)
    })

    const uniforms = {
      uRadius: {
        type: 'f',
        value: radius
      }
    }

    return (
      <points
        ref={field}
        frustumCulled={false}>
        <bufferGeometry attach="geometry">
          <bufferAttribute
            attachObject={['attributes', 'position']}
            count={vertices.length / 3}
            array={vertices}
            itemSize={3}
          />
          <bufferAttribute
            attachObject={['attributes', 'aTheta']}
            count={thetaAngles.length}
            array={thetaAngles}
            itemSize={1}
          />
          <bufferAttribute
            attachObject={['attributes', 'aPhi']}
            count={phiAngles.length}
            array={phiAngles}
            itemSize={1}
          />
        </bufferGeometry>
        <shaderMaterial
          attach="material"
          args={[{ uniforms: uniforms, vertexShader: vertex, fragmentShader: fragment }]}
        />
      </points>
    )
  }

  return (
    <Field/>
  )
}

could you pour this one into a codesandbox?

Hey, sorry for the delay!
I finally found the time to make the sandbox -> here the link
If you go to the BackgroundStarsField.js file on line 34 you can find the issue.
Now everything works but if you un-comment the lines fot the useRender it gives exactly the error above.
Keep in mind, I don't know why, on the sandbox it happens indipendently of the resize, that's is different from what happens on my mac, it probably depends because I changed something while re-create the example I think.
ps: Since I did a lot of copy paste maybe there is some un-necessary code all around.

not sure if that was it but the way that component was weird from a react perspective: https://codesandbox.io/s/jovial-albattani-khryg

What was weird to you? Just to understand

function Component() {
   const ref = useRef()
   function SomeComponent() {
     useSomeHook()
     return <JSX ref={ref} />
   }
   return <SomeComponent />
}


[NEW ICON] GIN

Skill Name
GIN
Why?
Most Popular HTTP Web Framework written in Go
Reference Image

bump, most languages have at least 1 framework icon included
Gin's the most popular Go Framework and it's a top 100 Github repo in terms of stars : https://github.com/gin-gonic/gin


[Fix #98 issue] Add local storage to retrieve submitted code

#98
Currently, only submitted code can be saved and retrieved.
Alternatively, we may use setInterval to periodically save the code

Put some code and Run:

Switch to another question.

Switch back and see the restored code:

Is this the same feature as #152? Did your group claim the issue first?

@eyurko oh, I didn't notice that there is a team claim this question.
We probably did the same thing, I will close this PR.


Add more bot tests for bots using Internet.

Looks great, merged, thanks @abhijeetkaur!
And yeah, whenever you have code without tests and work on it, the result tends to be the code not working :)


Replace sort methods for DataFrames and Series

Description of the bug
Previously deprecated sort method for DataFrames and Series dropped with Pandas 0.20. Need to replace with sort_values.

Fixed with #197.


animate tab underline on swipe

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
While swiping between tabs, the underline should animate along with the container content. ( like on android mobile twitter app )
Current Behavior
This feature is not supported. I think it will provide a better UX.

@mikestaub We have a onSwitching prop for this use case.

Do you think updating the css value via js will be performant?

@mikestaub It might do it yes.

Here is a workaround, if you want to have that UX.
@oliviertassinari Please confirm that this won't cause performance issue, thanks.
https://codesandbox.io/s/swipeable-tabs-ux-improved-53ymk

This works great for me on mobile, I think this should live in this repo and be enabled by default.
Or at the very least, @siriwatknp's example should be in the docs.

@mikestaub or @siriwatknp, you can make a PR for the new demo if you'd like. Otherwise I think this is a fine example in the issues. Closing for now.


test: Only restart KubeDNS if required

Instead of always restarting the kube-dns deployment, split the validation of the installation into a separate function so we can validate the deployment and only restart kube-dns if we have to.
While doing so, replace the validation with a more efficient version that invokes as few kubectl execs within loops as possible and parallelize operations were possible.
Given that Cilium is typically re-deployed before this logic is executed, the slowest path is typically the service plumbing. Allow for some aggressive timeout for the Kubernetes DNS service to be plumbed to avoid restarting it in the common case.
Example output:
STEP: Checking if kube-dns service is plumbed correctly
STEP: Checking if pods have identity
STEP: Checking if DNS can resolve
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-b9dcp: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-b9dcp
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-fm9qm: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-fm9qm
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-mxjvw: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-mxjvw
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-fm9qm: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-fm9qm
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-mxjvw: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-mxjvw
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-b9dcp: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-b9dcp
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-fm9qm: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-fm9qm
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-b9dcp: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-b9dcp
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-mxjvw: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-mxjvw
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-b9dcp: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-b9dcp
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-mxjvw: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-mxjvw
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-fm9qm: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-fm9qm
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-b9dcp: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-b9dcp
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-fm9qm: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-fm9qm
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-mxjvw: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-mxjvw
STEP: Kubernetes DNS is not ready: ClusterIP <IP_ADDRESS> not found in service list of cilium pod cilium-mxjvw
STEP: Restarting Kubernetes DSN (-l k8s-app=kube-dns)
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-mxjvw: unable to find service backend <IP_ADDRESS>:53 in datapath of cilium pod cilium-mxjvw
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-b9dcp: unable to find service backend <IP_ADDRESS>:53 in cilium pod cilium-b9dcp
STEP: Checking service kube-system/kube-dns plumbing in cilium pod cilium-fm9qm: unable to find service backend <IP_ADDRESS>:53 in cilium pod cilium-fm9qm
STEP: Waiting for Kubernetes DNS to become operational
STEP: Checking if deployment is ready
STEP: Checking if kube-dns service is plumbed correctly
STEP: Checking if pods have identity
STEP: Checking if DNS can resolve

Before
19:44:29 STEP: Number of ready Cilium pods: 2
19:44:29 STEP: Installing DNS Deployment
19:44:29 STEP: Restarting all kube-system pods
19:45:15 STEP: Performing Cilium preflight check
19:45:15 STEP: Performing Cilium status preflight check
19:45:16 STEP: Performing Cilium controllers preflight check
19:45:18 STEP: Performing Cilium health check
19:45:23 STEP: Performing Cilium service preflight check
19:45:23 STEP: Performing K8s service preflight check
19:45:23 STEP: Waiting for cilium-operator to be ready
19:45:23 STEP: Waiting for kube-dns to be ready
19:45:23 STEP: Running kube-dns preflight check
19:45:26 STEP: Performing K8s service preflight check
19:45:26 STEP: Making sure all endpoints are in ready state
19:45:28 STEP: Launching cilium monitor on "cilium-m9mlj"

Before: 1min

~1min
After
20:22:11 STEP: Number of ready Cilium pods: 2
20:22:11 STEP: Validating if Kubernetes DNS is deployed
20:22:11 STEP: Checking if deployment is ready
20:22:11 STEP: Checking if kube-dns service is plumbed correctly
20:22:11 STEP: Checking if pods have identity
20:22:11 STEP: Checking if DNS can resolve
20:22:13 STEP: Kubernetes DNS is up and operational
20:22:13 STEP: Performing Cilium preflight check
20:22:13 STEP: Performing Cilium status preflight check
20:22:14 STEP: Performing Cilium controllers preflight check
20:22:15 STEP: Performing Cilium health check
20:22:21 STEP: Performing Cilium service preflight check
20:22:21 STEP: Performing K8s service preflight check
20:22:21 STEP: Waiting for cilium-operator to be ready
20:22:22 STEP: Making sure all endpoints are in ready state
20:22:24 STEP: Launching cilium monitor on "cilium-swqh6"

~10s

test-me-please

test-me-please

test-me-please

Maybe this fixes https://github.com/cilium/cilium/issues/10980 ?

Maybe this fixes #10980 ?

Yes, it does. I'll add a fixes tag

Still needs more work:
19:37:16 STEP: Validating if Kubernetes DNS is deployed
19:37:16 STEP: Checking if deployment is ready
19:37:16 STEP: Kubernetes DNS is not ready: unable to retrieve deployment kube-system/kube-dns: Exitcode: 1
Stdout:

Stderr:
 	 Error from server (NotFound): deployments.apps "kube-dns" not found

19:37:16 STEP: Restarting Kubernetes DSN (-l k8s-app=kube-dns)
19:37:23 STEP: Waiting for Kubernetes DNS to become operational
19:37:23 STEP: Checking if deployment is ready
19:37:23 STEP: Kubernetes DNS is not ready yet: unable to retrieve deployment kube-system/kube-dns: Exitcode: 1
Stdout:

Stderr:
 	 Error from server (NotFound): deployments.apps "kube-dns" not found

test-me-please

test-me-please

Coverage decreased (-0.04%) to 37.066% when pulling 00e22b169d473307c620318a10ecf286aecba31c on pr/tgraf/ci-restart-kubedns-if-needed into f8296364434774e435d3173c36443ea630c8c6d5 on master.

retest-4.19

test-me-please


sql: implement ON UPDATE expressions

https://github.com/cockroachdb/cockroach/pull/69091 --- Release note (sql change): An ON UPDATE expression can now be added to a column. Whenever a row is updated without modifying the ON UPDATE column, the column's ON UPDATE expression is re-evaluated, and the column is updated to the result.  Release justification: This design has been reviewed in RFC and code form as well as extensively tested.

Duplicate of https://github.com/cockroachdb/docs/issues/11441


Storing XML schema locally for improved performance

Since the DocBook 5 schema is very unlikely to change, we can afford to store it locally. The performance differences are as follows:
When downloading:

In the office: 1.2 seconds
At home: 11 seconds

When stored locally:

In the office: 1.2 seconds
At home: 1.1 seconds

Disclaimer: My computer in the office is a different one from that at home.
Even if we need to change the schema for Pantheon to work, we can simply update and commit the XSDs in $REPO_HOME/scripts/xml-schema and keep on rolling.
Resolves #655.

@rhoads-zach, please test on Mac, thank you.

merged: 284af5f99de0099da7410cd6384b11469c335cda


Implement fetching env variables in snfoundry

There should be a possibility to get env variables from the env. They should be obtainable from Scarb.toml's tools.xyz like so: "env=$my_env".

Solution for #1690

This is actually what we thought #1690 is relating to, #1690 is about our CI xD
cc @Arcticae @MaksymilianDemitraszek

Foundry should be able to resolve environmental variables from both Scarb.toml and snfoundry.toml. It means that
a value field="$ENVVAR", is read from scarb config and snfoundry.toml as a string "$ENVVAR". Later foundry should resolve all environmental variables to its values by reading and replacing them.


armcord: Add version 3.0.5

Closes #XXXX

Relates to #XXXX

[x] I have read the Contributing Guide.

armcord has update to version 3.0.7. You will need to modify autoupdate as well, because they changed the file name pattern.
https://github.com/ArmCord/ArmCord/releases/tag/v3.0.7
Also add autoupdate -> hash, because they provide hash info in latest.yml.
"autoupdate": {
    "url": "................",
    "hash": {
        "url": "$baseurl/latest.yml",
        "regex": "sha512\\: $sha512"
    }
}

armcord has update to version 3.0.7. You will need to modify autoupdate as well, because they changed the file name pattern. https://github.com/ArmCord/ArmCord/releases/tag/v3.0.7
Also add autoupdate -> hash, because they provide hash info in latest.yml.
"autoupdate": {
    "url": "................",
    "hash": {
        "url": "$baseurl/latest.yml",
        "regex": "sha512\\: $sha512"
    }
}

they no longer provide portable version

nsis installer

config location: $Env:AppData\ArmCord.
(this is a reminder, no need to modify anything)

config location: $Env:AppData\ArmCord
(This is a reminder. No need to modify anything regard to this.)

/verify


[BUG] Generated C/C++ source compiles with maybe-uninitialized warning with CYTHON_TRACE_NOGIL set

Describe the bug
Code generated from the following Cython source, when compiled with -DCYTHON_TRACE_NOGIL=1 generates compilation warning warning: ‘__pyx_gilstate_save’ may be used uninitialized in this function.
gcc -pthread -B ~/miniconda3/envs/gh767/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -O2 -isystem ~/miniconda3/envs/gh767/include -fPIC -O2 -isystem ~/miniconda3/envs/gh767/include -fPIC -DCYTHON_TRACE_NOGIL=1 -DCYTHON_TRACE=1 -I~/miniconda3/envs/gh767/include/python3.10 -c gh767/_ext.c -o build/temp.linux-x86_64-3.10/gh767/_ext.o
gh767/_ext.c: In function ‘__pyx_pw_5gh767_4_ext_1handler’:
gh767/_ext.c:898:34: warning: ‘__pyx_gilstate_save’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  898 | #define __Pyx_PyGILState_Release PyGILState_Release
      |                                  ^~~~~~~~~~~~~~~~~~
gh767/_ext.c:1906:20: note: ‘__pyx_gilstate_save’ was declared here
 1906 |   PyGILState_STATE __pyx_gilstate_save;
      |                    ^~~~~~~~~~~~~~~~~~~
creating build/lib.linux-x86_64-3.10

The warning is observed for both C and C++ generated languages. The warning goes away if CYTHON_TRACE_NOGIL is unset (even if CYTHON_TRACE is set).
To Reproduce
Use the following cython source, or clone reproducing project and execute python setup.py build.
# cython: language_level=3
# cython: linetrace=True

cdef class MyError(Exception):
    """
    An  exception is raised when operation submission
    or execution encounters an error.
    """

cdef void foo(int err) nogil except *:
    with gil:
        raise MyError(err)

def handler(int err):
    if (err % 2):
        with nogil:
            foo(err)
    else:
        print("All good")

Expected behavior
Generated code should compile cleanly using cython=0.29.* as it already does using Cython=3.0.0a10.
Environment (please complete the following information):

OS: Linux
Python version: all
Cython version reproduced with versions 0.29.24-0.29.27

@scoder Since this is fixed in 3.0, should this issue be closed?

It seems worth finding out what fixed this. If it was a simple and self-contained fix at the time, it might be easy to backport it.

@scoder It have taken awhile to find, but the commit 7d99b0f085bb254e9a9b4a9fe50aefe133837a81 fixed the issue.
Not sure if this is easy to backport. A straightforward cherry-picking of this commit atop 0.29.28 runs into conflicts.

Conflicts are confined to Cython/Compiler/Nodes.py and were straightforward to resolve. I opened #4703 please review

PR was reverted in https://github.com/cython/cython/commit/66063dce50cb3a17d28f4beec3b4f969711fbb65

Reverted for 0.29.x in https://github.com/cython/cython/commit/7fbf5eeeb19983aa65938fd262508d8758f47da8.
See #4796.
Keeping this closed since it is fixed in recent 3.0 alpha releases.


Add Supported Languages

@lukepistrol :
Parsers for these languages are fairly complete:
ERB/EJS, OCaml, Toml, Verilog
Parsers for these languages are in development:
Agda, Haskell, Julia, Perl, Scala, Sql
CodeQL: https://github.com/tree-sitter/tree-sitter-ql
JSDoc: https://github.com/tree-sitter/tree-sitter-jsdoc
Missing:
Clojure, Sass, Xml

Thanks! Please update the list and fix merge conflicts


Fixes "instance variable @engine not initialized" warning

Running with rack::test under rspec on ruby 2.2 I got:
"simple_router-<IP_ADDRESS>/lib/simple_router.rb:4: warning: instance variable
@engine not initialized" once for every example that called my app.
As far as I can tell this fix is equivilent in functionality but does not raise
the warning since the instance variable is never manipulated directly ...

Oops, maybe I should have verified the "fix" a little better before opening a PR :)
Will push fixed version in a moment.


glasskube: 0.14.0 -> 0.16.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for glasskube is: The missing Package Manager for Kubernetes featuring a GUI and a CLI
meta.homepage for glasskube is: https://github.com/glasskube/glasskube
meta.changelog for glasskube is: https://github.com/glasskube/glasskube/releases/tag/v0.16.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.16.0 with grep in /nix/store/5xh26bn203izqinivl01vrxqhg3r34ax-glasskube-0.16.0
found 0.16.0 in filename of file in /nix/store/5xh26bn203izqinivl01vrxqhg3r34ax-glasskube-0.16.0

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

glasskube

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/964faac3ad494cc3b51d164d6c60897b375c10a3#glasskube

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

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

1 package built:

glasskube

Maintainer pings
cc @jakuzure for testing.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge


Dialogs are either crash the browser, or simply do not appear

OS/Platform
Debian, Ubuntu, and derivatives
Installed
Compiled from source
Version
108.0.5359.125
Have you tested that this is not an upstream issue or an issue with your configuration?

[ ] I have tried reproducing this issue in Chrome and it could not be reproduced there
[ ] I have tried reproducing this issue in vanilla Chromium and it could not be reproduced there
[ ] I have tried reproducing this issue in ungoogled-chromium with a new and empty profile using --user-data-dir command line argument and it could not be reproduced there

Description
Any kind of file dialog is impossible to reach. Triggered dialogs, like input file or trying to open an URL which downloads a file are simply not working, while Ctrl+S crashesh the browser with segmentation fault.
How to Reproduce?

Build Ungoogled Chromium with these flags:

build_with_tflite_lib=false
chrome_pgo_phase=0
clang_use_chrome_plugins=false
disable_fieldtrial_testing_config=true
enable_hangout_services_extension=false
enable_js_type_check=false
enable_mdns=false
enable_mse_mpeg2ts_stream_parser=true
enable_nacl=false
enable_reading_list=false
enable_remoting=false
enable_reporting=false
enable_service_discovery=false
enable_widevine=true
exclude_unwind_tables=true
google_api_key=""
google_default_client_id=""
google_default_client_secret=""
safe_browsing_mode=0
treat_warnings_as_errors=false
use_official_google_api_keys=false
use_unofficial_version_number=false

is_official_build=true
is_chrome_branded=false
is_chrome_for_testing=false
is_chrome_for_testing_branded=false

is_clang=true
is_component_build=false
optimize_webui=true

is_debug=false
symbol_level=0
blink_symbol_level=0
v8_symbol_level=0
v8_enable_backtrace=false
enable_iterator_debugging=false
blink_enable_generated_code_formatting=false

dcheck_always_on=false
is_cfi=false
use_thin_lto=false
angle_build_tests=false
build_dawn_tests=false
build_libsrtp_tests=false
enable_assistant_integration_tests=false
enable_downstream_media_tests=false
enable_nocompile_tests=false
enable_perfetto_integration_tests=false
enable_perfetto_unittests=false
enable_printing_unittests=false
enable_soda_integration_tests=false
force_enable_fieldtrial_testing_config=false
internal_gles2_conform_tests=false
internal_khronos_glcts_tests=false
rtc_include_tests=false
skia_enable_skshaper_tests=false
tint_build_unittests=false
use_base_test_suite=false
use_rts=false
safe_browsing_mode=0

use_gnome_keyring=false
use_pulseaudio=false
link_pulseaudio=false
use_alsa=true
use_cups=true
use_goma=false
use_kerberos=false
use_gio=true
use_sysroot=false
enable_vr=false
use_bluez=true
use_system_libffi=true

enable_ffmpeg_video_decoders=true
media_use_ffmpeg=true
proprietary_codecs=true
ffmpeg_branding="Chrome"
use_webaudio_ffmpeg=true
use_webaudio_pffft=false
enable_dav1d_decoder=false
rtc_include_dav1d_in_internal_decoder_factory=false
enable_av1_decoder=true
enable_libaom=true
use_libgav1_parser=true
use_vaapi=true
use_vaapi_x11=true

ozone_auto_platforms=false
ozone_platform="x11"
ozone_platform_cast=false
ozone_platform_drm=false
ozone_platform_flatland=false
ozone_platform_gbm=false
ozone_platform_headless=false
ozone_platform_scenic=false
ozone_platform_wayland=false
ozone_platform_x11=true
use_ozone=true

use_gtk=false
use_aura=true
use_qt=false

Try to Ctrl+S a webpage or up/download a file.

Actual behaviour
No dialogs, or crash.
Expected behaviour
A file dialog should appear
Relevant log output
There are no error messages in the console, except for 'Segmentation fault'.

Additional context
No response

What makes you think it is ungoogled-chromium issue?

You say it is a vanilla-chromium issue?

Please try building vanilla chromium with your flags and reproducing the issue.

I built 113 and still no dialogs. How can i make the sources vanilla again and then just compile what needed, without restarting it from scratch? By looking for *.orig files and renaming them back? Will that work?
I do not want to start it again. My machine is building for days now and it boiled itself and my flat too.

It seems, i was wrong: if i prepend LD_LIBRARY_PATH=/opt/gtk3/lib/  to the chrome command line, then GTK3 activates and the dialogs starts to work. But without it, with Aura, no dialogs. It seems, that if i want to use GTK3 or Qt5, then some kind of hybrid Chromium is made, which has both Aura and either GTK3 or Qt5.
But Qt5 cannot be activated with  --enable-features=AllowQt appended to the chrome command line. Perhaps a different LD_LIBRARY_PATH needed?

No, it needed GTK3, see #2421.

I assume it is not an issue with ungoogled-chromium

I've reported it to them: https://bugs.chromium.org/p/chromium/issues/detail?id=1475740
As exptected, no answer. See what i meant?

As exptected, no answer. See what i meant?

I wouldn't say that it is expected to receive immediate reply for an issue filed on Friday ;)

Thanks for the tips and the patience.

Glad I could help

Friday? Where is the coding spirit? But jokes aside, any reply would do it, like "we need logs", or whatever. I did not expected a solution, i expected a reply, but any kind of reply would do it, even ones which takes 30 secs to write.
I have the feeling, that they will close it one day, without reply. They might fix the issue meanwhile, but won't reply. But i may be wrong.


Make a full Hello World app and tutorial for peewee

peewee supports CockroachDB. We have announced peewee support in a blog post.
peewee documents their CockroachDatabase extension on their docs site.
We should make a Hello World app and an accompanying tutorial, as has been done for all other supported Python ORMs.

@ericharmeling What are your thoughts on closing issues in the deep backlog that are unlikely to rise in priority?

What are your thoughts on closing issues in the deep backlog that are unlikely to rise in priority?

Some of the deep backlog issues turn into good issues for community contributors (especially during hackathons), for docs fixit days, or for new writers. So, I don't think we should close all deep backlog issues across the board.
I do think we should close this issue, as this doc would be particularly susceptible to decay. But for other deep backlog issues, I think we should close things on a case-by-case basis.