Package organisation

Not a major question but how should we organize this package ?
I would be in favour of organizing by vendor independently of the underlying protocol (ie visa, a dll, another python library).

A secondary question is what to do with hp/agilent/keysight instruments and other similar stuff ?

Third point as the metaclass magic can increase the lodaing time of the drivers it might be interesting to know all the existing drivers without having to import everything, and import only when the user needs a specific driver. I would love to have such a feature as when building uis I need to propose all existing drivers to my user but I like my app to start fast.

I think by vendor is the organization that we all have reached in our packages. One package/folder per vendor is the right way to go.
They only way to address the third point is to have summary file with the most important information. This could be easily done automatically with script that the developer should run (or linked to a commit hook)

Ok so we agree about teh general organisation. I guess automating the third point is the easiest way to go, we will to thing about it.
So only remains the case of a single incrstrument existing under two vendor names (I have microwave sources which are agilent or keysight according to when they were bought). We could implement the driver in one vendor and create a dummy subclass in the other folder that is perhaps the easiest solution.

Storing by vendor sounds like the consensus.  Seems like some form of automation would be a good idea.
As for multiple vendor names, that is a bit more problematic.  One method would be to just list everything under the current vendor name and hope it doesn't change again (sigh...HP->Agilent->Keyshite->???).  Another method might be to list items under the original brand only (originally HP -> list under HP, even if there are Agilent branded units as well).  Or we could do that and then create an alias of some sort under the current brand as well.

I prefer to have it named as it is seen in the device. The rationale is that a person that is standing in front of an instrument can directly find the right driver without knowing the history of the company.
If the same device is then sold with another brand/model then we just create an new python file importing the original class with the new name (in a new packages).

What about file naming?  For common base classes that are used by multiple drivers, I suggest storing these in a folder called 'common'. I think the driver dev branch has 'standards' right now, but that to me indicates something along the lines of calibration standards or something along those lines and not driver components. Thoughts?
For instrument models, it is common to start with a number (e.g. 8340A), which is a no-no for a Python module name.  So what is the most reasonable solution for that?  I think duplicating the manufacturer name makes sense (e.g. lantz_drivers.agilent.agilent_8340A), but adding some other standard prefix may also make sense (e.g. lantz_drivers.agilent.model_8340A).
Also, is there a clean solution to move the actual driver object up one level in the hierarchy?  As in, it would be nice to be able to import lantz_drivers.agilent.agilent_8340A and use that directly instead of having to import lantz_drivers.agilent.agilent_8340A.agilent_8340A or lantz_drivers.agilent.agilent_8340A.driver or similar.  In python-ivi, this was done by importing all of the classes in the parent init.py, but this is rather tedious.

The convention that we had until previous version of Lantz is the following:

One folder for each company
The folder is a (sub)package, contains and init file which imports and exposes ALL the driver classes in the package. (This can be done manually or automated)
The classes are named according to the module using Python PEP8. When the model starts with a number, we prefix with the first letter of the company. I am fine to choose another (short) prefix.
The number of modules in the package is really dependent on what makes sense for the company.

If we can come up with a simple way to automate the import process, that would be great.  However, it seems to me that the current setup is to only import things explicitly and not to import whole trees.  I'm not sure how this would map on to importing all driver modules in init.py files.
I think adding prefixes in a non-consistent manner is not such a good idea.  It would not be difficult to imagine a company releasing some products with numeric models, and some that happen to be prefixed with a single letter that happens to be the same as the first letter in the company name.  Keysight has quite a few products with part numbers like this - Exxxx, Bxxxx, Nxxxx, Uxxxx, etc.  There is no Kxxxx right now, but if they do release something like that in the future it could conflict with something that has a pure numeric model number.

I agree with @alexforencich about the prefix issue we should be consistent.
I am not a big fan of importing whole subtrees as I fear that the metaclasses magic will slow down the import. We could perhaps simply have factories in init.py with nested imports.

Well, if you know how to write said factories, then that sounds like it could be the most reasonable option.
Let's figure out the prefixes so I can start writing some drivers.  We're throwing a couple of undergrads at this over here at UCSD, so it would be nice if we can get these last few blocking kinks worked out soon.

I think that we are over-engineering. Most instrumentation applications last long enough so that the import time is negligible. And we can always optimize that later. I think the important thing is to provide a convenient way, which in my opinion is:
from lantz_drivers.company import driverclass

and not:
from lantz_drivers.company.module import driverclass

This requires just importing the driver classes into the company __init__.py, which is something that you write just once and if that is very tedious you can just write a script to do it for you.
Regarding the prefixes. I am fine to use Model as in Model8340A.

My point with factory would be to have :
def GS200(*args, **kwargs):
    from . gs200 import GS200
    return GS200 (*args, **kwags)

Which we could also automatize.
But I am not sure it is true good idea.

I am fine with model as a prefix.

My suggestion is that we can always do it later. Let's first do it in the most straightforward manner, we can always drop your solution later (which is fine for me) without any backwards compatibility problem.
Having said this, I think a better idea for the future can be something like the following in lantz_drivers/__init__.py
def get_driver_class(manufacturer, model):
     # here we look into a YAML or json  file with a tree structure, for example:
     #    agilent:
     #       8340A: lantz_drivers.agilent.somemodule.Model8340A
     #
     # This file is kept in sync with a commit hook, but you can also build upon installation

     return driver_class # which is imported according to the YAML/JSON file

I played in the past with this option and was really nice as you could easily have a single driver (without any alias classes) for whole bunch of devices that are basically the same. The import performance is really good because it only reads lantz_drivers/__init__.py and the YAML/JSON file. The drivers are really imported on demand. In any case, I think this can be done latter.

I think Model is OK when an instrument starts with a number, but it seems awkward to me when it doesn't.  For example, Model8340A and ModelMSO7104A vs. Agilent8340A and AgilentMSO7104A.

So, if we use that get_driver_class method, can we no longer use import?

Why not? You can always use import.

So how would you use that get_driver_class method, then?  import lantz_drivers.get_driver_class('Agilent', '8340A')?  Or am I misunderstanding how that would work?

I really like the get_driver_class solution, as it can also allow to easily list all availables drivers. Model does look awkward to add to every name, repeating the manufacturer might be better.

If you want the usual stuff, you do:
from lantz_drivers.company import Model38

But If you consider that the import takes too long for your script (which as I said before, is rare), you do:
from lantz_drivers import get_driver_class
C = get_driver_class('company', 'Model38')

I really hate doing
from lant_drivers.company import Company292939

but if that is the majority decision then I am fine with it.

This won't work wih an init.py full of imports. To really gain tme you need an empty init.py.

@MatthieuDartiailh What do you mean? lantz_drivers does not need any extra import

No lantz_drivers.company needs to be empty otherwise all imports are executed when importing lantz_drivers.company.model.

You can import the module without the __init__.py as long as you do not share anything.

But again the nice thing, in my opinion, is the aliasing and make it programatic. It is really useful for more high level appplications and when instantiating devices according to a configuration file

Well, autocomplete in ipython is also nice. It's certainly something to consider, though. I can definitely see how it could be very useful.

@alexforencich you were not happy with using standards for storing the "standard" base classes. You would prefer specifications (staying close to the IVI terminology).
If we want to keep direct import possible I would prefer to have an drivers.py file per vendor in which all drivers are imported but keep the __init__.py file empty as otherwise importing any driver would lead to building all the classes (as the  __init__.py found in keysight is executed when importing lantz.drivers.keysight.model_E8685A).
I will try to implement the get_driver_class function based on .yaml files, as I like aliasing the capabilities it opens and the possibility to use only the bare model name without any restrictions.

Another thing that could possibly be included in .yaml files could be identifying metadata, like USB vendor and product IDs, so that it would be possible to automatically detect a device and load the correct driver.  I'm not sure if this would be possible for all devices; it may not be feasible for devices that do not support the idn command.
And how about just making a folder 'base' for all of the base classes?  Short, simple, to the point.  Then you can have lantz.driver.base.dc_source.

I am fine with base too. As long as we do not conflict with a vendor name we are fine.
Things like usb vendor and product id can be specified in the PROTOCOLS class attributes. I should expand the docs on this. Your idea is interesting but will be indeed limited to instruments supporying *IDN.

Well, the idea I had about putting them in the yaml files is that then you don't need to load the whole driver to get the value.  There is probably something to be said for generating the yaml files from the python files in some way, though.

Also, what about some 'standard' features that should be supported by all instruments?  Things such as manufacturer, model, serial, firmware version, reset, error query, self test, etc.  IVI has a whole pile of these, but I think most of them aren't really all that necessary.

I do plan to have a look at the base IVI stack but I prefer to be cautious with what we impose on instruments (as some stupid one may break). But I will definitively add some base classes to take care of that.
In dc_sources I started an scpi packages for that kind of things, I will try to expand it.

Looking at the Inherent capabilities described in IVI:

DriverOperation : the base_driver class cover the cache handling, everything related to interchange check we can forget (at least for the time being), we address simulation in a different fashion so I don't think we need to do anything here.
Identity : here we have :

some infos about the driver (version, supported instrument models, vendor), having a version per driver would make sense, I am more skeptical about the others.
some infos about the instruments (manufacturer, model, firmware) this would be nice to unify, while still getting access to the raw *IDN? value

Utility :

self_test, reset, rest_with_defaults, error_query : those three make sense but may not be available on all instruments, we could have abstract classes in base, and SCPI/IEEE488 implementations
disable, and lock : lock is handled as the pyvisa level and make no sense for non-visa instruments, and I have no idea what disable is meant for.

I can create abstract classes in base and some concrete in scpi (should scpi be a root level package or live in base ?). For identity, I can perhaps take advantage of stringparser to let the user simply provide the template for the IDN answer as a class attribute.

That's basically the conclusion that I came to - some basic metadata - manufacturer, model, serial, firmware, possibly driver version information - and some standard actions - reset, self_test, error_query.  I'm not sure if there is anything else there that makes sense.
As for SCPI, this is not a base class as it implements commands, so it should not be in the base folder.  However, it could make sense to add corresponding base classes for the implemented features/actions.  A top-level SCPI folder would probably make the most sense.  I'm not sure about the ieee488 stuff, though, since it's common to multiple instruments but it isn't exactly SCPI.  Maybe we can have a top-level folder 'common' for things like that.  Or we could just throw it in the SCPI folder.

We could also have a common package and inside a ieee488 for * commands and a subpackage for scpi.

That works too.  Now, the next question is how best to organize the features.  All top-level, or would it make sense to organize a few things into subsystems?  As in, would it make sense to implement inst.model, inst.error_query, inst.reset, etc. or inst.utility.model/inst.meta.model, inst.utility.error_query, inst.utility.reset, etc.?

I think that reset, self_test, and query_error (better than error_query as this will be an action) should be at the root level, there are not that many and I don't think that list will grow. For the identity I think it would make sense to have a subsystem to avoid polluting too much the root, and I think calling it identity would be fine actually.

For the identity subsystem, I think it is fine to have more field than the instruments can potentially provide informations for (and we could simply leave them blank (returning '')), what bother me is that once again some instruments does not have reset, self_test, or error_reading capabilities (I do have such a case each command return an execution result but there is nothing such as error reading). I am in favor of keeping reset, self_test, and error_query in common but not in base. Actually I think that we won't be able to do everything with base classes but we will also need some guidelines (saying that name should be used) otherwise the number of base classes will blow up (for examples in DC sources I am currently in the nightmare of determining what should be base as basically no instrument I found (even a keysight E3631A) follow IVI recommendations).

Yeah, that's one of the issues with base classes - not everything matches up exactly, so either you have to have a very large number of very small base classes so you get the required granularity, or you have to provide some way to not implement particular portions of a base class (no feature/action at all), or leave unsupported features unimplemented (feature returns none/action does nothing or raises exception, etc).  None of which are ideal.


Add navigation property restrictions transforms

Closes https://github.com/microsoftgraph/microsoft-graph-devx-api/issues/630
This PR:

Adds Org.OData.Capabilities.V1.NavigationRestrictions annotations transforms for the below contained navigation properties

microsoft.graph.driveItem/workbook --> remove navigability
microsoft.graph.managedDevice/users --> remove indexability
microsoft.graph.user/joinedGroups --> remove indexability

We need to check their containment using these annotations as they are incorrect and we can't delete their containment value as this might lead to unintended consequences from other dependent tools.
NB: The whitespace diff. is as a result of my editor automatically removing unnecessary whitespace on Save; I thought of reverting them but I figured it's an appropriate correction anyway.

Closing this and re-opening a similar PR here: https://github.com/microsoftgraph/msgraph-metadata/pull/77
(to fix the broken build)

@irvinesunday FYI, if you queue a build on the same branch, it'll also report the status here :)


Manual Initialization

Added new feature for manual initialization, solves the problem in the following scenario:
Application loads initialization data asynchronously from the API or any back-end environment => fetched content does not fill the entire user's screen => no more content is fetched and there is no scroll bar because height check was executed before the response from the server.
Using this new component property, you can initialize the functioning of scroll manually and independently.
Usage:
<InfiniteLoading @infinite="infiniteHandler" :init="false"></InfiniteLoading>
once the initialization calls have finished you can dynamically change the property to:
<InfiniteLoading @infinite="infiniteHandler" :init="true"></InfiniteLoading>
If there is no :init property the code will work as usual.

Sorry I disagree that, we can simply use v-if to implement it, how do you think?

Hi @PeachScript yes that is what I tried first, however I couldn't get it working that way, maybe I am missing something. Could you please send me over exactly how you do it using v-if? Thank you so much in advance!

Hi @PeachScript, you were right, v-if does the job well. It was my mistake.


GUI is too big

I am playing on GUI x3 size (I am used to it) on 1920x1080 and the GUI of this mod is just too big with it, just look:

I have no idea if another mod is causing it, I sadly don't have time to check now.

As much as I would like to do something about this, Minecraft's GUI system does not really allow me to go about this in another way without having to write a significant amount of new UI code. For now I'll sadly just have to tell you to turn down your GUI scale when using the render UI
Cheers

user malilib fabric

As a genuine question as I know nothing about what it does in this case, how would that help?

Given that nobody has responded to this in quite a while now, I'll go ahead and close this issue as (at least currently) it's not something I can really fix
Cheers


right-sidebar: Hide inactive users when no query present.

This hides inactive users by default unless there is a search
query present, in which the user would likely be searching for
a particular user regardless of activity.

I think I wanted this originally, but Tim pushed back on it for small realms.

We could super easily throw in an exception for smaller realms if that's the case. For orgs less than 20 in size maybe? Very easy to check and just adds an if statement.

I'm saying that's how it already worked. :smile: I can't remember whether we drove it from the backend or the frontend.  I would test on master with a small realm to make sure there's no regression here, or get a sign-off from Tim.

Closing in favor of #9170.


Buttons in Admin_view_tests_and_users

Add 3 buttons in Admin_view_tests_and_users by Clickable_label_with_delete_buttons
Now button add new test/user fixed in window
Changed design of Admin_view_tests_and_users

resolved #67

@akrisfx


Release SM

Codecov Report

Merging #205 (f0636ae) into main (4da9198) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head f0636ae differs from pull request most recent head 28286f1. Consider uploading reports for the commit 28286f1 to get more accurate results

@@           Coverage Diff           @@
##             main     #205   +/-   ##
=======================================
  Coverage   43.63%   43.63%
=======================================
  Files          57       57
  Lines        4086     4086
=======================================
  Hits         1783     1783
  Misses       2303     2303

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 4da9198...28286f1. Read the comment docs.


Investigate and decide whether to use video constraints clientConstants.js or delete them

While implementing the camera selector for https://github.com/phetsims/paper-land/issues/85, I changed the code that sets up the camera to no longer use clientConstants.cameraVideoConstraints.  This was done because we wanted to the user to be able to choose the camera based on a manual selection rather than matching a set of constraints.  However, I'm not sure if there are some unintended consequences to this change.  The constraints seemed to be primarily about the minimum width, and I'm not sure why this would matter unless the user was in an environment where multiple cameras of various resolutions could be attached (and perhaps this was the case in Dynamic land, where this code originated) and the code needed to choose the best match.  The bottom line is that we probably should do some investigation and decide if these constraints should be reinstated in some way or deleted from the code altogether.
The commit where the usage of cameraVideoConstraints was removed is bdd2fa91421fbb51a2fa663edc21484107fa47e0.

Assigning to @BLFiedler for review and prioritization.


feat(swift5): ci: move macos and xcode target to latest

Upgrade ci to macos and xcode latest break the support for oldest version of iOS (at least 10).


Missed the verify step in check tests

Check tests need to assert the output, as well as run verify.  While
implementing this fix found the logging.StreamHandler was not
specifying a stream.


updated nvidia-smi detection logic to use the latest nvidia-smi available if the user has previous installations

If the user has previous installations of the Nvidia drivers, the current logic will use the first directory in the list of candidateDirs, but the directory may not be consistent with the user's currently installed Nvidia Drivers. This pull request will use the nvidia-smi with the most recent creation date, which will also be the installation date of the Nvidia drivers currently in use on the system.

@cconley717 thank you for the improvement! Version 4.33.7 just published.

@cconley717 thank you for the improvement! Version 4.33.7 just published.


Remove use of different databases systems in the example knexfile.js of the knex init

Questions about how to use knex
If I use knex init I would expect to have an example file with the initial recommended configuration. Because using different database systems is not the strength of knex (it needs a lot of tricks), I think it would be good only use one database system in the initial file.

What knex init creates currently? What configuration tricks different databases needs? Which database system should be used in the initial file? 🤔 Is this issue a feature request or what?

Currently the init creates sqlite3 for development and pg for all other environments.
I tried it one time use knex like that, but needed to write own insert and select wrapper, because the response object differs. Also I had issues because of different timestamp column types and something like that. So I would never try it again to use different database locally than in the actual environments.
I think pg is the one fits into the most use cases. So I would use that for all environments.

Currently the init creates sqlite3 for development and pg for all other environments.

Ah, right. That really doesn't make much sense (it was a common practise back in days though). 👍


How to run make test equivilent after buiilding wih scikit build core

I'm attempting to make use of scikit build core on openmc which currently has a two stage build process (cmake and pip)
Currently in the CI the package is build with cmake .. then tested with make test
Is there a way of running the equivalent of  this make test   command when the package has been built with scikit build core?

I would first question what is make test supposed to test. If you run it inside the build environment it does not pick up the post installation files (e.g. the python files), and by the time you make it work without it, you end up being able to simply run ctest without scikit-build-core. If you run it outside than you can simply run pip install -e and then do some standard pytest.
My approach is to have both a ctest and a pytest runner that complement each other, rather than trying to maneuver around having everything in one.

I would second that, if you have pure compiled tests, you should probably build outside of scikit-build-core and run those tests. You should also have pytest tests that run with the installed package.
but yes, what’s your describing is actually a build target, and we support specifying build targets.


Selecting which address plans to include using pattern matching

Overview
Remembering to include all address plans when creating an address space plan is a common source of errors when configuring EnMasse. This can be improved by allow entries in addressPlans to use pattern matching for including plans.

The selector mechanism in 1.0 should make this easier.


SlackAlerter ca_certs support

Feature for SlackAlerter ca_certs support

Any status on that? Is it acceptable as-is?
Do you prefer to have it generically for all relevant alerters or do you prefer the use of REQUESTS_CA_BUNDLE environment variable for requests module?

@Qmando: Any idea on that?
Thanks!

Merged into the beta branch.


Flutter error: "Downloaded executables cannot execute on host."

My flutter doctor show this error.. that error tell me to install lib32stdc++6.. I search in synaptic package manager.. And i need know what version are need to install.. Please help me..
Sorry for my bad english

Hi @xyz970
If i am not mistaken, you can supply run this command and you're good to go from this comment
sudo apt-get install lib32stdc++6
Thank you

still cannot detect them... Please help

Hi @xyz970
Have you tried restarting your computer?
Thank you

Hi @xyz970
Have you tried restarting your computer?
Thank you

I have... and still like that

Removing from tools designation since this is a documentation issue

the problem is solved now thanks for help everyone^_^


Special characters are escaped in entitygraphql

Hi,
GraphQL output is showing single quotes as \u00275, for eg "Ravi's test" is shown as "Ravi\u00275s test"....how will I preserve single quotes as it is....

Could someone please respond for this

Hey Santhid, could you make a small project or unit test to repro this issue?

Yes, something to reproduce would be helpful. More information about all the other pieces you are using as well. This library doesn't change strings (unless they need to be converted to dates etc) - the data you are loading may, or the JSON serialisation may.

Where does the data come from and what is the string format of that (UTF8, UTF16, etc)?

The data comes from on-prem SQL server tables. Will sql tables specify the string format? I dont think so...

Also turns out the RuntimeTypeJsonConverter is incorrectly not serialising null fields. As the spec does state to return null. Will fix this.

Thanks lukemurray!.... What about special characters being escaped?

' to \u0027 seems to be the default for JavaScriptEncoder.Default.
The fix pushed for the nulls should also fix opts.JsonSerializerOptions.Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping; not being used.

What should be added in my code to retrieve this fix? Should I add a separate controller? Wat changes are needed in startup.cs?

reference the new version from nuget is the normal way, version 5.4.3. Unless you are including the code directly then you need to update the repo you have checked out.

Fixed in 5.4.3


gulpfile.hygiene on Windows

I'm using Windows with core.autocrlf=true which means that files in my working directory have CRLF line endings, but are converted to LF when I commit. But I can't commit because the hygiene check fails because it sees the CRLF endings.
I got around it by converting the file to just use LF, but is there a recommended workflow for Windows environments? Working entirely in LF might work but inevitably some tool won't like that. Maybe hygiene could skip the line ending check if core.autocrlf=true?

Can someone speak on this? I attempted to make some commits while at work today (on a PC) and was getting hygiene errors regarding copyright header and bad EOL, but the same commit worked fine on my Mac.

Sure, let's tackle this.

Cool. I'm going to investigate when I get to work today. I'll make sure I have my environment set up properly and then send y'all some more context to help with debugging.

I had the same issue a while back when I was working on a PC.  I had to resort to bypassing git hooks on a stubborn issue even though my Git was configured to normalize line endings.  Thanks for reporting this issue :)

EOL checking is now skipped if core.autocrlf is set to true.

@joaomoreno - The copyright header check fails for me, because the expected header has '\n', and it checks for that exact string. Maybe use '\r\n' when core.autocrlf is true, or check for either type with a regex?


Improve error handling in tests

Assert there are no errors instead of printing the error
Fix tests that had errors because they weren't written correctly
Remove unnecessary prints in tests

Checklist

[X] Code compiles correctly
[ ] Relevant tests were added (unit / contract / integration)
[ ] Relevant logs were added
[X] Formatting and linting run locally successfully
[X] All tests pass
[ ] UA review
[ ] Design is documented
[ ] Extended the README / documentation, if necessary
[ ] Open source is approved

Comments were addressed, please re-review


Added support for Oga

I adapted this based on the existing libxml/Nokogiri code, if any further changes are needed just shoot.

@sferik: any comments on this PR?

Nice work on Oga!

Thanks!


Release download not working

Seems Shopware changed the location of the release packages. install:release is now broken.
[RuntimeException]
Could not open URL 'http://releases.s3.shopware.com/install_5.0.4.zip'.

Thanks for Reporting. I am able to reproduce this issue.
In the meanwhile you can use the latest keyword to download and install Shopware 5.0.4.

https://github.com/shopwareLabs/sw-cli-tools/pull/45 should cover this


Added Graphics Meetup 3 post

A post for the upcoming Rust Graphics Meetup
cc @kvark @cwfitzgerald

Sorry, overriding the block so I can get this out in time to advertise 😅


java.lang.ClassNotFoundException: org.apache.http.client.CredentialsProvider

Hi,
I can't use the latest snapshot 4.5.0. I get this error: Caused by: java.lang.ClassNotFoundException: org.apache.http.client.CredentialsProvider ON final WebClient webClient = new WebClient(BrowserVersion.CHROME);
I'm building the SNAPSHOT myself (i wanna contribute with something) using: mvn package -DskipTests
I think dependencies aren't installed as they should be
If I add the dependencies in my main project it works xD but why?

Fixed it by copying all the dependencies from the zip xD

:-D


modernised python packaging

I have made a pyproject.toml file as well as a setup.cfg file which is compliant with the latest python packaging recommendations.
These changes help me in creating an rpm for fedora as well. I will make an rpm package for v1.6.9 by including a patch file, but i think this modernized python packaging will help in possible future installation from pip.
Edit: I have not checked whether this interferes with the appimage creation script. But this does work well with python -m build.

AppImage seems to work just fine on my Debian and this doesn't touch any of the deb packages, so from my side that seems to be covered.
One thing that isn't is that your new method assumes that end user will always want the GUI. Which is reasonably fair assumption on a client, but not so much in case of headless servers. Do you have some ideas how to have an optional set of requirements? Preferably, but not necessarily while keeping the GUI libraries as default.

The changes introduced in #416 is what i came up with basically (those changes can easily be translated to the setup.cfg file). But that results in the following setup:
pip install syncplay would install everything without the gui requirements.
pip install syncplay[GUI] would install the client gui as well.
i noticed that @FallenWarrior2k head searched for a way to make the GUI default and couldn't find one. I am inclined to believe them. But I will look around a bit more to see if it possible without any workarounds.

I believe the extras-based approach is blocked on pypa/setuptools#1139.

Also to add some information, I tried to see if i could use a venv with pip to run the syncplay code on both a fresh ubuntu and Fedora VM.
Ubuntu:
Installing requirements with pip went well and it fetched pyside2 5.15.2. All good. But syncplay client wouldn't run and complained about some missing library. I had to install some package through apt to get it working from within the venv
Fedora:
I made a venv. pip install for some reason only installed pyside2 5.13.1 . This was throwing some error on the python code of syncplay. Installing the python-packages from fedora repos did not get rid of this error! But now that all the dependencies were installed, if i exit the venv, syncplay would work.
The reason i am pointing out my experience is to show that getting gui working with pip based install method probably wont be straighforward.

But I do agree with @FallenWarrior2k in that having at least the headless server package easily available on pypi would be awfully convenient.
Maybe we can make just the server package available through PyPI?

@daniel-123 I also want to point out that with this commit, all i have done is translate the old setup.py file to the new format. The behaviour is the same, as in the old setup.py file also assumed that the end user will always want the GUI client.
What I want to point out is that making syncplay avaialable on PyPI is not the primary objective of this pull request, but instead to make it easier to follow packaging guidelines in fedora for projects developed in python. I will make a copr repo by tomorrow for 1.6.9 and link it here

Before staring the review, just FYI, PySide2 wheels contain their own copy of Qt. So, in principle, there should be no need to resort to apt to run Syncplay after installing it from Python sources. However, there are some combinations of OS-PySide2 versions for which other libraries are missing when doing so.
This is the case for Ubuntu 20.04.3 and PySide2 5.15.2, in which the library missing is libxcb-xinerama.so.0 (see https://askubuntu.com/a/1069502). I just reproduced this on a fresh Focal Fossa VM. IMHO, this is a bug that should be reported upstream to PySide2. However, I can see that they cannot possibly support every target available... (though they should keep an eye on Ubuntu).
In short, I would not consider impossible to install Syncplay with GUI from PyPi, provided that all the dependencies behave as they should. Nevertheless, I do not think that PyPI should be a supported distribution channel for this project, as we already have quite a few. We actually invest a lot of effort for providing binaries specifically prepared to avoid having to use the sources.
In addition, I do not see the benefits of PyPi over plain git for developers and enthusiasts that still want to run from sources, as Syncplay cannot be used as a dependency in other Python projects.

Link to copr repo as promised:
https://copr.fedorainfracloud.org/coprs/batmanfeynman/syncplay/
I also want to suggest 3 modification to the syncplay.pl website:

In this page under "Problems running Appimage of Syncplay on Fedora", the link to issue number #355 is not present. Please fix this.
Add the link to the copr page at the end of this page
Maybe suggest using the rpm in my copr instead of the AppImage for now in the troubleshooting page

@batmanfeynman can you please add support for fedora 36 in your repo?

@soredake done!

@batmanfeynman Would it possible to get fedora 37 added to your repo? Thank you for working on this!

@corbmr  done.

General comment: the issue of having the GUI dependencies separate is not solved. I believe the vast majority of people that install from sources do that precisely because they do not want to have the GUI. Therefore, I do not think we can just merge this PR in a way that does not cover for this use case. Unless I am missing something, I think we need to keep the two separate requirements file, for the moment.

Link to copr repo as promised: https://copr.fedorainfracloud.org/coprs/batmanfeynman/syncplay/
I also want to suggest 3 modification to the syncplay.pl website:

In this page under "Problems running Appimage of Syncplay on Fedora", the link to issue number PySide missing from AppImage of version 1.6.5 #355 is not present. Please fix this.

Fixed.

Add the link to the copr page at the end of this page

I've added it to https://copr.fedorainfracloud.org/coprs/batmanfeynman/syncplay/ and https://github.com/Syncplay/syncplay/discussions/574

Maybe suggest using the rpm in my copr instead of the AppImage for now in the troubleshooting page

Done.

@Et0h @batmanfeynman Any idea if you could update the COPR Fedora 38 (and possibly build for Rawhide) and update the version to the latest release?


Modify the completion mechanism

On the topic or on the skills the completion mechanism isn't intuitive : When you write some letters, you have sometimes suggestions and in general an possiblity to create a nex term.
When new click on "create a new term" you can access to many suggestions ...
=> One should be able to access directly to the many possiblitilies, without cliking on "create a new term"...

Linked with #156


Flashing method

I see you’ve added to the README.md a flashing method that uses st-flash. Any reason not to do this instead?
$ ./openocd_program.sh target/thumbv6m-none-eabi/debug/examples/serial

Great question. Up until now I hadn't considered it. I modified the openocd config file (https://github.com/stm32-rs/stm32l0xx-hal/blob/master/openocd.cfg) to attempt this, but I keep running into issues either erasing or flashing the device. Any thoughts as to what the issue might be?
Output when attempting to only flash:
arkos-MacBook:stm32l0xx-hal arko$ ./openocd_program.sh target/thumbv6m-none-eabi/debug/examples/serial Open On-Chip Debugger 0.10.0 Licensed under GNU GPL v2 For bug reports, read 	http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. adapter speed: 300 kHz adapter_nsrst_delay: 100 Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD none separate Info : Unable to match requested speed 300 kHz, using 240 kHz Info : Unable to match requested speed 300 kHz, using 240 kHz Info : clock speed 240 kHz Info : STLINK v2 JTAG v17 API v2 SWIM v4 VID 0x0483 PID 0x3748 Info : using stlink api v2 Info : Target voltage: 3.215810 Info : stm32l0.cpu: hardware has 4 breakpoints, 2 watchpoints adapter speed: 300 kHz target halted due to debug-request, current mode: Thread xPSR: 0xf1000000 pc: 0x1ff00288 msp: 0x200007a8 Info : Device: STM32L0xx (Cat.1) Info : STM32L flash size is 16kb, base address is 0x8000000 flash 'stm32lx' found at 0x08000000 adapter speed: 300 kHz target halted due to debug-request, current mode: Thread xPSR: 0xf1000000 pc: 0x1ff00288 msp: 0x200007a8 STM32L0: Enabling HSI16 adapter speed: 2500 kHz ** Programming Started ** auto erase enabled Error: error writing to flash at address 0x08000000 at offset 0x00000000 ** Programming Failed ** shutdown command invoked
Output when attempting a mass erase before flashing:
 arkos-MacBook:stm32l0xx-hal arko$ ./openocd_program.sh target/thumbv6m-none-eabi/debug/examples/serial Open On-Chip Debugger 0.10.0 Licensed under GNU GPL v2 For bug reports, read 	http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. adapter speed: 300 kHz adapter_nsrst_delay: 100 Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD none separate Info : Unable to match requested speed 300 kHz, using 240 kHz Info : Unable to match requested speed 300 kHz, using 240 kHz Info : clock speed 240 kHz Info : STLINK v2 JTAG v17 API v2 SWIM v4 VID 0x0483 PID 0x3748 Info : using stlink api v2 Info : Target voltage: 3.211067 Info : stm32l0.cpu: hardware has 4 breakpoints, 2 watchpoints adapter speed: 300 kHz target halted due to debug-request, current mode: Thread xPSR: 0xf1000000 pc: 0x1ff00288 msp: 0x200007a8 Info : Device: STM32L0xx (Cat.1) Info : STM32L flash size is 16kb, base address is 0x8000000 stm32lx mass erase failed

I’ve had some weird issues too with the Nucleo-F767ZI. I’ve noticed that if you wait for the drive to appear, doing nothing with the board in the mean time, it then works reliably. I don’t know if it is the same with STM32L0 dev board though. I’ll receive one this week so I’ll be able to try.

Resolved the issue in commit 14a318a . As it turns out, OpenOCD release version 0.10.0 does not fully support the stm32l0 family. There are several errors in the stm32l0.cfg file that prevent openocd from programming/debugging the MCU. Later commits of OpenOCD resolved this issues, so I added instructions on how to install the newer builds. I also updated the flashing and debugging instructions to include GDB and GDBPy+Dashboard.


Agent is prompted to verify remote server authenticity when cloning submodule from unkown host

Buildkite Agent Version:
$ buildkite-agent -v
buildkite-agent version 3.0-beta.28, build 1618

When cloning a Git repo from BitBucket that has submodules in GitHub the agent is prompted to add the remote host to the known hosts:
Cloning into 'redacted'...
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

Most of our repos are in BitBucket and cloning those works fine. It appears the agent preemptively adds the remote host to the known hosts (https://github.com/buildkite/agent/blob/master/bootstrap/bootstrap.go#L972) and things are grand. However it doesn't add submodule hosts to the known hosts. I assume if on that agent machine we had a pipeline that used GitHub for the repo, and not the submodule, that would work and then this pipeline would pass.

For now I have just manually added the GitHub host to the agents known hosts.

Implemented! Will get this into a beta soon.

Thanks for the quick fix. :)

I seem to be hitting this problem on latest buildkite agent (3.4.0).
I've got a Bitbucket repo that has a single submodule from GitHub. When it tries to update the submodules it prompts to accept the GitHub keys and so prevents the build from continuing.
It doesn't fail on every build because an agent instance might have added the GitHub keys to wellknown through another pipeline job, but on newly deployed instances (AWS stack) it fails every time.
Looking at the code, the problem seems to be that it uses the following command to get the submodule URLs which it then uses to update the known_hosts:
git submodule foreach --recursive git ls-remote --get-url

As this is run before the submodules are initialised, the foreach always returns empty and so no URLs are returned.


Integrate cluster services into the mesh

Details
Currently, istio has no active workloads deployed into the mesh, this issue would require that most services be integrated and tested whilst running in the mesh using mTLS and no direct external internet facing traffic other than via the egress gateway.
Services to move:

prometheus
grafana
kured
sealed-secrets
metallb
loki
external-dns
dex
cert-manager
metrics-server
gitops-system (Fluxv2)
github actions
cloudflare-ddns
speed-test
gatekeeper
openebs
openfaas (serverless)

Once migrating to strict mTLS prometheus will need to be configured to continue to still be able to scrape targets in the mesh https://istio.io/latest/blog/2020/proxy-cert/

Tested the network namespace with the exception of metallb. Several new service entries have since been updated into istio-system namespace.


Relocation error occurred in cross compilation

hi ,i am Bruce. when i get started with repo & the build system, i perform ' m simulate-debug', and get the error as followed.
229/328] Linking C executable process_manager.instance.bin
FAILED: process_manager.instance.bin
: && /usr/bin/ccache /home/zzw/arm-gnu-toolchain/bin/aarch64-none-linux-gnu-gcc --sysroot=/home/zzw/sparrow/out/cantrip/aarch64-unknown-elf/debug  -march=armv8-a+crc   -D__KERNEL_64__  -D__KERNEL_64__   -static -nostdlib -z max-page-size=0x1000    -static -nostdlib -u _camkes_start -e _camkes_start  -Wl,--script=/home/zzw/sparrow/out/cantrip/aarch64-unknown-elf/debug/process_manager/linker.lds   -Wl,-umuslcsys_init_muslc /home/zzw/sparrow/out/cantrip/aarch64-unknown-elf/debug/lib/crt0.o /home/zzw/sparrow/out/cantrip/aarch64-unknown-elf/debug/lib/crti.o /home/zzw/arm-gnu-toolchain/bin/../lib/gcc/aarch64-none-linux-gnu/12.2.1/crtbegin.o CMakeFiles/process_manager.instance.bin.dir/process_manager/camkes.c.obj CMakeFiles/process_manager.instance.bin.dir/process_manager/camkes.environment.c.obj CMakeFiles/process_manager.instance.bin.dir/process_manager/proc_ctrl_seL4RPCCall_0.c.obj CMakeFiles/process_manager.instance.bin.dir/process_manager/sdk_manager_seL4RPCCall_0.c.obj CMakeFiles/process_manager.instance.bin.dir/process_manager/pkg_mgmt_seL4RPCOverMultiSharedData_0.c.obj CMakeFiles/process_manager.instance.bin.dir/process_manager/memory_seL4RPCOverMultiSharedData_1.c.obj CMakeFiles/process_manager.instance.bin.dir/process_manager/security_seL4RPCOverMultiSharedData_1.c.obj CMakeFiles/process_manager.instance.bin.dir/process_manager/logger_seL4RPCOverMultiSharedData_0.c.obj CMakeFiles/process_manager.instance.bin.dir/process_manager/camkes.cantripos.c.obj -Wl,--start-group         -lgcc -lgcc_eh  libsel4/libsel4.a  sel4runtime/libsel4runtime.a  camkes-tool/libsel4camkes/libsel4camkes.a  seL4_libs/libsel4sync/libsel4sync.a  util_libs/libutils/libutils.a  seL4_libs/libsel4vka/libsel4vka.a  seL4_libs/libsel4utils/libsel4utils.a  seL4_libs/libsel4bench/libsel4bench.a  seL4_libs/libsel4platsupport/libsel4platsupport.a  util_libs/libplatsupport/libplatsupport.a  seL4_libs/libsel4vspace/libsel4vspace.a  seL4_libs/libsel4muslcsys/libsel4muslcsys.a  libcantrip_process_manager.a  seL4_libs/libsel4utils/libsel4utils.a  seL4_libs/libsel4platsupport/libsel4platsupport.a  sel4runtime/libsel4runtime.a  util_libs/libplatsupport/libplatsupport.a  util_libs/libfdt/libfdt.a  -Wl,--undefined=arm_gic_ptr,--undefined=tegra_ictlr_ptr,--undefined=arm_gicv3_ptr,--undefined=fsl_avic_ptr,--undefined=ti_omap3_ptr  seL4_libs/libsel4simple-default/libsel4simple-default.a  seL4_libs/libsel4vspace/libsel4vspace.a  seL4_libs/libsel4simple/libsel4simple.a  seL4_libs/libsel4vka/libsel4vka.a  util_libs/libelf/libelf.a  util_libs/libcpio/libcpio.a  -Wl,-u -Wl,__vsyscall_ptr  seL4_libs/libsel4debug/libsel4debug.a  projects_libs/libvirtqueue/libvirtqueue.a  libsel4/libsel4.a  util_libs/libutils/libutils.a  musllibc/build-temp/stage/lib/libc.a -Wl,--end-group /home/zzw/arm-gnu-toolchain/bin/../lib/gcc/aarch64-none-linux-gnu/12.2.1/crtend.o /home/zzw/sparrow/out/cantrip/aarch64-unknown-elf/debug/lib/crtn.o -o process_manager.instance.bin && :
/home/zzw/arm-gnu-toolchain/bin/../lib/gcc/aarch64-none-linux-gnu/12.2.1/../../../../aarch64-none-linux-gnu/bin/ld: musllibc/build-temp/stage/lib/libc.a(__stdio_exit.o): copy relocation against non-copyable protected symbol `__stdin_used'

I install latest' aarch64-none-linux-gnu 'from https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads, which is the reason for the debug?  the version doesn't meet the requirement?

I solved this problem by install an older toolchain!!

However, when the image file was generated at the end of the execution, the following error occurred.
images/capdl-loader-image-arm-bcm2837
cd /home/zzw/sparrow/out/cantrip/aarch64-unknown-elf/debug && /usr/bin/objcopy -O binary /home/zzw/sparrow/out/cantrip/aarch64-unknown-elf/debug/elfloader/elfloader /home/zzw/sparrow/out/cantrip/aarch64-unknown-elf/debug/images/capdl-loader-image-arm-bcm2837
/usr/bin/objcopy: Unable to recognise the format of the input file `/home/zzw/sparrow/out/cantrip/aarch64-unknown-elf/debug/elfloader/elfloader'

one more question: qemu-system-aarch64: -machine raspi3b: unsupported machine type 'raspi3b'
Use -machine help to list supported machines,and i got the result that included raspi2 and raspi3.
I'm confused. I  installed qemu-system-aarch64 only. Do i need to install something else？

how can i get to the cantrip console? i do 'm simulator' and  get some information 'CANTRIP>EOF'. I don't know how to use the cantrip console.

Not sure why your qemu-system-aarch64 does not like the raspi3b image
unless it somehow got built with -DAARC64=0 (so 32-bit instead of 64-bit).
My qemu comes from an internal pre-built so am not sure how it was
configured:
$ qemu-system-aarch64 --version
QEMU emulator version 7.2.0 (Debian 1:7.2+dfsg-1+build1)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
You might get a more informed answer on the devel@ mailing list.
As to how to get a console; the sparrow-cantrip-full docs call out there is
no interactive console because there is no UART driver. I stick commands in
autostart.repl so they are automatically run at boot. But beware that atm
applications do not work correctly--I hope to push updates to GH this week
that fix that.
On Tue, Feb 14, 2023 at 1:24 AM BruceZhang5337 @.***>
wrote:

how can i get to the cantrip console? i do 'm simulator' and get some
information 'CANTRIP>EOF'. I don't know how to use the cantrip console.
—
Reply to this email directly, view it on GitHub
https://github.com/AmbiML/sparrow-cantrip-full/issues/7#issuecomment-1429395357,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRM7IOV7QRS3A5TPL26WIDWXNFMTANCNFSM6AAAAAAUTOAAWQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

thanks a lot for your reply. I solved the problem of 'qemu-system-aarch64' by replacing another version ,exactly the latest version. Looking forward to the launch of interactive console! :)
best wishes!


snapp system doesn't show snapp-cli version #

 npmPackages:
    snapp-cli: Not Found

Fixed by https://github.com/o1-labs/snapp-cli/pull/60


Fix example

This just fixes the example on PYPI by using the correct variable for the keystore.

Ahh, just did a release, but thanks for catching that! Wish we had a unified setup.py doc and README.md, which I understand is possible these days. But in the meantime, thank you!


The name 'JsonRequestBehavior' does not exist in the current context

We have created an ASP.NET Core web project using ASP.NET Core Web Application (.NET Framework) project template. An action method in our controller class is getting the above error in the following code:
using Microsoft.AspNetCore.Mvc;
.....
List<string> userList = new List<string>();
//Code for populating list here
return Json(userList, JsonRequestBehavior.AllowGet);

We've installed Json.NET (aka newtonsoft.Json) package via NuGet but still the same error. How can we resolve this error or what are the alternatives to get the above Json in ASP.NET Core Web Application (.NET Framework) project?

Have you tried return Json(userList);

This issue is being closed because it has not been updated in 3 months.
We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.


Change request: imagine

I would like to request a change in the playlist. This version is merely a piano version of John Lennon's image: https://open.spotify.com/track/7tLxZQX2tO9GxtyKQF6PuL?si=23lTe9d_TbuytV-E4agTaw, which is currently in the list.
My request is to change it for Spotify's remastered version: https://open.spotify.com/track/7pKfPomDEeI4TPT6EOYjn9?si=WfkuOR-pTOeqbGDFsinnZA

I actually also noticed that piano version and couldn't remember ever adding it to the playlist. Probably I just dragged in the incorrect version


@conda-forge-admin, please rerender

Additional comment:
No response

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I rerendered the recipe in conda-forge/napari-time-series-plotter-feedstock#4.


Facebook - Remove Stories, Reels, People you may know

Hides "Gaming" and "Video" tabs from top navigation bar
Hides Char & groups sidebar (below people that has birthday today)

I don't really use or consume any content on facebook, thanks for sharing as someone else might use them. Will close this, but please don't feel discouraged to share other websites which I might use.
Thank you 🙏


lifelines forces a downgrade of matplotlib

The setup.py file states that one of the dependencies is "matplotlib>=2.0,<3.0", which forces a downgrade of matplotlib. While this might be understandable for Python 2 users, it's a hassle for thouse using Python 3.
Ideally, this could be changed to use platform specific dependencies (see https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-platform-specific-dependencies and https://www.python.org/dev/peps/pep-0508/) so the downgrade is only forced for Python 2.
Maybe state 'matplotlib>=2.0,<3.0;python_version<"3.0"' as the dependency line?

I was facing the same issue. Also affecting numba and several other packages.

Ah nice, I like that solution. I didn't know I could do that. Let me rip a new release with that this morning.

(Aside: I'm nearing the point of dropping py2)

Okay, 0.19.1 with the conditional matplotlib 2.x install is on PyPI

Okay, 0.19.1 with the conditional matplotlib 2.x install is on PyPI

And it worked like a treat on my Python 3 environment. Thanks so much!


Content for Optimizing Page

PR remade to avoid dealing with merge conflicts in things unrelated to new content.
This PR currently covers the basic principles of writing fast-running code (minimise allocations and ensure type stability), along with a bit of why these are the principles. As well as this, it explains how (and why) to use BenchmarkTools.

can you fix the conflicts with main to see if it builds remotely?

Error comes from trying to display a static array. Weird.

I would open a Xranklin issue?

It's worked for us in the past, I suppose :')

@gdalle @adrhill things that need to be fixed before merge:

"SIMD and GPU programming" is not finished, do we keep what is already there or just wait till it's all done. I favour the latter.
What is going on with my #hideall at the top of the page? It's not hiding the output.
Macros like @benchmark have a return value and so they don't print the pretty graph when the code is run.

Macros like @benchmark have a return value and so they don't print the pretty graph when the code is run.

Maybe this here is the answer? https://franklinjl.org/code/#inserting_the_output

I don't know what I'm doing wrong but I can't make that work :/
Even using the example from the page I get:
┌ Warning: Command '\output' used before it was defined.
└ @ Xranklin ~/.julia/packages/Xranklin/6wt1L/src/convert/markdown/latex_objects.jl:62

Maybe it's different in Xranklin than Franklin?

Working on the review, made my way to the end of "benchmarking"


SNS create_topic should only accept valid characters

Closes #1328

Fixing Travis’ whining now

Ha yeah flake8 gets me alot

The API docs also don't mention spaces, the regex will need changing
If were going on the assumption that we don't want a topic to start or end with a _/- this regex will do that and enforce the length is at least 1 and not longer than 256 too ^[a-zA-Z0-9](?:[A-Za-z0-9_-]{0,253}[a-zA-Z0-9])?$

Coverage increased (+0.003%) to 92.16% when pulling ffabdb11b95f9d6f43c101c6d132ac71d513ec34 on adamgilman:master into 6e199d35b33c9516eb691e7985de3f0996b7c830 on spulec:master.

@adamgilman this is just about finished, there are just a couple of comments by Terry that need to be addressed. Thanks for doing this!

Sorry for the delay. Been busy at work and have it patched locally. Will
try to get a PR done today
On Sun, Nov 12, 2017 at 4:08 PM, Jack Danger<EMAIL_ADDRESS>wrote:

@adamgilman https://github.com/adamgilman this is just about finished,
there are just a couple of comments by Terry that need to be addressed.
Thanks for doing this!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/spulec/moto/pull/1329#issuecomment-343747621, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAKjWF64g1ZNrDoN7GS_uwTZK6oBPcwTks5s1xgOgaJpZM4QWKqC
.

Coverage increased (+0.2%) to 92.364% when pulling a68706cc66ee0df0d65801f55979335bc0f30fec on adamgilman:master into 6e199d35b33c9516eb691e7985de3f0996b7c830 on spulec:master.

Nice! @terrycain please merge if/when you approve this.

Yeah looks gread :smile:


ITI-67: probably outdated note

Section Number 2:<IP_ADDRESS>.3.1
Issue In revision 4, a new search parameter "creation" was added to ITI-67 and replaced "date" in the XDS on FHIR option. But the associated note (5) has been kept and still says:

Note 5: The FHIR DocumentReference does not yet have a query parameter for creationTime of the document, it has only a date element which is the creation date/time of the DocumentReference. For FHIR R4 we align these two elements so that query will function.

"date" was the creation time of the DocumentReference, "creation" is the date attachment was first created (which is the document creation time I guess?) and is an official FHIR R5 parameter.
Proposed Change Remove the note or update it (but there's not much to say except that "creation" is a FHIR R5 parameter).
Priority:

Low: Typo or other minor classification that an editor can manage. Requires no group discussion.

update note, as it is still needed as it explains why there is a MHD defined search parameter. Change Note to:
Note 5: The FHIR R4 DocumentReference does not have a .attachment.creation query parameter, it has only a date element which is the creation date/time of the DocumentReference. MHD adds the search parameter DocumentReference-Creation, to provide the functionality of search against the document creation date/time.


add some video courses for python section

add some video courses for python section((biggeners level and Intermediate level))

Hi, Thanks for your contribution dear @shahriaarrr
Please follow the convention in this repository, for example: Python Beginner Tutorial((NeuralNine)) should be changed to Python Beginner Tutorial by NeuralNine
Please change and commit again so we can merge
Thank you

Hi, Thanks for your contribution dear @shahriaarrr
Please follow the convention in this repository, for example: Python Beginner Tutorial((NeuralNine)) should be changed to Python Beginner Tutorial by NeuralNine
Please change and commit again so we can merge
Thank you

Hello @bobycloud .
The names of the course instructors were corrected according to what you said❤
If there are more cases to correct, be sure to tell me to correct immediately


Switch source to use the simple polling source

The simple polling source handles a few of the aspects I'd like -- retries for one.  Though I wish it supported a backoff :shrug: We can probably support that ourselves, though.

Can't do that, actually - polling source can only emit one at a time :\


After firmware upgrade, restarts required

Here are the log files.  I have to restart Grafana and Unifi-Poller after upgrading to firmware 4.0.49.
The last few lines of the file ..._2 show the time frame of the problem.  Data was simply not showing up before the restarts.
my_file_poller_dataz.txt
my_file_poller_dataz_2.txt
After restart, everything was back to working properly.

Okay, so unifi-poller died when the controller become unavailable. That's actually intended and normal behavior. Past versions of the poller would just keep running, unable to collect any data. In this case, it looks like you need something to restart the docker container when it dies. I'm a docker noob, but it looks like you can achieve this by adding --restart always to your docker run (or start?) command. When using a package on Linux, systemd will automatically restart the poller. This line basically says the controller turned off (or restarted or.. something), and this made the poller stop:
Get https://<IP_ADDRESS>:8443/api/stat/sites: dial tcp <IP_ADDRESS>:8443: connect: connection refused

When this happens the authentication cookie unifi-poller uses stops working. The controller can come back up, but the cookie is now invalid and a new one needs to be made. Re-making the cookie just means you need to start the poller back up.  I think setting up docker to auto restart is your fix here.
Refs
https://stackoverflow.com/questions/26852321/docker-add-a-restart-policy-to-a-container-that-was-already-created
https://docs.docker.com/engine/reference/run/#restart-policies---restart

I'm not using docker.  Could never get it to work and haven't had time to
get back to it yet.  Have company coming this weekend, so it won't be until
next week sometime.
M
On Wed, Jul 10, 2019 at 11:40 PM David Newhall II<EMAIL_ADDRESS>wrote:

Okay, so unifi-poller died when the controller become unavailable. That's
actually intended and normal behavior. Past versions of the poller would
just keep running, unable to collect any data. In this case, it looks like
you need something to restart the docker container when it dies. I'm a
docker noob, but it looks like you can achieve this by adding --restart
always to your docker run (or start?) command. When using a package on
Linux, systemd will automatically restart the poller. This line basically
says the controller turned off (or restarted or.. something), and this made
the poller stop:
Get https://<IP_ADDRESS>:8443/api/stat/sites: dial tcp <IP_ADDRESS>:8443: connect: connection refused
When this happens the authentication cookie unifi-poller uses stops
working. The controller can come back up, but the cookie is now invalid and
a new one needs to be made. Re-making the cookie just means you need to
start the poller back up. I think setting up docker to auto restart is your
fix here.
Refs
https://stackoverflow.com/questions/26852321/docker-add-a-restart-policy-to-a-container-that-was-already-created
https://docs.docker.com/engine/reference/run/#restart-policies---restart
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/davidnewhall/unifi-poller/issues/78?email_source=notifications&email_token=AC767ZILLCO4TFTIN7JA5PLP62TUDA5CNFSM4IAPMIIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZVNAMA#issuecomment-510316592,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC767ZOVNMSMCVQBA7WKUE3P62TUDANCNFSM4IAPMIIA
.

hah then my advice was useless! What command do you type in to restart unifi-poller?
Can you show me the output of
cat /lib/systemd/system/unifi-poller.service
sudo systemctl status unifi-poller

To restart I use:

sudo systemctl restart unifi-poller

pi@UnifiStats:~ $ cat /lib/systemd/system/unifi-poller.service

Sytemd service unit for unifi-poller.
[Unit]
Description=UniFi Poller - Stores UniFi Metrics in InfluxDB
After=network.target
Requires=network.target
[Service]
ExecStart=/usr/bin/unifi-poller $DAEMON_OPTS
EnvironmentFile=-/etc/default/unifi-poller
EnvironmentFile=-/etc/sysconfig/unifi-poller
Restart=on-error
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=unifi-poller
Type=simple
User=nobody
[Install]
WantedBy=multi-user.target
pi@UnifiStats:~ $ sudo systemctl status unifi-poller
● unifi-poller.service - UniFi Poller - Stores UniFi Metrics in InfluxDB
Loaded: loaded (/lib/systemd/system/unifi-poller.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-07-10 13:01:58 EDT; 11h ago
Main PID: 493 (unifi-poller)
Tasks: 9 (limit: 2200)
Memory: 14.0M
CGroup: /system.slice/unifi-poller.service
└─493 /usr/bin/unifi-poller
Jul 11 00:52:10 UnifiStats unifi-poller[493]: 2019/07/11 00:52:10 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
Jul 11 00:52:40 UnifiStats unifi-poller[493]: 2019/07/11 00:52:40 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
Jul 11 00:53:10 UnifiStats unifi-poller[493]: 2019/07/11 00:53:10 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
Jul 11 00:53:40 UnifiStats unifi-poller[493]: 2019/07/11 00:53:40 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
Jul 11 00:54:10 UnifiStats unifi-poller[493]: 2019/07/11 00:54:10 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
Jul 11 00:54:40 UnifiStats unifi-poller[493]: 2019/07/11 00:54:40 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
Jul 11 00:55:09 UnifiStats unifi-poller[493]: 2019/07/11 00:55:09 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
Jul 11 00:55:40 UnifiStats unifi-poller[493]: 2019/07/11 00:55:40 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
Jul 11 00:56:09 UnifiStats unifi-poller[493]: 2019/07/11 00:56:09 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
Jul 11 00:56:40 UnifiStats unifi-poller[493]: 2019/07/11 00:56:40 [INFO] UniFi Measurements Recorded. Sites: 2, Clients: 24, Wireless APs: 4
lines 1-19/19 (END)

Sweet. Try killing it. sudo pkill -9 unifi-poller Does system restart it? Run sudo systemctl status unifi-poller again and see what it says about the process dying.
That Restart=on-error line should keep it running when it dies. if system does does not restart it, edit /lib/systemd/system/unifi-poller.service and change  Restart=on-error to Restart=always then run sudo systemctl daemon-reload. Then try kill unifi-poller again to see if systemd restarts it. Please report back.

Grab the latest release. This bug is fixed. https://github.com/davidnewhall/unifi-poller/releases/tag/v1.5.0


Unable to set time in hours and minutes when setting Out of office duration

I am inspiring from the msdn article and I am not able to set the time in hours and minutes of the OOF, rest everything else works in the code, it sets the message & activates the OOF, the duration in days and current time in hours but not the time that I want to set exactly.

I found the solution:
I have to use OofState.Scheduled state and not OofState.Active.


Variables first defined in if statements results in confusing questions

For example, the following code (which is lines 31-47) with an argument of 21:
def get_ordinal(number):
    """
    Get the ordinal number (1st, 2nd, 3rd, 4th, etc.) for a number (1, 2, 3, 4, etc.)
    Handles 11, 12, and 13 as special cases. Works for any integer up to 100.
    """
    last_digit = number % 10
    if number in (11, 12, 13):
        suffix = "th"  # line 38
    elif last_digit == 1:
        suffix = "st"  # line 40
    elif last_digit == 2:
        suffix = "nd"  # line 42
    elif last_digit == 3:
        suffix = "rd"
    else:
        suffix = "th"  # line 46
    return f"{number}{suffix}"  # line 47

Had the question generated:
A value is assigned to variable suffix on line 42. On which line is suffix created?
A. 38
B. 43
C. 46
D. 47
The variable on line 42 is created on line 42, not line 38 (which was never run). In fact, line 42 itself never runs (line 40 does, and that is the line that created the variable, but it isn't a possible answer). But if we don't account for the actual argument given to the function, the answer would be 42, which is not a choice given.

I agree (will fix in few days). The suggested fix is to skip this question type (VariableDeclaration) for cases where a variable can be first created in different branches. This question type is supposed to be easy and not require actual code tracing. The question that asks for values assigned to a variable (VariableTrace) can be used to address this type of knowledge where required.


default addon already present and listed

Describe the bug
an add on list is already enlisted
To Reproduce
Steps to reproduce the behavior:

add food item>>see error

Expected behavior
the list shall be empty
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser Chrome
Version 122.0.6261.95 (Official Build) (64-bit)

@Inshirah23  Hey, I have fixed this by PR #480

@Inshirah23 Hey, I have fixed this by PR #480

Thanks, our team will review it today.

Fixed


add RetryDelay to partitionConsumer

add a RetryDelay member to the Topic struct to enable pass retry delay duration specified by the consumer. The RetryDelay value is specified at the topic initialization stage. It's also doable by specifying the value as a member of ConsumerTopic struct and init it at creation time.  The partitionConsumer Thread will check the RetryDelay value and sleep around RetryDelay duration before deliver the msg to the output channel.

It's failing CI because you need unit tests to cover at least 73.32% of the changed code. Please add test accordingly.


upgrade dependency to luxon 3.2.1

Hi! I'm working on a project that uses Luxon 3 and I'm hopipng to integrate luxon-parser to parse human inputs. In my testing, this package works great with the upgrade, but there's a signature change in Luxon's fromObject method. This PR:

upgrades the peer dependency
migrates fromAny to use the new signature of fromObject
adds a test using the zone option to verify the options param is passed through

Love, it! Thanks for the contribution. I'll make a tweak to the package.json that will allow us to test all three luxon versions and support all three. From the luxon npm release list, it looks like luxon is still releasing to the 1.x branch and the 2.x branch.

@senning I took your changes and added a few things including updating the npm version. I invited you to be a collaborator so that you can review the new combined PR: #7.
In the mean time, I published to npm, so you can use your changes right away.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (c2fadcc) to head (cad049a).
Report is 2 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##            master        #6   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           20        20
  Branches         8         8
=========================================
  Hits            20        20

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


Superfrog

Hej. Please add Superfrog music if possible. Thanks.

Hi,
Sorry, but Superfrog music uses The Player 4.x format, which is not supported by the playback library.
Supported formats are listed in https://github.com/krzykos/webaudio-mod-player/blob/build/README.md

Hey @SirVIeh !
In case you haven't noticed, please check out the new project: https://gamus.space/Amiga/Superfrog
Enjoy!


feat: Implement Encryption with Hash Digest

🚀 ### Feature: Implement Chunk-Based Data Encryption and Integrity Verification for Secure Data Transfer
Description
This pull request implements a mechanism for encrypting data in chunks before transfer and decrypting it after transfer completion as described in issue #3. The changes include the generation of a hash digest for each chunk to ensure data integrity during transmission. The changes involves:

Introduced AES encryption for each data chunk.
Added SHA-256 hash generation for each chunk.
Implemented verification of hash digest upon receiving data chunks.
Developed logic to decrypt and reassemble data after successful verification.

Related Issue
Fixes #3
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Motivation and Context
This change is required to enhance data security during transfers, addressing vulnerabilities associated with unencrypted data. Implementing encryption and integrity checks mitigates risks related to interception and tampering.
How Has This Been Tested?

Test Data Encryption: Created test cases to validate the AES encryption of data chunks.
Test Hash Generation: Verified the SHA-256 hash for each chunk.
Test Verification Process: Implemented tests to ensure that received data chunks could be verified against
their hash digests.
Test Decryption: Checked that the decrypted data matches the original data before encryption.

Screenshots (if appropriate):
Checklist:

[x] I have registered myself at Contrihub website.
[x] My code follows the code style of this project.
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

sir, Please review my pull request.

@anushkaVerma1007, since you are using AES, the key used on encryption side and decryption side should be the same. How is the key getting transferred between devices?
Where are the functions generateHash and verifyHash getting called on Data Block?

@SaiDheerajPeketi , apologies for the oversight. I have implemented the generateHash and verifyHash, but not integrated. The should be generated before sending the data, and on the recievers side, it should be verfied after decryption. Is this correct approach?

@SaiDheerajPeketi yes sir this is correct approach to do the task..

@anushkaVerma1007  Any updates?

@Pra-San sir can I correct my implementation and submit another pull request ?

@anushkaVerma1007  you can update this PR once you are done with your implementation.

@anushkaVerma1007 Any updates?

@anushkaVerma1007  Transfer process is crashing with the error:
FATAL EXCEPTION: main                                                                                Process: com.invincible.jedishare, PID: 31591                                                                                java.lang.IllegalStateException: AES key not initialized!                                                                                at com.invincible.jedishare.data.chat.BluetoothDataTransferService$sendMessage$2.invokeSuspend(BluetoothDataTransferService.kt:146)                                                                                at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)                                                                                at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)                                                                                at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)                                                                                at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)                                                                                at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)                                                                                at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)                                                                                at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)                                                                                at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)                                                                                Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@dc3cdaf, Dispatchers.Main.immediate]


Loading tensorflow before scipy.misc seems to cause imread to fail

If I load tensorflow before loading scipy.mics, scipy.misc.imread seems to return PIL.JpegImagePlugin.JpegImageFile.
E.g. if I write
import tensorflow as tf
import scipy.misc

im = scipy.misc.imread('1.jpg')

im will be something like array(<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=178x218 at 0x7F85ED8AA050>, dtype=object).
However, if I write
import scipy.misc
import tensorflow as tf

im = scipy.misc.imread('1.jpg')

im will be a normal array with dtype=uint8.
Why loading tensorflow first causes scipy.misc.imread to fail? I suppose this loading order should not matter.
I was building from source with commit 945a4b4cd12df0fdf3f0cc24b128bb4ce66ebf88. I don't think I had this problem with older versions.

This sounds like an issue with your pillow (or possible PIL) installation. See the answer to this Stack Overflow question for a suggestion on how to fix it.
My guess is that a different version of some common library like numpy is being loaded when you load the modules in the two different orders, which leads to the confusion. This would seem especially likely if you had installed TensorFlow in a virtualenv, since TensorFlow installs its own copies of some libraries (including numpy), which might not be compatible with the system-installed version of, e.g., scipy.

Thank you @mrry ! Actually I saw that post and tried the suggestion there but it didn't help. I am installing tensorflow on top of anaconda. I guess your thought is correct. I will try to figure this out. Before than I will just load tensorflow after scipy.

This is also an issue with opencv.
import cv2
import tensorflow
img = cv2.imread(...)
results in a numpy array with image contents.
import tensorflow
import cv2
img = cv2.imread(...)
this results in a None object for img.

I'm also having same issue and it looks like this is happening only when loading jpg image.

Which version of TensorFlow are you running? The 0.9 release candidate should have the fix.


HDK Integration

HDK is a new repository made by me here. It has a more modern implementation of low-level app utilities that should replace much of tz::core.
Add it to engine and remove a bunch of now-defunct stuff from tz::core

HDK is now properly integrated on master.


Yaml support

Initial yaml support to replace our current implementation of portal object in the repos.
I left the old code in for compatibility but moving forward would be great to switch to this yaml solution.

Still missing the post/patch function and the right formatting for linked files in MetaWorkflow


add MIT LICENSE

Hey, sorry for that, but I just realized this repo already has a License file, so I'll be closing this, ok? 😞


python 3 return single collection of JSONs

I have this query i am running:
from neo4j.v1 import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "neo4j"))

session = driver.session()

result = session.run("MATCH (a)-[r]->(b) WITH collect({source: id(a),target: id(b),caption: type(r)}) AS edges RETURN edges")

for record in result:
    print(record["edges"])

Now this works fine on my MAC, which uses python 2.7, but on my Windows Laptop, where I have Anaconda3 and python3 i get the following error:

File "C:\ProgramData\Anaconda3\lib\site-packages\neo4j\v1\api.py", line 663, i
n records
self._session.fetch()
File "C:\ProgramData\Anaconda3\lib\site-packages\neo4j\v1\api.py", line 321, i
n fetch
detail_count, _ = self._connection.fetch()
File "C:\ProgramData\Anaconda3\lib\site-packages\neo4j\bolt\connection.py", li
ne 255, in fetch
self._receive()
File "C:\ProgramData\Anaconda3\lib\site-packages\neo4j\bolt\connection.py", li
ne 284, in _receive
received = self.input_buffer.receive_message(self.socket, 8192)
File "C:\ProgramData\Anaconda3\lib\site-packages\neo4j\bolt\io.py", line 155,
in receive_message
received = self.receive(socket, n)
File "C:\ProgramData\Anaconda3\lib\site-packages\neo4j\bolt\io.py", line 139,
in receive
self._data[self._extent:new_extent] = data
BufferError: Existing exports of data: object cannot be re-sized

Could you provide the driver and server version that you are seeing this issue?

server version is 3.1.3, will upload the driver version when I get home

driver version is 1.2.1

@zhenlineo I've seen a similar issue when trying to fetch entities from the graph,
Exception BufferError: 'Existing exports of data: object cannot be re-sized' in 'neo4j.bolt._io.ChunkedInputBuffer.receive' ignored

I tracked it down to nodes in the graph which had a property with a fairly large JSON encoded string and thus I wonder whether the initial buffer isn't large enough. The workaround was merely to remove the property.
Our configuration is: Python 2.7, Neo4j 3.1.0, neo4j-driver 1.2.1.

@tomasonjo / @johnbodley - could you provide information on how big the oversized property needs to be to trigger this error?

@technige it's hard for me to say exactly as we've now removed the problematic data. My rough estimate would be that the JSON blob was between 1 - 10 MB.

I am having this exact problem when using a COLLECT that return a large list of objects.
For reference: collecting 200 relationships is not a problem, 50,000 relationships result in this error.
If more info is needed I can open a separate issue.

I am also having this problem using a COLLECT statement that is collecting more than a few thousand relationships. The query works without any problems in the web-client, however through the python bolt interface i get this error:
Exception ignored in: 'neo4j.bolt._io.ChunkedInputBuffer.receive'
BufferError: Existing exports of data: object cannot be re-sized
My Setup:
Python 3.5
neo4j-driver 1.2.1
(neomodel 3.2.5 - however the error happens in the neo4j driver)
According to the profiler it happens when it tries to collect 200 000 nodes/relationships.

From what I could test with my current setup and database all my problems regarding the memory problem in the driver with large queries/results seem to have been resolved with the recent 1.5.3 update. As for me this issue can be closed.

@palladionIT, thank you for the feedback. I also take this issue as solved so far.
@tomasonjo @john-bodley @holmrenser The recent 1.5.3 release should have had this issue addressed. I am closing this thread now. If anyone who still have any issue regarding handling big record, please be free to open another new issue.
Zhen

@zhenlineo we recently ran into this issue again, though happy to report that upgrading to version 1.5.3 resolved it.


Some issues about that bbc_radio python,  not working ,

Hi again Stefan ,
I wanted to try this python scrypt , but I am getting problems ,
Launching it RUNS from vscode, I got the nice radio menus , but
Pressing  RAI 1  VLC can not play it,  but the same MRL copy / paste in web browser chrome and it works well
The problem seems to be in the VLC pkg itself , because out of this script , launching VLC, we can also not play the same MRL.  What could be the problem ?? thanks ,

More details,

Tentatively , just changing  vlc --> mpv , now it works well !
parser.add_argument('-p', '--player', default='mpv')
cheers,

RAI is blocking us based on User Agent. This works:
vlc http://icestreaming.rai.it/1.mp3 :http-user-agent='Mozilla/5.0'

Thanks for finding it .
I see. I have Checked it and it  works !!!!,
And I just checked the defaults User Agent of the other pkg mpv (that was working well)
and I could confirm that this also works,
vlc http://icestreaming.rai.it/1.mp3 :http-user-agent='libmpv'
I think  we can close that issue  .
The rest of BBC radio links , I think are just broken and needs to be recheck , but you solved the issue .
Thanks for your strong support  !

The rest of BBC radio links , I think are just broken

Yeah, I noticed. I'll get the new ones from here: https://garfnet.org.uk/cms/2023/10/29/latest-bbc-hls-radio-streams/


Failed to deploy with Gitlab

Bug report

What is the current behavior?
I tried the one click deploy through gitlab and three times in a row it failed to deploy, the project doesnt appear to be successfully cloned in my gitlab either.
If the current behavior is a bug, please provide the steps to reproduce.
Click to deploy a gatsby site from this page https://www.netlifycms.org/docs/start-with-a-template/.

What is the expected behavior?
Successful build and git repo cloning

Other relevant information:
Here is the deployment log:
2:31:04 PM: Build ready to start
2:31:06 PM: build-image version: 2dbd444fcdce00cf06325060a8238d5ae3e86774
2:31:06 PM: build-image tag: v3.3.7
2:31:06 PM: buildbot version: e2864b9f6fb42f8598086b4caa617ac9e650a222
2:31:06 PM: Fetching cached dependencies
2:31:06 PM: Failed to fetch cache, continuing with build
2:31:06 PM: Starting to prepare the repo for build
2:31:07 PM: No cached dependencies found. Cloning fresh repo
2:31:07 PM: git clone https://github.com/AustinGreen/gatsby-starter-netlify-cms
2:31:09 PM: Preparing Git Reference refs/heads/master
2:31:10 PM: Found Netlify configuration file netlify.toml in site root
2:31:10 PM: Found Netlify configuration file(s). Overriding site configuration
2:31:10 PM: Different functions path detected, going to use the one specified in the Netlify configuration file: 'lambda' versus '' in the Netlify UI
2:31:10 PM: Creating functions prep folder
2:31:10 PM: Starting build script
2:31:10 PM: Installing dependencies
2:31:11 PM: Downloading and installing node v10.20.1...
2:31:12 PM: Downloading https://nodejs.org/dist/v10.20.1/node-v10.20.1-linux-x64.tar.xz...
2:31:12 PM:
#######################
2:31:12 PM:                                    33.2%
2:31:12 PM:
####################
2:31:12 PM: #################################################### 100.0%
2:31:12 PM: Computing checksum with sha256sum
2:31:12 PM: Checksums matched!
2:31:15 PM: Now using node v10.20.1 (npm v6.14.4)
2:31:15 PM: Attempting ruby version 2.6.2, read from environment
2:31:17 PM: Using ruby version 2.6.2
2:31:17 PM: Using PHP version 5.6
2:31:17 PM: Started restoring cached node modules
2:31:17 PM: Finished restoring cached node modules
2:31:17 PM: Started restoring cached yarn cache
2:31:17 PM: Finished restoring cached yarn cache
2:31:17 PM: Installing yarn at version 1.9.4
2:31:17 PM: Installing Yarn!
2:31:17 PM: > Downloading tarball...
2:31:17 PM: [1/2]: https://yarnpkg.com/downloads/1.9.4/yarn-v1.9.4.tar.gz --> /t
2:31:17 PM: mp/yarn.tar.gz.YeRlJGpVXV
2:31:17 PM:   % Total    % Received % Xferd  Avera
2:31:17 PM: ge Speed   Time    Time     Time  Current
2:31:17 PM:                Dload  Upload
2:31:17 PM:   Total   Spent    Left  Speed
2:31:17 PM: 0     0    0     0    0
2:31:17 PM:   0      0      0 --:--:-- --:--:-- -
2:31:17 PM: -:--:--     0
2:31:17 PM:
0     0    0     0    0     0      0      0 --:--:-- --:--:--
2:31:17 PM: --:--:--     0
2:31:18 PM:
100    78  100    78    0
2:31:18 PM:    0    222      0 --:--:-- --:--:-- --:--:--   222
2:31:18 PM: 1
2:31:18 PM: 0
2:31:18 PM: 0
2:31:18 PM: 9
2:31:18 PM: 1
2:31:18 PM: 1
2:31:18 PM: 0
2:31:18 PM: 0
2:31:18 PM: 9
2:31:18 PM: 1
2:31:18 PM: 0
2:31:18 PM: 0
2:31:18 PM: 1
2:31:18 PM: 3
2:31:18 PM: 2
2:31:18 PM: 0
2:31:18 PM: -
2:31:18 PM: -
2:31:18 PM: :
2:31:18 PM: -
2:31:18 PM: -
2:31:18 PM: :
2:31:18 PM: -
2:31:18 PM: -
2:31:18 PM: -
2:31:18 PM: -
2:31:18 PM: :
2:31:18 PM: -
2:31:18 PM: -
2:31:18 PM: :--
2:31:18 PM: --:--:--   132
2:31:18 PM:
100   629  100   629
2:31:18 PM:   0     0    560      0  0:00:01  0:00:01 --:--:--   560
2:31:18 PM:
0     0    0     0    0     0      0      0 --:--:--
2:31:18 PM:   0:00:01 --:--:--     0
2:31:19 PM:
100  915k  100  915k    0
2:31:19 PM:   0   589k      0  0:00:01  0:00:01 --:--:-- 3281k
2:31:19 PM: [2/2]: https://yarnpkg.com/downloads/1.9.4/yarn-v1.9.4.tar.gz.asc --> /tmp/yarn.tar.gz.YeRlJGpVXV.asc
2:31:19 PM: 1
2:31:19 PM: 0
2:31:19 PM: 0
2:31:19 PM: 8
2:31:19 PM: 2
2:31:19 PM: 1
2:31:19 PM: 0
2:31:19 PM: 0
2:31:19 PM: 8
2:31:19 PM: 2
2:31:19 PM: 0
2:31:19 PM: 0
2:31:19 PM: 2
2:31:19 PM: 9
2:31:19 PM: 9
2:31:19 PM: 0
2:31:19 PM: 0
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: :
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: :
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: :
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: :
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: :
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: :
2:31:19 PM: -
2:31:19 PM: -
2:31:19 PM: 2
2:31:19 PM: 9
2:31:19 PM: 9
2:31:19 PM: 0
2:31:19 PM:
100    95  100    95    0     0   1537      0
2:31:19 PM:  --:--:-- --:--:-- --:--:--  1537
2:31:19 PM:
100   633  100   633    0     0   3275      0 --:--:-- --:--:-- --:--:--  3275
2:31:19 PM:
100   832  100   832    0     0   3536      0 --:--:
2:31:19 PM: -- --:--:-- --:--:--  3536
2:31:19 PM: > Verifying integrity...
2:31:19 PM: gpg: Signature made Fri 03 Aug 2018 07:53:36 PM UTC using RSA key ID B6FF4DE3
2:31:19 PM: gpg: Good signature from "Yarn Packaging<EMAIL_ADDRESS>2:31:19 PM: gpg: Note: This key has expired!
2:31:19 PM: Primary key fingerprint: 72EC F46A 56B4 AD39 C907  BBB7 1646 B01B 86E5 0310
2:31:19 PM:      Subkey fingerprint: E219 30C4 D0A4 AA46 1858  1F7A E074 D16E B6FF 4DE3
2:31:19 PM: > GPG signature looks good
2:31:19 PM: > Extracting to ~/.yarn...
2:31:19 PM: > Adding to $PATH...
2:31:20 PM: > Successfully installed Yarn 1.9.4! Please open another terminal where the yarn command will now be available.
2:31:20 PM: Installing NPM modules using Yarn version 1.9.4
2:31:21 PM: yarn install v1.9.4
2:31:21 PM: [1/4] Resolving packages...
2:31:22 PM: [2/4] Fetching packages...
2:31:22 PM: (node:1374) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
2:31:51 PM: info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
2:31:51 PM: info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
2:31:51 PM: info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
2:31:51 PM: info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
2:31:51 PM: [3/4] Linking dependencies...
2:31:51 PM: warning "gatsby ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>2:31:51 PM: warning "gatsby ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>|| ^16.0.0".
2:31:51 PM: warning "gatsby > @typescript-eslint/eslint-plugin ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
2:31:51 PM: warning "gatsby > gatsby-cli ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>2:31:51 PM: warning "gatsby > socket.io > engine.io ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>2:31:51 PM: warning "gatsby > socket.io > engine.io ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>2:31:51 PM: warning "gatsby-plugin-netlify ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>2:31:51 PM: warning "gatsby-plugin-sass ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4.0.0".
2:31:51 PM: warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^3.0.0 || ^4.0.0".
2:31:51 PM: warning "netlify-cms-app ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>2:31:51 PM: warning "netlify-cms-app > netlify-cms-widget-code ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>2:31:51 PM: warning "netlify-cms-app > netlify-cms-core > redux-notifications ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^3.0.0".
2:31:51 PM: warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>2:32:08 PM: [4/4] Building fresh packages...
2:32:16 PM: Done in 54.73s.
2:32:16 PM: NPM modules installed using Yarn
2:32:16 PM: Started restoring cached go cache
2:32:16 PM: Finished restoring cached go cache
2:32:16 PM: unset GOOS;
2:32:16 PM: unset GOARCH;
2:32:16 PM: export GOROOT='/opt/buildhome/.gimme/versions/go1.12.linux.amd64';
2:32:16 PM: export PATH="/opt/buildhome/.gimme/versions/go1.12.linux.amd64/bin:${PATH}";
2:32:16 PM: go version >&2;
2:32:16 PM: export GIMME_ENV='/opt/buildhome/.gimme/env/go1.12.linux.amd64.env';
2:32:16 PM: go version go1.12 linux/amd64
2:32:16 PM: Installing missing commands
2:32:16 PM: Verify run directory
2:32:16 PM: Executing user command: npm run build
2:32:16 PM: ><EMAIL_ADDRESS>build /opt/build/repo
2:32:16 PM: > npm run clean && gatsby build
2:32:17 PM: ><EMAIL_ADDRESS>clean /opt/build/repo
2:32:17 PM: > gatsby clean
2:32:17 PM: info Deleting .cache, public
2:32:17 PM: info Successfully deleted directories
2:32:20 PM: success open and validate gatsby-configs - 0.086s
2:32:22 PM: success load plugins - 1.429s
2:32:22 PM: success onPreInit - 0.016s
2:32:22 PM: success delete html and css files from previous builds - 0.017s
2:32:22 PM: success initialize cache - 0.009s
2:32:22 PM: success copy gatsby files - 0.025s
2:32:22 PM: success onPreBootstrap - 0.004s
2:32:22 PM: success createSchemaCustomization - 0.018s
2:32:22 PM: success source and transform nodes - 0.253s
2:32:22 PM: success building schema - 0.437s
2:32:22 PM: success createPages - 0.087s
2:32:23 PM: success createPagesStatefully - 0.213s
2:32:23 PM: success onPreExtractQueries - 0.000s
2:32:23 PM: success update schema - 0.042s
2:32:23 PM: success extract queries from components - 0.463s
2:32:23 PM: success write out requires - 0.004s
2:32:23 PM: success write out redirect data - 0.001s
2:32:23 PM: success onPostBootstrap - 0.000s
2:32:23 PM:
2:32:23 PM: info bootstrap finished - 5.708 s
2:32:23 PM:
2:32:31 PM: error UNHANDLED EXCEPTION Callback was already called.
2:32:31 PM:
2:32:31 PM:   Error: Callback was already called.
2:32:31 PM:
2:32:31 PM:   - async.js:16 throwError
2:32:31 PM:     [repo]/[neo-async]/async.js:16:11
2:32:31 PM:
2:32:31 PM:   - async.js:2818
2:32:31 PM:     [repo]/[neo-async]/async.js:2818:7
2:32:31 PM:
2:32:31 PM:   - next_tick.js:61 process._tickCallback
2:32:31 PM:     internal/process/next_tick.js:61:11
2:32:31 PM:
2:32:31 PM:
2:32:31 PM: not finished run queries - 8.255s
2:32:31 PM: not finished Generating image thumbnails - 8.209s
2:32:31 PM: not finished Building production JavaScript and CSS bundles - 8.095s
2:32:32 PM: npm ERR! code ELIFECYCLE
2:32:32 PM: npm ERR! errno 1
2:32:32 PM: npm
2:32:32 PM: ERR<EMAIL_ADDRESS>build: npm run clean && gatsby build
2:32:32 PM: npm ERR!
2:32:32 PM:  Exit status 1
2:32:32 PM: npm
2:32:32 PM: ERR!
2:32:32 PM: npm
2:32:32 PM: ERR!
2:32:32 PM:  Failed at the<EMAIL_ADDRESS>build script.
2:32:32 PM: npm
2:32:32 PM:  ERR! This is probably not a problem with npm. There is likely additional logging output above.
2:32:32 PM: npm
2:32:32 PM:  ERR! A complete log of this run can be found in:
2:32:32 PM: npm
2:32:32 PM: ERR!     /opt/buildhome/.npm/_logs/2020-04-26T18_32_32_058Z-debug.log
2:32:32 PM: Function Dir: /opt/build/repo/lambda
2:32:32 PM: TempDir: /tmp/zisi-5ea5d3681a021bf6d60baf43
2:32:32 PM: Prepping functions with zip-it-and-ship-it 0.3.1
2:32:33 PM: [ { path: '/tmp/zisi-5ea5d3681a021bf6d60baf43/hello.zip',
2:32:33 PM:     runtime: 'js' } ]
2:32:33 PM: Prepping functions complete
2:32:33 PM: Caching artifacts
2:32:33 PM: Started saving node modules
2:32:33 PM: Finished saving node modules
2:32:33 PM: Started saving yarn cache
2:32:33 PM: Finished saving yarn cache
2:32:33 PM: Started saving pip cache
2:32:33 PM: Finished saving pip cache
2:32:33 PM: Started saving emacs cask dependencies
2:32:33 PM: Finished saving emacs cask dependencies
2:32:33 PM: Started saving maven dependencies
2:32:33 PM: Finished saving maven dependencies
2:32:33 PM: Started saving boot dependencies
2:32:33 PM: Finished saving boot dependencies
2:32:33 PM: Started saving go dependencies
2:32:33 PM: Finished saving go dependencies
2:32:37 PM: Error running command: Build script returned non-zero exit code: 1
2:32:37 PM: Failing build: Failed to build site
2:32:37 PM: failed during stage 'building site': Build script returned non-zero exit code: 1
2:32:37 PM: Finished processing build request in 1m31.312956878s

Node.js version:
NPM/Yarn version
Operating System:
Additional tools:

It failed from github as well.

I encountered the same problem.

Hi everyone, #552 should fix these issues. Feel free to try it out and report back if the issues are still present

Works for me now thanks 👍🏿


New playbook action to increase node pool size limits

We can start by supporting only one cloud provider (e.g. EKS) - that's OK

Yep, exactly! Which cloud provider were you thinking of working on?

Yep, exactly! Which cloud provider were you thinking of working on?

Google Cloud


Trigger.dlrs_Membership_StatusTrigger: line 7, column 109:50:45.361<PHONE_NUMBER>)|FATAL_ERROR|System.DmlException: Upsert failed. First exception on row 0; first error: UNABLE_TO_LOCK_ROW, unable to obtain exclusive access to this record or 2 records: a0y1Q00000M8hTHQAZ,a0y1Q00000FdnyuQAB: []

When trying to create new members we receive the following error: Trigger.dlrs_Membership_StatusTrigger: line 7, column 109:50:45.361<PHONE_NUMBER>)|FATAL_ERROR|System.DmlException: Upsert failed. First exception on row 0; first error: UNABLE_TO_LOCK_ROW, unable to obtain exclusive access to this record or 2 records: a0y1Q00000M8hTHQAZ,a0y1Q00000FdnyuQAB: []
Can you help explain why we would be receiving this error?
Platform Event Process Error Log.txt

@afortner4 can you provide some details on your configuration and what you're trying to do?
Lock contention can be difficult to resolve. If you can't identify what is happening concurrent to this action you may need to consider the ability to run in Scheduled or Full Calculation modes to help avoid lock contention.

Closing due to inactivity