Polars LazyFrameDomain

Closes #695
Changes

new domains:

LazyFrameDomain, SeriesDomain, CsvDomain, ParquetDomain
FFI for constructing LazyFrameDomain and SeriesDomain from Python

new constructors:

make_scan_csv for loading a LazyFrame from a csv file
make_scan_parquet for loading a LazyFrame from a parquet file
make_sink_csv for writing a LazyFrame to a csv file

TODO

include margins in LazyFrameDomain's FFI constructor
FFI data loaders for LazyFrames

See python/tests/test_polars.py for example usage.

Broken down into smaller PRs. See https://github.com/opendp/opendp/milestone/19


Cumulative Commerce PR post-RCP

This PR is a combination of several commerce PR done during RCP.
Code review was done on each PR merged in 'ccd' branch. QA was done as well. (and will be extensively done by us on this PR second time)
This PR is still open for a second round of code reviews. Please try to review within the next 3 days, since we would like to merge the changes before the next RCP (12 Dec).
The main focus for Milo community is to check for regressions (will be done on stage branch as well, but assuming the size of the PR it is better to do at the earlier stage).
Resolves: merge commerce RCP changes.
Test URLs:

Before: https://main--milo--adobecom.hlx.live/docs/library/kitchen-sink/merch-card?martech=off
After: https://ccd--milo--adobecom.hlx.live/docs/library/kitchen-sink/merch-card?martech=off

@yesil @3ch023 @npeltier @Axelcureno @Roycethan
We have few differences that might be because the branch is not up-to-date with stage:

CTA blue color is different (not aligned with https://github.com/adobecom/milo/pull/3221/files)
One of the icons is affected in the. merch-card on DC
https://main--dc--adobecom.hlx.live/acrobat/how-to/share-pdf-online?milolibs=ccd

Otherwise, regressions look ok on my end. @Roycethan Could you please double-check from your side? If all good, lets try to add this PR to the current Stage to Main train

@yesil @3ch023  Checked from my side...Plz check Nala and Code-cov failures to proceed further.. cc @afmicka

@Roycethan for Nala, it needs the most recent stage update. The failing tests were just fixed in https://github.com/adobecom/milo/pull/3335

CTA color PR wasn't done correctly, it didn't change colour in src file
https://github.com/adobecom/milo/pull/3221/files
I will address it in the follow up


Fix: using 'only' option with exposed attribute that is an entity

I found a bug when using the recent added only option, when trying to return attributes that was evaluated as grape entity, this is the fix for it.
I’m not sure about if should be added as a fix in the Changelog because the version isn’t released yet, if I need to change something just let me know.
Thanks!

No need to add to CHANGELOG, indeed.

@dblock did the changes you suggested, when you can, please take a look. :+1:

Good, merging.


Support for German in DateTime

@flo-zuewi has an initial PR for it.

What's the progress here? datetimev2 is still not supported by LUIS and the old datetime entity type is practically unusable for german language (way too many false positives and other bugs).

Is there some way I can help here? When will the partial DateTime made available in LUIS? @tellarin

Hi @pke,
you can start taking a look at the Spec json files for DateTime that are marked as "NotSupported": "dotnet". Some of them also have "Comment" tags that may give more details on the current issues.
We suggest focusing on the .NET plat first and then we can port to JS.
Writing additional specs to make sure coverage is good are also very valuable.
Unfortunately the German DateTime quality doesn't meet our bar to ship yet. :-(
Any help is greatly appreciated!

Closing this as support is now available. Thanks @n01d, @miserale, and everyone else!

Cool! Which PR brought this in?

It was not a specific PR, but release dotnet-v1.1.5 made it "official".


Extract SQL querys to seperate functions to enable easy reload of buffer contents on change

As implied in this comment I think it would be a good idea to extract all SQL query generations (even if really simple) to their own functions which would enable a very easy and simple reload functionality for SQHDatabase, SQHTable, and SQHResult buffers when using key bindings that change their contents.
Currently reloading is done like this:
open SQHDatabase -> dd to delete a database -> mysql#DropDatabase(which creates the query, executes the query with mysql#GetResultsFromQuery, deletes the buffer, and opens new buffer with mysql#ShowDatabases)
My idea is to make it work like this:
open SQHDatabase -> dd to delete a database -> mysql#DropDatabase(which creates the query, executes the query, deletes all the lines in the current buffer, gets query for showing all the databases, and executes that query with mysql#GetResultsFromQuery)
Note: the empty buffer and fill with new contents would be a separate function
Pros:

makes all the queries really reusable
doesn't screw up the jump list
possibly beneficial in the future
would tidy up some code

Cons:

idea not really that thought out yet (probably could use improvement)

Sounds good to me, we can test the query generation better this way too.
Do we need to delete all lines in the buffer each time? We use enew! inside the InsertResultsToNewBuffer function anyway so the previous buffer would be scrubbed anyway.

I'll get started some time later today/tomorrow. The reason for deleting lines is mostly to use keepjumps so the jump list doesn't get modified.
But I'll look into just modifying the buffer instead of delete and put. Maybe with the help of diff?


Fix get task API does not refresh resource stats

Description
List tasks API will refresh the resource stats for the tasks which support resource tracking, but get task API does not refresh the resource stats, this PR fix the bug and add some tests for it.
Related Issues
https://github.com/opensearch-project/OpenSearch/issues/8655
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[x] Public documentation issue/PR created

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Could anyone help to review this PR? I think it's pretty straightforward.

@jed326 , could you help to review this PR, thanks!

LGTM, Thanks for opening this bug fix! @reta could you help provide a maintainer review here?

Somehow lost this change, @gaobinlong it looks good, could you rebase + resolve conflicts? thank you

LGTM, Thanks for opening this bug fix! @reta could you help provide a maintainer review here?

Somehow lost this change, @gaobinlong it looks good, could you rebase + resolve conflicts? thank you

Thanks @reta, I've done that and now all gradle checks have passed yet.

@gaobinlong mind please backporting to 2.x manually? thank you


Model weights using the HDF5 format are not saved

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Yes
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): Not on mobile device
TensorFlow version (use command below): 2.3
Python version: 3.6.9
Bazel version (if compiling from source): Not compiling from source
GCC/Compiler version (if compiling from source): Not compiling from source
CUDA/cuDNN version: No GPU
GPU model and memory: No GPU

Describe the current behavior
When using the HDF5 format to save the weights of a model (directly added in the model class), the value of the weights I get when loading the model are not the same as the ones of the saved model.
Describe the expected behavior
The value of the weights of the loaded model should be the same as that of the saved model.
Standalone code to reproduce the issue
This is the colab I used to illustrate this issue.
Other info / logs
When using layers in the model, instead of weights added via (self.add_weight), the values of the layers' weights are correctly saved. So it's really a problem of the weights of a Model not being saved (or loaded correctly).

Small note, when not using the HDF5 format, i.e. model.save_weights('model'), I get the following error: AttributeError: 'NoneType' object has no attribute 'replace'.
The full stacktrace is:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-dcf87c4ca34b> in <module>()
----> 1 model.save_weights('model')

8 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in save_weights(self, filepath, overwrite, save_format, options)
   2099              'saved.\n\nConsider using a TensorFlow optimizer from `tf.train`.')
   2100             % (optimizer,))
-> 2101       self._trackable_saver.save(filepath, session=session, options=options)
   2102       # Record this checkpoint so it's visible from tf.train.latest_checkpoint.
   2103       checkpoint_management.update_checkpoint_state_internal(

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/util.py in save(self, file_prefix, checkpoint_number, session, options)
   1198     file_io.recursive_create_dir(os.path.dirname(file_prefix))
   1199     save_path, new_feed_additions = self._save_cached_when_graph_building(
-> 1200         file_prefix_tensor, object_graph_tensor, options)
   1201     if new_feed_additions:
   1202       feed_dict.update(new_feed_additions)

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/util.py in _save_cached_when_graph_building(self, file_prefix, object_graph_tensor, options)
   1135     (named_saveable_objects, graph_proto,
   1136      feed_additions) = self._gather_saveables(
-> 1137          object_graph_tensor=object_graph_tensor)
   1138     if (self._last_save_object_graph != graph_proto
   1139         # When executing eagerly, we need to re-create SaveableObjects each time

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/util.py in _gather_saveables(self, object_graph_tensor)
   1101     """Wraps _serialize_object_graph to include the object graph proto."""
   1102     (named_saveable_objects, graph_proto,
-> 1103      feed_additions) = self._graph_view.serialize_object_graph()
   1104     if object_graph_tensor is None:
   1105       with ops.device("/cpu:0"):

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/graph_view.py in serialize_object_graph(self)
    385     trackable_objects, path_to_root = self._breadth_first_traversal()
    386     return self._serialize_gathered_objects(
--> 387         trackable_objects, path_to_root)
    388
    389   def frozen_saveable_objects(self, object_map=None, to_graph=None,

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/graph_view.py in _serialize_gathered_objects(self, trackable_objects, path_to_root, object_map, call_with_mapped_captures)
    340     object_names = object_identity.ObjectIdentityDictionary()
    341     for obj, path in path_to_root.items():
--> 342       object_names[obj] = _object_prefix_from_path(path)
    343     node_ids = object_identity.ObjectIdentityDictionary()
    344     for node_id, node in enumerate(trackable_objects):

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/graph_view.py in _object_prefix_from_path(path_to_root)
     62   return "/".join(
     63       (_escape_local_name(trackable.name)
---> 64        for trackable in path_to_root))
     65
     66

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/graph_view.py in <genexpr>(.0)
     62   return "/".join(
     63       (_escape_local_name(trackable.name)
---> 64        for trackable in path_to_root))
     65
     66

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/graph_view.py in _escape_local_name(name)
     55   # edges traversed to reach the variable, so we escape forward slashes in
     56   # names.
---> 57   return (name.replace(_ESCAPE_CHAR, _ESCAPE_CHAR + _ESCAPE_CHAR)
     58           .replace(r"/", _ESCAPE_CHAR + "S"))
     59

AttributeError: 'NoneType' object has no attribute 'replace'

@zaccharieramzi,
Please take a look at issue #26811 with a similar error and let us know if it helps. Thanks!

Naming the weight didn't help unfortunately. You can see this in the same colab.

Was able to reproduce the issue with TF v2.3 and TF-nightly. Please find the attached gist. Thanks!

@zaccharieramzi,
I think this is an intended behavior (not very sure though) as per this comment. Can you please check it and let me know? Thanks!

Hmmm I don't think so because it's not related the optimizer but really to actual model weights. The only difference is that they are instantiated inside a model object instead of inside a layer.

Was able to replicate the issue with TF v2.5,please find the gist here ..Thanks!

@zaccharieramzi Looks like this was resolved in TF2.7. Here is a gist for reference.
model.b
<tf.Variable 'bias:0' shape=() dtype=float32, numpy=1.9999998>
other_model.b
<tf.Variable 'bias:0' shape=() dtype=float32, numpy=1.9999998>
Can you please verify once and close the issue if this was resolved for you. Thanks!


fix: modify the rich text judgment logic

close https://github.com/dream-num/univer-pro/issues/2132

Pull Request Checklist

[ ] Related tickets or issues have been linked in the PR description (or missing issue).
[ ] Naming convention is followed (do please check it especially when you created new plugins, commands and resources).
[ ] Unit tests have been added for the changes (if applicable).
[ ] Breaking changes have been documented (or no breaking changes introduced in this PR).

在禅模式内输入数字使用文本样式，保存后在单元格内不生效


can't using ToF camera in Ubuntu

I tried to use the ToF camera onmy ubuntu machine.
I can't open the camera at all .
Getting "Segmentation fault (core dumped)".
also cant find the ./aditof-server file

Hello, can you please give us a couple of details?
What sdk version are you using?
And also can you attach the entire log from the application that you are trying to run?
The aditof-server runs on nxp.
Regards,
Septimiu.

Resolved via email.


Disagreement between Contour and TwoD renderers

To reproduce:

Spin up Vapor, unzip the session file in this issue report and load it
Import the WRF file /little_glade/Data/Source/WRF/DUKU/wrfout_d02_2007-04-01_00:00:00.nc
Enable the Contour and TwoD renderers.  I believe their colors should align, but they seem to be in disagreement with each other.

twoDContourDisagreement.vs3.zip

Hey stas, this is a bit of an old one.  Do you think this is expected behavior?

They are the same at higher fidelities. The contour renderer works directly on the grid so it is more likely to be accurate.


Add size resetting at end of level, add it as an option in the config, add player size resetting on death(if it doesn't naturally occur)

Added size resetting, but didn't do config set up yet, should be pretty easy to do

Pay attention to GrabbablePlayerList if doing so. Can't be cleared anymore then!

Size resetting felt a bit weird and got removed in 0.2.0. we could consider making it an option in later development


D415 color camera: all options have value '6'

Required Info

Camera Model
D415

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 16.04

Kernel Version (Linux Only)
4.4.0-142-generic     (not using the custom kernel module)

Platform
PC

SDK Version
2.18.0

Language
c++

Issue Description
I have  a Realsense D415 camera connected to my computer. When I try to set the exposure or other settings in the realsense-viewer program, all of the options seem to be stuck at the value '6' for the RGB camera.
I see the following output from rs-enumerate-devices:
$ tools/enumerate-devices/rs-enumerate-devices -o
 Device info:
    Name                          :     Intel RealSense D415
    Serial Number                 :<PHONE_NUMBER>63
    Firmware Version              :     <IP_ADDRESS>
    Recommended Firmware Version  :     <IP_ADDRESS>
    Physical Port                 :
    Debug Op Code                 :     15
    Advanced Mode                 :     YES
    Product Id                    :     0AD3

Options for Stereo Module
 Supported options:                                    min        max       step  default
    Exposure                                           : 20   ... 166000      20    33000
    Gain                                               : 6    ... 6           6     6
    Enable Auto Exposure                               : 0    ... 1           1     1
    Enable Auto White Balance                          : 0    ... 1           1     0
    Visual Preset                                      : 0    ... 6           1     0
    Laser Power                                        : 0    ... 360         30    150
    Emitter Enabled                                    : 0    ... 2           1     1
    Frames Queue Size                                  : 0    ... 32          1     16
    Error Polling Enabled                              : 0    ... 1           1     0
    Output Trigger Enabled                             : 0    ... 1           1     0
    Depth Units                                        : 0.0001... 0.01        1e-06 0.001
    Stereo Baseline                                    : 55.0903... 55.0903     0     55.0903

Options for RGB Camera
 Supported options:                                    min        max       step  default
    Backlight Compensation                             : 6    ... 6           6     6
    Brightness                                         : 6    ... 6           6     6
    Contrast                                           : 6    ... 6           6     6
    Exposure                                           : 6    ... 6           6     6
    Gain                                               : 6    ... 6           6     6
    Gamma                                              : 6    ... 6           6     6
    Hue                                                : 6    ... 6           6     6
    Saturation                                         : 6    ... 6           6     6
    Sharpness                                          : 6    ... 6           6     6
    White Balance                                      : 6    ... 6           6     6
    Enable Auto Exposure                               : 0    ... 1           1     1
    Enable Auto White Balance                          : 6    ... 6           6     6
    Frames Queue Size                                  : 0    ... 32          1     16
    Power Line Frequency                               : 6    ... 6           6     6
    Auto Exposure Priority                             : 6    ... 6           6     6

[Snip]

Is there a reason why all the parameter values for the RGB camera are stuck at 6?

Updating the camera firmware to version 5.11.01 does not seem to fix the issue.

Any warnings / errors in the dmesg log? This is certainly abnormal

Here is the output from my dmesg after plugging in the camera (with the USB cable supplied in the box) and running rs-enumerate-devices:

[ 5225.138587] usb 2-2: new SuperSpeed USB device number 16 using xhci_hcd
[ 5225.154812] usb 2-2: New USB device found, idVendor=8086, idProduct=0ad3
[ 5225.154821] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5225.154827] usb 2-2: Product: Intel(R) RealSense(TM) Depth Camera 415
[ 5225.154832] usb 2-2: Manufacturer: Intel(R) RealSense(TM) Depth Camera 415
[ 5225.154837] usb 2-2: SerialNumber:<PHONE_NUMBER>66
[ 5225.156076] uvcvideo: Unknown video format 00000050-0000-0010-8000-00aa00389b71
[ 5225.156090] uvcvideo: Unknown video format 00000032-0000-0010-8000-00aa00389b71
[ 5225.156221] uvcvideo: Found UVC 1.50 device Intel(R) RealSense(TM) Depth Camera 415  (8086:0ad3)
[ 5225.158267] uvcvideo: Unable to create debugfs 2-16 directory.
[ 5225.158616] input: Intel(R) RealSense(TM) Depth Ca as /devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/input/input1217
[ 5225.159513] uvcvideo: Unknown video format 36315752-1a66-a242-9065-d01814a8ef8a
[ 5225.159529] uvcvideo: Found UVC 1.50 device Intel(R) RealSense(TM) Depth Camera 415  (8086:0ad3)
[ 5225.160601] uvcvideo: Unable to create debugfs 2-16 directory.
[ 5254.213298] uvcvideo: Unknown video format 00000050-0000-0010-8000-00aa00389b71
[ 5254.213315] uvcvideo: Unknown video format 00000032-0000-0010-8000-00aa00389b71
[ 5254.213439] uvcvideo: Found UVC 1.50 device Intel(R) RealSense(TM) Depth Camera 415  (8086:0ad3)
[ 5254.215551] uvcvideo: Unable to create debugfs 2-16 directory.
[ 5254.215641] input: Intel(R) RealSense(TM) Depth Ca as /devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/input/input1218
[ 5254.273328] uvcvideo: Unknown video format 36315752-1a66-a242-9065-d01814a8ef8a
[ 5254.273333] uvcvideo: Found UVC 1.50 device Intel(R) RealSense(TM) Depth Camera 415  (8086:0ad3)
[ 5254.274196] uvcvideo: Unable to create debugfs 2-16 directory.

@Nomadluap  How about the realsenseviewer? Can you adjust these color parameters on realsenseviewer?

@Nomadluap Any update? Looking forward to your update. Thanks!

Sorry for the delay! In Realsense viewer, the controls were also stuck at 6 for almost all values. Attempting to change the value using either the slider or text edit control would have no effect.

@Nomadluap Does this D415 work normally before? Or this is the 1st time you tried it and saw the problem?
Could you please also try FW 5.10.6 to see if still same issue?

@Nomadluap Any update?

I've found that after updating my operating system to Ubuntu 18.04 and re-building the realsense-viewer program, the camera works without issue (Using firmware 5.11.01).
Running the cameras on other Ubuntu 16.04 systems also had no issues.
My computer had a strange softaware setup, so it's not out of the question for the problem to be localized entirely to my computer.
I'll mark this issue as closed for now since I can't seem to reproduce on other computers or operating systems.

I am currently seeing this issue on a mac with a d435:
Device info:
Name                          : 	Intel RealSense D435
Serial Number                 :<PHONE_NUMBER>04
Firmware Version              : 	<IP_ADDRESS>
Recommended Firmware Version  : 	<IP_ADDRESS>
Physical Port                 :
Debug Op Code                 : 	15
Advanced Mode                 : 	YES
Product Id                    : 	0B07
Usb Type Descriptor           : 	3.2
Options for Stereo Module
Supported options:                min        max       step  default
Exposure                       : 1    ... 165000      1     8500
Gain                           : 6    ... 6           6     6
Enable Auto Exposure           : 0    ... 1           1     1
Visual Preset                  : 0    ... 6           1     0
Laser Power                    : 0    ... 360         30    150
Emitter Enabled                : 0    ... 1           1     1
Frames Queue Size              : 0    ... 32          1     16
Error Polling Enabled          : 0    ... 1           1     0
Output Trigger Enabled         : 0    ... 1           1     0
Depth Units                    : 0.0001... 0.01        1e-06 0.001
Stereo Baseline                : 50.0007... 50.0007     0     50.0007
Inter Cam Sync Mode            : 0    ... 2           0     1
Options for RGB Camera
Supported options:                min        max       step  default
Backlight Compensation         : 6    ... 6           6     6
Brightness                     : 6    ... 6           6     6
Contrast                       : 6    ... 6           6     6
Exposure                       : 6    ... 6           6     6
Gain                           : 6    ... 6           6     6
Gamma                          : 6    ... 6           6     6
Hue                            : 6    ... 6           6     6
Saturation                     : 6    ... 6           6     6
Sharpness                      : 6    ... 6           6     6
White Balance                  : 6    ... 6           6     6
Enable Auto Exposure           : 0    ... 1           1     1
Enable Auto White Balance      : 6    ... 6           6     6
Frames Queue Size              : 0    ... 32          1     16
Power Line Frequency           : 6    ... 6           6     6
Auto Exposure Priority         : 6    ... 6           6     6
@RealSenseCustomerSupport Is there anything I can dump to give you more info?


[OTHER] Optimize Images

What would you like to share?
ImgBot runs on my account and I spotted some optimization opportunities in LinkFree. You can check them out here, I am pretty sure that ImgBot is free for open source projects. It will give you a total reduction in image size of 17%
Additional information
No response

Hi. So do you mean that we need to replace the images that are currently not optimized?

They are in the LinkFree repository, I have imgbot setup by default and it picked it up when I made a fork. I thought I should raise an issue to let everyone know that there is an opportunity to reduce the current image sizes if they would like to. It doesn't have to be done by a bot, Squoosh is a free web app that will do the same thing. It will increase loading times for those images by about 15%.

Does anyone is working on his issue?

Now we have NextJS it has image optimisation so I don't think this is needed anymore - also we don't have many images in the project


Sharing violation on path

I'm getting an exception when I try to delete my database file from within the app after opening a connection to it and closing it. This worked in v2, but not in v4. I wrap all my database calls in
using (LiteDatabase db = new LiteDatabase(DatabasePath))
What am I doing wrong that it's not releasing the file lock?

I just figured it out. My Find calls I added a ToList after them, and now it seems to be working correctly.

Same problem: I use the database encapsulated in a class: an ObservableCollection exposes data.
public class ItemsDb : IDisposable
    {
        private LiteDatabase db;
        private ILiteCollection<Item> dbItems;

        public readonly ObservableCollection<Item> Items = new ObservableCollection<Item>();

        public ItemsDb(string dbPath, string password)
        {
            db = new LiteDatabase($"Filename={dbPath};Password={password}");
            //dbItems = db.GetCollection<Item>(BsonAutoId.Guid);
            //Items = new ObservableCollection<Item>(dbItems.FindAll());
        }
        ~ItemsDb() { Dispose(); }

        public void Dispose()
        {
            Items.CollectionChanged -= Items_CollectionChanged;
            db.Dispose();
        }

        public void Load()
        {
            dbItems = db.GetCollection<Item>(BsonAutoId.Guid);
            foreach (Item i in dbItems.FindAll())
                Items.Add(i);
            Items.CollectionChanged += Items_CollectionChanged;
        }

        private void Items_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
                case NotifyCollectionChangedAction.Add:
                    foreach (Item i in e.NewItems)
                        dbItems.Insert(i);
                    break;
                case NotifyCollectionChangedAction.Remove:
                    foreach (Item x in e.OldItems)
                        dbItems.Delete(x.Id);
                    break;
                case NotifyCollectionChangedAction.Reset:
                    dbItems.DeleteAll();
                    break;
                case NotifyCollectionChangedAction.Replace:
                    foreach(Item i in e.NewItems)
                        dbItems.Update(i);
                    break;
            }
        }
    }

public partial class App : Application
{
    public ItemsDb db { get; }
    public App()
    {
        InitializeComponent();

        string key = . . . ;
        db = new ItemsDb(Path.Combine(FileSystem.AppDataDirectory, "items.db"), key);

        MainPage = new AppShell();
    }
    protected override void OnStart()
    {
        db.Load();
    }
}

The error appairs when:

I open the app: this class is created in the xamarin forms app constructor
I press the back button on Android and my app goes in background
I recall my app from the background selecting it from recent apps: when a new LiteDatabase instance is created I have the same error: System.IO.IOException: 'Sharing violation on path /data/user/0/bla.bla.bla/files/items.db'

What can I do?

@dxmann Try making some code that disposes the database when your app goes to the background and opens it again when it comes back to foreground (I believe you can do it by overriding OnSleep and OnResume).

I tried opening the db in OnStart and OnResume and closing it in OnSleep. It works but it not so elegant compared to the first implementation: I have to instantiate the db and the observable collection directly in the forms app.
Ciao :)


[BUG] Skip checks not warning on crc setup output

It is expected to show a warning message when skipping checks during setup.
Now on windows:

skip-check-administrator-user
skip-check-hyperv-installed
skip-check-hyperv-switch
skip-check-user-in-hyperv-group
skip-check-windows-version

And on macos

skip-check-resolver-file-permissions

Are not showing the warning message: WARN Skipping above check... anymore

windows checks are moved to crc start
resolver file permissions is checked  with current user mode on macos


Hirb on Heroku Console

I have an app deployed on Heroku. I can access the remote heroku console from my local computer via the command:
heroku console

I have Hirb installed as a gem on my local computer, and using Hirb on my local console works great. However, in the Heroku console it doesn't work.
When I try:
>> require 'hirb'

I get in return:
=> false

Any suggestions? I tried posting on StackOverflow and on Heroku's google groups, but no answers yet.

FYI, it seems like Hirb works great with Heroku's new Cedar stack and heroku run console


Ability to switch from DOMAIN\user username to LDAP style DN's for backend authentication

When using Active Directory, use flag to switch the way the auth provider authenticates against the backend. Say from DOMAIN\user username to LDAP style DN's eg: (uid=Waddams.Milton, ou=Accounting, dc=example, dc=com)

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.


Control size and location of colorbar

Vertical colorbar
Set ticks
Font size

The scalar bar is customizable as outlined in this example: https://docs.pyvista.org/examples/02-plot/scalar-bars.html
Perhaps we can get started on a minimal example here and then incorporate the same **kwargs into the module
import pyvista as pv
from pyvista import examples

# Load St Helens DEM and warp the topography
mesh = examples.download_st_helens().warp_by_scalar()

sargs = dict(
    # Position (coordinates are on the viewport)
    vertical=True,
    height=0.25,
    position_x=0.05,
    position_y=0.05,
    # Labels
    title_font_size=20,
    label_font_size=16,
    n_labels=3,
    italic=True,
    fmt="%.1f",
    font_family="arial",
    shadow=True,
)

p = pv.Plotter()
p.add_mesh(mesh, scalar_bar_args=sargs)
p.show()

The options are documented here: https://docs.pyvista.org/examples/02-plot/scalar-bars.html

Update the display parameters in 3d8b977. We can modify these to get your desired effect


Add multicombat lines, pvp safe zone lines and deadman safe zone lines

Adds zone indicators, which contains multicombat area outlines, pvp safe zone outlines and deadman safe zone outlines.

Fixes #1764

See also #5053. My opinion is this pushes the unfairness too far as it eliminates non multi to multi luring which is a common clan tactic[1]. I realize some smaller clients have this feature but they also contain other plugins we have been told to remove.
https://www.reddit.com/r/2007scape/comments/9og6d7/fools_kills_abyss_for_max/

@Adam- I can see this side of the argument, but at the same time tile markers can be used to achieve a similar outcome, albeit much more manual to perform. Most of the clans have custom clients as you mentioned and the guys luring are also more than likely to have multi lines marked in some fashion. Why not level the playing field?

Concerns from various content creators: https://twitter.com/ianspam/status/1044190116007366656

The way I see it is that we already have this feature via tile indicators, so logically there is no reason not to include this. However the PvP community probably won't realize that (similar to the drag thing), so not adding this probably makes sense.

full support

What part of fossil island are we talking about? Here's what is currently marked

Hi Woox. I forgot to check the north side after I found this small part. I marked down the east - south area that's missing.

Is this added? I still use a different client for pking in the wilderness (as well as my clan).
This is the one feature we need holding us back from swapping fully.
Love the client otherwise!

@kgozi No, it looks unlikely atm that it'll get added due to some people disliking the feature.

@WooxSolo does this plugin even work anymore?

@osrs-music-map No idea, I haven't touched it in the last few months as it looks like it might not get merged

@WooxSolo ground lines don't show up unless I uncheck the collision filter option
what is the collision filter used for?

I'd rather not have this feature at this time.

See also #5053. My opinion is this pushes the unfairness too far as it eliminates non multi to multi luring which is a common clan tactic[1]. I realize some smaller clients have this feature but they also contain other plugins we have been told to remove.
https://www.reddit.com/r/2007scape/comments/9og6d7/fools_kills_abyss_for_max/

So this plugin would help prevent luring? How is that a bad thing? Jagex is removing 1 way safespots, another case where pkers have an advantage simply by knowing what tiles they should be on. You're saying that clans are luring legitimate players who wish to be in singles into multicombat - that luring is a "tactic" used by clans. If anything, preventing players from being scammed or lured sounds like a huge positive. Ignoring obviously overwhelming support for this plugin is disappointing @Adam-

I don't think this is comparable to 1 way safe spots. 1 way safe spots is not an intended game mechanic, which is evident by Jagex patching it out. Multi luring is and really has always been there. Also suggesting this prevents people getting "scammed" who are already in the wilderness is sort of disingenuous. I'm all for whatever we can do to prevent scams and maybe even the traditional non wildy -> wildy luring (see eg the hop-to world changes I did for CoX pvp world lures), but they are already in the wilderness so I think it is fair game.

I don't really see the big difference to object markers or tile markers. In theory, you could already use the tile marker to do the same, it would just be very tedious, but probably still easier than some in-game grinds, lol.


[🐛 Bug]: Next.js app directory route interception doesn't work properly

next-on-pages environment related information
System:
Platform: linux
Arch: x64
Version: #1 SMP Fri Jan 27 02:56:13 UTC 2023
CPU: (12) x64 12th Gen Intel(R) Core(TM) i7-1255U
Memory: 8 GB
Shell: /bin/bash
Binaries:
Node: 18.15.0
Yarn: 1.22.19
npm: 9.5.0
pnpm: 8.3.1
Package Manager Used: npm
Relevant Packages:
@cloudflare/next-on-pages: 1.0.2
vercel: [object Promise]
next: [object Promise]
Description
Route interception as described in the Next.js docs here doesn't seem to work properly with next-on-pages. Parallel routes do work, it's just route interception (directories with (.), (..), (...) prefixes) that don't work.
Reproduction
Here is a minimal repro of the issue: https://github.com/bharatari/route-interception.
next dev
Route /

Route /hello after clicking the button (which is a Link to /hello). Note that interception happens as expected here, the modal is shown instead of rendering the actual /hello route.

Route /hello when loading the URL directly. This is the case with no interception, the actual route is rendered.

wrangler
Route /

Route /hello after clicking the button (which is a Link to /hello). The /hello route is loaded, interception does not work as expected here.

Route /hello when loading the URL directly. This is the case with no interception.

When run with wrangler, intercepted routes as defined in the app directory are completely ignored. The actual route is rendered every time.
Pages Deployment Method
None
Pages Deployment ID
No response
Additional Information
No response
Would you like to help?

[ ] Would you like to help fixing this bug?

Thank you for opening this issue and providing a reproduction 🙂
I believe I have identified the cause and have opened a PR that should fix this issue. I would welcome you to try out the prerelease available in https://github.com/cloudflare/next-on-pages/pull/312#issuecomment-1589663418.

Hi @james-elicx, the prerelease is working great. Thanks for the quick fix!


refactor: avoid validation for table constraints during parse

Which issue does this PR close?
Closes #
Rationale for this change
Disallow for mutiple definitions of timestamp key is checked and should be checked by planner: https://github.com/CeresDB/ceresdb/blob/75e9b7ea549cde7cd906f008a3879ebed6a9db57/sql/src/planner.rs#L294

What changes are included in this PR?

Avoid validation for exact only one timestamp key definition during parsing procedure.
Add test for defining multiple timestamp key constraints.

Are there any user-facing changes?
No.

How does this change test
Integration test.

@dust1 I find that the disallow for multiple timestamp keys definition has been checked in planner module so there is no need to do that in the parser module. Sorry for misleading you and PTAL at this PR.

that's okay.😃
do I need to submit a new PR to remove the verification in the parser module? Or is it up to you to remove it in this PR?

that's okay.😃 do I need to submit a new PR to remove the verification in the parser module? Or is it up to you to remove it in this PR?

Let this pr remove it. Thanks.


error when running cli.py in pyunity-gui

so.. i was just trying out pyunity-gui..
and got this error:
Loaded config
Trying GLFW as a window provider
Using window provider GLFW
Loaded PyUnity version 0.7.0
Traceback (most recent call last):
  File "C:\Users\Lenovo\Downloads\pyunity-gui\editor\render.py", line 26, in initializeGL
    self.original.Start()
  File "scene.py", line 328, in pyunity.scenes.scene.Scene.Start
  File "render.py", line 233, in pyunity.render.Camera.Resize
  File "E:\Programming\Python38-32\lib\site-packages\OpenGL\platform\baseplatform.py", line 415, in __call__
    return self( *args, **named )
  File "src\errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError
OpenGL.error.GLError: GLError(
        err = 1282,
        description = b'invalid operation',
        baseOperation = glViewport,
        cArguments = (0, 0, 800, 500)
)

PS. i tried reinstalling pyopengl and pyunity but still this happens

It requires you to run install.py first.

after running install.py..
this again happened..

Wait I will inform Ray about this

What is the output of running install.py?

install.py:
Collecting pyunity@ https://ci.appveyor.com/api/buildjobs/t2ike2y4gno1qmov/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl
  Downloading https://ci.appveyor.com/api/buildjobs/t2ike2y4gno1qmov/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl (3.9 MB)
     |████████████████████████████████| 3.9 MB 124 kB/s
Requirement already satisfied: pysdl2-dll in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/t2ike2y4gno1qmov/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (2.0.14.post2)
Requirement already satisfied: pyopengl in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/t2ike2y4gno1qmov/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (3.1.5)
Requirement already satisfied: pyglm in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/t2ike2y4gno1qmov/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (2.2.0)
Requirement already satisfied: pysdl2 in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/t2ike2y4gno1qmov/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (0.9.7)
Requirement already satisfied: glfw in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/t2ike2y4gno1qmov/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (2.1.0)
Requirement already satisfied: pillow in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/t2ike2y4gno1qmov/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (8.2.0)

and cli.py:
Loaded config
Trying GLFW as a window provider
Using window provider GLFW
Loaded PyUnity version 0.7.0
None
None
<Transform position=Vector3(0.0, 0.0, 0.0) rotation=Quaternion(1.0, 0.0, 0.0, 0.0) scale=V
ector3(1.0, 1.0, 1.0) path="/Main Camera">
Traceback (most recent call last):
  File "C:\Users\Lenovo\Downloads\pyunity-gui\editor\render.py", line 26, in initializeGL
    self.original.Start()
  File "scene.py", line 328, in pyunity.scenes.scene.Scene.Start
  File "render.py", line 233, in pyunity.render.Camera.Resize
  File "E:\Programming\Python38-32\lib\site-packages\OpenGL\platform\baseplatform.py", line 415, in __call__
    return self( *args, **named )
  File "src\errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError
OpenGL.error.GLError: GLError(
        err = 1282,
        description = b'invalid operation',
        baseOperation = glViewport,
        cArguments = (0, 0, 800, 500)
)

I cannot reproduce, could you give me more information? Try running install.py again with the new changes, before it was a bit broken.

Another thing to check is at the botton of editor/render.py, does it contain the line self.makeCurrent()?

Your error indicates that the QOpenGLWidget seems to not have a context, or it is invalid when scene.Start() is run.

install.py:
WARNING: Skipping pyunity as it is not installed.
Collecting pyunity@ https://ci.appveyor.com/api/buildjobs/y1uj355xc9opqvya/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl
  Downloading https://ci.appveyor.com/api/buildjobs/y1uj355xc9opqvya/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl (3.9 MB)
     |████████████████████████████████| 3.9 MB 52 kB/s
Requirement already satisfied: pysdl2 in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/y1uj355xc9opqvya/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (0.9.7)
Requirement already satisfied: pyopengl in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/y1uj355xc9opqvya/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (3.1.5)
Requirement already satisfied: pyglm in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/y1uj355xc9opqvya/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (2.2.0)
Requirement already satisfied: pillow in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/y1uj355xc9opqvya/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (8.2.0)
Requirement already satisfied: glfw in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/y1uj355xc9opqvya/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (2.1.0)
Requirement already satisfied: pysdl2-dll in e:\programming\python38-32\lib\site-packages (from pyunity@ https://ci.appveyor.com/api/buildjobs/y1uj355xc9opqvya/artifacts/dist/pyunity-0.7.0-cp38-cp38-win32.whl) (2.0.14.post2)
Installing collected packages: pyunity
Successfully installed pyunity-0.7.0

cli.py:
Loaded config
Trying GLFW as a window provider
Using window provider GLFW
Loaded PyUnity version 0.7.0
None
None
None
<Transform position=Vector3(0.0, 0.0, 0.0) rotation=Quaternion(1.0, 0.0, 0.0, 0.0) scale=Vector3(1.0, 1.0, 1.0) path="/Root">
<Transform position=Vector3(0.0, 0.0, 0.0) rotation=Quaternion(1.0, 0.0, 0.0, 0.0) scale=Vector3(1.0, 1.0, 1.0) path="/Root">
<Transform position=Vector3(0.0, 0.0, 0.0) rotation=Quaternion(1.0, 0.0, 0.0, 0.0) scale=Vector3(1.0, 1.0, 1.0) path="/Root">
<Transform position=Vector3(0.0, 0.0, 0.0) rotation=Quaternion(1.0, 0.0, 0.0, 0.0) scale=Vector3(1.0, 1.0, 1.0) path="/Root">
<Transform position=Vector3(0.0, 0.0, 0.0) rotation=Quaternion(1.0, 0.0, 0.0, 0.0) scale=Vector3(1.0, 1.0, 1.0) path="/Root">
<Transform position=Vector3(0.0, 0.0, 0.0) rotation=Quaternion(1.0, 0.0, 0.0, 0.0) scale=Vector3(1.0, 1.0, 1.0) path="/Root">
Traceback (most recent call last):
  File "E:\Programming\cmder\pyunity-gui\editor\render.py", line 26, in initializeGL
    self.original.Start()
  File "scene.py", line 325, in pyunity.scenes.scene.Scene.Start
  File "render.py", line 235, in pyunity.render.Camera.Resize
  File "E:\Programming\Python38-32\lib\site-packages\OpenGL\platform\baseplatform.py", line 415, in __call__
    return self( *args, **named )
  File "src\errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError
OpenGL.error.GLError: GLError(
        err = 1282,
        description = b'invalid operation',
        baseOperation = glViewport,
        cArguments = (0, 0, 800, 500)
)

Another thing to check is at the botton of editor/render.py, does it contain the line self.makeCurrent()?

Your error indicates that the QOpenGLWidget seems to not have a context, or it is invalid when scene.Start() is run.

yes the line is there..
. please ask if you want more information.. i am always there to reply

why isn't my issue fixed yet?

I can't seem to reproduce the issue.

Closing this issue as I haven't seen anyone else have this error.


Roll Flutter Engine from 5d8ee52e985b to a64883bcec8f (6 revisions)

https://github.com/flutter/engine/compare/5d8ee52e985b...a64883bcec8f
2024-08-12<EMAIL_ADDRESS>Roll Skia from e232752d04c5 to c9fd814b106a (3 revisions) (flutter/engine#54515)
2024-08-12<EMAIL_ADDRESS>[Android] Update integration test AVD dependency to use Android 35 emulators (flutter/engine#54186)
2024-08-12<EMAIL_ADDRESS>[iOS] keep threads merged when using Skia renderer on iOS (flutter/engine#54514)
2024-08-12<EMAIL_ADDRESS>iOS,macOS: Clean up create_ios_framework.py (flutter/engine#54500)
2024-08-12<EMAIL_ADDRESS>Roll Skia from ec7558d41b34 to e232752d04c5 (3 revisions) (flutter/engine#54511)
2024-08-12<EMAIL_ADDRESS>Roll Dart SDK from cfe2b63d3aca to a6cd8099ff85 (1 revision) (flutter/engine#54512)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Update for PureScript 0.11.3

Release notes: https://github.com/purescript/purescript/releases/tag/v0.11.3

Coverage remained the same at 100.0% when pulling a7e9665a52741558c60582cd45b91a38cdf70400 on garyb:bump-0.11.3 into 5148e5de1d5f4b413e4e368fd90e0a75bf762b43 on purescript-contrib:master.

@shinnn can you publish this when you get a chance please? Apparently I don't have permission to do so anymore.
We can tag this one as latest too!


Navbar enhnaced of Rate Us page

Title and Issue number

Title : Navbar enhanced of Rate Us page
Issue No. : #1328
Tech Stack :  HTML, CSS

Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Add WEB3 project
[ ] Other (specify): _______________

Video (mandatory)

https://github.com/user-attachments/assets/0c123686-3bdb-4446-862d-ffa0a35d633a
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have gone through the  contributing.md file before contributing
[ ] I have Starred the Repository.

Checklist:(In case of Adding New WEB3 project only)

[ ] I have made my Commits(of new project) under the  Projects folder
[ ] I have created a helpful and easy to understand README.md
[ ] i have added the image of my project under asstes/img folder

Additional context (Mandatory )
Are you contributing under any Open-source programme?

[x] I'm a GSSOC'24 extended contributor
[ ] I'm a Winter of Blockchain(WOB'24) contributor
[x] I'm a Hactoberfest'24 contributor

@apu52  I have told you that I want to work on this issue


add node info to error

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Other information

Codecov Report
Patch coverage: 26.31% and project coverage change: -1.62% :warning:

Comparison is base (3bb616f) 41.17% compared to head (da6f145) 39.55%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #805      +/-   ##
==========================================
- Coverage   41.17%   39.55%   -1.62%
==========================================
  Files         176      178       +2
  Lines       19050    19622     +572
==========================================
- Hits         7843     7762      -81
- Misses      10866    11519     +653
  Partials      341      341

Flag
Coverage Δ

go-1.17.x
39.55% <26.31%> (-1.44%)
:arrow_down:

go-1.19.x
?

go-1.20.x
?

macOS
?

ubuntu
39.55% <26.31%> (-1.58%)
:arrow_down:

unit
39.55% <26.31%> (-1.62%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

internal/conn/conn.go
0.00% <0.00%> (ø)

internal/conn/grpc_client_stream.go
0.00% <0.00%> (ø)

internal/conn/error.go
100.00% <100.00%> (ø)

... and 14 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Try to garble build and go 1.19

Uses garble with -literal to try to dodge incorrect MS defender flag
REquires update to go > 1.15, 1.19 used
Updated certificates used for test to include SAN to avoid x509 complaint in recent go versions


Replace human-readable-date hover switcheroo pattern with accessible tooltips

We have a well-established pattern in the admin interface, to show relative times by default ("3 months ago"), with a switch to absolute date-times on hover:

Here is the markup:

Just now

This feels a bit basic, and there are a number of issues stemming from this approach:

There is no affordance of this capability – you have to have stumbled upon it once to become aware of the pattern.
Since this isn’t applied on interactive HTML elements, it’s impossible for keyboard users to see the date-times.
Changing the text on hover is a bit inelegant – makes it hard to read text under the mouse, and the hover target moves upon activation

Proposed solution
We’d like to refactor this to use our new tooltip styles, similarly to #8565.

We can use a button so this can be triggered by keyboard users
We can still style this very minimally – potentially with a border-bottom: 1px dotted grey similarly to the  element to convey there is a tooltip
A tooltip will mean the interactive target won’t move around upon activation
Our Tippy.js implementation means the text within the tooltip will still be available to screen reader users, like title is.

We should also try to use the time element, it provides a more semantic approach and more accessible
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time

I've made a PR replacing all human-readable-date elements https://github.com/wagtail/wagtail/pull/8697 :)


Bug: Inconsistency of properties window when drives & libraries are pinned

Description
When a drives & libraries are pinned to the side bar, the properties window is inconsistent with the normalproperties window.
Steps To Reproduce

pin a drive or library to the side bar
right click to open the properties window

Requirements

Make the properties window consistent

Files Version
<IP_ADDRESS>
Windows Version
22H2 1000.22681.1000.0
Screenshots

Pinned

Not pinned

I'm trying to fix this right now.

What's it inconsistent with? Some screenshots might help.

There are screenshots already at the end of the first comment. You can click to see them.

Ah, I missed them because they were collapsed. We're currently discussing this issue in #14522.

I can repro and realize this is not the same issue as #14522.
Reopening and reviewing the PR.

Duplicate of #14522. Further information, please subscribe or comment on that issue👍


VMware: support VM images that come with container runtime pre-installed

VM images provided by users might have the container runtime. This issue tracks verifying if the container runtime is already pre-installed and matches the version specified by the user.

This issue was moved to kubernetes-sigs/cluster-api#79


Implement bigtable::InstanceAdmin::AsyncUpdateInstance

We want to implement an asynchronous version of UpdateInstance for the interfaces that use exceptions. The signature of this function should look like so:
class google::cloud::bigtable::InstanceAdmin { public:
  future<google::bigtable::admin::v2::Instance> AsyncUpdateInstance(
      InstanceUpdateConfig instance_update_config,
     CompletionQueue& cq);
};

As part of this work we need to:

[ ] Implement the function.
[ ] Implement an integration test for this function.
[ ] Implement an example for this function.
[ ] Execute the example as part of the CI build.

The main difference between the example and the integration test is that the latter uses pre-defined values and checks the resulting state against expected outputs, while the former takes (most) of its parameters from the command-line and simply prints out any state.

This is on hold for now.

Fixed in #2512


Upgrade mySQL on DNS/DHCP

Auto-enrolled to RDS Extended Support on February 29
Conduct local testing; if any application level changes are required, then re-estimate this ticket
Costs will go up from the end of February
This needs to be carried out before August.
Potential for end of April or March to carry this out
Your PostgreSQL 11 and MySQL 5.7 databases will be automatically enrolled into RDS Extended Support on February 29, 2024. To avoid the increase in charges due to RDS Extended Support, we recommend upgrading your databases to a newer major engine version before February 29, 2024. To learn more about the RDS Extended Support pricing, refer to the pricing page.
Downtime
Downtime isn't required to apply this recommendation.
https://eu-west-2.console.aws.amazon.com/rds/home?region=eu-west-2#recommendation:recommendationId=7a6fed09-adf5-4932-b508-e3145c57f1b5
DOD:
Starting DNS/DHCP update both databases:

[x] Update SQL version locally to 8.*
[ ] Test and validate changes locally
[ ] Make Terraform changes for both databases
[ ] Apply to Test environment, Test and PR
[ ] Apply to pre-production and production

Updated to MySQL version 8.0.35 locally (the newest version supported by AWS in RDS.
Tests passed.


Added .capabilities, .driver, .headless, and .preferences settings for browsers

For each primary supported WebDriver browser, adds options for them to specify a driver (e.g. "path/to/geckodriver.exe") or headless: true. There are more settings that could probably be added, but these are the ones I personally need :smile:.
I really wanted to have a generic function for all this but there was just a little bit too much variability in which methods were being called.
@alexeyraspopov I'm very open to changing the format - this one just happened to work for my use cases of headless mode with custom driver paths.
	testEnvironment: "jest-environment-webdriver",
	testEnvironmentOptions: {
		browser: "firefox",
		browserOptions: {
			firefox: {
				driver: path.join(repoRoot, "./.drivers/geckodriver.exe"),
				headless: true,
			},
		},
	},

Edit: added capabilities and `preferences:
firefox: {
    capabilities: {
        acceptInsecureCerts: true,
    },
    driver: path.join(repoRoot, "./.drivers/geckoDriver.exe"),
    headless: true,
    preferences: [
        ["security.sandbox.content.level", 5],
    ]
}

Ping @alexeyraspopov - can we get this in? 😊

This change is really helpful when trying to run tests in headless mode. Thanks @JoshuaKGoldberg!
@alexeyraspopov Any idea when you think this will land?

Ping @alexeyraspopov ?

I no longer use this project. If anybody's still interested, feel free to take the code in this PR and do with it what you'd like. 🌹


HelloHacktoberfest - Flask

kindly assign me this issue!

Done

@ajjayymahato can you also add a "hacktoberfest-accepted" label to this issue that I fixed, please?


When pressing arrow keys new window is opening.

Exactly like in title, when I'm pressing any arrow key a new window is opening. Any idea how to disable this bug? I was thinking that maybe remaping keys should help but without succes. Some advice ?

I have same issue here any plans of fixing this?

Good luck with that
On Thu, 12 Mar 2020, 15:44 Przemek<EMAIL_ADDRESS>wrote:

I have same issue here any plans of fixing this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fabi1cazenave/suckless.vim/issues/6#issuecomment-598260108,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGEYMLOLVINEVEJ3EGBEWS3RHD7PHANCNFSM4HHASVHA
.


[Bug]: Missing pyvenv.cfg and non-standard layout of venv

What happened?
I have been comparing the structure of py_venv output to standard Python tools.
It appears that some files are different:

pyvenv.cfg is missing
The site packages are not in the standard location lib/pythonx.y.z/site-packages

I was unable to find a spec for virtual envs.
This blog post describes a venv structure that matches my venv output: https://snarky.ca/how-virtual-environments-work/
Is this working as expected?
Version
Development (host) and target OS/architectures: Ubuntu 24.04
Output of bazel --version:
bazel 6.2.0

Version of the Aspect rules, or other relevant rules from your
WORKSPACE or MODULE.bazel file: 0.7.4
Language(s) and/or frameworks involved: -
How to reproduce
No response
Any other information?
No response

How are the comparisons being made? What bazel commands are being run?

Sure, so the standard approach (without Bazel) for creating a venv bundle is:
# pip3 install venv-pack
python3 -m venv_pack -f -o /venv.tar.gz

With Bazel, I am attempting this:
py_venv(
  name = "venv",
  deps = [
    ":lib",
  ],
)

pkg_tar(
  name = "venv_bundle",
  out = "venv.tar.gz",
  extension = "tar.gz",
  srcs = [
    ":venv",
  ],
  include_runfiles = True,
  strip_prefix = strip_prefix.from_pkg(),
)

The top-level venv_pack gives is:
bin  include  lib  lib64  pyvenv.cfg

This matches what is described here.
The Bazel version top-level is:
venv  venv.runfiles  venv.venv.pth

The venv doesn't get created until runtime, ie bazel run :venv, rules_py doesn't output the venv at build time.
This is partly due to the pyenv.cfg containing absolute paths. Thefore, the rules here are effectively placing the files required to make the venv into a tar, rather than the venv itself.
There's a PR open to support creating a PEX, if that's what the ultimate goal here is, but in its current form this is not supported and working as expected.

I understand it now; thanks for your help!

This is partly due to the pyenv.cfg containing absolute paths. Thefore, the rules here are effectively placing the files required to make the venv into a tar, rather than the venv itself.

AFAICT the absolute path is the home setting.  If the user were asked to supply this, it would make environments determinsitic, and therefore eligible for creation at build-time?

home points to the bin directory of the interpreter that created the virtual env, which under bazel is generally the interpreter attached to a toolchain. It therefore contains the install directory hash, eg /private/var/tmp/_bazel_matt/442be3b1483cc77971c0d7bfbd105b2d/. It doesn't make sense to "ask" the user for this in a traditional sense, as supplying the toolchain is how that interpreter is supplied.
This isn't the only build vs runtime trade off, there are others. I'm not saying it's not possible, but it would be an amount of work to allow for it.

For those stumbling on this...

PEX is probably a better fit for deployment use-cases than venv, since venvs are not really portable. The fact that Spark supports venvs is likely historical more than anything.
PEX support is coming in https://github.com/aspect-build/rules_py/pull/324; use that once it's available
As a workaround, one can use buildx by adapting the example in rules_oci.

build.sh
#!/usr/bin/env bash

set -e

echo "BUILDX=$BUILDX"
echo "OUTPUT_PATH=$OUTPUT_PATH"

# Copy everything to remove symlinks
# Docker doesn't like symlinks...
T=$(mktemp -d)
cp -rL . $T

$BUILDX \
  build \
  $T \
  --file \
  $T/path/to/Dockerfile \
  --platform \
  linux/amd64 \
  --output \
  type=local,dest=$OUTPUT_PATH

rm -r $T

BUILD.bazel
filegroup(
  name = "lib_files",
  srcs = [
    "README.md",
    "pyproject.toml",
  ] + glob([
    "foo/**/*.py",
  ]),
)

genrule(
  name = "bundle",
  srcs = [
    "build.sh",
    "Dockerfile",
    ":lib_files",
  ],
  local = True,
  cmd = " && ".join([
    "export OUTPUT_PATH=$@",
    "export BUILDX=$(location :buildx)",
    "$(location build.sh)",
  ]),
  outs = [ "build" ],
  tools = [ ":buildx" ],
  tags = [ "deployment" ],
)

Dockerfile
FROM public.ecr.aws/amazonlinux/amazonlinux:2023@sha256:60e5a4a26400041379437a65c780e2ce2981a9b50d493f628aabb1623014c25c AS build

RUN <<EOR
set -e
yum update
yum install -y python3 python3-pip
python3 --version
pip3 --version
EOR

RUN <<EOR
set -e
pip3 install virtualenv
pip3 install venv-pack
pip3 install pyclean
EOR

ADD . /opt/app

WORKDIR /opt/app

RUN <<EOR
set -e

export CFLAGS='-g0'
export PATH='bin:/usr/bin:/usr/local/bin'
export PYTHONPYCACHEPREFIX='/root/.cache/pycache'
export PYTHONDONTWRITEBYTECODE='1'
export PYTHONHASHSEED='0'
export SOURCE_DATE_EPOCH='315532800'

cd ./foo
python3 -m venv pyspark_venvsource
source pyspark_venvsource/bin/activate
python3 -m pip install .
pip3 install venv-pack
pip3 install pyclean
pyclean .
mkdir -p /output
python3 -m venv_pack -f -o /output/bundle.tar.gz
EOR

FROM scratch
COPY --from=build /output ./output

Not an ideal solution, but it may unblock you.

I'd highly recommend not calling docker from a genrule for many reasons, especially one that then has RUN statements.
If the goal is to place the a py_binary into an image, perhaps this example using rules_oci is what you are looking for, https://github.com/aspect-build/bazel-examples/blob/main/oci_python_image/hello_world/BUILD.bazel

I'd highly recommend not calling docker from a genrule for many reasons, especially one that then has RUN statements. If the goal is to place the a py_binary into an image, perhaps this example using rules_oci is what you are looking for, https://github.com/aspect-build/bazel-examples/blob/main/oci_python_image/hello_world/BUILD.bazel

I would prefer an image but I'm limited to what Spark supports: https://spark.apache.org/docs/latest/api/python/user_guide/python_packaging.html#python-package-management


tinymediamanager3: Update Version 3.1.17

I think we can remove the checker.
https://release.tinymediamanager.org/v3/dist/ cannot be accessed.

Dup of #693,


UAR-260: Create add other beneficial owner page to update journey

JIRA link
https://companieshouse.atlassian.net/browse/UAR-260
Change description

Add other beneficial owner page created in update journey

Work checklist

[ ] Tests added where applicable
[ ] UI changes meet accessibility criteria

Merge instructions
We are committed to keeping commit history clean, consistent and linear.  A BREAKING CHANGE can be part of commits of any type,
types other than fix: and feat: are allowed, for example build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others,
footers other than BREAKING CHANGE: <description> may be provided.

Comments have now been resolved with a view to getting this PR 'unblocked' and then merged.
Just a few requests:

Please create a ticket to move the shared controller code to a more sensibly named folder (not utils), as suggested by @AndreKramer7654 .
We briefly discuss the alternative approach in the Wednesday Architectural Design Catch-Up Meeting, just so that we can understand any tech debt that we might now have.
Consider not 'force pushing' changes in future PRs as it does not make it easy to see what changes have been made since the last commit.

As soon as the conflicts are resolved I will approve this PR.


[Bazel] Update gitignore for bazel-out directory

🚀 feature request
Relevant Package

@angular/bazel

Description
 A clear and concise description of the problem or missing capability...
bazel-out directory is created by bazel build but it is not ignored by Git.
It is a compilation output similar to tsc-out.
Describe the solution you'd like
 If you have a solution in mind, please describe it.
Update gitignore file for bazel-out directory when ng new --collection=@angular/bazel (or ng add @angular/bazel in the future)

Similar fix is also in @angular/bazel: https://github.com/angular/angular/blob/master/packages/bazel/src/schematics/ng-add/index.ts#L85-L103


[Support] Missing handler for many buses

Hello! This is support issue, so i just need your help and answer what i'm doing wrong.
My goal is to use default configuration for all my handlers, but exclude doctrine middleware for some of them.
In this example, foobar needs to run without doctrine at all, but sup needs default config.
Symfony version is ^3.3 and this bundle ^1.0. Caches are cleared after any changes in configuration.
Configuration
./app/config/bundles/commandbus.yml:
tactician:
    commandbus:
        no_doctrine:
            middleware:
                - tactician.middleware.locking
                - tactician.middleware.validator
                - tactician.middleware.command_handler
        default:
            middleware:
                - tactician.middleware.locking
                - tactician.middleware.doctrine
                - tactician.middleware.validator
                - tactician.middleware.command_handler

./app/config/services/commandbus.yml:
services:
    acme.foobar:
        class     : AppBundle\CommandBus\FoobarCommandHandler
        arguments : []
        tags      : [{ bus: no_doctrine, name: tactician.handler, command: AppBundle\CommandBus\FoobarCommand }]

Result of  debugging configuration: ./bin/console debug:tactician
Tactician routing
=================

Bus: no_doctrine
----------------

 ------------------------------------ -----------------
  Command                              Handler Service
 ------------------------------------ -----------------
  AppBundle\CommandBus\FoobarCommand   acme.foobar
 ------------------------------------ -----------------

Bus: default
------------

 --------------------------------- -----------------
  Command                           Handler Service
 --------------------------------- -----------------
  AppBundle\CommandBus\SupCommand   acme.sup
 --------------------------------- -----------------

Code
This works good (for all commands that using default configuration):
$bus = $this->container->get('tactician.commandbus');
$bus->handle(new \AppBundle\CommandBus\SupCommand());

But any of this ways doesn't working and throw exception "Missing handler for command":
$bus = $this->container->get('tactician.commandbus');
$bus->handle(new \AppBundle\CommandBus\FoobarCommand());

$bus = $this->container->get('tactician.commandbus.no_doctrine');
$bus->handle(new \AppBundle\CommandBus\FoobarCommand());

I think the issue is that you use the default command handler middleware in your no_doctrine bus:
tactician:
    commandbus:
        no_doctrine:
            middleware:
                - tactician.middleware.locking
                - tactician.middleware.validator
-                - tactician.middleware.command_handler
+                - tactician.commandbus.no_doctrine.middleware.command_handler

@ogizanagi, didn't think about it, thanks. But there is no effect with your changes.
I debug ContainerLocator::getHandlerForCommand and see this:

With my config in property commandNameToHandlerMap there are many commands except foobar.
With your changes this property is empty array at all.

@ogizanagi, found working combination with your help, thank you!
With your diff and with using code like this:
$bus = $this->container->get('tactician.commandbus.no_doctrine');
$bus->handle(new \AppBundle\CommandBus\FoobarCommand());

I guess we sould update documentation to be more clear about the multiple bus config

Done in #83


ShaderChunks in Files prevents overwriting shaders

Having Shader Chunks in files actually prevents one of the things Three.js supports, Which is Overwriting Shaders from code.
The Cascaded Shadow Mapping example from here: https://github.com/mrdoob/three.js/tree/dev/examples/js/csm
is Overwriting the lights_fragment_begin and lights_pars_begin shaders with a new one that supports CSM. This is possible because the shaders are stored in variables, it seems this used to be the case here but was replaced with files. Sure you could replace the Files, But that means Losing the original, so Disabling your changes means Reverting the file, it is no longer possible to Toggle CSM On and Off without Losing Performance with it off. Being able to Overwrite but also keep the previous shader is all possible In code in a much simpler/easier way.
It's also in general much harder to replace files From code, and The code doesn't support reloading said files so replacing them from code isn't really possible.

I have defined the THREE.Renderers.Shaders.ShaderChunk.cs Class to save and utilize the Shader file as a variable, but it has not been reflected in the source yet.
Whenever the glsl files of Three.js are changed, it is cumbersome to modify the corresponding variable of the ShaderChunk class every time.
I'm still thinking of operating it as a file.
If you need the glsl of the variable type you specify,
Remove readonly of ShaderChunkDirectionary in ShaderLib.cs, and ShaderChunkDictionary.Add(lights_fragment_begin filepath,
CSM Fragment content)
You may be able to use it by modifying it.
Thank you

added ShaderChunk.cs to save and utilize the Shader file as a variable

added ShaderChunk.cs Class to save and utilize the Shader file as a variable


Render custom Component in the column

How I can create a column which contains my custom Component bound to the column field property?

Hi you can use this
@inject BlazorComponentColumnCollection Collection
@{
    RenderFragment<WeatherForecast> weatherTemp = (weather) =><EMAIL_ADDRESS>	Collection.AddColumnValueRenderFunction(w => w.Summary, weatherTemp);
}

Little bit much more info is in ReadMe in section: Blazor components in column

Hi, Thanks. I saw. However, I still could not get a result: I've configured my component exactly as in the example, but the grid still renders the text instead of my component. Could you please help to figure out wthat's the problem?
My Code is:
`@inherits Sberbank.EQUAS.App.Pages.FavoritesModel
@using Blazor.FlexGrid.Components.Configuration
@using Microsoft.AspNetCore.Components
@using Sberbank.EQUAS.App.Models
@page "/favorites"
@addTagHelper *, Blazor.FlexGrid
@if (!Ready)
{
Loading...
}
else
{
RenderFragment fragment = (f) => @123;
Collection.AddColumnValueRenderFunction(it => it.Checked, fragment);

            <GridView DataAdapter="@FavoritesDataAdapter" PageSize="20" />

            <button type="button" class="btn btn-success" onclick="@(() => RunStrategies())" disabled="@(!CanCreateOrders)">@CreateOrdersButtonText</button>

}
@functions
{
[Inject]
public BlazorComponentColumnCollection Collection { get; set; }
}
`

Yeah I see the problem after some refactoring there is issue. I will fix it later this day and release new verison of nuget. I hope that it is ok for you :)

New nuget verison is released and this issue should be fixed. Let me know if this still will not work.


OPC PLC seem to have issues with responding to session keep-alive requests

This issue is for a: (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce
I am seeing a lot of messaged about OPC PLC not responding to session keep-alive requests when running TelemetryTransformationTests test suite of OMP Adapter with OPC Publisher 3.0. Please note that in the test suite there are scenarios where up to 100 concurrent sessions (10 assets each having 10 nodes with different publishing intervals) may be opened to consume data from OPC PLC. Though this is not the only test where those logs appear.
Here is the excerpt from test logs:
[15:49:16 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:16 INF] Outstanding requests: 1, Defunct requests: 0
[15:49:16 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:16 INF] SessionId: ns=6;i=1981790945
[15:49:16 INF] Session State: True
[15:49:16 INF] Missed Keep-Alives: 1
[15:49:16 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:16 INF] Outstanding requests: 1, Defunct requests: 0
[15:49:16 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:16 INF] SessionId: ns=6;i=1981790721
[15:49:16 INF] Session State: True
[15:49:16 INF] Missed Keep-Alives: 1
[15:49:16 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:16 INF] Outstanding requests: 1, Defunct requests: 0
[15:49:16 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:16 INF] SessionId: ns=6;i=1981790833
[15:49:16 INF] Session State: True
[15:49:16 INF] Missed Keep-Alives: 1
[15:49:16 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:16 INF] Outstanding requests: 2, Defunct requests: 0
[15:49:16 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:16 INF] SessionId: ns=6;i=1981790721
[15:49:16 INF] Session State: True
[15:49:16 INF] Missed Keep-Alives: 2
[15:49:29 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:29 INF] Outstanding requests: 1, Defunct requests: 0
[15:49:29 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:29 INF] SessionId: ns=6;i=1981790889
[15:49:29 INF] Session State: True
[15:49:29 INF] Missed Keep-Alives: 1
[15:49:29 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:29 INF] Outstanding requests: 1, Defunct requests: 0
[15:49:29 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:29 INF] SessionId: ns=6;i=1981791057
[15:49:29 INF] Session State: True
[15:49:29 INF] Missed Keep-Alives: 1
[15:49:29 INF] Session endpoint: opc.tcp://opcplclarge:50001/ got a keep alive after 1 was missed.
[15:49:29 INF] Session endpoint: opc.tcp://opcplclarge:50001/ got a keep alive after 1 was missed.
[15:49:29 INF] Session endpoint: opc.tcp://opcplclarge:50001/ got a keep alive after 2 were missed.
[15:49:29 INF] Session endpoint: opc.tcp://opcplclarge:50001/ got a keep alive after 1 was missed.
[15:49:29 INF] Session endpoint: opc.tcp://opcplclarge:50001/ got a keep alive after 1 was missed.
[15:49:44 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:44 INF] Outstanding requests: 1, Defunct requests: 0
[15:49:44 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:44 INF] SessionId: ns=6;i=1981790889
[15:49:44 INF] Session State: True
[15:49:44 INF] Missed Keep-Alives: 1
[15:49:44 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:44 INF] Outstanding requests: 1, Defunct requests: 0
[15:49:44 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:44 INF] SessionId: ns=6;i=1981791057
[15:49:44 INF] Session State: True
[15:49:44 INF] Missed Keep-Alives: 1
[15:49:44 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:44 INF] Outstanding requests: 2, Defunct requests: 0
[15:49:44 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:44 INF] SessionId: ns=6;i=1981790889
[15:49:44 INF] Session State: True
[15:49:44 INF] Missed Keep-Alives: 2
[15:49:59 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:49:59 INF] Outstanding requests: 3, Defunct requests: 0
[15:49:59 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:49:59 INF] SessionId: ns=6;i=1981790889
[15:49:59 INF] Session State: True
[15:49:59 INF] Missed Keep-Alives: 3
[15:49:59 INF] RECONNECTING session ns=6;i=1981790889...
[15:49:59 INF] Session ns=6;i=1981790889 is closing
[15:50:33 INF] ==========================================================================
OPC Publisher status for Leaf7 telemetry pipeline @ 06/22/2021 15:50:33 (started @ 06/22/2021 15:48:44)
---------------------------------
OPC UA sessions: 1
OPC UA subscriptions: 1
OPC UA monitored items: 3
---------------------------------
OPC UA monitored items queue capacity: 20000
OPC UA monitored items queue current items: 3
OPC UA monitored item notifications enqueued: 9
OPC UA monitored item notifications enqueue failure: 0
---------------------------------
Messages sent to IoT Hub: 0
Last successful IoT Hub message sent @: 06/22/2021 15:48:44
Total bytes sent to IoT Hub: 0
Average IoT Hub message size (bytes): 0
Average IoT Hub message latency (ms): 0
Average IoT Hub messages/second sent: 0
Average number of OPC UA notifications batched in IoT Hub message: 0
Average number of OPC UA notifications/second sent: 0
IoT Hub message send failures: 0
IoT Hub messages too large to sent to IoT Hub: 0
Missed IoT Hub message send intervals: 0
Number of OPC UA notifications encoded: 0
Number of OPC UA notifications encoding failures: 0
---------------------------------
Current working set in MB: 125
IoT Hub send interval setting: 10
IoT Hub message size setting: 262144
IoT Hub protocol setting: MQTT
==========================================================================
[15:50:33 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:50:33 INF] Outstanding requests: 1, Defunct requests: 0
[15:50:33 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:50:33 INF] SessionId: ns=6;i=1981791113
[15:50:33 INF] Session State: True
[15:50:33 INF] Missed Keep-Alives: 1
[15:50:33 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:50:33 INF] Outstanding requests: 2, Defunct requests: 0
[15:50:33 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:50:33 INF] SessionId: ns=6;i=1981791057
[15:50:33 INF] Session State: True
[15:50:33 INF] Missed Keep-Alives: 2
[15:50:51 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:50:51 INF] Outstanding requests: 3, Defunct requests: 0
[15:50:51 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:50:51 INF] SessionId: ns=6;i=1981791057
[15:50:51 INF] Session State: True
[15:50:51 INF] Missed Keep-Alives: 3
[15:50:51 INF] RECONNECTING session ns=6;i=1981791057...
[15:50:51 INF] Session ns=6;i=1981791057 is closing
[15:51:31 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:51:31 INF] Outstanding requests: 2, Defunct requests: 0
[15:51:31 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:51:31 INF] SessionId: ns=6;i=1981791113
[15:51:31 INF] Session State: True
[15:51:31 INF] Missed Keep-Alives: 2
[15:51:31 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:51:31 INF] Outstanding requests: 1, Defunct requests: 0
[15:51:31 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:51:31 INF] SessionId: ns=6;i=1981790945
[15:51:31 INF] Session State: True
[15:51:31 INF] Missed Keep-Alives: 1
[15:51:31 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:51:31 INF] Outstanding requests: 1, Defunct requests: 0
[15:51:31 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:51:31 INF] SessionId: ns=6;i=1981790777
[15:51:31 INF] Session State: True
[15:51:31 INF] Missed Keep-Alives: 1
[15:51:31 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:51:31 INF] Outstanding requests: 1, Defunct requests: 0
[15:51:31 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:51:31 INF] SessionId: ns=6;i=1981791001
[15:51:31 INF] Session State: True
[15:51:31 INF] Missed Keep-Alives: 1
[15:51:31 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:51:31 INF] Outstanding requests: 1, Defunct requests: 0
[15:51:31 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:51:31 INF] SessionId: ns=6;i=1981790833
[15:51:31 INF] Session State: True
[15:51:31 INF] Missed Keep-Alives: 1
[15:51:31 WRN] Session endpoint: opc.tcp://opcplclarge:50001/ has Status: BadNoCommunication 'Server not responding to keep alive requests.'
[15:51:31 INF] Outstanding requests: 3, Defunct requests: 0
[15:51:31 INF] Good publish requests: 1, KeepAlive interval: 5000
[15:51:31 INF] SessionId: ns=6;i=1981791113
[15:51:31 INF] Session State: True
[15:51:31 INF] Missed Keep-Alives: 3
[15:51:31 INF] RECONNECTING session ns=6;i=1981791113...
[15:51:31 INF] Session ns=6;i=1981791113 is closing

Expected/desired behavior
I would expect OPC PLC to keep up with keep-alive requests and respond in timely manner.
OS and Version?
Linux (ubuntu 18.04)
Versions
Image: mcr.microsoft.com/iotedge/opc-plc:latest-debug
Version:
[14:47:14 INF] Certificate 'CN=OPC Publisher, C=US, S=Washington, O=Microsoft, DC=opcpublisher' will be trusted, because of corresponding command line option.
[15:45:57 INF] Certificate 'CN=OPC Publisher, C=US, S=Washington, O=Microsoft, DC=opcpublisher' will be trusted, because of corresponding command line option.
[15:46:48 INF] Current directory is: /app
[15:46:49 INF] Log file is: /app/opcplc-plc.log
[15:46:49 INF] Log level is: info
[15:46:49 INF] OpcPlc V1.2.4 starting up...
[15:46:49 INF] opcstacktracemask set to: 0x0
[15:46:49 INF] OPC UA server base address: opc.tcp://opcplc:50000
[15:46:49 INF] Security policy http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256 with mode SignAndEncrypt added

@karok2m is this still happening with the current version?

Please reopen if you see this again and can help us repro.


System for implementing Houdini Nodes in version controlled and IAC based system

Is there an existing issue for this?

[X] I have searched the existing issues.

Please describe the feature you have in mind and explain what the current shortcomings are?
While BigRoy was working on a recent improvement on the USD front, it became necessary to implement an HDA to handle Asset Loading. In the implementation phase, it became apparent that .hda files do not conform to the idea behind the Plain Text workflow, making overall QA for PRs hard.
We decided not to take action against this in the PR because we belive there might be a value in taking some more time for it and having a more robust setup to handle this.
PR: https://github.com/ynput/ayon-core/pull/294
How would you imagine the implementation of the feature?
We Thought about 2 Options for implementing a system like this.
1 Implement a system that allows .hda creation from source code.
This would mean that you describe your nodes in, e.g. a Python file, and when you create a package, a .hda file will be built from this.
2 Implement a PythonClass system that allows us to describe Houdini nodes in a central and general way and cast away .hda completely.
In this case, we would bould some PyhtonClasses that allow you to describe nodes in an Opinionated way from inside ayon. they would need options like (depend, connect, ayon tools, etc.)
atop this setup, we would need to have a system that loads said classes as nodes into Houdini. for that, a member of the Houdini-WG mentioned a while back that it's possible to have a shelf button that is not bound to a shelf.
Are there any labels you wish to add?

[X] I have added the relevant labels to the enhancement request.

Describe alternatives you've considered:
No response
Additional context:
No response

Here @fabiaserra mentions there's a ready-to-go solution for this:

That's already a solved problem and it's called expanding HDAs and you can do so with the hotl binary that ships with Houdini: https://www.sidefx.com/docs/houdini/ref/utils/hotl.html
We expand all of our internal HDAs that we store in version control by running hotl -t directory hdafile, something like this:
hotl -t driver_ax.ax_publisher.1.0 driver_ax.ax_publisher.1.0.hda
rm driver_ax.ax_publisher.1.0.hda
mv driver_ax.ax_publisher.1.0 driver_ax.ax_publisher.1.0.hda

(You need to add the .hda suffix on the expanded result in order for Houdini to discover it on the HOUDINI_PATH)
Of course this can be easily automated through the build system of your repo (we did automate it in my prior company) but I haven't created that many HDAs yet to need to spend the time for doing that.
Moreover, in order to be able to reuse as much of the backend code of the nodes, similarly to you in the HDA python scripts module I simply import this class wrapper factory of the node so I can then just call the functions defined in my repository.
In my prior studio we had a more complex system that using monkey patching it would override the base hou.Node python class so our code looked just like an extension to the existing python code of Houdini, that way our functions looked like native in Houdini (i.e. hou.node("/out/geometry").my_custom_function() or ``hou.node("/out/geometry").render()`) so we could extend functionality of native houdini nodes and wrap the backend of any node by simply calling the class the same name as the node.

Does this mean we would ship the extended state in the repository, but somehow turn those into .hda just before houdini launch? Or when do we convert back? Do we even convert back? Or is Houdini capable of loading the expanded hda directly and did you end up doing so? I would assume there's a performance bottleneck there.

Nah, you keep them always expanded, Houdini treats them the same way as a binary .hda. I think the bottleneck is pretty negligible, you can ask SESI or do some benchmarks but we had a lot of expanded HDAs and that wasn't a concern

For parm interfaces that are common across nodes what you want to do is also abstract that way into code as described on these articles https://www.andynicholas.com/post/customising-houdini-nodes-part-1-hdas-or-dynamic-ui so it's easier to maintain

If you check the result of expanding the HDA, it contains the PythonModule or the different event triggered files (i.e., OnInputChanged) so you could easily automate that on all the HDAs hosted in the repo so a user doesn't need to touch those files from within the HDA and it automatically wraps the HDA with your code

Hey guys,
I was reading through this issue and comments (specifically customising-houdini-nodes and expanding HDAs comment ).
Let write a summary of it and please correct me if something is not wrong.
Expanded HDA

HDA
Expanded HDA

The .hda file format is a binary archive format.
The Expanded HDA directory is readable format.
Expanded HDA directory make tracking changes in git more explicit.
Keep in mind, we are already saving the code library in outside the HDA. So, tracking changes IMO is considered explicit.
Customize HDAs
It's works with Expanded HDAs. But, it's more used with binary .hda files.
This topic is discussed in details in customising-houdini-nodes.
but in essence, we have static and dynamic customization.
Static Customization
There are couple of options:

Save HDA as new with higher version.
Create new HDA presets.

Dynamic Customization

Define OnCreate events in HOM location .It can be used to customize node parameters.

Override Tab Menu on Houdini launch which can done via Houdini api or Monkey batching
Using a Shelf; create a new shelf script that create your node and apply your changes.
Extend OPMenu.xml which is done in https://github.com/ynput/ayon-core/pull/504
Save the code outside of the HDA. i.e. in a dedicated HDA file.

The .hda file format is a binary archive format. The Expanded HDA directory is readable format. Expanded HDA directory make tracking changes in git more explicit.

Not more explicit, the binary .hda is not explicit at all

Keep in mind, we are already saving the code library in outside the HDA. So, tracking changes IMO is considered explicit.

Not true, having expanded HDAs is way more than just the internal code as you can tweak default parms and see any changes a user does to the HDA in version control, binary format is impossible to track and edit without launching Houdini

Customize HDAs
It's works with Expanded HDAs. But, it's more used with binary .hda files.

Not true, most big studios use expanded HDAs and there's no difference in customizing either.

Override Tab Menu on Houdini launch which can done via Houdini api or Monkey batching

It's called "monkey patching"

Save the code outside of the HDA. i.e. in a dedicated python file.

This is not an alternative to the other ways of customizing HDAs, all of those methods you can do it by saving the code outside of the HDA and that's the recommended approach for any significant pipe integration

@fabiaserra
Thanks a lot. let me update my comment.

For what it's worth - I've converted the Load Asset LOP into the expanded format using hotl binaries that comes with Houdini.
See https://github.com/ynput/ayon-core/pull/294 with commit https://github.com/ynput/ayon-core/pull/294/commits/8aee5f120fc2d24c51dd38735dd058c7ea6a7f0c

This has been solved now - and implemented currently for the Load Asset LOP.
This is still a goldmine of information for those that don't know about this feature - but with the knowledge gained here the first PR using it has been merged recently and hence this problem is now 'solved'. Feel free to re-open on ayon-houdini if it becomes a problem in the future.


Geometries of nested occupied and unoccupied spaces

The concept of occupied / unoccupied spaces is interesting, but I am wondering about the consequences in terms of the geometry and topological model behind it, especially when they are nested. For example (case 1) if an unoccupied space is located inside an occupied space, e.g. opening/void in constructive element or room inside building, is the implied Boolean operation of subtraction assumed to be already carried out in the geometry to be included in the model or is to be carried out by downstream applications? That is, does the geometry of the occupied space have a "hole" in it to accommodate the unoccupied space? The other way round (case 2), if an occupied space (e.g. building installation) is contained in an unoccupied space (e.g. room), is this "cut out" of the unoccupied space? I can imagine cases where it would be more natural to do one or the other, but would expect some consistent approach for the conceptual model.

has some tested such concepts of occupied / unoccupied spaces?
A simpe case would be a building with a door (wallsurface with polygon with no interior ring) and a window (wall surface with polygon with interior ring) and two rooms inside the building. How is the geometry of the building itself modelled in this case? Following the concept of CityGML for polygons (polygon with hole), it will a a soild with to holes. It can be specified as such in CItyGML, but I not seen it in any existing citygml document yet. I am also not aware of any test data set, so I do not no if the available software tools support this kind of geometry.
And, please calculate the volume of such a building with existing software such as FME! The volume of the solid building geometry + the volume of the rooms should be what we ususally call the volume of the building.
Hint: a wrong face orientation in a solid geometry has a big impact on volume calculation, so it is likely that a room / any "unoccupied space" modelled as solid geometry has a negative volume...
see my slide on CityGML quality management, OGC TC meeting Sep 2019 / opening:
https://portal.opengeospatial.org/files/?artifact_id=80718, slide 17-18. Volume calculation was done in FME.

In the web conference on 28 March 2019 we decided on disallowing that solids can have interior holes. Any space inside a building should be modelled as unoccupied space; inside these unoccupied spaces, in turn, occupied spaces can occur (e.g. furniture).
As a general rule for volume calculation, subtract everything that is unoccupied (e.g. subtract rooms from building) and add again everything that is occupied inside (e.g. add installation inside rooms).
For simply calculating the volume of the building, the unoccupied spaces can be ignored.


[webapi] Update baseline data for SVG

Impacted TCs num(approved): New 0, Update 2, Delete 0
Unit test Platform: Crosswalk Project for Android 15.44.372
Unit test result summary: Pass 2, Fail 0, Blocked 0

Why there's no baseline for foreign_content_004_baseline.md5 on arm-nexus4?

@Honry the foreign_content_004_baseline.md5  is same as old baseline, so no need update.


HeatmapLayer: Add tests and whats-new

For #2

Background

Add ability to specify viewport for layer life-cycle test utils.
HeatmapLayer

Add unit tests
Add render test
Update whats-new doc.

Change List

HeatmapLayer: Add tests and whats-new

Coverage increased (+2.8%) to 82.328% when pulling f443050c4114f8b7f1a04dc94f4067d623f244e8 on HeatmapLayer_Tests into 231960f49a07c334a99297287e4700f5dd9f6f46 on master.