Auto-Increment IDs Are Reset When Using In Memory Database Provider And UseModel()

An error with a duplicate generated key can occur when using the combination of UseInMemoryDatabase and UseModel with DbContextOptionsBuilder.
I used a single InMemoryDatabaseRoot instance with two DbContext instances. Because of the shared InMemoryDatabaseRoot instance, I would expect database continuity between the two DbContext instances. Meaning, a new entity added and saved in the first DbContext scope would get ID 1 in the single in-memory database, and a new entity added and saved in the second DbContext scope would get ID 2. Instead, both entities are generated ID 1, but get inserted into the same in-memory database, so the key collision occurs.
Looking into it, it looks like the incrementing IDs are managed by ValueGenerator instances, and those are cached by Property and EntityType, which are objects that are part of how Entity Framework represents the entity model. Neither Property nor EntityType override GetHashCode, so when they are used as the parts of the cache key for ValueGenerator instances, it's their object identities that make up the key, rather than their values. If you rebuild the model every time you create a new DbContext instance (via UseModel), new Property and EntityType instances will be created (new object identities). This results in the cached ValueGenerator not being used (cache miss because of unequal cache keys), and so a new ValueGenerator instance gets created starting over again at ID 1.
The exception doesn't occur when DbContext is extended and OnModelCreating is overridden (the style favored by the documentation and most code examples). It would seem that the model built via OnModelCreating is cached the first time it is built, presumably to avoid the overhead of rebuilding the model every time the class extending DbContext is instantiated. This has the beneficial side effect of allowing the identity of a model object to be used as a unique key to what the model object represents. For example, as long as you keep reusing the same instance of EntityType for a given type of entity, the identity of that single object can be used instead of the CLR type represented by the EntityType.
I understand that instantiating ModelBuilder directly and passing the result of FinalizeModel() to UseModel() is unusual, but it seems like that is a valid way of doing things. At least, it's not clear that doing it that way would result in different behavior than overriding OnModelCreating. I'm not sure if internal logic should be relying on something that only happens when a specific API is used, even if that is the primary API.
Exception message: An item with the same key has already been added. Key: 1
Stack trace:
   at System.ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException[T](T key) in E:\A\_work\62\s\src\mscorlib\src\System\ThrowHelper.cs:line 128
   at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) in E:\A\_work\62\s\src\mscorlib\shared\System\Collections\Generic\Dictionary.cs:line 664
   at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) in E:\A\_work\62\s\src\mscorlib\shared\System\Collections\Generic\Dictionary.cs:line 232
   at Microsoft.EntityFrameworkCore.InMemory.Storage.Internal.InMemoryTable`1.Create(IUpdateEntry entry) in /_/src/EFCore.InMemory/Storage/Internal/InMemoryTable.cs:line 60
   at Microsoft.EntityFrameworkCore.InMemory.Storage.Internal.InMemoryStore.ExecuteTransaction(IReadOnlyList`1 entries, IDiagnosticsLogger`1 updateLogger) in /_/src/EFCore.InMemory/Storage/Internal/InMemoryStore.cs:line 172
   at Microsoft.EntityFrameworkCore.InMemory.Storage.Internal.InMemoryDatabase.SaveChanges(IReadOnlyList`1 entries) in /_/src/EFCore.InMemory/Storage/Internal/InMemoryDatabase.cs:line 60
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(IReadOnlyList`1 entriesToSave) in /_/src/EFCore/ChangeTracking/Internal/StateManager.cs:line 961
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(Boolean acceptAllChangesOnSuccess) in /_/src/EFCore/ChangeTracking/Internal/StateManager.cs:line 782
   at Microsoft.EntityFrameworkCore.DbContext.SaveChanges(Boolean acceptAllChangesOnSuccess) in /_/src/EFCore/DbContext.cs:line 447
   at Microsoft.EntityFrameworkCore.DbContext.SaveChanges() in /_/src/EFCore/DbContext.cs:line 412
   at Example.Program.Main(String[] args) in C:\Code\Example\Example\Program.cs:line 25

Steps to reproduce
This throws an exception.
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.InMemory.Metadata.Conventions.Internal;
using Microsoft.EntityFrameworkCore.Storage;

namespace Example
{
    class Program
    {
        class ExampleEntity
        {
            public int Id { get; set; }
        }

        static void Main(string[] args)
        {
            var inMemoryDatabaseRoot = new InMemoryDatabaseRoot();
            using (var dbContext1 = CreateDbContext(inMemoryDatabaseRoot))
            {
                dbContext1.Add(new ExampleEntity());
                dbContext1.SaveChanges();
            }
            using (var dbContext2 = CreateDbContext(inMemoryDatabaseRoot))
            {
                dbContext2.Add(new ExampleEntity());
                dbContext2.SaveChanges(); // Exception is thrown here.
            }
        }

        static DbContext CreateDbContext(InMemoryDatabaseRoot inMemoryDatabaseRoot)
        {
            var modelBuilder = new ModelBuilder(InMemoryConventionSetBuilder.Build());
            modelBuilder.Entity<ExampleEntity>(etb =>
            {
                etb.Property(e => e.Id);
                etb.HasKey(e => e.Id);
            });

            var options = new DbContextOptionsBuilder()
                .UseInMemoryDatabase("InMemoryDatabase", inMemoryDatabaseRoot)
                .UseModel(modelBuilder.FinalizeModel())
                .Options;
            return new DbContext(options);
        }
    }
}

This doesn't throw an exception.
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage;

namespace Example
{
    class Program
    {
        class ExampleEntity
        {
            public int Id { get; set; }
        }

        class ExampleDbContext : DbContext
        {
            private readonly InMemoryDatabaseRoot _inMemoryDatabaseRoot;

            public ExampleDbContext(InMemoryDatabaseRoot inMemoryDatabaseRoot)
            {
                _inMemoryDatabaseRoot = inMemoryDatabaseRoot;
            }

            protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            {
                optionsBuilder.UseInMemoryDatabase("Database", _inMemoryDatabaseRoot);
            }

            protected override void OnModelCreating(ModelBuilder modelBuilder)
            {
                modelBuilder.Entity<ExampleEntity>(etb =>
                {
                    etb.Property(e => e.Id);
                    etb.HasKey(e => e.Id);
                });
            }
        }

        static void Main(string[] args)
        {
            var inMemoryDatabaseRoot = new InMemoryDatabaseRoot();
            using (var dbContext1 = new ExampleDbContext(inMemoryDatabaseRoot))
            {
                dbContext1.Add(new ExampleEntity());
                dbContext1.SaveChanges();
            }
            using (var dbContext2 = new ExampleDbContext(inMemoryDatabaseRoot))
            {
                dbContext2.Add(new ExampleEntity());
                dbContext2.SaveChanges();
            }
        }
    }
}

Further technical details
EF Core version: 2.2.1
Database Provider: Microsoft.EntityFrameworkCore.InMemory
Operating system: Windows 10.0.17763 Build 17763
IDE: Visual Studio Community 2017 15.9.4

@alecrodden This would get fixed by implementation of #6872, which would associated the generated value state with the database. Not marking this as a dupe so we can verify it is fixed after #6872.


mqtt discovery error

Home Assistant release (hass --version):
HA 0.38.1
Python release (python3 --version):
Python 3.5.2
Component/platform:
docker
Description of problem:
error starting
Expected:
Problem-relevant configuration.yaml entries and steps to reproduce:
mqtt:
  discovery: true

restart
watch starting output

Traceback (if applicable):
rpi-home-assistant_1  | 17-02-12 17:13:48 ERROR (MainThread) [homeassistant.bootstrap] Error during setup of component mqtt
rpi-home-assistant_1  | Traceback (most recent call last):
rpi-home-assistant_1  |   File "/usr/local/lib/python3.5/site-packages/homeassistant/bootstrap.py", line 152, in _async_setup_component
rpi-home-assistant_1  |     None, component.setup, hass, config)
rpi-home-assistant_1  |   File "uvloop/future.pyx", line 230, in __iter__ (uvloop/loop.c:110600)
rpi-home-assistant_1  |   File "uvloop/future.pyx", line 432, in uvloop.loop.BaseTask._fast_wakeup (uvloop/loop.c:113980)
rpi-home-assistant_1  |   File "uvloop/future.pyx", line 101, in uvloop.loop.BaseFuture._result_impl (uvloop/loop.c:108900)
rpi-home-assistant_1  |   File "/usr/local/lib/python3.5/concurrent/futures/thread.py", line 55, in run
rpi-home-assistant_1  |     result = self.fn(*self.args, **self.kwargs)
rpi-home-assistant_1  |   File "/usr/local/lib/python3.5/site-packages/homeassistant/components/mqtt/__init__.py", line 334, in setup
rpi-home-assistant_1  |     _setup_discovery(hass, config)
rpi-home-assistant_1  |   File "/usr/local/lib/python3.5/site-packages/homeassistant/components/mqtt/__init__.py", line 240, in _setup_discovery
rpi-home-assistant_1  |     success = discovery.start(hass, conf[CONF_DISCOVERY_PREFIX], config)
rpi-home-assistant_1  | AttributeError: module 'homeassistant.components.mqtt.discovery' has no attribute 'start'
rpi-home-assistant_1  | 17-02-12 17:13:48 ERROR (MainThread) [homeassistant.bootstrap] Component mqtt failed to setup
rpi-home-assistant_1  | 17-02-12 17:13:48 ERROR (MainThread) [homeassistant.bootstrap] Unable to prepare setup for platform automation.mqtt because dependency mqtt could not be initialized

Additional info:

Should be fixed with https://github.com/home-assistant/home-assistant/pull/5912

great thanks.


Rr 1354 export win admin legacy field

Description of change
This is about adding '(legacy)' label into for all relevant legacy fields within winform in the django admin

Checklist

[x] Has this branch been rebased on top of the current main branch?

Explanation
The branch should not be stale or have conflicts at the time reviews are requested.

[x] Is the CircleCI build passing?

General points

Other things to check

Make sure fixtures/test_data.yaml is maintained when updating models
Consider the admin site when making changes to models
Use select-/prefetch-related field lists in views and search apps, and update them when fields are added
Make sure the README is updated e.g. when adding new environment variables

See docs/CONTRIBUTING.md for more guidelines.

Codecov Report
Attention: Patch coverage is 80.00000% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 96.52%. Comparing base (279f287) to head (5713bf5).

Files
Patch %
Lines

datahub/export_win/admin.py
80.00%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5370      +/-   ##
==========================================
- Coverage   96.54%   96.52%   -0.03%
==========================================
  Files         928      928
  Lines       22031    22033       +2
  Branches     1969     1970       +1
==========================================
- Hits        21270    21267       -3
- Misses        619      621       +2
- Partials      142      145       +3

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


Improve error message for model registration

Closes: RHOAIENG-13908
Description
This PR aims to improve error messages for model registration as mentioned in this doc
In Register model page:

Model failed to create:

https://github.com/user-attachments/assets/f0a2d707-5f7e-4c60-b336-67a5f84ab781

Model created but Version failed to create:

https://github.com/user-attachments/assets/44eb77a0-c8cc-4c0b-b403-b373b0cb612c

Model and version created but artifact failed to create:

https://github.com/user-attachments/assets/833f409a-1ee5-4142-a072-b213e9a09e63
In Register new version page:

Version failed to create:

https://github.com/user-attachments/assets/307ed414-0aba-4516-82ae-5a5c1834aa0e

Version created but artifact failed to create:

https://github.com/user-attachments/assets/0f263636-c149-4b4f-b80e-98bbb002b699
How Has This Been Tested?
Its bit difficult to test as we fixed long name error here.
To test all these states mentioned in this doc locally

Try duplicate name while creating model/ version to get failed model/ version error
revert this commit to see version failure error
To get artifact failure error, modify this line to long name.

Test Impact
NA, Already covered by other PR and few cases can not be reproduced.
Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[x] Included any necessary screenshots or gifs if it was a UI change.
[x] Included tags to the UX team if it was a UI/UX change.

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

@yih-wang could you please take a look at the screen recordings?
Also, I have a question. when we have two alert to display, should both of them have action to close separately or only one with error alert (like below image). I am not sure what should be the expected behaviour here. Could you please provide your suggestion for this.

@ppadti the videos look good, thank you!
Regarding your question of whether to include the close buttons - I've consulted @angesDing about how to align them with our new validation guidelines - the short answer is the error alert shouldn't include the close button, and the success alert should include it.

@yih-wang I have updated the screen recordings, please take a look at them when you have a moment.

Thanks for the updates @ppadti! We discussed yesterday the issue where the name in the alert will change after the name in the form. Haven't seen that behavior in the videos. Has it been addressed?

Thanks for the updates @ppadti! We discussed yesterday the issue where the name in the alert will change after the name in the form. Haven't seen that behavior in the videos. Has it been addressed?

yes, If you look at the first recording (model failed to create), you can see that behaviour there. Let me know, if you need another recording for that.

@ppadti Ah yes, I see it now! It works well so I missed it... All look good to me!


Fix minor population issues

Just a couple of one-liners.

Looks good, thank you!

Hmm, nice finds


[DatePicker] Remove style-propable mixin

This PR is a little beefy.

Aside from that it's delicious cough perfect :+1:

@newoga Thanks!


Uses "door" instead of "contact" on MQTT topics

The decision to use "door" instead of "contact" is a bit odd since these sensors are placed on more than just doors.  I configured the bridge to use contact sensors which looks for the topic path smartthings/Basement Window/contact/cmd.  However, adt-pulse-mqtt is assuming smartthings/Basement Window/door/cmd which is counter-intuitive for a general purpose contact sensor.
Originally posted by @robross0606 in https://github.com/adt-pulse-mqtt/adt-pulse-mqtt/issues/28#issuecomment-735483418
What is the correct way to configure window contact sensors both in adt-pulse-mqtt and in SmartThings?

The ADT portion of the code looks for door or window in the name and sets the tag to "'sensor,doorWindow".
if (theName.includes('Door') || theName.includes('Window')) {
		theTag = 'sensor,doorWindow';

The SmartThings portion of the code considers anything that's doesn't have a "motion" tag as a door:
// smartthings bridge assumes actionable devices have a topic set with cmd
    // adt/zone/DEVICE_NAME/state needs to turn into
    // smartthings/DEVICE_NAME/door/cmd
    // or
    // smartthings/DEVICE_NAME/motion/cmd

    if (smartthings){
      var contactType = "door";
      var contactValue= (device.state == "devStatOK")? "closed":"open";

      if (device.tags.includes("motion")) {
        contactType="motion";
        contactValue = (device.state == "devStatOK")? "inactive":"active";
      }
       sm_dev_zone_state_topic=smartthings_topic+"/"+device.name+"/"+contactType+"/cmd";
    }

If it's important to differentiate between a door and window sensor for SmartThings, then it would be necessary to change the logic to create separate tags for doors and windows and then push to SmartThings accordingly. Alternatively, contact could be used wherever door is instead.  Either way, this would be a breaking change.
The device type isn't required for Home Assistant because the MQTT topic is simply adt/zone/DEVICE_NAME which is configured in Home Assistant along with the device type.
I'm not a SmartThings user and I didn't write the code, so I wonder if @haruny has an opinion on this.

Yeah, every time this breaks I have to refresh my memory how it all "hangs together".  The README barely mentions "MQTT Bridge app" in passing but has no link or reference to the actual project, or any explanation about whether this is a dependency or why.  I had to go digging into past tickets to figure out it is related to this project which appears to have been quasi-abandoned then forked left and right.  It is really hard to decipher what is needed to set this up in Smartthings or whether it is even possible anymore.  Would appreciate any guidance from @haruny if he can provide it.

If it's important to differentiate between a door and window sensor for SmartThings, then it would be necessary to change the logic to create separate tags for doors and windows and then push to SmartThings accordingly. Alternatively, contact could be used wherever door is instead. Either way, this would be a breaking change.

"Important" depends on how you use SmartThings.  The platform supports many different flavors of "open/close" sensors: contact, door, window, etc.  The differences between them come down to how automation routines classify things.  For example, you may have an automation routine that pays attention to "open windows" when the weather turns bad.  Having the sensors classified as "door" can make it more difficult (or impossible) to use those sensors depending on how the automation app is designed.

I think I managed to get it working.  The problem was indeed related to a combination of MQTT Bridge and the SmartApp needing to have the SmartThings devices match the MQTT (ADT Pulse) devices exactly.  In my case, the nice ADT folks labelled the security zones in terrible ways and I don't have the authorization to change them.  I had made the devices in SmartThings the same but changed the "label" field to be something more understandable.  However, for whatever reason, the SmartApp actually matches against displayName which means even the label has to match.  This seems silly to me when you could easily use networkDeviceId for this purpose on the ADT Virtual Devices in SmartThings and allow people to put whatever they want in the label field.  I worked up a modification to @haruny's SmartApp to allow the user to select which field they want to map against and it appears to be working so far.  However, due to fragmentation across all these projects, I'm not sure where I could even submit a PR.

Haruny's repo has been deprecated and I created the adt-pulse-mqtt organization as the official home for the bridge and the groovy app unless someone wants to takeover as maintainer and fork it out to its own organization/repo.

official home for the bridge and the groovy app

This is where it gets confusing because, as far as I can tell, you're only housing the Groovy app.  The actual "bridge app" is separate and needs to be run in a container.  Your README mentions this "bridge app" a couple times but doesn't link to the project.  What am I missing?

The primary component, which runs standalone as NodeJS app or in a Docker container, is ADT Pulse MQTT that is a "bridge" which logs into the ADT Portal website and pushes updates to MQTT topics. It also subscribes to the cmd topic and receives commands to send to ADT such as arming and disarming.
If you are using Home Assistant as I am, you can directly define MQTT components such as sensors and alarm panels.  When SmartThings is enabled in the config and SmartThings MQTT topic, it will publish to a different hierarchy under the SmartThings topic on MQTT. That's the only SmartThings-specific code.
I've never really read the groovy code before, but it appears to only deal with the user interface and logic with what happens when the devices change state. If that's the case, then there is a missing piece needed to bridge the MQTT topics and the SmartThings hub. Maybe someone else can chime in with what that is.
Have you tried https://github.com/stjohnjohnson/smartthings-mqtt-bridge and does it work? I'm  happy to update the documentation with that information if it does. Maybe there should be a SmartThings HowTo created?

Maybe someone else can chime in with what that is.
That's what I've been trying to say multiple times.  The missing piece is precisely smartthings-mqtt-bridge.  It was even alluded to in your README at the bottom but not by name or link.  It simply said "the bridge app" but that was not referring to adt-pulse-mqtt.  It was actually referring to smartthings-mqtt-bridge.

As I see it, there are a couple of options to resolve this issue:

We could make our own fork of https://github.com/farhad-a/smartthings-mqtt-bridge and host it within the adt-pulse-mqtt organization so that at least we aren't relying on an abandoned project.
We could update our README to include complete SmartThings set up instructions from start to finish. This could mean pointing to our own fork or another active project which we have verified works.

I'm not a SmartThings user and no longer have an active ADT system, but I'm willing to help facilitate making things easier for others looking to use them. If you can help out with writing a guide on how you set yours up, I'm willing to update the documentation or create a repo for house the missing piece - whatever it takes.

I'm personally slowly leaning towards the same situation as you.  I barely used the integration to begin with, purely to integrate my ADT sensors with the rest of Smart Things for triggers (like doors opening).  But it has never been reliable or fast enough for it to be anything but a novelty. My ADT contract is up and we may also be switching away.

Fair enough. Are you okay with closing the issue?

Yes


Build a NomadBSD image from a fresh NomadBSD install

Hi!
I discovered NomadBSD recently and just loved it :)
Right now I'm using it on an external HD so I have to carry an SSD and SATA adapter everywhere :D along with my laptop.
Hence, I would like to mess with the installer a little bit and see if I can get Nomad to install on a partition (something along the lines of GhostBSD installation)
However, step 0 is to get NomadBSD image to build with the least number of modifications from the website's main image.
How shall I proceed?
Thanks

Hi @Alfredo-Carlon,
thank you for the nice feedback :)
I'm working on a new installer which will be able to install NomadBSD on a partition, but unfortunately it won't make it into the next release.


bump to latest version of watchdog. Fixes #226

For #226. Will merge once I verify watchdog won't break anywhere else.

I'm just gonna merge this to prevent OS X hiccups. It looks like we aren't using it but I'll keep it as a dependency until we do a full audit of project dependencies.


When printing colored PNG image in gray the image does not get correctly converted

Describe the bug
When printing JPEG or PNG images with PAPPL's built-in image filters the images being color but printing being done  in gray (monochrome printer or user request), the images are supposed to be converted when loading with libjpeg or libpng. This is doe correctly for JPEG images bug not for PNG. The patch below fixes this:
--- a/pappl/job-filter.c
+++ b/pappl/job-filter.c
@@ -535,7 +556,7 @@ _papplJobFilterPNG(
   // Prepare options...
   options = papplJobCreatePrintOptions(job, 1, (png.format & PNG_FORMAT_FLAG_CO
LOR) != 0);

-  if (png.format & PNG_FORMAT_FLAG_COLOR)
+  if (options->header.cupsNumColors > 1)
   {
     png.format = PNG_FORMAT_RGB;
     png_bpp    = 3;

Without the patch the function papplJobFilterImage() receives the 3-byte color pixels and only copies the first of the three bytes into the destination image, meaning that only the red components of the original image are used. On most photos one sees only a slight difference, but on drawings for example important parts can miss in the printout.
To Reproduce
Print PNG images with a PAPPL-based Printer Application, preferably a drawing with pure red, grren, and blue graphical elements.
System Information:

As usual, Ubuntu 20.10 with current GIT snapshots of ps-printer-app and PAPPL, also my fixes for my previously reported issues.

[master ec80129] Fix PNG grayscale printing (Issue #63)


Feature/extract mp4 from rosbag

The launch file converts rosbags to jpegs, and have been tested on the storm trooper.

This functionality has been moved to Vortex_CV repo.


Replace R/O Weave TLV Format Specification PDF with a R/W AsciiDoc

Why are you using Asciidoc instead of PDF?  To allow third-party contributions?

Why are you using Asciidoc instead of PDF? To allow third-party contributions?

So the source of truth is public rather than behind a Google Doc domain only accessible by Google employees and can, as a result, be editable by anyone.
This also makes it easier to sync changes to CHIP (since this is leveraged wholesale as-is there).

So the source of truth is public rather than behind a Google Doc domain only accessible by Google employees and can, as a result, be editable by anyone.
This also makes it easier to sync changes to CHIP (since this is leveraged wholesale as-is there).

Do you still want to post this to openweave.io, then?  They don't have native support for Asciidoc so I'd have to convert it to HTML first on my end, but we also don't need to be maintaining multiple copies of things, we can just link to the docs here if that makes more sense.

So the source of truth is public rather than behind a Google Doc domain only accessible by Google employees and can, as a result, be editable by anyone.
This also makes it easier to sync changes to CHIP (since this is leveraged wholesale as-is there).

Do you still want to post this to openweave.io, then? They don't have native support for Asciidoc so I'd have to convert it to HTML first on my end, but we also don't need to be maintaining multiple copies of things, we can just link to the docs here if that makes more sense.

Assuming @jaylogue is good with this proposed change, I defer to you @Vyrastas on what you think the right approach is for supporting openweave.io.

I see a few issues with the formatting:

The tables use alternating shading for rows, without a distinct color / shading for the header row.  This is confusing for small tables.

In the PDF, the control byte tables used blank fields for the "n/a" bits of the control byte (those not germane to the purpose of the table).  This styling proved to be too subtle (people were confused), and I'm afraid of a similar problem here as well.  I suggest adding another column header row above the others indicating that the 8 bit columns are a depiction of the control byte.  Then placing something like an 'x' in each unused column.  E.g.:

 |     Control Byte       |                           |
 |        |  Elem Type    |                           |
 | 7  6  5  4  3  2  1  0 |       Description         |
 ------------------------------------------------------
 | x  x  x  0  0  0  0  0 |       Signed Integer      |
                         ...

I see a few issues with the formatting:

The tables use alternating shading for rows, without a distinct color / shading for the header row.  This is confusing for small tables.
In the PDF, the control byte tables used blank fields for the "n/a" bits of the control byte (those not germane to the purpose of the table).  This styling proved to be too subtle (people were confused), and I'm afraid of a similar problem here as well.  I suggest adding another column header row above the others indicating that the 8 bit columns are a depiction of the control byte.  Then placing something like an 'x' in each unused column.  E.g.:

 |     Control Byte       |                           |
 |        |  Elem Type    |                           |
 | 7  6  5  4  3  2  1  0 |       Description         |
 ------------------------------------------------------
 | x  x  x  0  0  0  0  0 |       Signed Integer      |
                         ...

Regarding the shading, I've tried to find ways to control it; however, AsciiDoc doesn't appear to offer an easy way to do so. It renders differently depending the renderer.
I can make the change to further clarify the control byte.

Regarding the shading, I've tried to find ways to control it; however, AsciiDoc doesn't appear to offer an easy way to do so. It renders differently depending the renderer.

I think this gets to the issue of how we publish this.  Its unclear to me how much control over rending AsciiDoc you have on github.  But I believe when it come to publishing a spec, we cannot be beholden to a simplistic rendering of the document as appears to be the case here.  We need to find a way to have more control over the presentation format that users see.
One way would be to maintain the source document in AsciiDoc on github, but publish a PDF rendering with the desired format for users/readers.  This would be what we link to from openweave.io.  This has the added benefit producing a document that is readily downloadable and usable off-line.

I see a few issues with the formatting:

The tables use alternating shading for rows, without a distinct color / shading for the header row.  This is confusing for small tables.
In the PDF, the control byte tables used blank fields for the "n/a" bits of the control byte (those not germane to the purpose of the table).  This styling proved to be too subtle (people were confused), and I'm afraid of a similar problem here as well.  I suggest adding another column header row above the others indicating that the 8 bit columns are a depiction of the control byte.  Then placing something like an 'x' in each unused column.  E.g.:

 |     Control Byte       |                           |
 |        |  Elem Type    |                           |
 | 7  6  5  4  3  2  1  0 |       Description         |
 ------------------------------------------------------
 | x  x  x  0  0  0  0  0 |       Signed Integer      |
                         ...

Regarding the shading, I've tried to find ways to control it; however, AsciiDoc doesn't appear to offer an easy way to do so. It renders differently depending the renderer.
I can make the change to further clarify the control byte.

@jaylogue, the element type and tag control tables have been updated.

Regarding the shading, I've tried to find ways to control it; however, AsciiDoc doesn't appear to offer an easy way to do so. It renders differently depending the renderer.

I think this gets to the issue of how we publish this. Its unclear to me how much control over rending AsciiDoc you have on github. But I believe when it come to publishing a spec, we cannot be beholden to a simplistic rendering of the document as appears to be the case here. We need to find a way to have more control over the presentation format that users see.
One way would be to maintain the source document in AsciiDoc on github, but publish a PDF rendering with the desired format for users/readers. This would be what we link to from openweave.io. This has the added benefit producing a document that is readily downloadable and usable off-line.

At this point, I think the rendering differences between the PDF, what GitHub renders, and what my AsciiDoctor.js Preview plug-in on Chrome show are pretty minor. I think the benefit of open outweighs the slight formatting control. Either way, this is an order of magnitude better than IETF RFCs in ASCII.

To be clear, there was nothing "closed" about my proposal.  The master document would still be checked in and editable.  Only there would be a rendering step (probably automatable) that would produce the final presentation.
I think its pretty clear that we need better rendering control, at least in some contexts.  E.g. it would not be acceptable, IMO, to dumb-down the rendering of the TVL Schema spec to AsciiDoc+github format.  However it might be possible to express that document in AsciiDoc, presuming we have control over the presentation.

Given the discussion, whatever format you want to present to a reader is what I'd put on openweave.io.  If you're happy with the rendered AsciiDoc format for people who just want to read the doc, I'd convert what you host here to HTML for displaying there, rather than linking to the source.  Otherwise we can continue with PDF if someone is still going to produce that.

@Vyrastas and @jaylogue, how would you like to move forward with this pull request?

If this enables you to sync content with CHIP much easier, then I would submit it in this format and we can sort out the presentation on openweave.io separately.  We can also keep the PDF version here too, rather than replacing it.

If this enables you to sync content with CHIP much easier, then I would submit it in this format and we can sort out the presentation on openweave.io separately. We can also keep the PDF version here too, rather than replacing it.

Added the PDF version back.

Looks like the latest push mixed in some other changes.

I'm fine with merging this change. I have been investigating the use of asciidoctor to render PDFs from asciidoc files and it looks quite promising. I'm thinking at some point we can add makefiles in the various doc directories to generate the .pdf files from the .adoc files using asciidoctor-pdf and an appropriate theme file. This should give us reasonable control over the formatting.

Perfect, thanks.


Documentation

I am wondering, How is this picture useful to a developer?
https://github.com/nodemcu/nodemcu-devkit/blob/master/Documents/NodeMCU_DEVKIT_V0.9.png

Lots of reasons.  Sometimes it's for comparison to make sure you using the same device and not a knockoff.  It might be someone is interested in one and stumbled across this and didn't know what one looked like. I always have these type pics around for better clarity of pinouts.    Regardless of the reason I'd rather have too much information than not enough.

I wish If there would be a better documentation about dev-kit. Something like detailed data-sheet(in English). If one has dev-kit. Probably he can see it in his hands and might not like to refer that picture. (Just a suggestion-Never mind)

I tend to agree there.  I've depended on pinout, Wiki pages, and general information on ESP8266 to get what I needed.
http://www.esp8266.com/wiki/doku.php?id=nodemcu#devkit_09
Then I usually refer to the datasheets for the ESP8266.   It would be nice to compile that as it relates to the NodeMCU.


Automate the population of the 'tables' and 'functions' fields in the 'provides' sub-object

This is the first half of #478
The second half is automating the entities field (will be in a separate PR

https://github.com/iasql/iasql-engine/runs/5633883988?check_suite_focus=true#step:5:15
Crap, the Jest coverage source rewriting is interfering with my own source rewriting... :(

I tested this manually and it works, but ti breaks the entire test suite.
Let me think some more about this.

https://github.com/iasql/iasql-engine/runs/5633883988?check_suite_focus=true#step:5:15
Crap, the Jest coverage source rewriting is interfering with my own source rewriting... :(

what source re-writing are you referring to?

https://github.com/iasql/iasql-engine/runs/5633883988?check_suite_focus=true#step:5:15
Crap, the Jest coverage source rewriting is interfering with my own source rewriting... :(

what source re-writing are you referring to?

This: https://github.com/iasql/iasql-engine/pull/546/files#diff-5dabb7c84cdc5f16ab1995093ebdd0e4b73fb64524e656f30a4cc86a6e1148c3R345-R355
I think I have fixed it, but we'll see in a few minutes.


Improve container widget

in Container Widget when the child parameter is null and constraints is not Tight, there is no need to add the [Align] widget when the alignment parameter is provided.
Pre-launch Checklist

[X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[X] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[X] I signed the [CLA].
[ ] I listed at least one issue that this PR fixes in the description above.
[X] I updated/added relevant documentation (doc comments with ///).
[X] I added new tests to check the change I am making, or this PR is [test-exempt].
[X] All existing and new tests are passing.

@r-mzy47 Looks like the tests got stuck on this PR and for some reason I cannot restart them. Could you push and empty commit to this PR or rebase it to the latest master to re-trigger the tests? Thanks and sorry for the inconvenience.

@goderbauer I have pushed an empty commit. But still, there are some pending tests. In addition, there are some failures added. have I done something wrong?

Looks like its an unrelated failure. Should be fixed if you rebase this branch to the latest master.


fix: flags again

Last time, I changed identifiers to @type. Most of the time, this is
fine. But when defining a new command with flag parameters, these can
have types and the same highlighting. So now they are attributes and we
have color distinction in both cases.
Before:

After:

Since we currently don't have attributes (usually annotations), this is a unique hl-group for flag identifiers.

nice, i like the way that looks. thanks!


Add support for listen.tidalhifi.com, closes #485

refs #485

@inverse can you access http://play.wimpmusic.com/  then? that is from the same company and I believe it uses the same frontend.
Also does http://listen.tidalhifi.com/ really not work for you from Berlin? If you don't log in you can test it in "demo" mode - ie just press play on something, playback will be limited to 20 seconds though.

Both URLs don't work. They just show blank pages. However SSH tunnelling  to the UK works but I'm not up for creating an account :P

I don't have WIMP account either.
If I open http://play.wimpmusic.com/  I can press play on any , say, playlists on front page and it'll start playing. Same thing for listen.tidalhifi.com . This should be enough to test, no?

My bad - It turns out it was the adblocker (µBlock) causing both sites to load.
Just tried it out and and success :) awesome work!


[otbn] Specify quality of RND and URND

RND and URND both provide randomness to software running on OTBN. As OTBN software authors I'd like to know what properties the randomness I get from RND and URND have.
RND
RND is meant to provide access to "high-quality cryptographic strength" randomness.
RND is slightly tricky to describe since RND effectively gives access to whatever edn1 provides, and edn1 is (must be?) configured by (Ibex) software. However, it would be (IMO) a very helpful service to OTBN software authors to say something along the lines "RND provides PTG.3 randomness", and then also specify that "edn1 must be configured to provide PTG.3 randomness".
If we don't specify the quality of RND, software written for OTBN will be less portable and effectively depends on assumptions about what will come out of RND.
Notes:

edn1 is currently meant to provide PTG.3 randomness, see also https://github.com/lowRISC/opentitan/issues/5639. The discussion hasn't fully settled, so let's keep an eye on that issue.
We need to double check that we perform and document the right initialization of edn1 to actually provide this quality of randomness.

URND
URND is coming from an OTBN-internal LFSR that is frequently reseeded. I'm neither sure what quality guarantees we should (from a requirements/use case perspective), or can (from an implementation perspective) make.
@felixmiller URND is used for blinding/masking and control flow randomization mostly/exclusively (?). How would you describe the (quality of) randomness that you need for such a task?
(The LFSR feeding URND is also used internally for things like secure wipe, but that's out of scope for this documentation task, which is only concerned about software-visible aspects.)

estimate 4

URND
Currently: URND. A random number. The number is sourced from an LFSR. Reads never stall.
Replace with: URND. A random number without guaranteed secrecy properties or specific statistical properties. Intended for use in masking and blinding schemes.
RND
Currently: "RND:  A random number. The number is sourced from the EDN via a single-entry cache. Reads when the cache is empty will cause OTBN to be stalled until a new random number is available. "
Replace with: "RND. An AIS31-compliant class PTG.3 random number with guaranteed entropy and forward and backward secrecy. Primarily intended to be used for key generation."


{KeyVault} az keyvault key download: refine help message

Fix: #13548
The previous help message for az keyvault key download has insufficient information. Users may think it can be used to download private keys.
Make it consistent with az keyvault key show:

show: Gets the public part of a stored key.
download: Downloads the public part of a stored key.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

KeyVault


Grunt voice and mouth movement

Upload 2 new sounds. (eating and drinking sound without the click at the end now)
Load 'actionFiles' and 'voiceActor' in voice-pack-voicer.js so that we can access actionFiles and voiceActor name from localPlayer.
Add a function call 'playGrunt' in character-sfx.js, it would load the voice from 'localPlayer.voicePack.actionFiles', and play the voice pack by 'localPlayer.voicePack.audioBuffer'. So in totum app, we could play the grunt like this localPlayer.characterSfx.playGrunt('angry', index);
Add jump grunt and gasp grunt in character-sfx.js by using exponential falloff selection
This is the jump result (each character has 6 jump grunt)

https://user-images.githubusercontent.com/60634884/163752351-ba5c3789-97ab-4a09-9e18-516acf7f27de.mp4
https://user-images.githubusercontent.com/60634884/163752360-d02a99c4-6880-4c7c-bd31-94f23e9b26d1.mp4
https://user-images.githubusercontent.com/60634884/163752368-7da1a0de-0891-4839-99bf-691bfdf77e70.mp4
https://user-images.githubusercontent.com/60634884/163752376-fee9347f-1c92-451a-aaf1-a98167b12aee.mp4
https://user-images.githubusercontent.com/60634884/163752388-b9dccdbc-8fa9-46f5-ae07-25b92d4f4ce6.mp4

This is the gasp result (each character has 7 gasp grunt)

https://user-images.githubusercontent.com/60634884/163752466-d6d94729-ed44-4c58-9009-9daf863e8698.mp4
https://user-images.githubusercontent.com/60634884/163752471-936dfd6d-e060-4448-9e60-c5fecaab2e97.mp4
https://user-images.githubusercontent.com/60634884/163752485-961e02eb-3d6e-474d-97cd-172de241f4fe.mp4
https://user-images.githubusercontent.com/60634884/163752501-f0a92496-5a02-478f-a145-15a9952d6393.mp4
https://user-images.githubusercontent.com/60634884/163752509-af2c6524-bb3e-479f-abda-fc1bee52238d.mp4

Add mouth movement function in avatar.js. So we can control the mouth movement manually by this.player.avatar.setMouthMoving(attack, decay, sustain, release);, It would move the mouth according to the envelope
control mouth movement for eating and drinking in character-sfx.js by using envelope. This is the result:

https://user-images.githubusercontent.com/60634884/163752721-52fe2e85-0c22-4289-bf4e-7beac5a30f37.mp4

1 - Gasps/pants being played after running to display that the character is tired. We have a great variety of types of gasps/pants between the 5 voice actors. Shishi and Griffin are the most "standard" type of gasp/pant, the other ones have their own characteristics. Having a variety of characteristics for the grunt is great because we can cover a bigger amount of preferences among the players.
2 - Jumps are using a selection of Attack Grunts to display the character is doing some sort of effort, attack grunts were used because they fit well on this action and we had a good amount of them to "spare". The ones used on jump will not be used on attack action to avoid audio duplicates (in case both actions are executed at the same time)
3 - For eat and drink a single sample was used for each of them. I went on this direction because it adds consistency to the action. The sample alone sounded dull, so I changed it's pitch 2 semitones up and 2 semitones down for the 2 actions, a total of 3 samples for each action.

1- The sound for jump seems to work fine, But with the case of dash "shift+double W" the jump sound doesn't plays.
https://user-images.githubusercontent.com/35926530/164051133-da51dae5-4969-493f-8f5f-eb747baff4b7.mp4
2-Similarly, sound for gasp doesn't plays with dash.
https://user-images.githubusercontent.com/35926530/164051550-73e8ffd3-a3bc-4cc1-bba2-3873d2fe561c.mp4
3-We are not doing gasp sound on walk right?? This is being played on run only?
Else looks and sounds fine. the mouth movement seems in sync with sfx.

For 1 I fix it, could you test it again?
For 2, 3, 4, @Arthur-Acha could you reply these?

Yep 1 is fixed now.

Hi @alisaad673 For 1, I fix it. Could you test it again? For 2, 3, 4, @Arthur-Acha could you reply these?

I think you have a good point and thanks for sharing it @alisaad673 , we should implement both gasps and jumps during and after the naruto run, but there will be a VO that will be played when you start running, so jumps VOs should only be able to trigger after the naruto run VO ends, this way we don't have conflict.
@tcm390 can you implement this?

Hi @alisaad673 I add the jump and gasp to narutoRun. Also integrated the new narutoRun grunt. Could you test it again?
This is the result:
https://user-images.githubusercontent.com/60634884/164359695-8099ee0a-2a0b-4008-a2f3-61081b2b9da4.mp4
https://user-images.githubusercontent.com/60634884/164359704-bc1d5f09-b091-4881-8449-bb8cb377a7c5.mp4

code cleanups: https://github.com/webaverse/app/pull/2835/commits/3f4cfa0c927590eb7f9a5a3b55b86c98d2b24449

code cleanups: https://github.com/webaverse/app/pull/2835/commits/b439d317a410e775771a516beb6897f329919e32


odd ensemble behavour

I'm using ensemble with the setting ensemble: numpass: 2 and encountered some strange behavour.
For some reason, freebayes thinks that a SNP exists although there are no reads that support it (AO=0). No other caller (gatk-haplotype, platypus, samtools) thinks that there is a snp there. Bcbio-nextgen's ensemble caller agrees with Freebayes, however:
Freebayes call:
15-52-freebayes.vcf:chr2	179583496	rs16866465	T	G	6256.21	PASS	AB=0.847896;ABP=327.853;AC=1;AF=0.166667;AN=2;AO=264;BaseQRankSum=1.473;CIGAR=1X;DB;DP=958;DPB=958;DPRA=1.62827;EPP=576.279;EPPR=1507.84;FS=0;GC=44;GTI=1;HRun=0;HaplotypeScore=12.9334;LEN=1;MEANALT=1.5;MQ=59.97;MQ0=0;MQM=60;MQMR=59.9481;MQRankSum=0.641;NS=6;NUMALT=1;ODDS=45.2655;PAIRED=1;PAIREDR=0.998557;PAO=0;PQA=0;PQR=0;PRO=0;QA=9282;QD=18.96;QR=25022;RO=693;RPP=3.0432;RPPR=3.01343;RUN=1;ReadPosRankSum=-0.205;SAF=131;SAP=3.0432;SAR=133;SRF=346;SRP=3.01343;SRR=347;TYPE=snp;technology.illumina=1;EFF=INTRON(MODIFIER||||26926|TTN|protein_coding|CODING|NM_003319.4|46|1),INTRON(MODIFIER||||27051|TTN|protein_coding|CODING|NM_133432.3|47|1),INTRON(MODIFIER||||27118|TTN|protein_coding|CODING|NM_133437.3|47|1),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gAa/gCa|E6900A|33423|TTN|protein_coding|CODING|NM_133378.4|81|1),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gAa/gCa|E7827A|34350|TTN|protein_coding|CODING|NM_001256850.1|82|1),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gAa/gCa|E8144A|35991|TTN|protein_coding|CODING|NM_001267550.1|84|1)	GT:AO:DP:PL:QA:QR:RO	0/1:0:80:0,100,100:0:2871:80
Ensemble call:
15-52-ensemble.vcf:chr2	179583496	rs16866465	T	G	6256.21	PASS	AB=0.847896;ABP=327.853;AC=2;AF=0.166667;AN=12;AO=264;BaseQRankSum=1.473;CIGAR=1X;DB;DP=958;DPB=958;DPRA=1.62827;EFF=INTRON(MODIFIER||||26926|TTN|protein_coding|CODING|NM_003319.4|46|1),INTRON(MODIFIER||||27051|TTN|protein_coding|CODING|NM_133432.3|47|1),INTRON(MODIFIER||||27118|TTN|protein_coding|CODING|NM_133437.3|47|1),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gAa/gCa|E6900A|33423|TTN|protein_coding|CODING|NM_133378.4|81|1),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gAa/gCa|E7827A|34350|TTN|protein_coding|CODING|NM_001256850.1|82|1),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gAa/gCa|E8144A|35991|TTN|protein_coding|CODING|NM_001267550.1|84|1);EPP=576.279;EPPR=1507.84;FS=0;GC=44;GTI=1;HRun=0;HaplotypeScore=12.9334;LEN=1;MEANALT=1.5;MQ=59.97;MQ0=0;MQM=60;MQMR=59.9481;MQRankSum=0.641;NS=6;NUMALT=1;ODDS=45.2655;PAIRED=1;PAIREDR=0.998557;PAO=0;PQA=0;PQR=0;PRO=0;QA=9282;QD=18.96;QR=25022;RO=693;RPP=3.0432;RPPR=3.01343;RUN=1;ReadPosRankSum=-0.205;SAF=131;SAP=3.0432;SAR=133;SRF=346;SRP=3.01343;SRR=347;TYPE=snp;technology.illumina=1	GT:AO:DP:PL:QA:QR:RO	0/0:2:148:0,100,100:22:5332:146	0/1:262:309:100,0,100:9260:1646:46	0/1:0:80:0,100,100:0:2871:80	0/0:0:146:0,100,100:0:5314:146	0/0:0:122:0,100,100:0:4353:122	0/0:0:153:0,100,100:0:5506:153

By the way, a nice feature for the ensemble caller, run in the above mode, would be to include a list in the INFO field sating which callers actually supported the call and which did not.

Do you think that the freebayes call also should be submitted as an issue to the freebayes git repository? Can you see any other reason other than a bug for the call?

Par;
Sorry about the problem. The underlying issue is that the ensemble calling isn't treating multiple samples by splitting into individual samples and doing an ensemble of each. Instead it does a comparison by the position, so if other callers have a call at that position in a different sample it'll resolve the position itself to true and then pick the first representative caller set, which seems to be FreeBayes in this case.
I'd like to work on better multi-sample calling to split these and do the ensemble individually, then combine back together. I think that would then do the right thing in this case. This will take some development time.
It does seem like something is wrong with the FreeBayes calculation. I've been actively trying to update to the latest FreeBayes but am blocked by one issue: https://github.com/ekg/freebayes/issues/129  This might not be a problem if you're only doing pooled calling so you manually install and try the latest FreeBayes development version to see if it does the right thing on your data.
Sorry again about the issue and thanks for the report.
Separately,

@chapmanb I think the recent changes in freebayes should resolve these problems on your end. Please let me know.

hopefully the last comment helped with that. Let us know if you have further issues.
thanks a lot!


[stable/grafana] Update Grafana to 6.7.1

What this PR does / why we need it:
Update Grafana to 6.7.1
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign
/ok-to-test

/lgtm


6_convnet_drop.py 's accuracy doesn't increase

I have changed the epoch from 50 to 50000
but the accuracy is not increased.
When I add the convnet layer and fully connected layer,
accuracy is decreased.
However I expect that the accuracy is higher than before.
what is the problem from this

Sorry, no idea! It converges just fine when I run it. Maybe it's an issue with your Theano installation or something.

how much epoch did you run in order to get above 60% accuracy?
I can't achieve above 60%

No idea, sorry, it's been a while since I did anything with this code. It's intended to be tinkered with anyway, I wouldn't be surprised if the performance is pretty poor by default.


Set default values for tags and availability

Setting default arguments on a namedtuple is moderately fiddly, but this seems to work. Prints in the same way as the original, and has no effect on occupancy:
>>> from conference_scheduler.resources import BaseEvent, Event
>>> e = BaseEvent(name='example', duration=60, demand=100, tags=[], unavailability=[])
>>> f = Event(name='example', duration=60, demand=100)
>>> f
Event(name='example', duration=60, demand=100, tags=[], unavailability=[])
>>> assert e.__sizeof__() == f.__sizeof__()

Resolves #73.

Coverage remained the same at 100.0% when pulling 069e98f036c77f635a955ea2c48580709089e702 on alexwlchan:resource-defaults into e57b3ca3f65c2a131a80dbf5a51244a9878e2f19 on PyconUK:master.

Looking at some of the code @meatballs before for the resources with defaults it looks like it's a bit simpler than that:
>>> from typing import NamedTuple

>>> class Event(NamedTuple):
...     name: str
...     tags: list = []

>>> e = Event("Vince")
>>> e.tags
[]

Coverage remained the same at 100.0% when pulling 88a74b351c29c4c6e337c76b105f9bc25591f755 on alexwlchan:resource-defaults into e57b3ca3f65c2a131a80dbf5a51244a9878e2f19 on PyconUK:master.

>>> e1 = Event("Alex", tags=["web"])
>>> e1.tags
['web']

Hmm, I get a TypeError if I run your Vince example. I’m using Python 3.6.0.
I’d also be worried about mutability of the default arguments – what if you modify the tags array on an Event where it was defaulted?

Hmm, I get a TypeError if I run your Vince example. I’m using Python 3.6.0.
I’d also be worried about mutability of the default arguments – what if you modify the tags array on an Event where it was defaulted?

It's working fine for me (also py3.6), and it was what was in the resources.py file before (for an unused class).
The imutability is an issue  with using named tuples at all, we deal with that in the documentation by using extend and append.
If we go down the line of having a class is there a need to use NamedTuple at all?

It's working fine for me (also py3.6)

These new named classes are only in py3.6 I believe?

These new named classes are only in py3.6 I believe?

I think so, yes.

I am apparently running py3.6.1:
>>> import sys
>>> sys.version
'3.6.1 |Continuum Analytics, Inc.| (default, Mar 22 2017, 19:54:23) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]'

It's working fine for me (also py3.6), and it was what was in the resources.py file before (for an unused class).

Weird. I’m updating to 3.6.1 just in case, although I can’t see anything in the release notes that would suggest this has changed.

The imutability is an issue with using named tuples at all, we deal with that in the documentation by using extend and append.

Named tuples are weird, because you can cheat the immutability by stuffing in a mutable structure (such as a list). So the following works:
>>> my_tuple = ('x', [1, 2, 3], 'y')
>>> my_tuple[1].append(4)
>>> my_tuple
('x', [1, 2, 3, 4], 'y')

I have a nasty feeling this will cause stuff to break if you use [] as a default argument in a named tuple.

If we go down the line of having a class is there a need to use NamedTuple at all?

Probably just an occupancy thing, I think.

And indeed, your example runs for me on Python 3.6.1.
This is where assigning the arguments in the body of the namedtuple definition breaks down – if you ever modify the default, it’s polluted for new constructions:
from typing import NamedTuple

class Event(NamedTuple):
    name: str
    tags: list = []

e = Event("Vince")
print(e.tags)
e.tags.append('python')

f = Event("Alex")
print(f.tags)

Named tuples are weird, because you can cheat the immutability by stuffing in a mutable structure (such as a list). So the following works:

This is what we're doing currently throughout the documentation and I think it's fine. I might be missing something.

Probably just an occupancy thing, I think.

I don't know what you mean.

Named tuples are weird, because you can cheat the immutability by stuffing in a mutable structure (such as a list). So the following works:

This is what we're doing currently throughout the documentation and I think it's fine. I might be missing something.

This is fine if you include tags=[] or unavailability=[] when you create the named tuple, because you’re explicitly constructing an empty list each time. Each instance of Event has its own sandboxed versions of the list – append/extend doesn’t affect what’s going on elsewhere.
If you have a default value of the empty list, all your instances share that default value, and you can cause yourself headaches.

Probably just an occupancy thing, I think.

I don't know what you mean.

The main advantage of named tuples over classes (I think) is that they take up less memory.

Named tuples are weird, because you can cheat the immutability by stuffing in a mutable structure (such as a list).

That's true of any tuple, not peculiar to named tuples

Coverage remained the same at 100.0% when pulling f84585f8c199a0fd6e63977692b89e02691ed453 on alexwlchan:resource-defaults into e57b3ca3f65c2a131a80dbf5a51244a9878e2f19 on PyconUK:master.

test = (1, [], 3)
print(test[1])

test[1].append(2)
print(test[1])

If you have a default value of the empty list, all your instances share that default value, and you can cause yourself headaches.

Ahh! That makes sense. Indeed:
>>> from typing import NamedTuple

>>> class Event(NamedTuple):
...     name: str
...     tags: list = []

>>> e = Event("Vince")
>>> e.tags
[]
>>> e1 = Event("Alex")
>>> e1.tags
[]
>>> e.append(4)
>>> e.tags
[4]
>>> eq.tags
[4]

Yup: that'll create a mess. :+1:

and using mutable default arguments is a bad idea anywhere - again, not peculiar to named tuples
(and yes, I know I did precisely that in the now abandoned code)

The main advantage of named tuples over classes (I think) is that they take up less memory.

I would suggest going with classes in favour of readability but I'm easy. Whatever is preferred.

@meatballs Thanks, good points – I’d gotten firmly stuck down a namedtuple-shaped rabbit hole. 😛

I would suggest going with classes in favour of readability but I'm easy.

I have no strong preference, it’s your and @meatballs’s codebase. Happy to swap out what I’ve done for a class if you want.

I think the named tuples are more readable. If all we want is a few attributes and we have no need of methods, why bother with the whole __init__ malarkey?

My suggestion was based on the fact that @alexwlchan uses classes anyway to get the default arguments to work (it's making use of the whole __init__ malarkey): https://github.com/PyconUK/ConferenceScheduler/pull/74/files#diff-b981e2216ee57050ff14dd7c4263fe7eR21
But whatever you prefer.

the default arguments do work - on 3.6.1 There's no need for the structure

the default arguments do work - on 3.6.1 There's no need for the structure

They don't because of the mutability argument:
>>> from typing import NamedTuple

>>> class Event(NamedTuple):
...     name: str
...     tags: list = []

>>> e = Event("Vince")
>>> e.tags
[]
>>> e1 = Event("Alex")
>>> e1.tags
[]
>>> e.append(4)
>>> e.tags
[4]
>>> e1.tags
[4]

That will create all sorts of problems.

that's a different point - using mutable default arguments is a bad idea whether we're talking about named tuples, classes, functions or anything else

That will create all sorts of problems.

We need to be able to append to unavailability for example because of the fact that we might need to create all events before appending one event to another event's unavailability.

so the default argument in that example should be None rather than []

so the default argument in that example should be None rather than []

Ok that'll need us to be careful with the constraints etc...
>>> for f in None:
>>>     print(f)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-21-cc65c754fad2> in <module>()
----> 1 for f in None:
      2     print(f)

TypeError: 'NoneType' object is not iterable

(Not insurmountable with a if event.tags is not None)

so the default argument in that example should be None rather than []

However, I accept that, if we used an ordinary class, we could set the attribute to be [] if the argument passed was None

(Not insurmountable with a if event.tags is not None)

or event just if event.tags

or event just if event.tags

Here be gremlins! I don't recommend this, it can be confused when event.tags=False or events.tags=0 etc...
Note if we go down this route, we should probably push https://github.com/PyconUK/ConferenceScheduler/blob/master/setup.py#L18 to 3.6.1.

I do wonder if it would just be simpler to use a class...

To summarise, I think we have two options:
class Event(NamedTuple):
    name: str
    tags: list = None

which means using some conditions in our constraints and passing [] when we know we need to append to tags, or,
class Event(object):

    def __init__(self, name, tags=None):
        self.name = name
        if tags is None:
            self.tags = []
        else:
            self.tags = tags

I stick by the named tuple being more concise and therefore, for me, more readable. I would use them wherever anything else is unnecessary.
However, here, I think there's a good argument for the class since we know we want an empty list to start with but we'll be appending to it later.

My vote would be for the second approach, we might want to add a __repr__ to it though as it would break our doctests. Another option of course is what @alexwlchan has which I think is what makes the least modification to the current code base.
Personally I'd prefer one of two options listed by @meatballs in favour of clarity.

However, here, I think there's a good argument for the class since we know we want an empty list to start with but we'll be appending to it later.

:+1:

Your call @meatballs. Whatever you prefer.

In this instance, let's go for the class
Elsewhere, if there are default arguments which aren't mutable, we stick with a Named Tuple.

Okay, class-based implementation pushed.

Coverage remained the same at 100.0% when pulling f1af2396d1a40d0d92e16c029f6cf86e04d29e74 on alexwlchan:resource-defaults into e57b3ca3f65c2a131a80dbf5a51244a9878e2f19 on PyconUK:master.

Looks good to me.

Coverage remained the same at 100.0% when pulling e6243d746a228ab9335b5ec8722f9188a80da170 on alexwlchan:resource-defaults into e57b3ca3f65c2a131a80dbf5a51244a9878e2f19 on PyconUK:master.

Add a changelog entry

Show off... Now I'm going to need to start doing that :) :+1: :laughing:

Nice job! Thanks @alexwlchan


virtcontainers: Add function supportGuestMemoryHotplug

This PR defines a new function supportGuestMemoryHotplug that
clearly defines if the architecture supports memory hotplug. The function
can be reimplemented in virtcontainers/qemu_$arch.go file for each
architecture.
Fixes: #910
Signed-off-by: Alice Frosi<EMAIL_ADDRESS>

/test

/test

This function panic.

hi @caoruidong. The test panics because the arch field is not set in TestHotplugRemoveMemory. In my PR, I call q.arch.supportGuestMemoryHotplug and arch is nil. I'll fix the testcases.

lgtm.

/test

@alicefr - I think you need to be a maintainer/member of the kata github org for the CI triggers to work - let me nudge that for you...
/test


BibUpload: unique identifiers

Originally on 2013-06-04
BibUpload currently matches records also via CFG_BIBUPLOAD_EXTERNAL_OAIID_TAG. However no check is performed for the uniqueness of this ID. This opens the possibility for introducing duplicates via BibEdit. BibEdit, in fact, is going to send a bibupload --replace containing a 001 tag, thus skipping any further matching based on external identifiers.
What should be added is a step where the identifiers included in the incoming records are checked for uniqueness (as it already happens for check_record_doi_is_unique()

There is no PR for this issue, hence closing it as per the legacy code base freeze; it is addressed in master code base differently.


experimental statement parsing

@olirice, it'd be nice to know why thid PR, even though WIP, exists. Is there a feature-request or discussion that can be linked here?

The initial use-case was to parse the contents of pg_stat_statements to see which columns are being selected, and filtered via postgrest requests most frequently and use that info to recommend indexes to improve performance of those queries

Closing as stdlib was dropped a while ago https://github.com/supabase/supautils/pull/41


Links to Runtime Home pages and Version release pages. fixes #284

Looks good to me.

@Emily-Jiang, you can see for yourself here https://test-start.microprofile.io/

The links look good! Thanks @rdebusscher ! We also need to do the same thing for the specs. Are you going to do it under a separate PR?

@Emily-Jiang Yes a separate PR as you liked to have the correct version of the spec related to the MP version.
Which takes some more data to be maintained (and I didn't found the time yet)

A minor comment: Can we also add a hint to the MicroProfile runtime to say: A list of runtime that supports the chosen MicroProfile version? @rdebusscher


Event handlers for inputs don't work (JSONForm: Using event handlers example).

Issue type
I'm submitting a (check one):
[x] Bug report
[ ] Feature request
[ ] Regression (something that used to work, but stopped working in a newer version)
[ ] Support request
[ ] Documentation issue or request
Prerequisites
Before posting, make sure you do the following (check all):
[x] Confirm you are using the latest versions of all necessary packages (or if not, explain why not)
[x] Search GitHub for a similar issue or PR
[x] If submitting a Support request, also search [Stack Overflow][stack-overflow] for similar issues
Note: Please cross-post GitHub support requests to [Stack Overflow][stack-overflow], and include a link in your GitHub issue to your Stack Overflow question. We do currently respond to support requests on GitHub, but we eventually expect to stop, and will then refer all support questions exclusively to Stack Overflow.
Hello,
event handlers for inputs don't work.
Example - JSONForm: Using event handlers
{
  "schema": {
    "text": {
      "type": "string",
      "title": "Text"
    }
  },
  "form": [ {
    "key": "text",
    "onChange": function (evt) {
      var value = $(evt.target).val();
      if (value) alert(value);
    }
  }, {
    "type": "button",
    "title": "Click me",
    "onClick": function (evt) {
      evt.preventDefault();
      alert('Thank you!');
    }
  } ]
}

Oddly, for the button event handler (onClick) it works.
Does anyone have any knowledge about this?
P.S. I tried to append event.preventDefault() for onChange handler.
Thanks!

UP


Make print DPI configurable via "page.paperSize.dpi" (default is 72)

Hi all,
This PR makes it possible to configure print DPI. Default setting of 72 makes some SVG files look very blurry when printing to PDF.
Couple of screenshots of PDFs:

http://imgur.com/MFxH1tP (300dpi)
http://imgur.com/s7RhIc4 (72dpi)

+1

+1

+1

+1

+1

+1

What the problem merging this issue? @ariya

:+1:

Closing this. We're going to implement this in different way.

@Vitallium, what was the different way?

@garthk we implemented this options via page's settings (page.settings.dpi)


Camera ShaderSelection: avoid seg-fault

🦟 Bug fix
Improves error reporting for failing test
Summary
A test was re-enabled for macOS in https://github.com/gazebosim/gz-rendering/pull/703, but it seems to still fail on certain machines (see comments below https://github.com/gazebosim/gz-rendering/pull/703#issuecomment-1245856857).
The test currently seg-faults after an EXPECT_* statement is used to check for a nullptr and the pointer is later dereferenced. Wrap the subsequent check in an if statement to allow the rest of the test to continue instead of using ASSERT_*. This doesn't fix the underlying issue but it should allow the test to proceed a bit farther and provide more useful failure reporting.
Checklist

[ ] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

test failed again on glados:

https://build.osrfoundation.org/job/ignition_rendering-ci-pr_any-homebrew-amd64/2758/testReport/(root)/CameraTest/ShaderSelection_2/

but at least it gives a clearer indication of the problem than before:

https://build.osrfoundation.org/view/ign-garden/job/ignition_rendering-ci-gz-rendering7-homebrew-amd64/6/testReport/(root)/INTEGRATION_camera_ogre2_metal/test_ran/

should we re-disable the test on macOS CI?

should we re-disable the test on macOS CI?

+1 to disabling the test for now.

should we re-disable the test on macOS CI?

+1 to disabling the test for now.

https://github.com/gazebosim/gz-rendering/pull/720/commits/62fd7220cddd6d2a8249b59ead2895a9694228ea


Add one to the size of generated texture arrays

This will help prevent out-of-bounds texture array accesses in shaders.

@huwb It probably makes sense for you to tackle this one as you have a clearer vision of what you want to do, just thought I would help by kick-starting the process.

Oh sorry i think i haven't made the issue clear enough. the problem is with the arrays of uniforms, not with the TA. if slice index is at its maximum value (largest cascade), code like this will read off the end of the initialised data:
const float wt_biggerLod = (1. - wt_smallerLod) * _LD_Params[_LD_SliceIndex + 1].z;

If all lods were active this would read off the end of the array.
i've pushed changes now which i think resolve the issue, let me know. i didnt see visual change on my kit, but it may have affected others.

Weirdly it wont let me request your review (i can request my own review which is handy). can you review the changes? cheers

These changes look good to me. 👍

Cool. I can't merge either so check it in whenever convenient!


bugfix:branchCommit retry always failed,change version to 0.5.0-SNAPSHOT

Ⅰ. Describe what this PR did
bugfix:branchCommit retry always failed,change version to 0.5.0-SNAPSHOT
Ⅱ. Does this pull request fix one issue?
fix #799
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #804 into develop will increase coverage by 0.5%.
The diff coverage is 83.33%.

@@             Coverage Diff              @@
##             develop     #804     +/-   ##
============================================
+ Coverage      34.22%   34.72%   +0.5%
- Complexity       888      900     +12
============================================
  Files            215      215
  Lines           8301     8307      +6
  Branches         996      997      +1
============================================
+ Hits            2841     2885     +44
+ Misses          5119     5074     -45
- Partials         341      348      +7

Impacted Files
Coverage Δ
Complexity Δ

...java/com/alibaba/fescar/core/protocol/Version.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...rotocol/transaction/AbstractBranchEndResponse.java
73.68% <83.33%> (+28.58%)
10 <0> (+5)
:arrow_up:

...scar/core/rpc/netty/AbstractRpcRemotingClient.java
20.57% <0%> (+3.34%)
7% <0%> (ø)
:arrow_down:

...ba/fescar/core/protocol/AbstractResultMessage.java
66.07% <0%> (+7.14%)
14% <0%> (+1%)
:arrow_up:

...tocol/transaction/AbstractTransactionResponse.java
75% <0%> (+25%)
5% <0%> (+2%)
:arrow_up:

...om/alibaba/fescar/core/rpc/netty/ShutdownHook.java
81.25% <0%> (+25%)
8% <0%> (+2%)
:arrow_up:

...re/protocol/transaction/BranchRollbackRequest.java
33.33% <0%> (+33.33%)
1% <0%> (+1%)
:arrow_up:

...e/protocol/transaction/BranchRollbackResponse.java
50% <0%> (+50%)
1% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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

Don't change project version in this PR ,  to avoid conflicts with the repackage/rename PR.

Don't change project version in this PR , to avoid conflicts with the repackage/rename PR.

changing any file will cause conflicts

Don't change project version in this PR , to avoid conflicts with the repackage/rename PR.

changing any file will cause conflicts

Why change version to 0.5.0-SNAPSHOT is this PR , will cause conflicts with another groupId-change PR.


Add the ReasonML container

This PR adds a ReasonML container definition.

@Chuxel thanks for your feedback. Please, check out the changes I made to fix the issues you raised in the code review and let me know if there is anything you still want to improve.

Since this doesn't affect existing definitions we can still merge it, I think.

GitHub is throwing 500 errors for some reason, so this IS merged - but for some reason the PR is saying it is not.
I'm going to close this since something went haywire - but you'll see the bits are already in master. :)


[Bug]: Phone widget's value does not retain formatting when value is set from store

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When phone widget's value is derived from a stored value and this is already formatted, the widget tends to ignore that during display and override formatting to plain text even when formatting is turned off.
Steps To Reproduce

Use this API to dynamically display phone numbers on the widget
Store the returned phone and cell values using storeValue function
Bind {{appsmith.store.phone}} to display the text and turn off formatting on the property pane of the phone widget
Observe the evaluated value of the field on the property pane and the value displayed on the widget

https://www.loom.com/share/219e007895b949b593fe08a9c7ff6fb8
Public Sample App
No response
Version
Cloud

Not reproducible.


Code for fine-tuning?

Hey, awesome work! Thanks for sharing such amazing work with us all.
Can you provide/guide fine-tuning script as can use for our own data, in a multi-gpu setup, in possible, preferably with hf?

You can check out the LLaMA documentation for details about how to fine-tune any LLaMA model.

Thanks!


About the Tutorial Instructions for Using Cerebras-GPT

https://github.com/stochasticai/xturing/blob/main/examples/cerebras/cerebras_lora_int8.ipynb
The following is the description of this example.

LLaMA efficient fine-tuning tutorial

I think this tutorial uses Cerebras-GPT and not LLaMA, am I correct in that understanding? (Or do you use LLaMA internally?).
I am concerned because we are considering commercial use and LLaMA is not available under license.

Hi @nube266 ,
Thank you for pointing it. The LLaMA fine-tuning examples are in this folder. We provided both LLaMA and Cerebras-GPT fine-tuning examples. We will correct the description of this Cerebras notebook soon.


Reduce complexity of Hutch::Broker

Adds an #unbind_redundant_bindings method to break up
the complex #bind_queue method.
Adds a #log_publication method to break up the complex
#publish method.

@michaelklishin how would you feel about carving a Publisher class out of Broker?
I don't see any other ways to reduce its overall complexity.

@rthbound I feel positively about splitting Hutch::Broker but we need to keep things backwards compatible one way or another.


zhimi.heater.zb1 config

i successfully install your plugin and configured a xiaomy heater, i can start & stop. But
i have a constant warning:
This plugin generated a warning from the characteristic 'Target Heater-Cooler State': characteristic value expected number and received undefined. See https://git.io/JtMGR for more info.
and when i start trhe heater via the plugin on applehome, i get this in the log
This plugin generated a warning from the characteristic 'Target Heater-Cooler State': characteristic value expected number and received undefined. See https://git.io/JtMGR for more info.
this my config file:
"model": "zhimi.heater.zb1",
"pollingInterval": 10,
"buzzerControl": false,
"ledControl": true,
"horizontalSwingControl": false,
"verticalSwingControl": false,
"naturalModeControl": true,
"sleepModeControl": false,
"horizontalMoveControl": false,
"verticalMoveControl": false,
"fanLevelControl": true,
"ioniserControl": false,
"shutdownTimer": false,
"heatLevelControl": true,
"screenControl": false,
"dryModeControl": false,
"autoModeControl": false,
"favoriteModeControl": false

Hi, could you please post a debug log? You would need to start homebridge in debug mode and provide the log so i can have a look.

Try version 0.4.7 and let me know if the issue is fixed

THx
I Will tonight
On Fri, 12 Mar 2021 at 00:25, Marcin @.***> wrote:

Try version 0.4.7 and let me know if the issue is fixed
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/merdok/homebridge-miot/issues/2#issuecomment-797117543,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASMK55265V6C7PLWZOKFKCDTDFGNBANCNFSM4ZA42SZQ
.

--
Sent from Gmail Mobile

Thx i send 50kr on paypal
Good job!
On Fri, 12 Mar 2021 at 20:33, Marcin @.***> wrote:

Closed #2 https://github.com/merdok/homebridge-miot/issues/2.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/merdok/homebridge-miot/issues/2#event-4452301595, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ASMK5527WG2ZQIRRSGQJ7O3TDJUANANCNFSM4ZA42SZQ
.

@Thanks! Appreciate that!


Support for unconventional Sourcegraph URLs

Enhance pattern matching for different URLs.

https://sourcegraph.com works.
https://mysgurl.dev.org does not.

This is a duplicate of #11. Also see #12 for a PR that has begun work on this

Closing because the is a duplicate on #11


Issue with Surveyjs  question type 'radiogroup' and iCheck

Are you requesting a feature, reporting a bug or ask a question?
Bug
What is the current behavior?
I setup question type 'matrix' and 'radiogroup' with iCheck.
When select the Column 1 or Column 2 in each row it load a question type 'radiogroup' with other option. But in the initial load of the  'radiogroup' when click the other option it didn't show the input text field.
What is the expected behavior?
Each and every time when we click the other option it need to show the input text field.
How would you reproduce the current behavior (if this is a bug)?
Click the other option in the question type 'radiogroup' in initial load.
Provide the test code and the tested page URL (if applicable)
Tested page URL: Demo

### Specify your

* browser: Google Chrome
* browser version: Version 59.0.3071.115 (Official Build) (64-bit)
* surveyjs platform (angular or react or jquery or knockout or vue): jQuery
* surveyjs version: Latest

@nithinM hello! Thanks for your interest and for the plnkr demo :) I'll take a look at it.

@nithinM I've fixed the problem by adding this code: question.customWidgetData.isNeedRender = true; and I've updated your example:
https://plnkr.co/edit/bzVvBMcbBPfFdDhsq0Or?p=preview
Could you check it please?

@dmitrykurmanov It's working now. Thank you so much. Is there way to check those configurable option? I never see it in the documentation.

@nithinM this is the workaround. I'll try to understand this iCheck behavior and fix it. And if I can't do it we think about include this trick in the docs.

@dmitrykurmanov I got your point, but it really cool to know those hacks in case. Really appreciate your help.

@nithinM yes we think about "just render the whole question, bro" feature as a workaround for difficult cases :)

ko: https://plnkr.co/edit/J2fKY5etTgJH22VJGRAC?p=preview
    ... var cb = question.valueChangedCallback;
    question.valueChangedCallback = function() {
        cb();
        select();
    } ...

vue: just add other markup into template

Hi @dmitrykurmanov , I noticed another issue in iCheck as custom widget. Check this URL please Preview
In the 3rd question set used checkbox but it not allow to select multiple options. What can be the reason for it?

@nithinM, hello! I've created an example: https://plnkr.co/edit/BUTWvvDYmqME5UFlShbe?p=preview, could your check it please?

@dmitrykurmanov, It works like a charm, Thank you!

@nithinM, it is a little bit tricky and we think about hidden all of this code and provide possibility to just include another question type for example "iCheckRadioGroup" and use it like simple question.


Be able to add sounds to mp4 animations

Just an idea but we can have some beeps or tones in the renderer https://github.com/JeffFessler/Sound.jl .

Like to provide feedback on how far the animation is in rendering?
Like a microwave or oven beeping?
Or what were you envisioning @Sov-trotter ?


feat(log): Show the current network upgrade in progress logs

Motivation
It takes almost 6 hours for Zebra to sync all its checkpoints, so we need to be able to split CI jobs by network upgrade as well as checkpoint/full validation.
This is part of ticket #4661, it also includes a refactor I did as part of loading blocks from a file.
Solution
Features:

Show the network upgrade in progress logs
Log when Zebra verifies the final checkpoint

Fixes:

Log elapsed time using humantime truncated to whole seconds, rather than raw seconds and microseconds
Fix incorrect negative sign on elapsed time
Remove the space before the percentage sign when showing percent progress

Refactors:

Move the progress task into its own module

Review
This is a high priority because I need it for ticket #4661.
Reviewer Checklist

[ ] Progress logs contain network upgrade
[ ] Time is formatted nicely
[ ] Existing tests pass

All looks great.
By reviewing this PR, I learned to compare only parts of different files against each other so that I can see what's changed, and what's just moved.

Yeah I find git diff --color-moved really helpful, I wish GitHub would do it automatically.


[FLINK-15378][flink-core]support_different_filesystem_plugin between user code and flink default

What is the purpose of the change
support diff filesystem plugins for flink dependecy and user code need.
Brief change log
Add FileSystemFactory#getIdentify() for support diff FileSystem cluster which schema is same. Add StreamingFileSink#RowFormatBuilder#withFactoryIdentify and StreamingFileSink#BulkFormatBuilder#withFactoryIdentify for give user config diff filesystem plugin in one job.
Verifying this change
(Please pick either of the following options)
This change is already covered by existing tests, such as (please describe tests).
FileSystemTest
BucketsTests
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): ( no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes )
The serializers: (no )
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes)
The S3 file system connector: (yes)

Documentation

Does this pull request introduce a new feature? ( no)
If yes, how is the feature documented? ( docs )

I've posted some questions in the jira ticket

ok

Needs more time on the design.


Remove themis_version() API

As discussed in #324 and offline, remove themis_version() function and all related API for querying Themis and Soter versions at run-time. There is no replacement and this is obviously a breaking change.
This API was not really widely used and it is a bit bothersome to maintain. It is recommended to not depend on Themis version at run-time. Applications should link against a particular version of Themis during build or development (whatever is applicable to the language environment). The version should be selected by the package manager: either the system one for Themis core, or language-specific for language bindings.
themis_version() was used tests to print a version banner, that's not really important. It was also used by Rust binding to verify that FFI calls can be made, replace it with some other function. And it was also exported for Ruby programs, drop the export. The other use I'm aware of is in my Homebrew formula, that can be dealt with exactly as with Rust.
Note that the code still contains hardcoded versions in Makefile as well as in PHP and PHP7 bindings. These are going to stay for technical reasons.
Closes #324

@ilammy please grep all source and config files to check if soter.c and themis.c are not linked somewhere as exact dependencies.

@vixentael I've reviewed the code, it seems that temis.c and soter.c are not referenced anywhere explicitly. They are included into respective libraries using wildcards in makefiles:
https://github.com/cossacklabs/themis/blob/29ebf63e968f036f8d2fdd0a9d458a4ae7f84728/src/themis/themis.mk#L17-L19

Now when I see DEPRECATED macro I think we can use version with pre-processor to automatically remove code after some version :  ). for example DEPRECATED('msg', 0.12.0) that check with pre-processor logic that version is lower than 0.12.0 and leave code otherwise remove.
#if VERSION <= 0.12.0
  // deprecated code
#endif

https://www.slac.stanford.edu/comp/unix/gnu-info/cpp_1.html#SEC36

@Lagovas why don't we just remove the deprecated code from the files altogether with a new release? First we mark it deprecated (but still have to maintain it) and then completely remove the code at some later point.
Though I do see a merit of specifying the version in the deprecation attributes: we can mark the code as deprecated since some version and use that version as a reminder for us that some functionality has been deprecated for too long and should actually be removed.

to not maintain it manually and leave it for pre-processor if we will forget to remove legacy code and to provide explicit version when it will be removed. I saw that other libraries use deprecation warnings in some versions in a row and document in their releases what will be removed in a future and in which release it will be done. For example, it do django (python web framework), rust

Hm... For that we will need some machine-readable version first.
Then we can probably invent something like this using some advanced macrology:
THEMIS_DEPRECATED(SINCE(0,11,0), UNTIL(0,12,0), AT_MOST(0,13,0),
    "use 'bar' instead"
)
void foo(void);

which will then cascade attributes:

expands to nothing in 0.10.0
adds deprecated attribute since 0.11.0 (compiler warning if the function is used)
adds error attribute since 0.12.0 (compiler error if the function is used)
hard compilation error since 0.13.0 if this code is not removed

But that looks like overengineering to me, TBH.

it was just thoughts about for what we can leave version) if we decided to remove version and we don't need it, it's okay to remove

@Lagovas nice catch about deprecation macros! it might be useful for us in future.
@ilammy currently let's just remove version.
LGMT to merge


plus sign on unsigned integers

I don't see a reason why + should only be allowed on signed integers.
Currently this fails:
    assert_eq!(
        std::u64::MAX,
        from_str("+19").unwrap()
    );

Should probably be supported, but the spec isn't explicitly allowing it atm:
https://github.com/ron-rs/ron/blob/master/docs/grammar.md#numbers

I have to admit I thought they were allowed until I looked at the spec. Since this would expand allowed RON, I don't see why we couldn't modify the spec and parser. The one footgun might be around schema-less parsing, since we would now deserialise "+19" as an unsigned integer and currently only store either a f64 or i64 inside Value. I've been meaning to extend that to all supported ints at some point anyways ...


Make it possible to use all config file options from distutils extension

Could be the compiler used, whether to link with blas and which blas etc. See https://github.com/scipy/scipy/pull/8306

from distutils.core import setup

# These two lines are required to be able to use pythran in the setup.py
import setuptools
setuptools.dist.Distribution(dict(setup_requires='pythran'))

from pythran.dist import PythranExtension, PythranBuildExt
setup(...,
      ext_modules=[PythranExtension("mymodule", ["mymodule.py"])],
      cmdclass={"build_ext": PythranBuildExt})

Do you mind to point out where should we pass the optional config argument? Thanks!


Multiple Instances of TopShelf

I would like to have multiple Services that are running TopShelf.  Just need clarification on the no multiple for TopShelf services.  Haven't been able to find a good explanation.  I would like to have 3 services that are each started with TopShelf.  But, getting odd performance at times.  So, can I have just one service running TopShelf or can I have multiple services that each start with TopShelf and are single threaded????  Thanks for any help.
Is it
ONE SERVICE ONE TOPSHELF
or is it

FIRST SERVICE WITH TOPSHELF
--
SECOND SERVICE WITH TOPSHELF
THIRD SERVICE WITH TOPSHELF

Look at it from this point of view
You're an ISV and ship a service using Topshelf
Your customer has some other software which has a background service using Topshelf.
They coexist - it'd be crazy if they didn't :)
Topshelf is a helper library to register a Windows service and let the Windows services stuff run your code.  It doesn't exist as a separate entity on the end-user's system.  That is, it's not like FireDaemon.
A while ago Topshelf (before I ever used it in anger) had the capability to automatically load (and even reload) assemblies that you put into a subfolder.  That follows your "one service one topshelf" comment.  That isn't available anymore as it was problematic.
So you have 1x Windows service == 1x assembly of yours referencing the Topshelf library.

Hi,
I have created a Windows Service with topshelf, is there any problem if i install this windows service multiple times on single machine with different Service Name? I have created copies of windows service in multiple folders and each copy has its unique Service Name and i can install windows service but guide says
You can only have ONE service! As of 3.x Topshelf the base product no longer support hosting multiple services. This was done because the code to implement was very brittle and hard to debug. We have opted for a simpler and cleaner base product. This feature will most likely come back in the form of an add on nuget.

is there anything i am missing? Also, what is the difference between SetInstanceName and SetServiceName?
Thanks

InstanceName is appended to the service name to allow multiple instances of the same service to run on the same machine.

The ONE service comment is related to an obsolete feature of 2.x that allows multiple services to be hosted in the same process. That's long dead, thankfully.

As a new user to Topshelf this question struck me as well.
I believe the documentation is a bit unclear, it would be nice to update the documentation to reflect this :)


How to build with libchromiumcontent ffmpeg_branding ChromeOS?

Currently libchromiumcontent ffmpeg_branding is chrome.
I am currently working on a app that requires more codecs support. It seems ChromeOS flag does provides some additional codecs.
I need help to link my custom libchromiumcontent to electron for a custom build.
My build system is OS X.
Thanks :)

if you have custom libchromiumcontent built and uploaded to s3 using the script in libchromiumcontent then changing the url here https://github.com/atom/electron/blob/master/script/lib/config.py#L9 would just do, otherwise you need to check these config to your needs https://github.com/atom/libchromiumcontent/blob/master/script/download#L39

I don't have it on S3. Git repo.

You can specify where to download libchromiumcotnent with --url in bootstrap script.


Testing in Javascript

It will be really helpful if we can try adding up new section for testing in javascript. That can cover topics such as testing frameworks such as Mocha, Jasmine, Jest, etc and also giving much insight on TDD and BDD, etc.

Yes, I think in the future we could do add a section about Testing. It would require some changes in the repo and take a little time but it is a good idea.

Ya sure definitely.
On Wed, Nov 21, 2018 at 4:51 AM Leonardo Maldonado<EMAIL_ADDRESS>wrote:

Yes, I think in the future we could do add a section about Testing. It
would require some changes in the repo and take a little time but it is a
good idea.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/leonardomso/33-js-concepts/issues/83#issuecomment-440464758,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKZlD6eWMDS2mkzdXKhthLF3Fp9AhEAcks5uxI6IgaJpZM4Yp_ke
.