[SPARK-35721][PYTHON] Path level discover for python unittests

What changes were proposed in this pull request?
Add path level discover for python unittests.

Change list:

Introduce a python_discover_paths in modules.
Add _discover_python_unittests function: it would be called in pthon/run-tests.py to load test module.
Add _append_discovred_goals function: call _discover_python_unittests to refresh m.python_test_goals
if modules have python_test_goals or python_discover_paths would also be considered as python tests.
Fix: Move logging.basicConfig to head to make sure logging config before any possible logging print.
Fix: Change python/pyspark/testing/utils.py SPARK_HOME use _find_spark_home to get value.
Fix: export py4j PYTHONPATH before run test.

Note:

Why use walk_packages but not unittest.defaultTestLoader.discover? we use pkgutil.walk_packages with issubclass(_class, unittest.TestCase) check rather than unittest.defaultTestLoader.discover directly, beacause consider we will add doctest discover in future, we can add something like blow as the impletations of doctest discover:

import doctest

def _contain_doctests_class(module):
    suite = doctest.DocTestSuite(module)
    if suite.countTestCases():
        return True
    else:
        return False

Why we doesn't add doctests in here? Currently, not all modules doctests are added to python_test_goals, that means these doctests doesn't be excuted, so better add discover doctests in a separate PR.

What's the deps of discover? the test discover will do real import for every modules, so we need install all deps of PySpark test modules before run-tests otherwise will raise the ImportError.

Why are the changes needed?
Now we need to specify the python test cases by manually when we add a new testcase. Sometime, we forgot to add the testcase to module list, the testcase would not be executed.
Such as:
pyspark-core pyspark.tests.test_pin_thread
Thus we need some auto-discover way to find all testcase rather than specified every case by manually.
related: https://github.com/apache/spark/pull/32867
Does this PR introduce any user-facing change?
No
How was this patch tested?

Add doc tests for _discover_python_unittests.
Compare the CI results (this patch and before), see diff in:
Build modules: pyspark-sql, pyspark-mllib, pyspark-resource: https://www.diffchecker.com/4RAQydBB
Build modules: pyspark-core, pyspark-streaming, pyspark-ml: https://www.diffchecker.com/F1ccZDKG
Build modules: pyspark-pandas：https://www.diffchecker.com/eBDne4uA
Build modules: pyspark-pandas-slow：https://www.diffchecker.com/lySQGrhA
local test for python modules:
./dev/run-tests --parallelism 2 --modules "pyspark-sql"

Test build #140507 has started for PR 33174 at commit aae183c.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45020/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45020/

Test build #140507 has finished for PR 33174 at commit aae183c.

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

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

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

Test build #140553 has started for PR 33174 at commit 78388a9.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45065/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45065/

Test build #140553 has finished for PR 33174 at commit 78388a9.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
    for _, _class in inspect.getmembers(module, inspect.isclass):

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

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

cc @HyukjinKwon @ueshin @viirya @xinrong-databricks

Test build #140625 has started for PR 33174 at commit 5d1daed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45138/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45138/

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

Test build #140625 has finished for PR 33174 at commit 5d1daed.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
    for _, _class in inspect.getmembers(module, inspect.isclass):

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

Test build #140991 has started for PR 33174 at commit c6d4f21.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45505/

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

Test build #140991 has finished for PR 33174 at commit c6d4f21.

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

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

Jenkins retest this please.

Test build #141456 has started for PR 33174 at commit c6d4f21.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45975/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45975/

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

Test build #141456 has finished for PR 33174 at commit c6d4f21.

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

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

Traceback (most recent call last):
  File "./python/run-tests.py", line 152, in <module>
    _append_discovered_goals(all_modules)
  File "./python/run-tests.py", line 148, in _append_discovered_goals
    goals = _discover_python_unittests(m.python_discover_paths)
  File "./python/run-tests.py", line 138, in _discover_python_unittests
    if _contain_unittests_class(module_name, slow_only):
  File "./python/run-tests.py", line 79, in _contain_unittests_class
    module = import_module(module_name)
  File "/home/anaconda/envs/py36/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/jenkins/workspace/SparkPullRequestBuilder/python/pyspark/__init__.py", line 53, in <module>
    from pyspark.rdd import RDD, RDDBarrier
  File "/home/jenkins/workspace/SparkPullRequestBuilder/python/pyspark/rdd.py", line 34, in <module>
    from pyspark.java_gateway import local_connect_and_auth
  File "/home/jenkins/workspace/SparkPullRequestBuilder/python/pyspark/java_gateway.py", line 29, in <module>
    from py4j.java_gateway import java_import, JavaGateway, JavaObject, GatewayParameters
ModuleNotFoundError: No module named 'py4j'

jenkins also need export PYTHONPATH="pwd/python/lib/py4j-<IP_ADDRESS>-src.zip:${PYTHONPATH}" before run py unitests

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46991/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46991/

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

Test build #143721 has started for PR 33174 at commit c6d4f21.

Test build #143721 has finished for PR 33174 at commit c6d4f21.

This patch fails PySpark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

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


[Suggestion] select language drop down not aligned properly

Issue and Steps to Reproduce:
I think the select language drop down is not aligned properly
Screenshots:

Expected:
To align select language drop down with others on the nav bar. And I also think we should add some styles to the select language to make it more apealing.
Iam interested to work on this issue

Please assign me this issue under GSSOC'23


IconColumn record in options

This PR makes it possible to process the current record in the callback of the IconColumn::options(). This makes it much easier to do dynamic icon selection.
use Filament\Tables\Columns\IconColumn;

IconColumn::make('is_featured')
    ->options([
        'heroicon-o-x-circle',
        'heroicon-o-pencil' => fn ($state, $record): bool => $record->status === 2,
        'heroicon-o-clock' => fn ($state): bool => $state === 'reviewing',
        'heroicon-o-check-circle' => fn ($state): bool => $state === 'published',
    ])

Please save the record in a variable above the loop so we dont call getRecord() multiple times

Please save the record in a variable above the loop so we dont call getRecord() multiple times

Check! Done that


Crashes(segfault?) - exists property - settings namespace - Raspberry Pi

Describe the bug
When using the settings.exists("string") property from the settings namespace inside an if statement, the MakeCode Arcade program terminates/crashes (with Segmentation fault?) when compiled for and run natively as .elf file on a Raspberry Pi.
More precisely, the program terminates on the settings.exists("scores") property only if this settings file does not exist yet, but it works if the file already exists.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://arcade.makecode.com/#pub:_dH1asvKAaUF8?nolocalhost=1&compile=rawELF&hw=rpi'
Click on 'Download' to download .elf file
chmod 755 arcade-blocks-leaderboard_ns.elf
Execute game with ./arcade-blocks-leaderboard_ns.elf or using McAirpos
After entering the first leader board entry, see error:
[1442173983] GC block 16376b @ 0x20000000
[       0] runtime starting, pid=8664...
[       6] FB: DRM emulated at 1920x1080 1920x1080 bpp=32
[      12] FB: DRM emulated at 1920x1080 1920x1080 bpp=32 7680
[      16] init keys
[      16] read config: /sd/arcade.cfg
[      21] SCAN_CODES=/dev/input/event4
[      25] BTN_LEFT=30
[      28] BTN_RIGHT=32
[      32] BTN_UP=17
[      35] BTN_DOWN=31
[      39] BTN_A=29
[      42] BTN_B=42
[      48] BTN_LEFT2=105
[      51] BTN_RIGHT2=106
[      54] BTN_UP2=103
[      57] BTN_DOWN2=108
[      60] BTN_A2=100
[      63] BTN_B2=57
[      66] BTN_RESET=59
[      69] BTN_EXIT=1
[      73] BTN_MENU=60
[      76] config done
[      86] sx=8 sy=9 ox=320 oy=0 32=1
[      89] fbuf=0xb5c29000 sz:8294400
[     101] loop
[     336] GC block 16376b @ 0x20004000
[     343] GC block 16376b @ 0x20008000
[    1336] PCM name: 'default'
[    1342] PCM state: PREPARED
[    4358] GC block 16376b @ 0x2000c000
(Segmentation fault) (Not sure if this last is from the game file itself when crashing or from the launcher)

Expected behavior
The MakeCode Arcade program should continue execution when encountering the settings.exists("string") property.
Screenshots

Desktop (please complete the following information):

OS'es run on: [Raspberry Pi OS Jessi, Buster and Buster, on RPi 3B, RPi 3B and RPi4 B, respectively]
Browsers compiled and downloaded from: [various Chrome based browsers on MacOS and updated Win10]

Additional context
The problem seems to be with the settings namespace itself in pxt-arcade and NOT with the settings extension
It works inside the web simulator in the MakeCode Arcade editor on all browsers and OS'es.
The above none-working example is based on @riknoll's example from the MakeCode forum which also is NOT working:
https://arcade.makecode.com/#pub:46238-89332-69341-89890?nolocalhost=1&compile=rawELF&hw=rpi

Here is a solution with a work-around instead of the settings.exists("scores") property, and which IS working:
https://arcade.makecode.com/#pub:_816E0X0brPog?nolocalhost=1&compile=rawELF&hw=rpi

It might also be worth mentioning(and maybe somewhat related?), that when using the settings namespace functions, one often has to run/execute the games twice, to allow for all the settings files to be written properly in the game_file.elf.data folder, which seldom works fully/correctly on the first run no matter which permissions are set, as described here:
https://github.com/Vegz78/McAirpos/issues/14#issuecomment-900680039
https://github.com/microsoft/pxt-settings-blocks/issues/2#issuecomment-900662322

FYI, I have recently discovered that the segmentation fault was due to a bug in my own McAirpos launcher code.
However, it still applies(if not fixed by MS in the meantime?...), when running a MakeCode Arcade game natively(.elf) directly and without any external launchers or wrappers on Raspberry Pi OS, that the game crashes/exits when using the if settings.exists("variablename") check without the above described workaround of checking if "variablename" is undefined instead.

I observed the same problem with settings.exists("foobar") on RPi 0 with UF2 for Linux (slightly modified for GamePi20: https://github.com/nopid/uf2-gamepi20).
Looking at the implementation of settings with files (https://github.com/microsoft/pxt-common-packages/blob/5af0bab37ec48a8f47578f4638ce22604511aef0/libs/settings---files/settings.cpp#L137-L141), it looks like exists fails to check the return value of fopen. The behavior of fclose(NULL) is not specified and with GNU libc it is known to generate segfault.
I submitted a PR to fix the problem: https://github.com/microsoft/pxt-common-packages/pull/1345

Nice work, both for finding and fixing this bug, and with the uf2-gamepi20 mod, @nopid!!!
When will this fix to the common-packages be updated to pxt-arcade and arcade.makecode.com/beta, so we can test easily from the web, @pelikhan?

Sorry to bother you again, @nopid.
But would you, as a fellow Raspberry Pi fan and a lot sharper in C++ than me, happen to know why this amazing 3D game gives a Floating point exception natively compiledon my Raspberry Pis?:
https://arcade.makecode.com/beta/?nolocalhost=1&compile=rawELF&hw=rpi#pub:57095-73027-58575-13726
Works very well in the web simulator.
Original source:
https://forum.makecode.com/t/space-rocks-3d/6334/70


Webview changes for reload, stop loading, javascript and clear cookies.

Can one of the admins verify this patch?


[Windows 10/Firefox] Video stream loads but does not play

I updated to Windows 10 and suddenly it seems that the video loads but does not play.

The player is Default (HTML5 in this case).

Seems the issue is with graphics drivers and Adobe flash. Reinstalled flash and updated graphics drivers.


Bad Loss History, Callback vs. Progressbar Loss Mismatch

System information

Have I written custom code - Yes
OS Platform and Distribution - RHEL7
Mobile device - None
TensorFlow installed from - pip
TensorFlow version v2.3.0-rc2-23-gb36436b087 2.3.0
Python version: 3.7
CUDA/cuDNN version:
cudatoolkit               10.1.243             h6bb024c_0
cudnn                     7.6.5                cuda10.1_0
GPU model and memory: 4x Nvidia TITAN X (Maxwell)

Describe the current behavior
I am working with a GAN, using code by subclassing tf.keras.Model in the style of: https://keras.io/examples/generative/dcgan_overriding_train_step/
I attempted to make a plot of the generator loss and the discriminator loss using the history object from the result of model.fit(), and noticed the values in the history object were all constants, despite obvious variability as displayed by the progress bar.  I dug deeper, and added a callback to print the d_loss and g_loss after on_epoch_end and on_train_batch_end, switched the model.compile() to include run_eagerly=True, added a print statement at the end of train_step() and I noticed that they do not match the values being printed by the progress bar.
Example terminal output:
Epoch 00001: LearningRateScheduler reducing learning rate to 0.01.
Epoch 1/4

Train Step:  tf.Tensor(0.72807, shape=(), dtype=float32) tf.Tensor(0.46352494, shape=(), dtype=float32)
Batch End:  {'d_loss': 0.7280700206756592, 'g_loss': 0.4635249376296997}
  1/100 [..............................] - ETA: 0s - d_loss: 0.7281 - g_loss: 0.4635

Train Step:  tf.Tensor(0.7460346, shape=(), dtype=float32) tf.Tensor(0.36776978, shape=(), dtype=float32)
Batch End:  {'d_loss': 0.7460346221923828, 'g_loss': 0.3677697777748108}
  2/100 [..............................] - ETA: 12s - d_loss: 0.7371 - g_loss: 0.4156

Train Step:  tf.Tensor(0.67379105, shape=(), dtype=float32) tf.Tensor(0.6921332, shape=(), dtype=float32)
Batch End:  {'d_loss': 0.6737910509109497, 'g_loss': 0.6921331882476807}
  3/100 [..............................] - ETA: 15s - d_loss: 0.7160 - g_loss: 0.5078

As you can see, on the first batch, all the values match precisely - the print statement at the end of train_step, the callback for on_train_batch_end and the progressbar output all match.  By the 2nd batch, train_step and on_train_batch_end are reporting a value of 0.746 for d_loss by the progressbar is printing a value of .7371, and g_loss is .3677 vs .4156.
Originally, I suspected the distribute_strategy might be involved, so I commented that out and I re-ran with CUDA_VISIBLE_DEVICES=0, and got the same value mismatching.  I have this issue regardless of whether I run with run_eagerly=True or False.
My actual train_step for reference in case I'm just doing something stupid:
import tensorflow as tf
from tensorflow.nn import sigmoid_cross_entropy_with_logits

def train_step(self, train_step_data):

        high_res_imgs = train_step_data[1]

        low_res_imgs = train_step_data[0]

        with tf.GradientTape(persistent=True) as tape:

            generated_images = self.generator(low_res_imgs)

            logits_on_generated = self.discriminator(generated_images)

            logits_on_real = self.discriminator(high_res_imgs)

            d_real_loss = sigmoid_cross_entropy_with_logits(labels=tf.ones_like(logits_on_real), logits=logits_on_real)

            d_gen_loss = sigmoid_cross_entropy_with_logits(labels=tf.zeros_like(logits_on_generated), logits=logits_on_generated)

            d_loss = 0.5*(d_real_loss + d_gen_loss)

            g_adv_loss = sigmoid_cross_entropy_with_logits(labels=tf.ones_like(logits_on_generated), logits=logits_on_generated)

            g_loss = g_adv_loss

        ################################################################################
        # Now backpropagate discriminator based on the losses
        ################################################################################
        grads = tape.gradient(d_loss, self.discriminator.trainable_weights)

        self.d_optimizer.apply_gradients(zip(grads, self.discriminator.trainable_weights))

        ################################################################################
        # Now backpropagate generator based on the losses
        ################################################################################
        grads = tape.gradient(g_loss, self.generator.trainable_weights)

        self.g_optimizer.apply_gradients(zip(grads, self.generator.trainable_weights))

        #print(d_loss.shape)
        #print(d_loss.numpy())
        print("\nTrain Step: ", d_loss[0,0], g_loss[0,0])
        return {"d_loss": d_loss[0,0], "g_loss": g_loss[0,0]}

I still have this issue regardless of whether I just return d_loss and g_loss or 'd_loss[0,0]' and g_loss[0,0].
And my callback:
class ModelPrinter(tf.keras.callbacks.Callback):

        def __init__(self, model):

            self.model = model

        def on_epoch_end(self, epoch, logs=None):

            print(self.model)
            print("\nEpoch End: ", logs)

        def on_train_batch_end(self, step_num, logs=None):

            print("\nBatch End: ", logs)

Can you have something very, very minimal code snippet that we could copy paste and run to reproduce this. If you have dummy input it is better so we don't need to copy files.
Also if you can share a minimal running Colab could be useful.

Self-contained example script:
import tensorflow as tf

from tensorflow.nn import sigmoid_cross_entropy_with_logits
from tensorflow.keras.losses import mean_squared_error
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.applications import VGG19

from tensorflow.keras.layers import Dense, \
                                    Activation, \
                                    Input, \
                                    Flatten, \
                                    Dropout, \
                                    LSTM, \
                                    Conv2D, \
                                    Convolution2DTranspose, \
                                    UpSampling2D, \
                                    Reshape, \
                                    BatchNormalization, \
                                    MaxPooling2D, \
                                    PReLU, \
                                    LeakyReLU, \
                                    ReLU, \
                                    Add

from tensorflow.keras.models import Sequential, Model

import numpy

def create_generator_CloudGAN(input_shape):

    gen_input = Input(shape=input_shape, name="Generator_Input_Layer")

    model = Conv2D(filters=256,
                   kernel_size=9,
                   strides=1,
                   padding="same")(gen_input)

    model = PReLU(alpha_initializer='zeros',
                  alpha_regularizer=None,
                  alpha_constraint=None,
                  shared_axes=[1,2])(model)

    model = Convolution2DTranspose(filters=64,
                                   kernel_size=3,
                                   strides=2,
                                   padding='same')(model)
    model = BatchNormalization()(model)

    model = ReLU()(model)

    model = Convolution2DTranspose(filters=16,
                                   kernel_size=3,
                                   strides=2,
                                   padding='same')(model)
    model = BatchNormalization()(model)

    model = ReLU()(model)

    model = Convolution2DTranspose(filters=4,
                                   kernel_size=3,
                                   strides=2,
                                   padding='same')(model)
    model = BatchNormalization()(model)

    model = ReLU()(model)

    model = Convolution2DTranspose(filters=1,
                                   kernel_size=3,
                                   strides=2,
                                   padding='same')(model)
    model = BatchNormalization()(model)

    model = ReLU()(model)

    generator_model = Model(inputs=gen_input, outputs=model)

    return generator_model

def discriminator_block(model, filters, kernel_size, strides):

    model = Conv2D(filters=filters,
                   kernel_size=kernel_size,
                   strides=strides,
                   padding="same")(model)

    model = BatchNormalization(momentum = 0.5)(model)

    model = LeakyReLU(alpha = 0.2)(model)

    return model

def create_discriminator(image_shape):

    input = Input(shape=image_shape, name="Discriminator_Input_Layer")

    model = Conv2D(filters=64,
                   kernel_size=3,
                   strides=1,
                   padding="same")(input)

    model = LeakyReLU(alpha = 0.2)(model)

    model = discriminator_block(model, 64, 3, 2)
    model = discriminator_block(model, 64, 3, 2)
    model = discriminator_block(model, 64, 3, 2)

    model = Flatten()(model)
    model = Dense(256)(model)
    model = LeakyReLU(alpha = 0.2)(model)

    model = Dense(1)(model)
    model = Activation('sigmoid')(model)

    discriminator_model = Model(inputs=input, outputs=model)

    return discriminator_model

class TestGAN(tf.keras.Model):

    def __init__(self,
                 high_res_shape,
                 low_res_shape,
                 discrim_lr,
                 gen_lr):

        super(TestGAN, self).__init__()

        self.noise_shape = low_res_shape

        #self.output_shape = high_res_shape

        self.discriminator = create_discriminator(high_res_shape)

        self.generator = create_generator_CloudGAN(low_res_shape)

        self.d_optimizer = Adam(learning_rate=discrim_lr)

        self.g_optimizer = Adam(learning_rate=gen_lr)

    def train_step(self, train_step_data):

        low_res_imgs = train_step_data[0]

        high_res_imgs = train_step_data[1]

        #Need persistent=True because we call the tape.gradient() twice
        with tf.GradientTape(persistent=True) as tape:

            generated_images = self.generator(low_res_imgs)

            logits_on_generated = self.discriminator(generated_images)

            logits_on_real = self.discriminator(high_res_imgs)

            ################################################################################

            real_labels = tf.ones_like(logits_on_real)
            real_labels += 0.05 * tf.random.uniform(tf.shape(real_labels))

            generated_labels = tf.zeros_like(logits_on_generated)
            generated_labels += 0.05 * tf.random.uniform(tf.shape(generated_labels))

            d_real_loss = sigmoid_cross_entropy_with_logits(labels=real_labels, logits=logits_on_real)

            d_gen_loss = sigmoid_cross_entropy_with_logits(labels=generated_labels, logits=logits_on_generated)

            d_loss = 0.5*(d_real_loss + d_gen_loss)

            g_loss = sigmoid_cross_entropy_with_logits(labels=tf.ones_like(logits_on_generated), logits=logits_on_generated)

        ################################################################################
        grads = tape.gradient(d_loss, self.discriminator.trainable_weights)

        self.d_optimizer.apply_gradients(zip(grads, self.discriminator.trainable_weights))

        ################################################################################
        grads = tape.gradient(g_loss, self.generator.trainable_weights)

        self.g_optimizer.apply_gradients(zip(grads, self.generator.trainable_weights))

        #print(d_loss.shape)
        #print(d_loss.numpy())
        print("\nTrain Step: ", d_loss[0,0], g_loss[0,0])
        return {"d_loss": d_loss[0,0], "g_loss": g_loss[0,0]}

    def call(self, inputs):

        print("Call, inputs: ", inputs.shape)

        return self.generator(inputs)

class ModelPrinter(tf.keras.callbacks.Callback):

    def __init__(self, model):

        self.model = model

    def on_epoch_end(self, epoch, logs=None):

        print("\nEpoch End: ", logs)

    def on_train_batch_end(self, step_num, logs=None):

        print("\nBatch End: ", logs)

class FakeDataGenerator():
    def __init__(self, batch_size, high_res_shape, low_res_shape):
        self.batch_size = batch_size
        self.high_res_shape = high_res_shape
        self.low_res_shape = low_res_shape

    def __iter__(self):
        return self

    def next(self):

        return self.__next__()

    def __next__(self):

        high_res = numpy.random.rand(self.batch_size,
                                     self.high_res_shape[0],
                                     self.high_res_shape[1],
                                     1)

        low_res = numpy.random.rand(self.batch_size,
                                    self.low_res_shape[0],
                                    self.low_res_shape[1],
                                    1)

        return low_res, high_res

if __name__ == "__main__":

    batch_size = 4

    high_res_shape = (256, 256, 1)

    low_res_shape = (16, 16, 1)

    data_gen = FakeDataGenerator(batch_size,
                                 high_res_shape,
                                 low_res_shape)

    model = TestGAN(high_res_shape,
                    low_res_shape,
                    1.0e-4,
                    1.0e-4)

    model.compile(run_eagerly=True)

    callbacks_list = []

    callbacks_list.append(ModelPrinter(model))

    history = model.fit(data_gen,
                            steps_per_epoch=100,
                            epochs=3,
                            callbacks=callbacks_list,
                            initial_epoch=0,
                            verbose=1)

Same problem in output (note I added some newlines in the output below to make the trains steps easier to separate visually):
Epoch 1/3

Train Step:  tf.Tensor(0.70294505, shape=(), dtype=float32) tf.Tensor(0.47407043, shape=(), dtype=float32)
Batch End:  {'d_loss': 0.7029450535774231, 'g_loss': 0.4740704298019409}
  1/100 [..............................] - ETA: 0s - d_loss: 0.7029 - g_loss: 0.4741

Train Step:  tf.Tensor(0.6781775, shape=(), dtype=float32) tf.Tensor(0.4736327, shape=(), dtype=float32)
Batch End:  {'d_loss': 0.6781774759292603, 'g_loss': 0.47363269329071045}
  2/100 [..............................] - ETA: 16s - d_loss: 0.6906 - g_loss: 0.4739

Train Step:  tf.Tensor(0.65583074, shape=(), dtype=float32) tf.Tensor(0.47412047, shape=(), dtype=float32)
Batch End:  {'d_loss': 0.6558307409286499, 'g_loss': 0.47412046790122986}
  3/100 [..............................] - ETA: 21s - d_loss: 0.6790 - g_loss: 0.4739

Cause the progress bar logic is different.
If you try to insert a print(values) in the progressbar update method you will see the same values of in your Train Step/Batch End:
https://github.com/tensorflow/tensorflow/blob/f3462c311d2b5839a59f155ad82d3f3b3759da61/tensorflow/python/keras/utils/generic_utils.py#L530-L547
Then follow the code to see how info is composed.

Oh I think I see
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/utils/generic_utils.py#L650
It looks like its displaying a running mean instead of the raw value.  Maybe this just needs to be updated to a documentation update somewhere?

It Is not so explicit but It is described in params at https://www.tensorflow.org/api_docs/python/tf/keras/utils/Progbar
If you want you can close this and open a documentation improvement ISSUE or directly a PR on Doc


Error building site: render of "404" failed -- WITH SOLUTION

Describe the bug
When building a site with hugo and the blowfish theme, having just one markdown file (or more) and running hugo or hugo server without the -D flag, it spits out this error:
Error: Error building site: render of "404" failed: "/var/www/guefra/themes/blowfish/layouts/_default/baseof.html:20:5": execute of template failed: template: 404.html:20:5: executing "404.html" at <partial $header .>: error calling partial: "/var/www/guefra/themes/blowfish/layouts/partials/header/basic.html:8:51": execute of template failed: template: partials/header/basic.html:8:51: executing "partials/header/basic.html" at <markdownify>: error calling markdownify: runtime error: invalid memory address or nil pointer dereference
Why do I post this issue, as I fixed it? Because it took me too long to figure that out, as the error just doesn't give you a hint, why it doesn't work.
To Reproduce
Steps to reproduce the behavior:

Build a (simple) hugo website and install the blowfish theme
(Configure your site a little bit)
Create some articles/makrdown files (if it's some-article.md or these _index.md files, it doesn't matter) and leave the draft: true/draft = true option
Run hugo or hugo server, then see the error

Expected behavior
Just an error, which tells you, that you have to use the -D flag for your hugo command or change every markdown file, so they aren't drafts.
Fix
Use the hugo/hugo server command with the -D flag or make every markdown file no draft
Desktop (please complete the following information):

OS: Debian GNU/Linux 12.6 (bookworm)
Browser Brave 1.68.141
Idk, what you mean with version

Hugo & Blowfish versions
Hugo v0.111.3+extended | Blowfish 2.75.0

I think this should occur any time there is no content to generate? If you're building a site that only has drafts and choosing to exclude all those pages, there's nothing to build.
I agree an error in this case is probably a Blowfish bug though. I wonder if the 404 page is assuming that certain pages will exist.

Hey @guefra thanks for this, I agree unfortunately this is not something that Blowfish controls. Building the site is Hugo's responsibility so that log message would need to come from it. Feel free to open an issue on their repo.

Thanks you two (forgot to reply to Rian)! I'm new to hugo and just assumed it was Blowfish's "fault". I actually found a parameter where you can define if drafts should be buildable, I think in the params.toml (not sure, I can't check right now). I may open an issue at hugo because the error message could be made so much more helpful. Anyways, sorry for " accusing" you for the error 😀. Happy developing!


Context manager usage

TLDR: This following message regards an incorreect usage of the context manager:
When I attempt to use the context manager in the recommended way the process does not exit as desired.  here is a snippet:
    mth5_path = pathlib.Path.home().joinpath("software", "irismt","aurora", "data", "synthetic","mth5","test1.h5")
    with MTH5() as m:
        m = mth5.mth5.MTH5()
        m.open_mth5(mth5_path)

The output of this is:

2024-01-04T14:44:37.082257-0800 | WARNING | mth5.mth5 | filename | MTH5 file is not open or has not been created yet. Returning default name
2024-01-04T14:44:37.082402-0800 | INFO | mth5.mth5 | close_mth5 | Flushing and closing None
2024-01-04T14:44:37.087562-0800 | INFO | mth5.helpers | close_open_files | /home/kkappler/software/irismt/aurora/data/synthetic/mth5/test1.h5, Closed File

I followed the logic via the debugger, and it appears that by the time we have entered the __exit__ method of MTH5,  the context manager has already closed the file.
The call to self.close_mth5() within the __exit__ method of MTH5 appears to be unneeded, and leads to a few confounding behaviours, (presumably due to the fact the context manager has closed the mth5):

m.filename property is not available, so we get a warning due to the line
self.logger.info(f"Flushing and closing {str(self.filename)}") in close_mth5()
The line self.__hdf5_obj.close() in close_mth5() results in an AttributeError because self.__hdf5_obj is not available.  This in turn calls (via try/except) helpers.close_open_files().  This is particularly concerning, because we maybe closing other h5s associated with other processes.

The solution seems to be to remove the call to self.close_mth5()within theexit` method of MTH5.
I tested this, by running:
    mth5_path = pathlib.Path.home().joinpath("software", "irismt","aurora", "data", "synthetic","mth5","test1.h5")
    with MTH5() as m:
        m = mth5.mth5.MTH5()
        m.open_mth5(mth5_path)
    with MTH5() as m:
        m = mth5.mth5.MTH5()
        m.open_mth5(mth5_path)
    with MTH5() as m:
        m = mth5.mth5.MTH5()
        m.open_mth5(mth5_path)

and found no issues, i.e. opening the same h5 repeatedly did not cause any issues with opening and already open h5.
I also tested that the we could interact with the h5 repeatedly, i.e. I printed the channel summary a bunch of time.
However, this does not solve all issues ... when using the context manager, the close_mth5() loop is never entered, and this means that the channel summary is not built on close.
I cannot see a truly robust way around this ... it would appear that the user needs to remember to either:
A: call m.channel_summary.summarize() if they were building their h5s using context manager
OR
B: call m.open_mth5() and then close_mth5() after the build
Ideally, we would just open the mth5 and then close it again in the __exit__ method, but knowledge of filename appears lost to the mth5 object by the time exit is encountered.
In any case, the self.close_mth5() instruction in __exit__ seems extraneous.
@kujaku11 : Might this be worked around by adding a summarize_tables method to the end of open_mth5()?

A nice solution to this is actually to add return self to the end of mth5.MTH5.open_mth5()
This allows the following sort of syntax:
with MTH5().open_mth5(mth5_path) as m:
    do stuff

which I believe is preferable to how it was before:
with MTH5() as m:
    m = mth5.mth5.MTH5()
    m.open_mth5(args[0])
    do stuff

With this small change, the self.close_mth5 in __exit__ executes correctly.
Will test and file a PR

So, actually, the issue was that I was re-initializing the mth5 within the context,
I should not have been doing:
mth5_path = pathlib.Path.home().joinpath("software", "irismt","aurora", "data", "synthetic","mth5","test1.h5")
    with MTH5() as m:
        m = mth5.mth5.MTH5()
        m.open_mth5(mth5_path)
    with MTH5() as m:
        m = mth5.mth5.MTH5()
        m.open_mth5(mth5_path)
    with MTH5() as m:
        m = mth5.mth5.MTH5()
        m.open_mth5(mth5_path)

But instead:
mth5_path = pathlib.Path.home().joinpath("software", "irismt","aurora", "data", "synthetic","mth5","test1.h5")
    with MTH5() as m:
        m.open_mth5(mth5_path)
    with MTH5() as m:
        m.open_mth5(mth5_path)
    with MTH5() as m:
        m.open_mth5(mth5_path)

Yes you should use the last snippet:
with MTH5(**kwargs) as m:
    m.open_mth5(file_path)
    Do stuff

Yup :/
I'm ok with abandoning this PR, but I do like the one change that was made, which is to return self at the end of MTH5.open_mth5(), which allows for the other syntax as well:
with MTH5().open_mth5(mth5_path) as m:
    do stuff

@kujaku11 Keeping context manger questions in the same issue, so reopening this one:
Do we know the consequences of opening an mth5 file of verison "0.1.0" as a "0.2.0"?
For example, if correct context manager usage is as follows:
with MTH5() as m:
    m.open_mth5(h5_path, mode=mode)
    do stuff

Then there is a possible issue since MTH5() takes an argument file_version which defaults to 0.2.0.
Question: what if h5_path in the above was an existing file, that has file_version="0.1.0"?
Could this cause a problem?  Is file version of an existing archive mutable?
Some tests that address this should be added.
It would be nice if the file already exists that

@kkappler This is a good question, I think that the tests pass because its just the metadata key word file_version that is changing. I'm not sure there are any internal checks on the file structure when file_version is changed.
For example if you have an existing v1 file and want to convert it to a v2 just by changing the file_version I don't think that simply adds a Surveys group and moves the stations into that survey.  I think that you would need to create a whole new file.  Which brings us back to the external link option where if you have an v1 file and you want to make it a v2 you could create a new v2 file with an external link to the v1 file under the correct location Experiment/Surveys/survey_name_v1/station_v1. Going from v2 to v1 I think you need to create a whole new file.
Will have to add some checks when the file_version is changed.  I think we should make the file version unmutable for now otherwise it will cause confusion.


[Scheduled Maintenance] HypeParty Alpha Start. Unstable Service until June.

Additional context
HypeParty is currently in it's Alpha state. The Service may be taken offline temporarily without prior notice.
This phase of development is expected to end on the first of June.


[Feature] cpu only work

Motivation
no gpu here
Related resources
No response

Hi, Do you mean if fastvideo supports cpu-only inference?

as it is wrote gpus i assume no
if yes forgive me
if no can you  make it please
Le sam. 28 déc. 2024 à 08:12, Hao Zhang @.***> a écrit :

Hi, Do you mean if fastvideo supports cpu-only inference?
—
Reply to this email directly, view it on GitHub
https://github.com/hao-ai-lab/FastVideo/issues/116#issuecomment-2564239931,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AESIHJLKEZXJDIWLWULDAZL2HZFO5AVCNFSM6AAAAABUIXY5HKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRUGIZTSOJTGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks for you feedback, we currently have no plan for supporting cpu only inference.


DateTimePrompt error with certain inputs

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Version
4.13.0 and 4.14.2
Describe the bug
DateTimePrompt gives TypeError: 'NoneType' object is not subscriptable When it gets input between 00:00 to 00:59 from chat
To Reproduce
Steps to reproduce the behavior:

Create a Dialog with a DateTimePrompt()
When Prompted for input on chat send Input between 00:00 to 00:59
See error on python console

Expected behavior
It should ideally give 12:00 AM as a valid result for 00:00 as input or at least return incorrect result so user is prompted with retry_message.
Stack trace
File "/home/kevin/Documents/virtual_environments/vecbws39/lib/python3.9/site-packages/botbuilder/dialogs/component_dialog.py", line 230, in on_continue_dialog
    return await inner_dc.continue_dialog()
  File "/home/kevin/Documents/virtual_environments/vecbws39/lib/python3.9/site-packages/botbuilder/dialogs/dialog_context.py", line 167, in continue_dialog
    return await dialog.continue_dialog(self)
  File "/home/kevin/Documents/virtual_environments/vecbws39/lib/python3.9/site-packages/botbuilder/dialogs/component_dialog.py", line 105, in continue_dialog
    turn_result = await self.on_continue_dialog(inner_dc)
  File "/home/kevin/Documents/virtual_environments/vecbws39/lib/python3.9/site-packages/botbuilder/dialogs/component_dialog.py", line 230, in on_continue_dialog
    return await inner_dc.continue_dialog()
  File "/home/kevin/Documents/virtual_environments/vecbws39/lib/python3.9/site-packages/botbuilder/dialogs/dialog_context.py", line 167, in continue_dialog
    return await dialog.continue_dialog(self)
  File "/home/kevin/Documents/virtual_environments/vecbws39/lib/python3.9/site-packages/botbuilder/dialogs/prompts/prompt.py", line 129, in continue_dialog
    recognized = await self.on_recognize(dialog_context.context, state, options)
  File "/home/kevin/Documents/virtual_environments/vecbws39/lib/python3.9/site-packages/botbuilder/dialogs/prompts/datetime_prompt.py", line 67, in on_recognize
    values = results[0].resolution["values"]
TypeError: 'NoneType' object is not subscriptable

Additional context
It looks like on_recognize() method inside DateTimePrompt gets a result from recognize_datetime() method.
The on_recognize() method expects to get results[0].resolution["values"] but the resolution attribute inside result received from recognize_datetime() is None for the given inputs.

I have raised the bug there.


Post with 201 response appears as "unknown" type

Hi! Me again.
I think I found another tiny bug. A POST that returns with a 201 response gives me this: ApiResponse<unknown>
PS: If i change it to 200 the type appears.

@bnhovde Published new version that checks for 201 if 200 is missing (https://github.com/ajaishankar/openapi-typescript-fetch/commit/90dded8b2f7560923effe117d4f9643b1020da7b)
201 usually puts the url to the created resource in the Location header, but since response body can also be specified guess no harm in checking for this status code.


Reduce Rollbar usage

We're using too much Rollbar and going overquota. We should reduce it ASAP.
cc @CartoDB/backend @xavijam

Top items (1-18 may):

KeyError: KeyError (peak from a single user)
Dropping temp table (debugging, we can probably kill this)
Error geocoding using GME
Failed import
ghost tables

Nothing too excessive, we should be fine after fixing the problem in staging.

Right. Sorry about the rush.


Build 1.3.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Starting to test building 1.3.0 release candidates

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

I think you can remove future from the requirements in meta.yaml?

I think you can remove future from the requirements in meta.yaml?

Yes, just waiting on my PR to update pytest-json_report feedstock to get merged, so that we get a newer version of it..

not sure why current build is not picking up the recently packaged
v1.4.1

Same in obspy/obspy#3010 and on my own PC

Can't install it locally either with >=1.4, but the file is there, probably anaconda is internally only refreshing its repo data only so often..?

@trichter anaconda repo data just picked up the new version, it can be installed now

Well, conda docs say this is how to skip pypy builds, but it still builds for pypy
https://conda-forge.org/docs/maintainer/knowledge_base.html

Well, conda docs say this is how to skip pypy builds, but it still builds for pypy
https://conda-forge.org/docs/maintainer/knowledge_base.html

nevermind, overlooked that it needs a rerender
@conda-forge-admin, please rerender

@trichter ok we're down to one runner's tests failing with the baer picker stuff now

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Old-style Python selectors (py27, py35, etc) are only available for Python 2.7, 3.4, 3.5, and 3.6. Please use explicit comparisons with the integer py, e.g. # [py==37] or # [py>=37]. See lines [65]

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@trichter added that conditional libffi pinning, so should be all green here now


Request - Sonarr view default to season 1

Have a request similar to #288 but couldn't work out how to implement myself.  Basically on sonar_view could you make it so that the Season tab defaults to Season 1 instead of Specials?  In my experience Specials listings cover loads of random stuff I'd never download and hate defaulting to a page full of "Missing" labels!

Ok. Can you take a look as https://github.com/Hellowlol/HTPC-Manager/issues/291 ?

Would it be better if it open the last season instead?

How about latest season if show is flagged as “continuing” and season 1 for shows that are flagged as “ended”.  Is that possible to implement?  If not then yeah just go with latest season.

On 3 Aug 2015, at 09:20, Hellowlol<EMAIL_ADDRESS>wrote:
Would it be better if it open the last season instead?
—
Reply to this email directly or view it on GitHub https://github.com/Hellowlol/HTPC-Manager/issues/290#issuecomment-127161677.

Hmm, ill try.

Awesome thanks, works like a charm! :)


QCoreApplication::arguments: Please instantiate the QApplication object first with Qt 5.7

I just include eventdispatcher_libuv.pri in my .pro file, then build and link successfully, but when I tried to launch the application, it complains QCoreApplication::arguments: Please instantiate the QApplication object first

Could you please show the code?

I didn't add any additional code for the purpose, just add the .pri file:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QCoreApplication::setApplicationName("xxx");
    QCoreApplication::setApplicationVersion("1.0");
    ...
    return a.exec();
}

No matter I do setEventDispatcher at the beginning of main function or not, it complains QCoreApplication::arguments: Please instantiate the QApplication object first

But where do you call QCoreApplication::arguments?

Is there any class (say, in the global scope) which could be instantiated before QApplication?

The complete main function:
int main(int argc, char *argv[])
{
    QCoreApplication::setEventDispatcher(new qtjs::EventDispatcherLibUv);
    QApplication a(argc, argv);
    QCoreApplication::setApplicationName("xxx");
    QCoreApplication::setApplicationVersion("1.0");

    QCommandLineParser parser;
    parser.setApplicationDescription("xxx");
    parser.addHelpOption();
    parser.addVersionOption();

    parser.addOption(QCommandLineOption(QStringList() << "f" << "file", "Save temporary database into local file system."));
    parser.addOption(QCommandLineOption(QStringList() << "t" <<  "temporary-directory", "Save temporary files into <directory>.", "directory"));
    parser.addOption(QCommandLineOption(QStringList() << "s" <<  "source-directory", "Source code stored in <directory>.", "directory"));
    parser.addPositionalArgument("logs", "logs files, zip packages or folders.");
    // Process the actual command line arguments given by the user
    parser.process(a);

    QString t = parser.value("t");
    if (!t.isEmpty())
        g_settings.setTemporaryDirectory( t );

    if (g_settings.temporaryDirectory().isEmpty())
    {
        t = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
        t.append("/CiscoJabberLogs/database");
        g_settings.setTemporaryDirectory( t );
    }

    if (!parser.value("s").isEmpty())
        g_settings.setSourceDirectory( parser.value("s"));

    g_settings.setInMemoryDatabase(!parser.isSet("f"));

    const QStringList logs = parser.positionalArguments();

    MainWindow w;
    w.showMaximized();

    return a.exec();
}

Yes, there is a g_settings object that is instantiated before QApplication.

OK, if you comment out
QCoreApplication::setEventDispatcher(new qtjs::EventDispatcherLibUv);
does the error still happen?

The error always happens no matter I do setEventDispatcher or not.

Well, but if you do not instantiate the dispatcher, why do you think that the error is related to it?

If I remove the included qt_eventdispatcher_libuv/lib/eventdispatcher_libuv.pri file from my .pro file, the application works fine.

BTW, seemly it also hooks command line arguements:
QCoreApplication::arguments: Please instantiate the QApplication object first

QCommandLineParser: argument list cannot be empty, it should contain at least the executable name

Ah, sorry, I have not noticed you are using LibUV… It is still work in progress and does not pass Qt tests.

Errrr..


rancher2.7.5 add app repository can't downloading: remote error: tls: handshake failure

rancher:
os:ubuntu18.04
version2.7.5
RKE2 clusters:
node1: ubuntu20.04, etcd, controller, worker
node2: ubuntu20.04, worker
node3: ubuntu20.04, worker
app repository create:

On node1 host, curl https://helm.goharbor.io is OK.
Where is the adding repository log?

Got it, DNS problem.
Namespace: cattle-system
Pod: cattle-cluster-agent-xxx
Modify the search config in /etc/resolv.conf.


Support for ADC-based ambient light sensor

Based on my tests (as I mentioned in libretiny-eu/libretiny#219), the mere existence of one of the keys: 'day', 'dusk', 'evenfall', 'evening' and 'night' suggest that there's an ADC-based ambient light sensor. There seem to be no configuration of ADC in UPK, but all of my 3 kind of lamps that have this use the same setup, which can be expressed in esphome yaml like this:
sensor:
  - platform: adc
    id: ambient
    name: Ambient
    unit_of_measurement: "V"
    state_class: "measurement"
    pin: P23

And the keys can be expressed as esphome select like this:
globals:
  - id: light_sensitivity
    type: int
    restore_value: no
    initial_value: '0'

select:
  - platform: template
    id: light_sensitivity_setting
    name: "Ambient light trigger"
    entity_category: config
    restore_value: yes
    options:
     - "Day"
     - "Dusk"
     - "Evenfall"
     - "Evening"
     - "Night"
    initial_option: "Evenfall"
    optimistic: true
    set_action:
      - logger.log:
          format: "Chosen option: %s"
          args: ["x.c_str()"]
    on_value:
      then:
        lambda: !lambda |-
          if (i == 1)
          {
            id(light_sensitivity) = 0.157f;
          }
          else
          if (i == 2)
          {
            id(light_sensitivity) = 1.800f;
          }
          else
          if (i == 3)
          {
            id(light_sensitivity) = 2.100f;
          }
          else
          if (i == 4)
          {
            id(light_sensitivity) = 2.180f;
          }
          else id(light_sensitivity) = 0.0f;

The above thresholds are taken from UPK itself of course.
My python knowledge is yet too basic to try the pull request, so I'm leaving this to someone else to try :)

Thanks for posting this. My device has similar keys and functionality. The light sensitivity setting code above doesn't seem to do anything on my device, but I was able to set up a text sensor to display the light level as read by my device's light sensor, based on your ADC sensor. I used the day, dusk, evenfall, evening, and night keys from the original config as voltage thresholds (apparently in mV), though I'm going to end up adjusting them for my own usage since my device's sensor is almost always in the shade.
text_sensor:
  - platform: template
    id: text_sensor_ambient
    name: Ambient Light Sensor

sensor:
  - platform: adc
    pin: ADC3
    id: adc_ambient
    name: Ambient ADC Value
    unit_of_measurement: "V"
    state_class: "measurement"
# This `on_value` trigger will update the text sensor based on the voltage thresholds read from the original config
# in my device's case, they looked like this:
#   "day": 0,
#   "dusk": 200,
#   "evenfall": 1500,
#   "evening": 1800,
#   "night": 2150,
    on_value:
      then:
        - lambda: |-
            if (x > 2.15) {
              id(text_sensor_ambient).publish_state("Night");
            }
            else if (x > 1.8) {
              id(text_sensor_ambient).publish_state("Evening");
            }
            else if (x > 1.5) {
              id(text_sensor_ambient).publish_state("Evenfall");
            }
            else if (x > 0.2) {
              id(text_sensor_ambient).publish_state("Dusk");
            }
            else {
              id(text_sensor_ambient).publish_state("Day");
            }

I then set my own "light sensitivity trigger" by adding the following condition to my on_press that handles turning on the light when the PIR pin goes high. In my case, I only want it to turn on the light if it is sufficiently dark outside (basically "evening" or darker):
binary_sensor:
  - platform: gpio
    pin: P6
    name: PIR Sensor
    id: binary_sensor_pir
    device_class: motion
    on_press:
      if:
        condition:
          sensor.in_range:
              id: adc_ambient
              above: 1.8
        then:
          - light.turn_on: light_flood

Separate from this, my device has a PIR sensitivity setting that I think can be inferred from the configuration. I will create an issue to detail what I've found.


(nmap) migrated from ferventcoder [AU nmap]

@ferventcoder @gep13 Could somebody please add chocolatey as a maintainer.

The chocolatey user has been added to this package.


Added OctoPack tool

See #472. Pretty much implemented in the exact same way as OctoPush.

Hi @cpx, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

I'm trying your pull request in a custom build of Cake and run into an issue. In OctopusPackSettings property BasePath should really be DirectoryPath, not a FilePath. Unless I'm missing something.

@trailmax said...
I'm trying your pull request in a custom build of Cake and run into an issue. In OctopusPackSettings property BasePath should really be DirectoryPath, not a FilePath. Unless I'm missing something.

@cpx is the same not also true for OutputFolder?

That does sound correct, I'll update the PR :)

@trailmax How did your cakefile look, and what version of Octo.exe do you have? For me it worked with Octo 3.4.2 and the following cake script:
Task("Pack")
        .Does(() => {
                OctoPack("MyPackage", new OctopusPackSettings {
                        Version = "1.0.0",
                        BasePath = "./bin",
                        OutFolder = "./out",
                        Overwrite = true
                });
        });

I'll change it anyway to DirectoryInfo since that is more correct - would just like to understand why there's a difference between our tests.

@cpx Octo.exe - the latest. Yes, what you have it there worked - when you specify the path as a String it is fine. But I had a Parameters class with all the directories listed and my directories were recorded as DirectoryPath objects. And conversion from FilePath to DirectoryPath failed on compile time.

@trailmax: Got it, that explains it.

I've pushed the requested changes now :) Naming of the format enum values and whether to have a separate argument builder is still open for discussion though.

Regarding enum naming I prefer to keep it NuPkg because that's what the underlying tool is using. This way there is no divergence between Cake API and octo.exe API.

Merged the builder into the tool. I think the name should be kept as Octo since that seems to be the convention used by e.g. NuGet.

@cpx Sorry for abandoning this PR. Life simply got in the way. I think this looks good for merging.
Could you rebase this PR against develop?
Thanks!

@patriksvensson NP, it happens :) will rebase as soon as I'm at my machine.

@patriksvensson Done!

Merged! Thanks for this! 👍


Service is down

$ teleconsole join xxxxxxxxxxxxxxxxxxxxxxxx
Teleconsole: joining session...
dial tcp <IP_ADDRESS>:42713: getsockopt: connection refused

@slayer yes sometimes your request may land on an Azure instance which is having troubles but usually they get recycled automatically and a fresh instance comes up.


Problem with responsivity

Hello,
I write here because I have an issue with the template Freelancer on smaller resolutions.
When going under 574px, and even sometimes on bigger resolutions, there's some white space on the right.
https://prnt.sc/v3y8yj
I can't find what's the problem, I tried to change things but even adding a "container" class doesn't change a thing.
I saw the margins are the same but doesn't look like it even on big resolutions. I think it might be a major general problem.
https://prnt.sc/v3yax8
Thanks for your time

Anything with a static width will add that whitespace if the width is greater than the screen width. In your example, the culprit is the word "Bootstrap" in the h1 element. Make that font size smaller and you'll see that shift go away.
That being said, I will be taking a comb over all of the themes at some point making sure they respond well down to a 320px width. Anything with a viewport below 320px width is extremely rare, so we won't be supporting below that screen width.
Hopefully this helps explain things!


Update Posts “a-simple-post”

Automatically generated by Netlify CMS

👷 Deploy Preview for shimmering-marigold-4f5b4a processing.

Name
Link

🔨 Latest commit
c32727ddd8c3084a1018e71d8ec62ff05444b315

🔍 Latest deploy log
https://app.netlify.com/sites/shimmering-marigold-4f5b4a/deploys/6324342f6f3cdc00084347b8

👷 Deploy Preview for shimmering-marigold-4f5b4a processing.

Name
Link

🔨 Latest commit
5fc12e9925ef0172b4f335b65191a0b9b81d29df

🔍 Latest deploy log
https://app.netlify.com/sites/shimmering-marigold-4f5b4a/deploys/6324344793531c00084c896d


.toJson should return JsonObject instead of JsonValue?

How come toJson[1] has return type of JsonValue[2] instead of JsonObject[3]. Is there ever an expected output that is not a JsonObject?
This seams to be inherited from ReflectionJsonWriter.write[4], but there doesn't seem to be possible to return other than JsonObject.
[1]
https://github.com/timostamm/protobuf-ts/blob/02c82bdc66e1cf2bea199906c580e9d75ff93bcf/packages/runtime/src/message-type.ts#L178-L183
[2]
https://github.com/timostamm/protobuf-ts/blob/02c82bdc66e1cf2bea199906c580e9d75ff93bcf/packages/runtime/src/json-typings.ts#L1-L10
[3]
https://github.com/timostamm/protobuf-ts/blob/02c82bdc66e1cf2bea199906c580e9d75ff93bcf/packages/runtime/src/json-typings.ts#L13-L16
[4]
https://github.com/timostamm/protobuf-ts/blob/02c82bdc66e1cf2bea199906c580e9d75ff93bcf/packages/runtime/src/reflection-json-writer.ts#L31

A regular message serializes to a JSON object, that is correct.
But the well-known types don't. For example, a google.protobuf.TimeStamp serializes to a string.

Closing, but if you think this is an issue, please feel free to re-open. It would be helpful to know about your use case.


Incorrect handling of API bmi160_read_fifo_header_data_user_defined_length

The reading of bmi160_read_fifo_header_data_user_defined_length is not correctly handled.  Overreading of the fifo can lead to reset of the sytem.

Thank you for your feedback. We will look into this.

@manojrti ,
This is fixed in the latest release.


Class constructor XYZ cannot be invoked without 'new'

There is a problem that I have when extending classes from packages in node_modules e.g. sequelize and other tools such as apollo-rest-client. It is caused by trying to extend transpiled classes.
Discussions about this can be found here:
https://github.com/sequelize/sequelize/issues/7840
https://github.com/apollographql/apollo-server/issues/2216
and many other places.
There is a PR open for this issue @babel https://github.com/babel/babel/pull/8656 bur who knows if and when it gets merged.
The common suggested workaround is applying
               [
			"@babel/preset-env",
			{
				"targets": {
					"node": "current"
				}
			}
		]

Unfortunately, that doesn't work with razzle, presumably because @babel/plugin-transform-runtime is used which is one of the other suggestions to solve this: remove that library.
Does anyone have this same problem and possibly a workaround? It's starting to hit me in more and more of the libraries I want to use.

Workaround / Fixed:
babel.config.js
const razzleBabel = require('razzle/babel');

module.exports = function babelConfig(api) {
	api.cache(true);

	const babel = razzleBabel();

	babel.presets[0] =
		process.env.BUILD_TARGET === 'client'
			? [
				require.resolve('@babel/preset-env'),
				{
					modules: false,
				},
			  ]
			: [
				require.resolve('@babel/preset-env'),
				{
					targets: {
						node: 'current',
					},
					exclude: [
						'babel-plugin-transform-classes',
						'@babel/plugin-transform-classes',
					],
					modules: false,
				},
			  ];
              [...]

Hello @mschipperheyn Could you describe your fix? When I add  ```
targets: {
node: 'current',
},


Arm64 add poweroff

Summary

Add void up_systempoweroff(void) similar to up_systemreset. Implement both of them for armv7-a and arm64.
Fix arm64 poweroff  could stuck.
Add qemu_power.c to support command poweroff and reboot.

Based on #12521 to solve the conflicts. Please focus on the last 3 commits.
Impact
Testing

@XuNeo please take a look:
aarch64-none-elf-ld: warning: /github/workspace/sources/nuttx/nuttx has a LOAD segment with RWX permissions
aarch64-none-elf-ld: /github/workspace/sources/nuttx/arch/arm64/src/board/libboard.a(pinephone_reset.o): in function `board_reset':
/github/workspace/sources/nuttx/boards/arm64/a64/pinephone/src/pinephone_reset.c:62:(.text.board_reset+0x4): undefined reference to `up_systemreset'
/github/workspace/sources/nuttx/boards/arm64/a64/pinephone/src/pinephone_reset.c:62:(.text.board_reset+0x4): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `up_systemreset'
make[1]: *** [Makefile:187: nuttx] Error 1
make: *** [tools/Unix.mk:546: nuttx] Error 2
make: Target 'all' not remade because of errors.


Add a few checks for ECDS type

Use short name in log and metrics
Correctly identify it as a non-wildcard type. This alows us to fully
drop the type if envoy unsubscribes, instead of constantly pushing empty
responses to it.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-telemetry-mc-k8s-tests_istio
6f655087d4254d84de172f7d8aebdaf0589f94c3
link
/test integ-telemetry-mc-k8s-tests_istio

integ-telemetry-k8s-tests_istio
6f655087d4254d84de172f7d8aebdaf0589f94c3
link
/test integ-telemetry-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Need to update the label here: https://github.com/istio/istio/blob/76a6110364b4fef9030c33c3465876e99c6a4c0c/tests/integration/telemetry/stats/prometheus/wasm/bad_wasm_filter_test.go#L77

In response to a cherrypick label: new pull request created: #32171


Option to use selection as link-title when pasting with active selection

Thank you for writing this plug-in, - very useful!!!
-- it would be great if there is an option to automatically use active-selection as link title when pasting.
Thanks,

This is an option in the latest release!

Awesome, - thank you @zolrath !!!


tcptracer: Add guide and integration test

Hi.
This PR adds a guide and an integration test for tcptracer.
It fixes #463.
Best regards.

Thank you for your reviews!


CogvideoX 1.5 5b uses  more video memory than Alibaba Fun 1.15b, causing 22GB to fail to run

There 768768 32freams cannot run in 1.5-5b mode.But In  Alibaba Fun 1.15b can run 1280720 49freams in 2080ti 22G.But I run too slowly the upgrade 8 release in Alibaba Fun 1.15b and Tora 1.0-5B

What is the Fun workflow supposed to do? It's setup wrong for img2video at least.

I uesd the i2v workflow in example,still not work

Your GPU doesn't support bf16 and 1.5 only runs on that.

What is the Fun workflow supposed to do? It's setup wrong for img2video at least.

Before the 8 release update, The same workflow was running normally and could generate images

What is the Fun workflow supposed to do? It's setup wrong for img2video at least.

Before the 8 release update, The same workflow was running normally and could generate images

Yes, like the update notice explains old workflows will not work as they are, the nodes and their inputs have changed a lot, looking at your screenshot they are wired wrong now. You should refer to the new examples on how they should be wired.


Validate Maven build caching samples

Here is a GH workflow to validate our Maven build caching samples.
The current version is good enough to catch unknown fields in a Mojo.
An unhandled field is only logged as a warning in the console when a GE backend is effectively plugged. This is not supported at the moment.
Let me know @bigdaz if this is what you were thinking about.

@jprinet I don't really understand what this workflow will check for, and how it works? My preference would be to run the build connected to a real GE instance (so that local caching can be enabled). The workflow would then effectively run Experiment 1 and verify the expected number of goals are FROM-CACHE.

This actual workflow raises a failure if an unknown property is set in the plugin customization (in addition to any global failure due to syntax for instance). This can arise with a new version.
I do agree that a great improvement would be to connect to GE to get unhandled property and check caching.

This actual workflow raises a failure if an unknown property is set in the plugin customization (in addition to any global failure due to syntax for instance). This can arise with a new version.

OK got it. In my experience the most common issue is that the new Mojo version will have additional parameters, causing caching to stop working without any build failure. I'm OK with merging this PR as a first step, but I don't think it will catch the majority of issues that come with upgrading dependency versions.

my impression is that added value is not much while we don't have a way to get the caching feature enabled.
I would keep that on hold before having a more complete solution.
wdyt @etiennestuder ?

@jprinet Do you know if e.grdev.net has Maven functionality enabled? If so, it would be nice to see if it could be used as a backing GE server for this repo. If it's possible, then we'd simply need to get approval to use e.grdev.net for this public repo: I'm not sure how important it is not to advertise that URL.

To summarize:
My understanding is that this will test for a property being configured in the Gradle Enterprise configuration which does not actually exist in the Mojo.
This will not test for a new property being added in - for example - an update unless we connect it to a GE instance that has Maven caching enabled.
While the added functionality is not much, it does allow us to expand this in the future and connect it to a GE instance for proper testing.
After discussing with @etiennestuder we came to this conclusion: let's remove the functionality to connect the build to a GE instance with secrets and only merge the parts that check for an unknown property. Once that is merged we can circle back on adding the rest of the functionality.

Reverted to the version without requirement for a GE backend, please confirm that this is good to go @runningcode


Add Subaru XV 2018 and Subaru Impreza Premium 2019 FPv1

Adding two new Crosstrek/Impreza fingerprints

2019 Impreza Premium will require FPv2 because it overlaps with Ascent, closing


introduction to development with hydra

I would put all pages into the existing "Build" category.
Any concerns?

great initiative! i can take it over from here if @enthusiastmartin doesn't mind?

great initiative! i can take it over from here if @enthusiastmartin doesn't mind?

Can you have a once-over for grammar and readability? I'll have a look too we'd like to merge this ASAP.

some polishing https://github.com/galacticcouncil/HydraDX-docs/pull/99


Multiple jobs run at the same time for hourly scheduled pipeline

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1429
Originally created by @iroussos on 2019-12-11 20:12:46

Edit: Updated the title to reflect the real issue identified after my investigation. Leaving the original description for context
This is an investigation on whether we have a bug with our pipeline setup flow.
Description of behavior witnessed
Where: https://holloway.meltanodata.com/
When: During initial setup of first pipeline
Extractor: Stripe
Related issue: meltano/account-management#1
Process:
First time on instance (after initial setup)

User installed Stripe Extractor and setup the configuration.
User clicked on Test Connection --> Extractor was reported as working
User skipped Loader setup (was set during instance setup)
User selected to run Transforms for Stripe
A pipeline started --> it was taking too much time to wait during the call, so we left it running
@dmor went back after the call (while the pipeline was still running)
initially, @dmor got an error while trying to access the Analyze page for one of Stripe's designs
Afterwards, data returned even though the pipeline was still running (and the transforms have not run)

Strange behavior --> The default report had data in there
Expected behavior --> There should be no data in there before the transforms run
Guess of what happened
The only reasonable explanation I can think of, is that during the Test Connection, the job that started was never killed and it brought data in, run the transformations and populated the analytics tables that are used for the Meltano Analysis reports.
We have to investigate if this is the case and address this issue --> it could affect the behavior of extractors  and pipelines when users click the Test Connection button

View 20 previous comments from the original issue on GitLab


Could NOT find RSSDK (missing:  RSSDK_LIBRARIES RSSDK_INCLUDE_DIRS)

Note: Please take advantage of RealSense Community and Support sites.

Required Info

Camera Model
R200 / F200 / SR300 / ZR300

Firmware Version

Operating System & Version
Ubuntu 16.04

Kernel Version (Linux Only)

I downloaded PCL1.8, and ran cmake ..
I got below message. what should i do to setup the path of RSSDK. Thanks.
-- Could NOT find RSSDK (missing:  RSSDK_LIBRARIES RSSDK_INCLUDE_DIRS)
CMake Warning at cmake/pcl_targets.cmake:864 (message):
RealSense SDK support: not building because RSSDK not found
Call Stack (most recent call first):
CMakeLists.txt:302 (PCL_ADD_GRABBER_DEPENDENCY)

Hi, please be more specific on what you downloaded and steps you took when this issue occurred. Give us more details so we can reproduce your issue.
Jesus
Intel Customer Support

Closing case. Status: Customer abandoned.


fixes 429 errors from trends.google.com

by checking for that status code, and storing and using the set-cookie value for an immediate re-request, and subsequent requests.
Should fix https://github.com/pat310/google-trends-api/issues/105 as per some discussion there. Let me know if you think any test script updates would apply for this fix.

Coverage decreased (-0.5%) to 97.638% when pulling 40f4e443184350b63d5f6fb0553d820278d45ac5 on splatcollision:master into a05ada2bd2d889df8524d600b6b46415529e80d1 on pat310:master.

Could someone please merge this? I'm also running into limit problems.

Yes I'll get it merged today. Thanks @splatcollision !

On May 29, 2018, at 13:01, Tim van de Vathorst<EMAIL_ADDRESS>wrote:
Could someone please merge this? I'm also running into limit problems.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@splatcollision @Timvdv new version 4.6.2 is published and up on npm!


reverted webhook-server-cert designation to cert-manager-webhook-ca

Description
Reverted webhook-server-cert designation to cert-manager-webhook-ca to maintain consistency between other installations.
Checklist:

[x] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[x] I have verified that new and existing unit tests pass locally with my changes
[ ] I have not allowed coverage numbers to degenerate
[ ] I have maintained at least 90% code coverage
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have maintained backward compatibility

How Has This Been Tested?

[x] Successfully installed app mobility via operator after deleting all other third party installations of cert-manager and velero
[x] Checked secrets in application-mobility to confirm they are the ones that are expected
[x] Ran unit tests to confirm everything continues to pass

Were you able to successfully install authorization with these changes?

Were you able to successfully install authorization with these changes?

@shaynafinocchiaro, just installed it successfully with the current pod status below. Let me know if there is anything else I can do to confirm it is working as expected
NAMESPACE           NAME                                                      READY   STATUS    RESTARTS       AGE
authorization       authorization-ingress-nginx-controller-758f98f95c-kgm5m   1/1     Running   0              4m46s
authorization       cert-manager-6499989f7-4t9h6                              1/1     Running   0              4m46s
authorization       cert-manager-cainjector-645b688547-2dp4h                  1/1     Running   0              4m46s
authorization       cert-manager-webhook-6b7f49999f-qfg4b                     1/1     Running   0              4m46s
authorization       proxy-server-76bdc6875b-hn4xq                             3/3     Running   0              4m47s
authorization       redis-commander-844f4596fc-hdzp4                          1/1     Running   0              4m47s
authorization       redis-primary-d8875ddcc-p6gbp                             0/1     Pending   0              4m47s
authorization       role-service-5684fdb758-8d9vn                             1/1     Running   0              4m47s
authorization       storage-service-755cfc4497-vhxqv                          1/1     Running   0              4m47s
authorization       tenant-service-5fc9b59f75-xwvm8                           1/1     Running   0              4m47s
dell-csm-operator   dell-csm-operator-controller-manager-74cd77b998-z8jzt     1/1     Running   0              19h
karavi              karavi-metrics-powerflex-9994f7b68-hnjzg                  1/1     Running   0              19h
karavi              karavi-topology-657bf75696-jhl97                          1/1     Running   0              19h
karavi              otel-collector-657df95489-qbrdr                           2/2     Running   0              19h
kube-flannel        kube-flannel-ds-2hhgx                                     1/1     Running   2 (246d ago)   363d
kube-flannel        kube-flannel-ds-v6nc8                                     1/1     Running   4 (246d ago)   363d
kube-flannel        kube-flannel-ds-z6w68                                     1/1     Running   5 (246d ago)   363d
kube-system         coredns-6d4b75cb6d-dwmxm                                  1/1     Running   2 (246d ago)   363d
kube-system         coredns-6d4b75cb6d-q4dr6                                  1/1     Running   2 (246d ago)   363d
kube-system         etcd-master-1-gyg81dnjoskfy.domain                        1/1     Running   1 (246d ago)   309d
kube-system         kube-apiserver-master-1-gyg81dnjoskfy.domain              1/1     Running   1 (246d ago)   309d
kube-system         kube-controller-manager-master-1-gyg81dnjoskfy.domain     1/1     Running   1 (246d ago)   309d
kube-system         kube-proxy-72rqb                                          1/1     Running   2 (246d ago)   363d
kube-system         kube-proxy-7wlzg                                          1/1     Running   4 (246d ago)   363d
kube-system         kube-proxy-f9vcr                                          1/1     Running   4 (246d ago)   363d
kube-system         kube-scheduler-master-1-gyg81dnjoskfy.domain              1/1     Running   1 (246d ago)   309d
kube-system         snapshot-controller-5887c8fcb9-bvnjd                      1/1     Running   8 (106d ago)   358d
kube-system         snapshot-controller-5887c8fcb9-zbh5z                      1/1     Running   16 (49d ago)   358d
vxflexos            cert-manager-6499989f7-96vpc                              1/1     Running   0              19h
vxflexos            cert-manager-cainjector-645b688547-rflxm                  1/1     Running   0              19h
vxflexos            cert-manager-webhook-6b7f49999f-5jt9n                     1/1     Running   0              19h
vxflexos            vxflexos-controller-854cf997fc-72f7b                      5/5     Running   0              19h
vxflexos            vxflexos-node-6mss5                                       2/2     Running   0              19h
vxflexos            vxflexos-node-dzq4p                                       2/2     Running   0              19h


#loadedPackageOfClass: gives walkback

Executing this bit of smalltalk code yields a walkback:
Rowan loadedPackageOfClass: Object
MessageNotUnderstood >> defaultAction @3 line 3
MessageNotUnderstood (AbstractException) >> _signalWith: @6 line 25
MessageNotUnderstood (AbstractException) >> signal @2 line 47
RwGsLoadedPackage class (Object) >> doesNotUnderstand: @10 line 10
RwGsLoadedPackage class (Object) >> _doesNotUnderstand:args:envId:reason: @8 line 13
RwGsPlatform >> loadedPackageOfClass: @3 line 4
Rowan class >> loadedPackageOfClass: @2 line 4
Executed Code  @2 line 1
GsNMethod class >> _gsReturnToC @1 line 1
~

Right, that's because Object does not (yet) have a package and I have
not worked through the vagaries of reasoning about loaded things that
are not packaged ... which is why I think a customized Rw*Definition
with enhanced properties is the way to go --- then under the covers I
can provide a uniform set of objects whether or not they are packaged or
not ...
Dale
On 03/09/2018 03:32 PM, ericwinger wrote:

Executing this bit of smalltalk code yields a walkback:
Rowan loadedPackageOfClass: Object
MessageNotUnderstood >> defaultAction @3 https://github.com/3 line 3
MessageNotUnderstood (AbstractException) >> _signalWith: @6
https://github.com/6 line 25
MessageNotUnderstood (AbstractException) >> signal @2
https://github.com/2 line 47
RwGsLoadedPackage class (Object) >> doesNotUnderstand: @10
https://github.com/10 line 10
RwGsLoadedPackage class (Object) >>
_doesNotUnderstand:args:envId:reason: @8 https://github.com/8 line 13
RwGsPlatform >> loadedPackageOfClass: @3 https://github.com/3 line 4
Rowan class >> loadedPackageOfClass: @2 https://github.com/2 line 4
Executed Code @2 https://github.com/2 line 1
GsNMethod class >> _gsReturnToC @1 https://github.com/1 line 1
~
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dalehenrich/Rowan/issues/10, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAmFTzujyqrPym1zi9dA4peFO9Amc-ygks5tcxEXgaJpZM4SlAzi.

I thought that if a class doesn't have a package, it should just return nil. No?

... No :)
On 03/09/2018 04:58 PM, ericwinger wrote:

I thought that if a class doesn't have a package, it should just
return nil. No?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dalehenrich/Rowan/issues/10#issuecomment-371987460,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAmFTz4TdL3vpa6jzhoMTc-5SLSxUAY4ks5tcyVLgaJpZM4SlAzi.

@ericwinger and I decided that the solution is to add rowanPackageName and rowanProjectName methods to Class and GsNMethod, so that a message can be set  to the object in question  ... if the class or method is not packaged the string '(NONE)' is returned ... presumably need to add logic to the places where package names and project names are handled, so that the  '(NONE)' package or project will succeed despite the fact that there is no packaging -- on second thought this  will have take more thought ---for now,  it won't be legal to use '(NONE)' in the API ...


[3.x] Expose some helper methods on Viewport

Backports https://github.com/godotengine/godot/pull/57517 & https://github.com/godotengine/godot/pull/85966
Adds these three methods to Viewport:

gui_release_focus()
gui_get_focus_owner()
gui_get_hovered_control()

@Mickeon 3.x does not have Viewport related tests. Should I try to add them?

I don't mean those kind of tests 💦, I don't believe 3.x has any support for them. I just mean giving the methods a test run to see if they are working as intended.


Project template use existing organization or default to com.example

Currently flutter create uses com.yourcompany which is up for sale and may at some point be in real use.
The change should be accompanied by functionality to detect existing organization when running flutter create on an existing (perhaps partial) project so that we e.g. avoid creating android/app/src/main/java/com/example/ when android/app/src/main/java/com/yourcompany/ already exists.

This is a new user experience blocker, since we don't control that domain (and other people could). We should either buy the domain or (preferred) use example.com. Leaving in current milestone.