The calico-node is in the CrashLoopBackOff state

k8s version : 1.26.2
calico version: v3.25.0

kube-apiserver logs
{   "kind": "Event",   "apiVersion": "audit.k8s.io/v1",   "level": "RequestResponse",   "auditID": "16a01547-1f8b-4656-8075-85ff4a2b4f0f",   "stage": "ResponseStarted",   "requestURI": "/api/v1/namespaces/kube-system/serviceaccounts/calico-node/token",   "verb": "create",   "user": {},   "sourceIPs": [     "<IP_ADDRESS>"   ],   "userAgent": "install/v0.0.0 (linux/amd64) kubernetes/$Format",   "objectRef": {     "resource": "serviceaccounts",     "namespace": "kube-system",     "name": "calico-node",     "apiVersion": "v1",     "subresource": "token"   },   "responseStatus": {     "metadata": {},     "status": "Failure",     "message": "Unauthorized",     "reason": "Unauthorized",     "code": 401   },   "responseObject": {     "kind": "Status",     "apiVersion": "v1",     "metadata": {},     "status": "Failure",     "message": "Unauthorized",     "reason": "Unauthorized",     "code": 401   },   "requestReceivedTimestamp": "2023-03-17T06:10:40.036757Z",   "stageTimestamp": "2023-03-17T06:10:40.037844Z" }
Can you help me,thinks!

I create calico with the file https://github.com/projectcalico/calico/blob/d521de4a1c44076b95769e4781b5577aae4bcc38/manifests/calico.yaml

@tomastigera Thinks, I have solved it.The problem is caused by the k8s upgrade.

@helloxubo
Hello, I have encountered the same problem. Could you please tell me how you resolved it? My WeChat and QQ number is 280950204

@helloxubo "I have been solving this problem for a long time, but I still haven't been able to solve it. I hope to receive your reply as soon as possible."

@helloSuperxu  hello, I have contacted you through wechat.


Dependency on AAD Graph api, which are going to be obsolete in 2022

Terraform code to setup the infrastructure for Core services has a pre-requisite on AAD Graph api, which are going to be retired in 2022. Terraform code should be updated to use Microsoft Graph Apis instead.

@njain5-slb Where do you see a pre-requisite in this project for ADD Graph API.  I'm not exactly aware of where this may exist.

@danielscholl please go here and check the prerequisite section: https://github.com/Azure/osdu-infrastructure/tree/master/infra/templates/osdu-r3-resources

Okay for the R2 implementation Service Principals and Applications are being created by Terraform.  As defined by Project Cobalt the Service Principal as documented here should use AAD Graph API AD Application Read Write.  I'm not sure at the moment as I haven't validated it if MS Graph API Application Read Write would work exactly the same.  My thinking is that the answer is yes and it is just a documentation change that would be necessary.

This issue should now be addressed and answered by #132 and is being closed.


French (France) translation

Note: Before merging, I wonder what is the sense of the English string for "help_notime".

No Time is a useless string that used to exist
It was used for when "uptime" was 0 or falsey

Ah ok.
Also replace the "Inviter" at line 39 with "Invitation".
(I can't edit it, I dunno why)

K. Will pull when I get home

Actually I forgot that the help menu also needs translation. This is a file in /promo/help
Sorry

Not help, info

Ah

Did you just create a GitHub account to say "ah"?
Good Job


Error when opening the document

Description
Sorry for bad english. When I try to open my svg files before converting to png, I encounter this error below
Example data

var svgDocument = SvgDocument.Open("filename.svg");
Sample File : https://svg-clipart.com/svg/glitch/57uVccz-grendaline-mask-vector.svg
** (process:15421): WARNING **: 03:37:02.116: Requested 3087975 bytes. Maximum size for region is 262144 bytes.
Used Versions

Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1062.18.1.el7.x86_64
Architecture: x86-64
bash-4.2$ dotnet --version
3.1.201

The following seems to be cause.
https://github.com/mono/linux-packaging-libgdiplus/blob/master/src/region-bitmap.c#L169

I usually convert .SVG files to .PNG, this is the error I get when opening the file before converting. Do I have a chance to fix this or how can I go differently?

No memory is allocated in Open method...
Is there clue to 3087975 bytes ?

how to fix it


Demand mapping

Added new visualization functions, which can be analyzed in the electricity-demand-mapping repo

Hey @yashkumar1803 it's not technically part of this PR, but I do want to check in about a few things in the most recent version of your notebook, over in the demand mapping repo.

Is there a reason that you're pulling the tract level layer of the census geometries, and then dissolving them to the county level, rather than directly using the provided county layer of the census data?
There's a function integrated into PUDL for obtaining the Census DP1 and storing it locally:

pudl.analysis.service_territory.get_census2010_gdf() -- and you can set the desired layer to state, county, or tract.

The FERC 714 doesn't need to be obtained independently, as it will be downloaded automatically when you ask for the FERC 714 ETL to be run, which happens automatically inside of the PUDL output object (including inside of the FERC 714 Respondents class). All access to the FERC 714 data should be made through the PUDL output object, the interface ought to be pretty stable at this point. Also, it runs the ETL, so you don't need to do the extract / transform steps in the notebook anywhere. So for example...

pudl_settings = pudl.workspace.setup.get_defaults()
pudl_engine = sa.create_engine(pudl_settings['pudl_db'])
pudl_out = pudl.output.pudltabl.PudlTabl(pudl_engine)

# Get the county level Census geometries / data:
county_gdf = pudl.analysis.service_territory.get_census2010_gdf(pudl_settings, layer="counties")

ferc714_out = pudl.output.ferc714.Respondents(pudl_out)
ba_county_map = ferc714_out.georef_counties()

# FERC 714 hourly demand data:
dhpa_ferc714 = pudl_out.demand_hourly_pa_ferc714()

pd.read_csv() is happy to take a pathlib.Path object as an argument -- you don't need to str() the path first.
To select records from a given year, when you have a date field, you can use the datetime accessor for the datetime column so like ba_county_map_2010 = ba_county_map[ba_county_map.report_date.dt.year == 2010]

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

See the complete overview on Codacy


docker build failed

Trying to build dockerfile but got
COPY ./DataLibraries /Lean/Launcher/bin/Debug/
COPY ./AlphaStreams/QuantConnect.AlphaStream/bin/Debug/ /Lean/Launcher/bin/Debug/
COPY ./Lean/Launcher/bin/Debug/ /Lean/Launcher/bin/Debug/
COPY ./Lean/Optimizer.Launcher/bin/Debug/ /Lean/Optimizer.Launcher/bin/Debug/
COPY ./Lean/Report/bin/Debug/ /Lean/Report/bin/Debug/

Did dotnet build -f net5.0 /p:Configuration=Release /v:quiet /p:WarningLevel=1 QuantConnect.Lean.sln before without errors
 42 Warning(s)
    0 Error(s)

OSX Monteray 12.2.1. Docker for mac 4.4.2 (73305)

Hey @boskiv!
Some of those dependencies are other repositories that also require being built to get the full Lean image. You can remove them if not required for you. Some of the data sources at https://github.com/QuantConnect?q=Lean.DataSource&type=all&language=&sort= & https://github.com/QuantConnect/AlphaStreams .
Instead of building Lean from scratch what you could do is a custom dockerfile which uses lean as the base from quantconnect/lean and perform any custom operation you need.
Hope it helps!


Refactory dynamic chunking to plugin

🎉 This seems to work! Ill see if one of the dataflow jobs runs successfully and then we can finish this part of the hack up tomorrow @cisaacstern


feat(azure_sd): Allow filtering VMs and scale sets by tags

Currently with Azure service discovery there is no way to filter the VMs and scale sets that are scraped - the only option is to always scrape all servers.
This change extends azure_sd_config with a tags field.  This allows to scrape services only where they are running (e.g. to scrape the webserver stats only from VMs which are webservers).
I'm new to this codebase and to Go, so treat my code with suspicion :rofl:

You can already filter based on tag with relabelling and _meta_azure_machine_tag

Sure, you can filter the scraped metrics like that - but the aim here is to filter the targets before they are scraped, not the metrics after they are scraped.
For background, I'm scraping from a setup which involves VMs with many distinct purposes, e.g. webservers, cache servers, database servers, etc. For example, our webservers have nginx, Django/uwsgi (12 worker processes each), and celery (4 worker processes each) - so 17 ports to scrape. Different services are on different ports, since in our staging environments we use each server for more services.
If I scrape all ports from all VMs and then filter the metrics afterwards:

Many scrape requests are made to machines that aren't listening or exporting metrics. Not a disaster, but also not good. I might want to use those ports for another purpose, and not get regular requests to /metrics
The targets page in the prometheus web UI is permanently full of red failures. This makes it hard to see if all the scrape targets are working, since even when they are its still a sea of red
If there are different naming conventions for different types of servers and I want to make the labels in prometheus consistent, the relabel_configs become complex and brittle, since I need to ensure that in all cases the right set of regexes match - that they don't overlap, or that they are all compatible.

The solution I'm using is to tag each server with its deployment name and the services it exposes. For example, a webserver might be tagged as follows:

deployment_live: ''
service_django_celery_uwsgi: ''
service_nginx: ''

scrape_configs:

  {% for deployment in prometheus_deployments %} # Jinja2

  # This job is to scrape all the VMs which are part of scale sets
  - job_name: 'azure-scale-set-{{ deployment }}'
    relabel_configs:

      # Set the unique instance to "<machine_name>_<scaleset-instance>_<port>"
      - source_labels:
          - __meta_azure_machine_name
          - __address__
        regex: ^(.*-.*)-[0-9]+-[0-9]+-[0-9a-f]+-scaleset_(\d+);.*:([0-9]+)$
        target_label: instance
        replacement: ${1}_instance-${2}_port-${3}

      # Set the "server" label to the scale set name and the instance number
      - source_labels: [__meta_azure_machine_name]
        regex: ^(.*-.*)-[0-9]+-[0-9]+-[0-9a-f]+-scaleset_(\d+)$
        target_label: server
        replacement: ${1}_instance-${2}

      # Tag these metrics with the deployment
      - action: replace
        target_label: deployment
        replacement: '{{ deployment }}'

azure_sd_configs:
      {% for port in range(8020, 8020 + uwsgi_workers_per_server + celery_workers_per_server) %}

      - subscription_id: {{ subscription_id }}
        tenant_id: {{ tenant_id }}
        client_id: {{ client_id }}
        client_secret: {{ client_secret }}
        port: {{ port }}
        tags:
          service_django_celery_uwsgi: ''
          deployment_{{ deployment }}: ''

      {% endfor %}

      # nginxlog-exporter
      ### FOR ARGUMENTS SAKE:
      # I might want to put this in a different job, and use different relabel_configs to
      # account for a different naming convention (without having to make the regexes
      # compatible with all the other options, or scraping all the servers a second time)
      - subscription_id: {{ subscription_id }}
        tenant_id: {{ tenant_id }}
        client_id: {{ client_id }}
        client_secret: {{ client_secret }}
        port: 4040
        tags:
          service_nginx: ''
          deployment_{{ deployment }}: ''

The equivalent for static_config would be simply to specify multiple sets of servers - at the moment I don't think the same is possible with azure_sd_config.

The existing metadata will allow you to do that.

Could you be more specific?
I'm trying to filter the scrape targets themselves, not the scraped metrics, for reasons explained above.
It is not clear to me how metadata from the already scraped targets helps me to do that.

The filter  option for Google cloud seems to serve a similar function: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<gce_sd_config>

For ec2 again there is a "filters" option.
The Azure service discovery seems to be the outlier, in that there is no way to discover a subset of VMs.

This is a usage question, I'd suggest taking this to the prometheus-users mailing list. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.

Am I wrong that relabel configs are evaluated after discovery and scraping? That "_meta_azure_machine_tag" is only available AFTER discovery/scraping, so too late?
I'll ask on the mailing list, but since you can clearly see what I've missed, if you could point me in the direction of what my misunderstanding is, I'd be grateful.

you're looking for relabel_configs which happens after discovery but before scraping. This is equivalent to what you're attempting in this PR. Other SD mechanisms have filtering options because it is supported by the EC2/GCP/... API.

Right, that makes sense, thanks!
Not sure why I missed that. Potentially tweaking the first sentence in the relabel configs docs might help to avoid such confusion:
"Relabeling is a powerful tool to dynamically rewrite the label set of a target before it gets scraped"
That doesn't sound like it's possible to prevent the target from being scraped at all.


example workflow diagram

In talking with SJ last week about setting up and running a course with ofCourse we struck on the idea of some sort of diagram showing the relation of the various pieces.
Such a diagram might also be useful to the students in such a course.
I've got a diagram in the works the labels for which I'm not entirely comfortable, but I'll try to get it in as a PR for the Hive Mind to accept, reject, or improve.

Going to close this issue in lieu of PR #65 since that'll cover this.


image cleanup - separate step to remove old untagged images

ref #1955
The existing step did not remove old untagged images.
Added a step just for the removal of old untagged images.
This is working.

Codecov Report
Base: 51.32% // Head: 49.09% // Decreases project coverage by -2.22% :warning:

Coverage data is based on head (f135870) compared to base (0bf508e).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1994      +/-   ##
==========================================
- Coverage   51.32%   49.09%   -2.23%
==========================================
  Files         179      179
  Lines       14530    14530
==========================================
- Hits         7457     7134     -323
- Misses       6084     6412     +328
+ Partials      989      984       -5

Flag
Coverage Δ

acceptance-api
27.83% <ø> (-5.77%)
:arrow_down:

acceptance-apps
36.44% <ø> (+0.52%)
:arrow_up:

acceptance-cli
38.39% <ø> (-0.76%)
:arrow_down:

unittests
8.26% <ø> (ø)

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

Impacted Files
Coverage Δ

internal/dex/code_verifier.go
0.00% <0.00%> (-100.00%)
:arrow_down:

internal/api/v1/configuration/match.go
0.00% <0.00%> (-82.36%)
:arrow_down:

internal/api/v1/appchart/match.go
0.00% <0.00%> (-80.65%)
:arrow_down:

internal/api/v1/namespace/match.go
0.00% <0.00%> (-80.65%)
:arrow_down:

internal/api/v1/configuration/replace.go
0.00% <0.00%> (-60.38%)
:arrow_down:

internal/cli/usercmd/login_oidc.go
0.00% <0.00%> (-49.61%)
:arrow_down:

pkg/api/core/v1/client/client.go
51.42% <0.00%> (-40.00%)
:arrow_down:

internal/api/v1/configuration/create.go
34.28% <0.00%> (-37.15%)
:arrow_down:

internal/dex/dex.go
38.88% <0.00%> (-27.78%)
:arrow_down:

internal/dex/config.go
38.46% <0.00%> (-25.65%)
:arrow_down:

... and 28 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Added code snippet that doesn't use masks

It instead converts a CSV to SFrame. Code courtesy of @Kurry
Fixes #965

Good work!


Initial support for fzy lua

Close #565
Thanks to https://github.com/swarn/fzy-lua, the basic fzy Lua support in clap is much easier. The next step might be adding a user-friendly way to also support your https://github.com/romgrk/fzy-lua-native @romgrk . Let me know if you have any ideas about that.
~I have tested this PR against the latest neovim, but not sure I'll spend more time making it work with the older neovim and vim.~
Now it works with both latest neovim and vim.

I've added a single export point to fzy-lua-native, so you should be able to use it by simply requiring the file at fzy-lua-native/lua/init.lua. This file will automatically try to load the native version and fallback to the pure-lua one if that fails. So by loading it you can then use fzy.score or fzy.positions.
Eg
local fzy = dofile('.../path/to/fzy-lua-native/lua/init.lua')
if fzy.has_match(...) then
 ...
end

I use dofile instead of require because it's easier to load a file by absolute path that way.
Note that both the original and native implementation expose a fzy.filter(needle, haystacks, case_sensitive) function but it's format differs a bit from the fzy.filter that you have implemented here. If you want it can be modified for our usage, I think the folks at telescope are not using fzy.filter (@tjdevries can you confirm :+1: if we can modify that API? Dont wanna break it for you)
One more thing, I was playing with improvements and have added a fzy.filter_many in the native version, what it does is it loops over the haystacks in C rather than in lua. Haven't had time to make it the default but it probably should be because it brings a 100% improvement over the native-but-loop-in-lua version:

For including the package, I'd either copy-paste everything or include as a git submodule. I prefer copy-paste to avoid complexifying the install process of vim-clap.
Last thing, fzy-lua-native includes pre-compiled binaries for linux (x64 and arm), macOS (x64) and windows (x64), so it should be good for most users, but we might want to add a build step in Clap install-binary for this. All that is needed is to run make in the root of fzy-lua-native with gcc installed. I can probably add support for clang if it's there.

@romgrk you can break however is best. 😁 I have your thing as submodule, so it's locked to a particular version. I can upgrade and fix differences as you go.

@romgrk I have added the Lua support for Vim too. I'll leave the fzy-lua-native integration in the feature PR :(. I prefer to use it as a submodule as multiple files including the various prebuilt .so have to be copied and can bloat the clap repo?

:+1:
TBH fzy-lua-native isn't super useful for clap because there is already the rust backend for the heavy-lifting

I might be just too greedy :)

this is really awesome!
show current filter impl in lightline plugin:
function! ClapFilterImplStatusLine() abort
   let cur_impl = clap#filter#current_impl()
   return 'Clap: ' . get({
         \   'Lua': luaeval("require'nvim-web-devicons'.get_icon('', 'lua')"),
         \   'Python': luaeval("require'nvim-web-devicons'.get_icon('', 'py')"),
         \   'VimL': luaeval("require'nvim-web-devicons'.get_icon('', 'vim')"),
         \}, cur_impl)
endfunction

this is really awesome!
show current filter impl in lightline plugin:
function! ClapFilterImplStatusLine() abort
   let cur_impl = clap#filter#current_impl()
   return 'Clap: ' . get({
         \   'Lua': luaeval("require'nvim-web-devicons'.get_icon('', 'lua')"),
         \   'Python': luaeval("require'nvim-web-devicons'.get_icon('', 'py')"),
         \   'VimL': luaeval("require'nvim-web-devicons'.get_icon('', 'vim')"),
         \}, cur_impl)
endfunction


Error when run on x64 CPU

Hi, thank you for spend time to make this great project.
I got error about InteropServices.COMException when run on x64 CPU,
after call MediaDevice.Connect(), I cannot get info about SerialNumber, it throw exception.
Could you help me ?
Tks so much !

Hi tgnreg, In principle MediaDevices runs on x64 CPUs. To help you I need more information about the used device and details about the exception. Please check if all calls to the MediaDevice Library are executed by the same thread. MediaDevice is not thread safe. Please check if the error also occurs with my test app. Regards Ralf

Hi Ralf,
I have run into the same error. When I run MediaDeviceApp without any changes, it works fine. When I switch the platform to x64, build, and run it again, MediaDeviceApp encounters this error:
System.NullReferenceException: Object reference not set to an instance of an object.
   at MediaDevices.MediaDriveInfo..ctor(MediaDevice device, String objectId) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDevices\MediaDriveInfo.cs:line 23
   at MediaDevices.MediaDevice.<GetDrives>b__119_0(String o) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDevices\MediaDevice.cs:line 1214
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at MediaDevices.MediaDevice.GetDrives() in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDevices\MediaDevice.cs:line 1214
   at MediaDeviceApp.ViewModel.DriveViewModel.Update(MediaDevice device) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\ViewModel\DriveViewModel.cs:line 28
   at MediaDeviceApp.ViewModel.MainViewModel.set_SelectedDevice(MediaDevice value) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\ViewModel\MainViewModel.cs:line 150
   at MediaDeviceApp.ViewModel.MainViewModel.OnRefresh() in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\ViewModel\MainViewModel.cs:line 91
   at MediaDeviceApp.ViewModel.MainViewModel..ctor() in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\ViewModel\MainViewModel.cs:line 59
   at MediaDeviceApp.App.OnApplicationStartup(Object sender, StartupEventArgs e) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\App.xaml.cs:line 23
   at System.Windows.Application.OnStartup(StartupEventArgs e)
   at System.Windows.Application.<.ctor>b__1_0(Object unused)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at MediaDeviceApp.App.Main()

I've been working with filesystem operations and it seems that when the platform is x64, all the MediaDirectoryInfo methods I have tried return COMException with the message Element not found. (Exception from HRESULT: 0x80070490):
device.GetRootDirectory().EnumerateDirectories().ToList()

System.Runtime.InteropServices.COMException (0x80070490): Element not found. (Exception from HRESULT: 0x80070490)
   at PortableDeviceApiLib.IPortableDeviceValues.GetAt(UInt32 index, _tagpropertykey& pKey, tag_inner_PROPVARIANT& pValue)
   at MediaDevices.Internal.ComHelper.HasKeyValue(IPortableDeviceValues values, _tagpropertykey findKey)
   at MediaDevices.Internal.ComHelper.TryGetStringValue(IPortableDeviceValues values, _tagpropertykey key, String& value)
   at MediaDevices.MediaDevice.get_FriendlyName()
   at MediaDevices.MediaDevice.ToString()

I'm having trouble getting the debugger to give me anything more useful. Process Explorer tells me that the 64-bit version of C:\Windows\System32\PortableDeviceTypes.dll is loaded, but maybe there needs to be a 64-bit version of Interop.PortableDeviceTypesLib.dll (and ...ApiLib.dll) as well? But I'm just guessing.

Hi, I am having the same problem. Unchecking "Prefer 32-bit" in Build settings causes the same exceptions as reported by Aldaviva. I am on Windows 7, 64-bit.

So I have been doing some investigating and I believe that these problems are caused by some strange memory corruption. I have tried to eliminate complexity around the crashing parts to better understand what is going on and then I encountered something strange.
The linked for loop kept getting into an endless loop, but only on debug. So I investigated with debugger, added some padding values and found that they indeed do get corrupted. (All of this happens when prefer 32 bit is turned off.) I am still not sure what exactly corrupts the memory and what to do with it (as a C# newbie), but it explains all of the strange crashes I have encountered.
@Bassman2, @Aldaviva, any ideas?

Should be fixed with last update

Hello,
I have some speed optimizations built into MediaDevices available on Github.
You can tune it with Item.numObjectsToRequest.
This determines how much FileSystemEntries are requested at once.
Another idea is to use Stream.CopyTo with a larger bufferSize when copying files.
I would appreciate any feedback.
Regards
Ralf
Von: Ben Hutchison<EMAIL_ADDRESS>Gesendet: Donnerstag, 16. August 2018 10:39
An: Bassman2/MediaDevices<EMAIL_ADDRESS>Cc: Ralf Beckers<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Betreff: Re: [Bassman2/MediaDevices] Error when run on x64 CPU (#6)
Hi Ralf,
I have run into the same error. When I run MediaDeviceApp without any changes, it works fine. When I switch the platform to x64, build, and run it again, MediaDeviceApp encounters this error:
System.NullReferenceException: Object reference not set to an instance of an object.
at MediaDevices.MediaDriveInfo..ctor(MediaDevice device, String objectId) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDevices\MediaDriveInfo.cs:line 23
at MediaDevices.MediaDevice.b__119_0(String o) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDevices\MediaDevice.cs:line 1214
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Buffer1..ctor(IEnumerable1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at MediaDevices.MediaDevice.GetDrives() in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDevices\MediaDevice.cs:line 1214
at MediaDeviceApp.ViewModel.DriveViewModel.Update(MediaDevice device) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\ViewModel\DriveViewModel.cs:line 28
at MediaDeviceApp.ViewModel.MainViewModel.set_SelectedDevice(MediaDevice value) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\ViewModel\MainViewModel.cs:line 150
at MediaDeviceApp.ViewModel.MainViewModel.OnRefresh() in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\ViewModel\MainViewModel.cs:line 91
at MediaDeviceApp.ViewModel.MainViewModel..ctor() in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\ViewModel\MainViewModel.cs:line 59
at MediaDeviceApp.App.OnApplicationStartup(Object sender, StartupEventArgs e) in C:\Users\Ben\Desktop\MediaDevices-b012c52a1a86516eda575039ff27d7adb94c818e\MediaDeviceApp\App.xaml.cs:line 23
at System.Windows.Application.OnStartup(StartupEventArgs e)
at System.Windows.Application.<.ctor>b__1_0(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at MediaDeviceApp.App.Main()
I've been working with filesystem operations and it seems that when the platform is x64, all the MediaDirectoryInfo methods I have tried return COMException with the message Element not found. (Exception from HRESULT: 0x80070490):
device.GetRootDirectory().EnumerateDirectories().ToList()
System.Runtime.InteropServices.COMException (0x80070490): Element not found. (Exception from HRESULT: 0x80070490)
at PortableDeviceApiLib.IPortableDeviceValues.GetAt(UInt32 index, _tagpropertykey& pKey, tag_inner_PROPVARIANT& pValue)
at MediaDevices.Internal.ComHelper.HasKeyValue(IPortableDeviceValues values, _tagpropertykey findKey)
at MediaDevices.Internal.ComHelper.TryGetStringValue(IPortableDeviceValues values, _tagpropertykey key, String& value)
at MediaDevices.MediaDevice.get_FriendlyName()
at MediaDevices.MediaDevice.ToString()
I'm having trouble getting the debugger to give me anything more useful. Process Explorer tells me that the 64-bit version of C:\Windows\System32\PortableDeviceTypes.dll is loaded, but maybe there needs to be a 64-bit version of Interop.PortableDeviceTypesLib.dll (and ...ApiLib.dll) as well? But I'm just guessing.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/Bassman2/MediaDevices/issues/6#issuecomment-413470054, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AcNLlEwUzI0UVxCnllgsBX2DmZGo5OeOks5uRS-xgaJpZM4Vahfz.


Asciidoctor

[Merge] SwissKnife Asciidoctor documentation

I would like one of you to review a little bit the documentation merge. I could have done it myself, but I thought it would be better just one of you taking a look at it. If you agree just push the merge request button :)

I think everything's fine. Merging it :)


[Bug] Delete k8sService do not trigger de-registering vpc lattice targets

For example, if I have a full connectivity setup (set up gateway, httproute, services and deployment)
if I do kubectl delete service my-svc ( my-svc is referenced in the httproute ), the controller didn't trigger de-registering vpc lattice target (I think expected behavior is it should)
We should investigate the root cause

is it fixed in #332 ?

I think that is a seperate issue, will double confirm

Just tried this test case https://github.com/aws/aws-application-networking-k8s/blob/9add0cfa73bfca7fb823d47c620b661db531c224/test/suites/integration/deregister_targets_test.go#L69
Not been fix, this bug still exist

https://github.com/aws/aws-application-networking-k8s/issues/331
Resaon this bug happen:
Following controller could handle delete k8sService event:

route_controller.go (build model failed will not invoke lattice api to de-registering targets)
serviceexport_controller.go (build model failed will not invoke lattice api to de-registering targets)
service_controller.go (do nothing to handle delete k8sService event )

Potential fix:
in the service_controller.go, add finalizer when create k8sService,
when handling k8sService deletion requestion, get all related routes name by resourceMapper.ServiceToRoutes(), use k8sService Name and route name to get all its targetGroup by datastore. de-registering targets all targets for these targetGroup

We had a refactoring that deleted the service_controller.go deregistering targets logic and seems intend to use route_controller to do deregistering, but route_controller code path build target model failed

But I have a impression that even before this refactoring, the K8S service deletion already didn't work


[Resilience] Re-enable deployment retries

As a user, I want failed compass deployments to be retried in a sane way in case they failed, so that I'm not locked out of an upgraded system and my funds are protected.

DoD

[ ] Failed deployments are retried (there is some code present to remove a failed deployement (see here), this never worked . I don’t see a reason to not re-enable this.)
[ ] There's circuit breaker logic in place that prevents retries from burning through high amounts of gas

Other
⏰ Esimate
1 - 2 days

Fixed with https://github.com/palomachain/paloma/pull/1188


Jesse: Watch ivansurdual.netlify.app

Jesse requests the watch of the watch_keyword ivansurdual\.netlify\.app. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Jeff Schaller in Charcoal HQ


Update zh-CN

Thank you for the update.
But it looks like you text editor saved the files in UTF-8 with BOM, instead of UTF-8 without BOM.
Can you try to save them again with UTF-8 without BOM?

Oh...Sorry I can't do it by weekend. I'm a boarder and can't access to my computer.. My atom editor corrupted and i used Notepad instead...
Can you please copy the modified lines from PR and manually merge ?

No problem, and done :smile:


Handling TF softmax_cross_entropy_with_logits

Most TF graphs that run classification will run the softmax+crossentropy loss in one step with "tf.nn.softmax_cross_entropy_with_logits".
When freezing the graph to run for inference we can give the freeze_graph script the node that precedes this which is the unnormalized log probabilities. However it would be cleaner and better as well easier to interpret if we had an option to add in a softmax at the very end.
Maybe an override to the import function so that the user can specify to true?
Something like -
TFGraphMapper.getInstance().importGraph(some_pb_stream,add_softmax_endnode=true)

That's actually question for @agibsonccc
At this point we already have all TF loss functions implemented, except of sparse


Apply image fade in instantly.

When a image fades in, it stays in the tile position until the next image fades, without being applied to the canvas (no styles/blend mode)

Fixed


[SDK-962] Resolve Console Errors

What

These changes are to include some better error handling, as well as not throwing console exceptions on the event that the client is dropping frames. After investigation into the issue noted in the ticket, I noticed that when this event was happening, it happened when the frames got backed up, and then the user switches scenes. This would then close the old WS, and open a new one. This led me to find that the issue was that somewhere the client was resolving the promises, even though none of the responses were coming from the server. The root issue, pertains to setting a timeout on the frames. I am proposing in these changes that we remove this timeout so that on the event of dropped frames these errors don't show up to the client.
If there is an argument for keeping the timeout in, another change could be included to catch the exception and do a console.warn instead of the errors currently seen today.
I noted another issue in the SDK where switching between scenes rapidly would cause the Error Connecting to Vertex message would show, in addition to a console error. This was caused by some changes late last week pertaining to the .load functionality. The changes included here are to not show that exception if there is a frame present on the current scene. These changes are the ones in the file viewer.tsx.
A third issue I noticed was when changing between scenes rapidly, the call to notify on performance was failing as this call happens last in a chain of events. For now I propose this exception be caught, and replaced with a console.warn as seen below.
Ticket

https://vertexvis.atlassian.net/browse/SDK-962
Test Plan

Initial error:

Switch around the scenes and zoom/interact with each scene. Do this until you can see even a slight delay in the frames being returned.
Immediately switch scenes and let it sit for 10s. You should see no errors in your console.

Switching Scenes Rapidly & performance exceptions:

Given the example in the ticket with 5+ scenes, load the example, and rapidly click 5 distinct buttons (thus initiating 5 separate scene loads)
You should see the final scene load in
Wait 15s. You should not see the connection error message, nor a console exception pertaining to a promise timeout.
Take a look at the console. You should only see warnings pertaining to the performance calls, not console errors.

Areas of Possible Regression

N/A
Out of scope changes made in PR

N/A
Dependencies

N/A

This issue was easily reproducible for me without the reconnects. The timeout that was in place is intentional in cases the client never receives a draw frame request from FSS. Without it, the promise will never resolve and could hang the caller's code.
Have we taken a look in FSS to see if the frame correlation IDs are being correctly propagated to the rendered frame?

I was not able to reproduce without switching scenes. I can revisit, but I spent a good 30-45 minutes attempting to reproduce, and did not see this without switching scenes.

@danschultz I was not able to reproduce without switching scenes. I can revisit, but I spent a good 30-45 minutes attempting to reproduce, and did not see this without switching scenes.

Try spamming rotation of the model for a few seconds. I'm okay because of time permitting to silence the exception, but I'd propose we at minimum:

Take a peak thru FSS if we haven't already
Consider logging the exception with a warning
Complete the returned promise in some way

PR has been updated to log as a warning


dockeri.co is down

Fyi, looks like your DNS service is failing.

Pls pls fix this, I love your service and use it often 👍

This domain has expired and is now suspended.
http://www.dockeri.co/

Hey y'all, thanks for using this service :heart:
Just paid to renew the domain name, it should be back up soon. I set it to auto-renew, so this shouldn't happen again :smile:

Looks good, thanks!

Champion! 👍


Cannot use 'EVAL' with redis-cluster. AFTER UPDATE.

Laravel Version: 5.4
PHP Version: 7
Database Driver & Version: Redis

Description:
I'm not using cluster at Redis but when I'm using jobs I'm getting the exception:
EXCEPTION(most recent call first)FullRaw
Predis\NotSupportedException
Cannot use 'EVAL' with redis-cluster.
At database.php my setting is:
'redis' => [
    'cluster' => false,
    'default' => [
        'host' => env('REDIS_HOST', 'localhost'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => 1,
    ],

],

I've found the issue.... I've set my two servers (DEV and Production) at queue:work on same queue HAHAHA. Sorry guys. Closing that.


Silent failures in ./configure

The chained autoconf seems to be causing failures that aren't reported at the end of ./configure's execution.  Two that I've noticed so far are these:
(for gramtools)
checking for Jcode module in perl... Can't locate Jcode.pm in @INC (you may need to install the Jcode module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base).
BEGIN failed--compilation aborted.
configure: WARNING: no Jcode module in perl, gram2sapixml.pl may not work

Then these things in lots of places:
checking for dlopen... ./configure: line 1600: ac_fn_c_try_link: command not found no
checking for gethostbyname... ./configure: line 1751: ac_fn_c_try_link: command not found no

The Perl complaint can be fixed by installing libjcode-pm-perl, but the instructions don't mention that.  I'm not sure how the second set of complaints can hurt anything since I know that those functions are indeed present and usable.
Then I come to mkfa.  For some reason, make is never run in julius/gramtools/mkdfa/mkfa-1.44-flex.  This causes make install in julius/ to fail.
I'm running Debian 9 (Stretch) and I tried the master branch and the v<IP_ADDRESS> tag.

Fixed in recent commit, thanks!


Django documentation params

https://json-rpc.readthedocs.io/en/latest/django_integration.html
What is:
@api.dispatcher.add_method
def my_method(request, *args, **kwargs):
    return args, kwargs

What I have to use:
@api.dispatcher.add_method
def my_method(*args):
    return args

kwargs are only as args last element
request is method first param, not django request
can't implement @login_required decorator to json-rpc call

Hi, @luzik , I did not get your question. Could you paraphrase, please?

All based on your documentation:
@api.dispatcher.add_method
def my_method(request, *args, **kwargs):
    return args, kwargs

Ad. 1
I assumed that mixed args and kwargs rpc params should be translated into python args and kwargs like:
{'jsonrpc': '2.0', 'method': 'my_method', 'params': ['one', 'two', {'a': 4}], 'id': 5}
into:
args=['one', 'two']
kwargs={'a': 4}

but your code gives
[['two', {'a': 4}], {}]

Ad. 2
{'jsonrpc': '2.0', 'method': 'my_method', 'params': ['one', 'two'], 'id': 6}

gives
[['two'], {}]

where is 'one' ???
Ad. 3
Is there any way I can use https://docs.djangoproject.com/en/3.0/topics/auth/default/#the-login-required-decorator with @api.dispatcher.add_method ?

Thank you for your example, let me clarify some points here:
json-rpc 2.0 as a protocol accepts either args or kwargs but not both at the same time. In your first example the correct parsing should result in
args=['one', 'two', {'a': 4}]
kwargs={}

so the code should return
[['one', 'two', {'a': 4}], {}]

An example with kwargs would be
{
  'jsonrpc': '2.0',
  'method': 'my_method',
  'params': {
    'one': 'one',
    'two': 'two',
    'my_dict': {'a': 4}
  },
  'id': 5
}

Your second example is very similar to the first one. In both of them, the first argument is missing. Let me examine those further.
Lastly, decorators like login-required should be applicable to views as before. @api.dispatcher.add_method just register the function with api handler to pull it by name later. It does not know how this function was created and whether it uses decorators or not. The way to go should be:
from django.contrib.auth.decorators import login_required

@api.dispatcher.add_method
@login_required
def my_view(request):
    return "my code here"

The reason why this request exists with Django backend is because it's the way views work in the framework: request is expected.

Thank you for explanation. You are right about json-rpc 2.0.
I believe that fixing #2 (passing request variable from jsonrpc.backend.django view to method) will fix decorators like @login_required.
I also figured out that commit  https://github.com/pavlov99/json-rpc/commit/e5c05343cec23d020da03e0f1dfa7ee635bd939a#diff-279c3165c1125bfb9baf68ee7b61702d is not released yet and it is related to this issue

In fact, I believe this commit fixes the issue. Without it, the first argument ("one" in your example) is assigned to request variable of my_method.
I've just released 1.12.3 with the fix. Hope it helps your case.

@pavlov99 I don't think this should have been a patch-level version bump. It's going to break every existing deployed use of this package in Django projects that have methods with positional arguments.
Yes, it's a bug fix that brings behaviour in line with the documentation, but it's going to break working systems.

@MattFisher you are right! It was a premature decision on my side. I removed 1.12.3 from pypi and shall release 1.13.0 within 24h.

1.13.0 released.


Install all components

Before this commit, inside a describe speclj would only install the
component returned by each inner expression. This moves installation to
the place where components are created, so that test code like this
works as expected and runs 2 tests instead of just 1:
(let [x 1]
  (it "works 1" (= x 1))
  (it "works 2" (= x 1)))

This has always been a bit of a stumbling block, and while we'd normally
use an around or similar to contextualize code, there's no reason I
can see that this shouldn't just work.
refs #163

This looks like it would be nice to have. Any reason not to merge this?

Thanks @trptcolin!

@trptcolin - I hate to be the bearer of bad news, but unfortunately, merging this PR hampered our ability to run specs in ClojureScript (lein cljs in this project). The high-level descriptions were being found (and reported) but none of their contained characteristics or nested contexts were being executed. (We really should have all the specs running in a test environment via github actions to catch these sorts of problems before ever merging...)
So, we've manually reverted the changes submitted in this PR. You can see the referenced commit (above) for more of the gory details. We're not opposed to this functionality, but it needs to work in a ClojureScript environment as well as the Java runtime environment.
You are welcome to submit a new PR if you so desire!

Oh no, sorry to hear! I actually have no memory of this to be honest, glad to hear you caught the issue quickly.
I don’t do a lot of clj/cljs these days so happy for someone else to take a look. I re-opened the original issue (#163) in the meantime.


Improves title querying

Closes issue #4

Tested with:
title = "The New York Times - Breaking News, World News & Multimedia"
title = title.split(r"/[-–—-]+/")[0]
print(title)

does not work


No sound in videos?

@victorccaldas  Hello, Sorry but unfortunately I couldn't find a good library to play sound. So I decided not to include it, Maybe in the future, we can try that. Thank you.

In my library(Marusoftware/tkmedia3), using sounddevice for that.
And also, I was tried seek in real time, but it cause seek bug(for example, segfault).
In your library, you load all frames on memory. But it is only video.
When load both video and audio full frames on memory, it may be make high memory usage...

Hello @maru0123-2004, hope you are doing well. In the beginning, I was also trying to create an audio playback along with the video. But, I quickly realized the complexity involved in syncing audio and the video. I am happy to hear that you are working on a solution for that. Currently, my library loads all the frames into memory, I was working on a simple solution of poping the initial frames if the memory exceeds a certain memory limit set by the user. But, unfortunately, I was struck with a major project that requires my attention and time, hence couldn't work on it. I would probably in the future rework it.
I would also love to help and contribute during my free time to your library as long as it is open-sourced under MIT or any other permissive free software license.
The logic to seek, pause and play audio would be the same, take a look at this answer (it could provide an insight on how you could make it work): https://stackoverflow.com/a/69041999/15993687

I had a hard time using tkVideoPlayer, especially when it comes to playing sounds (which is pretty crucial for a video player).
So in the end I used vlc-python in a LabelFrame like this, and all the struggle was gone:
`class VideoPlayer(tk.Label):
def init(self, app, frame: tk.LabelFrame):
super().init()
self.master = frame
# Create a basic vlc instance
self.instance = vlc.Instance()
self.media = None
# Create an empty vlc media player
self.mediaplayer = self.instance.media_player_new()
...
def open_file(self):
    """Open a media file in a MediaPlayer
    """
    file_name = filedialog.askopenfilename(title="Please choose a video file.")
    if file_name:
        self.media = self.instance.media_new(file_name)
        self.mediaplayer.set_media(self.media)

        # The media player has to be 'connected' to the Frame (otherwise the
        # video would be displayed in it's own window). This is platform
        # specific, so we must give the ID of the Frame (or similar object) to
        # vlc. Different platforms have different functions for this
        if platform.system() == "Linux":  # for Linux using the X Server
            self.mediaplayer.set_xwindow(int(self.master.winfo_id()))
        elif platform.system() == "Windows":  # for Windows
            self.mediaplayer.set_hwnd(int(self.master.winfo_id()))
        elif platform.system() == "Darwin":  # for MacOS
            self.mediaplayer.set_nsobject(int(self.master.winfo_id()))

        self.media.parse()
        self.mediaplayer.play()

`

I made an implementation of a tkinter video player where you can also play AUDIO and VIDEO simultaneously.github page
pip install tkintervideo

from tkintervideo import player
from tkintervideo.tools import Controls
import tkinter as tk
from tkinter import ttk
import sv_ttk
import time

class App(tk.Tk):
    def __init__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)
        sv_ttk.set_theme('dark')
        self.m_widget = player.Player(self,height=200,width=300)

        self.rowconfigure(0,weight=1)
        self.rowconfigure(1,weight=0)
        self.columnconfigure(0,weight=1)

        self.m_widget.grid(column=0,row=0,sticky=tk.NSEW,padx=5,pady=5)
        self.m_widget.load('output.avi')

        self.controls = Controls(self,self.m_widget)
        self.m_widget.bind("<<Duration>>",self.controls.update_scale)
        self.controls.grid(column=0,row=1,sticky=tk.NSEW,padx=10,pady=10)
myApp = App()
myApp.mainloop()

Also if you liked this project,star it :)

Did you end up figuring out how to implement sound into tkvideoplayer? or should i use something else

@WizardEel https://stackoverflow.com/questions/69039745/python-tkinter-audio-playback-gui-play-pause-functionality-with-pyaudio-cant/69041999#69041999
Try using this to integrate sound, If you are unable to do so let me know.


Simple password based encryption

Overview
Create a password protected encrypted video file for the bootleg video asset.
Acceptance

A list of manual procedures that allows a small group of known buyers to get a decrypted downloadable  video with the minimum acceptance criterion being that there is reasonable security that others won't be able to get it easily

Can possibly reuse the AWS encryption script/process created as part of the dONT project. https://github.com/ConsenSys/web3studio-bootleg/tree/master/packages/aws-cli-encrypt

Readme updated in bootleg-app to cover encryption steps. Also full details on encryption and process here https://docs.google.com/document/d/1Fx8dQpUCHRiUWmd8_2EbC1-rfTudd45uO8wJ7kaVizQ/edit?usp=sharing


StreamingClient connection - have separate events for different status changes

Otherwise client code has to "switch" on different status strings

not implemented.


Added missing "event" argument to addEventListener() call in actions.js.

Very small change. Noticed that event.preventDefault(); was being called but the event listener function didn't have an event argument.

@rpnunez Thanks :+1:

No problem, pleasure is all mine @felixxm! Have a good one! :)


default value lines use same style which is # for all conf

Modified default value line style using "#".
related: leo-project/leofs#324

Thank you for your request. But we need to discuss whether we merge with your request or not. Please wait for a couple of days.

Thank you for your comment.
I see, I'll wait your decision.


List dependency versions in parallel

Context
We have projects with hundreds of dynamic version selectors, across many projects, and for projects that do not use dependency locking and the lock update process for those that do, that's a significant amount of time spent in serial version listing.
So, I thought I'd take an exploratory pass at resolving component ids in parallel, allowing version listing to take place in parallel. Tests pass, and the results look good in projects locally, but may certainly be interactions I'm not aware of that would be problematic. Here's the performance of the dependencies task on our worst case configuration with a warm cache, but resolutionStrategy.cacheDynamicVersionsFor set to 0 to cause all dynamic versions to be re-checked:

Before - 1m 1s
After - 22s

It wasn't obvious how much these were contributing from the console progress output, so I also added progress output for these events.
Issues
This implementation doesn't prevent duplicate requests for versions at the same level, so there's a disabled integration test for that.
Contributor Checklist

[x] Review Contribution Guidelines
[x] Sign Gradle CLA
[ ] Link to Design Spec for changes that affect more than 1 public API (that is, not in an internal package) or updates to > 20 files
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass locally: ./gradlew quickCheck <impacted-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation including proper use of @since and @Incubating annotations for all public APIs
[ ] Recognize contributor in release notes

This definitely needs more work to tease out the dependency listing from substitutions, as they're not going to be thread safe:
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.sun.jersey:jersey-core:1.19.1.
Required by:
    project : > netflix:cryptexclient-standalone:1.96
    project : > com.netflix.eureka:eureka-client:1.7.0
    project : > netflix:platform-ipc:4.4.2
    project : > netflix:rest-server-utils:1.89.0
    project : > netflix:videometadata-common:60.5
    project : > netflix:mantis-realtime-events:1.38.29 > netflix:nf-eventbus:1.32.0
    project : > netflix:pds-commons-services:1.706.0 > netflix:playback-metadata-model:2.551
    project : > netflix:bobafettclient:218.2 > netflix:platform-aws:4.4.2
    project : > netflix:registration:1.97.0 > netflix:akmsclient:4.4.2
    project : > netflix:registration:1.97.0 > netflix:base-explorer:4.4.2
    project : > netflix:sims2-common:88.614 > netflix:base-server:4.4.2
    project : > netflix:nfastyanax:1.55.21 > com.netflix.karyon:karyon2-admin:2.8.3
    project : > netflix:mantis-realtime-events:1.38.29 > netflix:nf-eventbus:1.32.0 > com.netflix.jaxrs:netflix-jaxrs-extensions-exceptionmapper:1.0
        at org.gradle.api.internal.artifacts.ivyservice.dependencysubstitution.DependencySubstitutionResolver.resolve(DependencySubstitutionResolver.java:42)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$SelectorState.resolveComponentId(DependencyGraphBuilder.java:1229)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ResolveComponentIdOperation.run(DependencyGraphBuilder.java:1311)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.access$900(DefaultBuildOperationExecutor.java:61)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$ParentPreservingQueueWorker.execute(DefaultBuildOperationExecutor.java:378)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation(DefaultBuildOperationQueue.java:183)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.access$600(DefaultBuildOperationQueue.java:132)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable$1.run(DefaultBuildOperationQueue.java:164)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch(DefaultBuildOperationQueue.java:159)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run(DefaultBuildOperationQueue.java:137)
        ... 3 more
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 14
        at nebula.plugin.resolutionrules.ExtensionsKt.matches(extensions.kt:10)
        at nebula.plugin.resolutionrules.AlignRule.ruleMatches(alignRule.kt:52)
        at nebula.plugin.resolutionrules.AlignRules$ApplyAlignsAction.execute(alignRule.kt:219)
        at nebula.plugin.resolutionrules.AlignRules$ApplyAlignsAction.execute(alignRule.kt:215)
        at org.gradle.api.internal.artifacts.ivyservice.dependencysubstitution.DefaultDependencySubstitutions$DependencyResolveDetailsWrapperAction.execute(DefaultDependencySubstitutions.java:244)
        at org.gradle.api.internal.artifacts.ivyservice.dependencysubstitution.DefaultDependencySubstitutions$DependencyResolveDetailsWrapperAction.execute(DefaultDependencySubstitutions.java:234)
        at org.gradle.internal.Actions$CompositeAction.execute(Actions.java:79)
        at org.gradle.internal.Actions$CompositeAction.execute(Actions.java:79)
        at org.gradle.api.internal.artifacts.ivyservice.dependencysubstitution.DependencySubstitutionResolver.resolve(DependencySubstitutionResolver.java:40)
        ... 16 more

@DanielThomas @oehme Could you confirm that this PR is waiting for Danny to fix the issue raised?

That's right. @DanielThomas anything I could help you with to speed this along?

@oehme just that one question about the cache locking. Planning on coming back to this once I've landed the gradle-profiler perf support.

Made dependency substitutions synchronous, should be good to go now.

I've rebased to fix the conflicts, and made changes to address the comments:

I'm now synchronizing on the result we're building for substitutions. It was going to be really difficult to get a project lock that deep in dependency resolution
The producer guard for version lookups are now a build scoped ProducerGuard

Actually, synchronizing on the result won't do it. Need to look at that again.

Closing as this is made obsolete by the ComponentMetadataVersionLister API


masterani.me shutting down

https://www.masterani.me/

Is it really happening?

If so we will have to change the anime provider

Seems like it.

Why?

DMCA it seems
Every video on the site says "Due to dmca / copyright law the content you're trying to view is unavailble."

So it is not official?

They probably fix those videos

No it's official. Front page of their website says they're closing

: ( Goodbye.

It’s finally time for us to use the cliche saying “All good things must come to an end”. It’s rare that we’ll write up an announcement like this in a more serious tone. But due to certain circumstances we'll be closing down masterani.me and stop serving any video links to anime on our website.
We realise that we have built and have an amazing community because of the entertainment that we have in common called anime, so we’ll keep the discussions open for a bit longer so that you can give proper goodbye’s to your fellow fans.
Thank you
Masterani.me
Our one and only domain is www.masterani.me any other site/app is pretending to be us, just be aware.

That’s sad :(.
We will eventually have to use another API or to create a scrapper

create a scrapper

I already have a pretty good scraper working https://github.com/vn-ki/anime-downloader. I am rewriting it currently and is planning to create a graphql plugin for it.
It would add the dependency of python, which is a bummer.


Feature: allow editing EIP-1559 max priority fee + refactor tx modals

What it solves
Resolves #3185
How this PR fixes it

Adds an editable Max Prio field in the "editable tx params" component, and passes it to the wallet
Refactored tx modals to not repeat this logic in each of the 20ish modals

How to test it

Make transactions on EIP-1559 networks (Mainnet, Rinkeby, xDai)
Make txns on non-1559 networks

Affected modals

[x] UpdateSafeModal
[x] RemoveGuardModal
[x] RemoveModuleModal
[x] RemoveLimitModal
[x] NewLimitModal
[x] ReviewCustomTx
[x] ChangeThreshold
[x] AddOwnerModal
[x] ReplaceOwnerModal
[x] RemoveOwnerModal
[x] SignMessageModal
[x] ConfirmTxModal
[x] ContractInteraction
[x] ReviewSendFundsTx
[x] ReviewCollectible
[ ] RejectTxModal
[ ] ApproveTxModal

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

29 of 88 (32.95%)  changed or added relevant lines in 15 files are covered.
10 unchanged lines in 5 files lost coverage.
Overall coverage increased (+0.6%) to 32.949%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/logic/safe/store/actions/createTransaction.ts
0
1
0.0%

src/logic/safe/store/actions/processTransaction.ts
0
1
0.0%

src/routes/safe/components/Settings/ManageOwners/AddOwnerModal/screens/Review/index.tsx
0
1
0.0%

src/routes/safe/components/Settings/ManageOwners/RemoveOwnerModal/screens/Review/index.tsx
0
1
0.0%

src/routes/safe/components/Settings/ManageOwners/ReplaceOwnerModal/screens/Review/index.tsx
0
1
0.0%

src/routes/safe/components/Transactions/helpers/EditableTxParameters.tsx
2
3
66.67%

src/routes/safe/components/Balances/SendModal/screens/ReviewSendFundsTx/index.tsx
0
2
0.0%

src/routes/safe/components/Balances/SendModal/screens/ReviewCollectible/index.tsx
0
3
0.0%

src/routes/CreateSafePage/components/SafeCreationProcess.tsx
0
4
0.0%

src/routes/safe/components/Settings/ThresholdSettings/ChangeThreshold/index.tsx
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/routes/safe/components/Balances/SendModal/screens/ReviewSendFundsTx/index.tsx
1
0%

src/routes/safe/components/Settings/Advanced/RemoveGuardModal.tsx
1
70.0%

src/routes/safe/components/Settings/ThresholdSettings/ChangeThreshold/index.tsx
1
0%

src/routes/safe/components/Transactions/helpers/EditTxParametersForm/index.tsx
1
19.61%

src/routes/CreateSafePage/components/SafeCreationProcess.tsx
6
4.88%

Totals

Change from base Build<PHONE_NUMBER>:
0.6%

Covered Lines:
3136

Relevant Lines:
8505

💛  - Coveralls

ApproveTxModal and RejectTxModal were intentionally left out of the modals refactor as they don't quite follow the same  shared rendering logic.

ApproveTxModal and RejectTxModal were intentionally left out of the modals refactor as they don't quite follow the same shared rendering logic.

A brief glance shows they share 90% of the same structure. You'd have to add the maxPrio fee there then.

ApproveTxModal and RejectTxModal were intentionally left out of the modals refactor as they don't quite follow the same shared rendering logic.

Make sure to make a new issue if the refactor is later intended. It may make sense to do complete immediately after this too.

I gave another round to make the ApproveTxModal/RejectTxModal use the modal wrapper but came across some points that made me decide to leave them out of this refactor again:

The nonce fetched from useTransactionParameters aims to serve creating a new transaction and is not the same as the transaction that we are trying to execute/reject
Bloating the wrapper component Props with props that only make sense in the Approve/RejectTxModal:

txConfirmations
txPreApprovingOwner
isExecution

Logic to dim  fields
Passing yet another prop for the "Reject Transaction" button
Custom logic for the Execution Transaction checkbox (one signer left)

In favor of leaving ApproveTxModal/RejectTxModal out of this refactor is:

The EIP-1559 fields already work out of the box as they are fetched from the useEstimateTransactionGas hook

I'm gonna need the fix of the issue #3305 because is not possible to create/execute tx normally if is not here.
@iamacook can you help us out once more here?

@DiogoSoaress

I'm gonna need the fix of the issue #3305 because is not possible to create/execute tx normally if is not here. @iamacook can you help us out once more here?

@DiogoSoaress or @katspaugh please merge dev into this PR.

@iamacook @francovenica just merged the latest dev into the branch

This PR still has the issue of the wrong type of tx signature being shown:

The "Policies modal" is allowing me to submit the same policies that are already in place. The button should be disabled until I set a different policies than the one already set

If the last person who has to sign the tx decides to NOT execute it (unchecks the checkbox) the whole advanced options should not be shown at all.
Currently the advanced options are showing and the warning message of "tx will likely fail" is shown

This PR still has the issue of the wrong type of tx signature being shown:

Updated to the latest code, it should be good now.

Updating only the "max priority fee" is messing up with the estimated amount of eth the user will have to pay as a fee.
Check the next 2 snapshots.
In the 1st one is estimated 0.1362ETH as a fee.
In the 2nd one, I've changed only the max priority fee from 2.5 to 5. Now the estimated fee is <0.001ETH
This is for any modal.

This PR still has the issue of the wrong type of tx signature being shown:

Updated to the latest code, it should be good now.

Yes, is fixed now. Thanks

In the "change policies" modal, in a safe 1/x, unchecking the "Execute tx" checkbox does nothing, the tx executes no matter what (you cannot queue this tx)
See in this gif how the checkbox is un marked as the tx is submitted, but the MM pop up is a onchain type of tx. submitting that executes the tx.

Question. According to this twit ledger should be able to support EIP1559, and it won't show it in the modal if you try to sign with the ledger.
I updated to he latest version of the ETH app (1.9.17)
I'd suggest to research a bit first and if it really should show fix it in a "ledger ticket"

@gnosis/safe-web By unifying the modals we are displaying in every modal the option to “Execute Transaction”. However, this option is not available in all the PROD modals, for example it does not exist in the Safe owner management ones (add owner, ...).
Shall we keep the same UX and not enable these transaction types to delay execution or should we enable the option to delay execution in all the modals?

All modals should behave the same wrt execution/gas info.

It looks like delayExection isn't passed to createTransaction.

It looks like delayExection isn't passed to createTransaction.
It should be passed like this.
@DiogoSoaress please check that all the modals are passing it.

@katspaugh  Please review the last commit. Addresses all the modals that didn't have the flag in the onSubmit callback

Perfect, thank you 👍

This bug is already present in DEV and I created a new issue for it https://github.com/gnosis/safe-react/issues/3358 .

This bug is already present in DEV. I've created a new issue for it #3358 .

Probably makese sense to include it in the reafctor of the approval window, no?

I say we should fix it in the current sprint @johannesmoormann

I've created a separate bug for it as it is already in dev and thus not tightly related with this PR

Are you not refactoring the approval modals in the sprint as well?

Warning message when unchecking the "execute now" checkbox

This'll be fixed in #3363.

@francovenica this issue https://github.com/gnosis/safe-react/issues/2935 is solved by this PR 🎉

All these issues have been fix so far
Wrong type of tx show when executing a tx (fixed)
Warning message when unchecking the "execute now" checkbox
Policies allow to set the same policies already present
Tx in policies execute even when the "Execute tx" checkbox is not checked
New issue:
The max priority fee can be left empty. MM still receives the default value of 2.5 if this happens
The max priority fee has an error message that is too long when a value <0 is set. The problem is that the error message won't allow the user to click the field to correct the value (unless it clicks almost at end bottom of the input)

Hey @francovenica , regarding your last comments:

The max priority fee can be left empty. MM still receives the default value of 2.5 if this happens

We are sending 2.5 as the default value. I will add this information to the PR description.

The max priority fee has an error message that is too long when a value <0 is set. The problem is that the error message won't allow the user to click the field to correct the value (unless it clicks almost at end bottom of the input)

This issue occurs in all the other modal inputs. I suggest to open a ticket to address it.


Retire and replace ...

With something that has smaller footprint, is more (re)usable and possibly more systematically tested.
Contender: https://github.com/martinpaljak/esteid.c

smartcardpp is discontinued and replaced

Replaced with what ... ?

OpenSC


No handlers could be found for logger

Hi!
I'm trying to get this working in our project and while testing with KRB5_DEBUG = True, I got the following console output:
No handlers could be found for logger "django_auth_kerberos.backends"

I have the following in settings.py (basically just like the README):
# kerberos realm and service
KRB5_REALM = 'TEST.EXAMPLE.COM'
#KRB5_SERVICE = 'http/TEST.EXAMPLE.COM'

# Enabled KDC verification defending against rogue KDC responses
# by validating the ticket against the local keytab.
KRB5_VERIFY_KDC = True

# Enable case-sensitive matching between Kerberos and database user names
KRB5_USERNAME_MATCH_IEXACT = True

# redirect url after login
LOGIN_REDIRECT_URL = '/'

KRB5_DEBUG =  True

I don't really get any console feedback about why auth is not working.
Any advice? Am I doing something wrong?

Nevermind! We have a custom logger, so I just had to import that one instead of the default one.


Is it possible to use image_ocr example for multiple line image?

The image_ocr code that is available in the example section, is it possible to use that code for multiple lines? I mean is this possible to use the code for a single printed document?

I have the same question, did you use this example on multiple lines text? Thanks.


Migrate multiple storage class selection to odf

Signed-off-by: Timothy Asir Jeyasingh<EMAIL_ADDRESS>

@bipuladh Please review

/retest odf-console-e2e-aws

/approve
/lgtm

/retest

/lgtm


Add tests

This closes #21
Added tests for

[x] part zeros
[x] simple optimization problem
[x] geometry traits are tested through function calls (and those throwing errors)

If tests pass, this is ready for merge.


High memory usage on 3.2.9

I'm running etcd to save json documents with a plain UUID key. All of my data is about 2-4GB. When I store in etcd it eats up close to 27 GB of RAM and more. It crashes consistently.
What am I doing wrong.

@ahmadster
Is --snapshot-count and--max-snapshots the only configurable flags that you used?
Does this memory issue happen all the time? or only happen occasionally?
Do you ever update to UUID key with different json doc?

snapshot-count and max-snapshots are the only configurable flags
It happens all the time consistently. I wipe out my data, start a fresh etcd data dir, it takes ~5-6 hours and it fills up again, then crashes and keeps crashing until I wipe the data out.
No, UUID key is never updated. Just a one time write.
The keys are all in a directory. So I create a directory named /json/ and when saving a new json I create a uuid and save it with key /json/abc123....
Could it be that each key in /json/ is considered an update and the whole directory is then snapshot on each write?

Here are my files since, I wiped about 4 hours ago.
[root@sjc04p1dkrap52 member]# ls -laRh
.:
total 16K
drwx------. 4 root root 4.0K Nov 30 19:34 .
drwx------. 3 root root 4.0K Nov 30 19:34 ..
drwx------. 2 root root 4.0K Dec  1 01:54 snap
drwx------. 2 root root 4.0K Dec  1 01:51 wal

./snap:
total 2.6G
drwx------. 2 root root 4.0K Dec  1 01:54 .
drwx------. 4 root root 4.0K Nov 30 19:34 ..
-rw-r--r--. 1 root root 1.3G Dec  1 01:52<PHONE_NUMBER>000002-00000000000e1348.snap
-rw-r--r--. 1 root root 1.3G Dec  1 01:54<PHONE_NUMBER>000002-00000000000e1733.snap
-rw-------. 1 root root  17M Dec  1 01:53 db

./wal:
total 367M
drwx------. 2 root root 4.0K Dec  1 01:51 .
drwx------. 4 root root 4.0K Nov 30 19:34 ..
-rw-------. 1 root root  62M Dec  1 00:51<PHONE_NUMBER>00000f-00000000000b0b03.wal
-rw-------. 1 root root  62M Dec  1 01:07<PHONE_NUMBER>000010-00000000000bc43e.wal
-rw-------. 1 root root  62M Dec  1 01:30<PHONE_NUMBER>000011-00000000000c7285.wal
-rw-------. 1 root root  62M Dec  1 01:51<PHONE_NUMBER>000012-00000000000d4588.wal
-rw-------. 1 root root  62M Dec  1 01:54<PHONE_NUMBER>000013-00000000000e0ffa.wal
-rw-------. 1 root root  62M Dec  1 01:51 1.tmp

@ahmadster
You are using the old v2 backend, which only support ~100MB total data size: see https://github.com/coreos/etcd/blob/master/Documentation/v2/benchmarks/etcd-2-2-0-rc-memory-benchmarks.md#data-size-threshold.
etcd is not designed to hold a lot of data either. Even with v3, we limit the data size to a few GB.

@ahmadster you should use v3 api instead of v2 api to write your key to etcd. try that out to see if same issue still occur.


rbd: call undoStagingTransaction() when NodeStageVolume() fails

On line 341 a transaction is created. This is passed to the deferred
undoStagingTransaction() function when an error in the
NodeStageVolume procedure is detected. So far, so good.
However, on line 356 a new transaction is returned. This new
transaction is not used for the defer call.
By removing the empty transaction that is used in the defer call, and
calling undoStagingTransaction() on an error of stageTransaction(),
the code is a little simpler, and the cleanup of the transaction should
be done correctly now.
Updates: #2610 (does not fix it)

Show available bot commands
These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:

/retest ci/centos/<job-name>: retest the <job-name> after unrelated
failure (please report the failure too!)
/retest all: run this in case the CentOS CI failed to start/report any test
progress or results

/retest ci/centos/k8s-e2e-external-storage/1.21

/retest ci/centos/k8s-e2e-external-storage/1.21

Failed due to #2264 (logs)

https://jenkins-ceph-csi.apps.ocp.ci.centos.org/job/mini-e2e-helm_k8s-1.20/2991/display/redirect
STEP: create a PVC and bind it to an app using rbd-nbd mounter with encryption
Nov  3 14:28:18.871: INFO: waiting for kubectl (delete -f args []) to finish
Nov  3 14:28:18.871: INFO: Running '/usr/bin/kubectl --server=https://<IP_ADDRESS>:8443 --kubeconfig=/root/.kube/config --namespace=cephcsi-e2e-6475a92e3dae delete -f -'
Nov  3 14:28:19.002: INFO: stderr: "warning: deleting cluster-scoped resources, not scoped to the provided namespace\n"
Nov  3 14:28:19.002: INFO: stdout: "storageclass.storage.k8s.io \"csi-rbd-sc\" deleted\n"
Nov  3 14:28:19.009: INFO: ExecWithOptions {Command:[/bin/sh -c ceph fsid] Namespace:rook-ceph PodName:rook-ceph-tools-7467d8bf8-tns74 ContainerName:rook-ceph-tools Stdin:<nil> CaptureStdout:true CaptureStderr:true PreserveWhitespace:true Quiet:false}
Nov  3 14:28:19.009: INFO: >>> kubeConfig: /root/.kube/config
Nov  3 14:28:21.239: INFO: Waiting up to &PersistentVolumeClaim{ObjectMeta:{rbd-pvc  rbd-3274    0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] []  []},Spec:PersistentVolumeClaimSpec{AccessModes:[ReadWriteOnce],Resources:ResourceRequirements{Limits:ResourceList{},Requests:ResourceList{storage: {{1073741824 0} {<nil>} 1Gi BinarySI},},},VolumeName:,Selector:nil,StorageClassName:*csi-rbd-sc,VolumeMode:nil,DataSource:nil,DataSourceRef:nil,},Status:PersistentVolumeClaimStatus{Phase:,AccessModes:[],Capacity:ResourceList{},Conditions:[]PersistentVolumeClaimCondition{},},} to be in Bound state
Nov  3 14:28:21.239: INFO: waiting for PVC rbd-pvc (0 seconds elapsed)
Nov  3 14:28:23.242: INFO: waiting for PVC rbd-pvc (2 seconds elapsed)
Nov  3 14:28:23.249: INFO: Waiting for PV pvc-61377b8e-3394-419b-a1a4-cc59fff74d10 to bind to PVC rbd-pvc
Nov  3 14:28:23.249: INFO: Waiting up to timeout=10m0s for PersistentVolumeClaims [rbd-pvc] to have phase Bound
Nov  3 14:28:23.251: INFO: PersistentVolumeClaim rbd-pvc found and phase=Bound (2.528273ms)
Nov  3 14:28:23.251: INFO: Waiting up to 10m0s for PersistentVolume pvc-61377b8e-3394-419b-a1a4-cc59fff74d10 to have phase Bound
Nov  3 14:28:23.254: INFO: PersistentVolume pvc-61377b8e-3394-419b-a1a4-cc59fff74d10 found and phase=Bound (2.293117ms)
Nov  3 14:28:23.265: INFO: Waiting up to csi-rbd-demo-pod to be in Running state
Nov  3 14:38:23.275: FAIL: failed to validate encrypted pvc with error timed out waiting for the condition

https://jenkins-ceph-csi.apps.ocp.ci.centos.org/blue/organizations/jenkins/mini-e2e_k8s-1.20/detail/mini-e2e_k8s-1.20/3016/pipeline
STEP: create a PVC and bind it to an app using rbd-nbd mounter with encryption
Nov  3 14:16:26.795: INFO: waiting for kubectl (delete -f args []) to finish
Nov  3 14:16:26.795: INFO: Running '/usr/bin/kubectl --server=https://<IP_ADDRESS>:8443 --kubeconfig=/root/.kube/config --namespace=cephcsi-e2e-b85affa4 delete -f -'
Nov  3 14:16:26.926: INFO: stderr: "warning: deleting cluster-scoped resources, not scoped to the provided namespace\n"
Nov  3 14:16:26.926: INFO: stdout: "storageclass.storage.k8s.io \"csi-rbd-sc\" deleted\n"
Nov  3 14:16:26.931: INFO: ExecWithOptions {Command:[/bin/sh -c ceph fsid] Namespace:rook-ceph PodName:rook-ceph-tools-7467d8bf8-kwzk9 ContainerName:rook-ceph-tools Stdin:<nil> CaptureStdout:true CaptureStderr:true PreserveWhitespace:true Quiet:false}
Nov  3 14:16:26.931: INFO: >>> kubeConfig: /root/.kube/config
Nov  3 14:16:29.121: INFO: Waiting up to &PersistentVolumeClaim{ObjectMeta:{rbd-pvc  rbd-8081    0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] []  []},Spec:PersistentVolumeClaimSpec{AccessModes:[ReadWriteOnce],Resources:ResourceRequirements{Limits:ResourceList{},Requests:ResourceList{storage: {{1073741824 0} {<nil>} 1Gi BinarySI},},},VolumeName:,Selector:nil,StorageClassName:*csi-rbd-sc,VolumeMode:nil,DataSource:nil,DataSourceRef:nil,},Status:PersistentVolumeClaimStatus{Phase:,AccessModes:[],Capacity:ResourceList{},Conditions:[]PersistentVolumeClaimCondition{},},} to be in Bound state
Nov  3 14:16:29.121: INFO: waiting for PVC rbd-pvc (0 seconds elapsed)
Nov  3 14:16:31.126: INFO: waiting for PVC rbd-pvc (2 seconds elapsed)
Nov  3 14:16:31.132: INFO: Waiting for PV pvc-16daf702-5452-4cc7-8895-f7a7569af183 to bind to PVC rbd-pvc
Nov  3 14:16:31.132: INFO: Waiting up to timeout=10m0s for PersistentVolumeClaims [rbd-pvc] to have phase Bound
Nov  3 14:16:31.134: INFO: PersistentVolumeClaim rbd-pvc found and phase=Bound (2.154951ms)
Nov  3 14:16:31.134: INFO: Waiting up to 10m0s for PersistentVolume pvc-16daf702-5452-4cc7-8895-f7a7569af183 to have phase Bound
Nov  3 14:16:31.136: INFO: PersistentVolume pvc-16daf702-5452-4cc7-8895-f7a7569af183 found and phase=Bound (2.154977ms)
Nov  3 14:16:31.150: INFO: Waiting up to csi-rbd-demo-pod to be in Running state
Nov  3 14:26:31.162: FAIL: failed to validate encrypted pvc with error timed out waiting for the condition

https://jenkins-ceph-csi.apps.ocp.ci.centos.org/blue/organizations/jenkins/mini-e2e_k8s-1.21/detail/mini-e2e_k8s-1.21/1670/pipeline
STEP: create a PVC and Bind it to an app with journaling/exclusive-lock image-features and rbd-nbd mounter
Nov  3 14:19:26.167: INFO: waiting for kubectl (delete -f args []) to finish
Nov  3 14:19:26.167: INFO: Running '/usr/bin/kubectl --server=https://<IP_ADDRESS>:8443 --kubeconfig=/root/.kube/config --namespace=cephcsi-e2e-11d03781 delete -f -'
Nov  3 14:19:26.308: INFO: stderr: "warning: deleting cluster-scoped resources, not scoped to the provided namespace\n"
Nov  3 14:19:26.308: INFO: stdout: "storageclass.storage.k8s.io \"csi-rbd-sc\" deleted\n"
Nov  3 14:19:26.314: INFO: ExecWithOptions {Command:[/bin/sh -c ceph fsid] Namespace:rook-ceph PodName:rook-ceph-tools-7467d8bf8-x24sn ContainerName:rook-ceph-tools Stdin:<nil> CaptureStdout:true CaptureStderr:true PreserveWhitespace:true Quiet:false}
Nov  3 14:19:26.314: INFO: >>> kubeConfig: /root/.kube/config
Nov  3 14:19:28.514: INFO: Waiting up to &PersistentVolumeClaim{ObjectMeta:{rbd-pvc  rbd-8081    0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] []  []},Spec:PersistentVolumeClaimSpec{AccessModes:[ReadWriteOnce],Resources:ResourceRequirements{Limits:ResourceList{},Requests:ResourceList{storage: {{1073741824 0} {<nil>} 1Gi BinarySI},},},VolumeName:,Selector:nil,StorageClassName:*csi-rbd-sc,VolumeMode:nil,DataSource:nil,DataSourceRef:nil,},Status:PersistentVolumeClaimStatus{Phase:,AccessModes:[],Capacity:ResourceList{},Conditions:[]PersistentVolumeClaimCondition{},},} to be in Bound state
Nov  3 14:19:28.514: INFO: waiting for PVC rbd-pvc (0 seconds elapsed)
Nov  3 14:19:30.517: INFO: waiting for PVC rbd-pvc (2 seconds elapsed)
Nov  3 14:19:30.523: INFO: Waiting for PV pvc-9a363347-4b34-408b-b354-618e5fb8a158 to bind to PVC rbd-pvc
Nov  3 14:19:30.523: INFO: Waiting up to timeout=10m0s for PersistentVolumeClaims [rbd-pvc] to have phase Bound
Nov  3 14:19:30.528: INFO: PersistentVolumeClaim rbd-pvc found and phase=Bound (4.704971ms)
Nov  3 14:19:30.528: INFO: Waiting up to 10m0s for PersistentVolume pvc-9a363347-4b34-408b-b354-618e5fb8a158 to have phase Bound
Nov  3 14:19:30.530: INFO: PersistentVolume pvc-9a363347-4b34-408b-b354-618e5fb8a158 found and phase=Bound (2.335935ms)
Nov  3 14:19:30.541: INFO: Waiting up to csi-rbd-demo-pod to be in Running state
Nov  3 14:29:30.548: FAIL: failed to validate pvc and application binding with error timed out waiting for the condition

This does not seem to fix #2610, but maybe it is still an improvement?

@mergifyio rebase

Fails
Fails ci/centos/mini-e2e/k8s-1.20
STEP: create rbd clones in different pool
[...]
Nov 16 13:24:42.415: INFO: Waiting up to rbd-32745 to be in Running state
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32740): timed out waiting for the condition
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32741): timed out waiting for the condition
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32742): timed out waiting for the condition
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32743): timed out waiting for the condition
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32744): timed out waiting for the condition
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32745): timed out waiting for the condition
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32746): timed out waiting for the condition
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32747): timed out waiting for the condition
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32748): timed out waiting for the condition
Nov 16 13:34:42.428: INFO: failed to create PVC and application (rbd-32749): timed out waiting for the condition
Nov 16 13:34:42.428: FAIL: failed to validate clones in different pool with error creating PVCs and applications failed, 10 errors were logged

https://jenkins-ceph-csi.apps.ocp.ci.centos.org/blue/organizations/jenkins/mini-e2e_k8s-1.20/detail/mini-e2e_k8s-1.20/3138/pipeline

ci/centos/mini-e2e/k8s-1.20 failed with logs:
    Nov 16 13:34:42.428: failed to validate clones in different pool with error creating PVCs and applications failed, 10 errors were logged

@mergifyio rebase


Build Raspberry Pi AppIMage (Linux ARM)

People have Pis lying around without use - please build Linux ARM version of AppImage so we can easily run it on them.

Hmm i must check if electron have cross compile feature
for now you can deploy it on Balena
https://github.com/opengs/uashield#deploy-attacker-on-your-raspberry-pi

Binary provided


Please tell which flutter etc. to build from source with

Using VS2022 latest I have now tried two flutter versions 3.19 latest and 3.12.7,
none of them works. Please tell precisely, which flutter version and environment should compile
sucessfully.
Thanks
amastm
some logs info:
lib/widgets/interface/fancyshot.dart(158,28): error G44692867: A value of type 'Pixel' can't be assigned to a variable of type 'int'. [C:\Users\xxx\dev\tabame\build\windows\flutter\flutter_assemble.vcxproj]
lib/widgets/interface/fancyshot.dart(1252,28): error G44692867: A value of type 'Pixel' can't be assigned to a variable of type 'int'. [C:\Users\xxx\dev\tabame\build\windows\flutter\flutter_assemble.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(254,5): error MSB8066: Custom build for 'C:\Users\xxx\dev\tabame\build\windows\CMakeFiles\73d8831042655c2f5e2969c5c6e2f1c3\flutter_windows.dll.rule;C:\Users\xxx\dev\tabame\build\windows\CMakeFiles\43b820c4c3000ba5fbecaf038ff513e9\flutter_assemble.rule;C:\Users\xxx\dev\tabame\windows\flutter\CMakeLists.txt' exited with code 1. [C:\Users\xxx\dev\tabame\build\windows\flutter\flutter_assemble.vcxproj]
Building Windows application...
Build process failed.

Same problem here in November 2024. @amastm Have you found the correct version of Flutter to compile without errors yet?

@amastm @simonoffcc
Here is a branch with updated source code: https://github.com/Far-Se/tabame/tree/personal
I do not update the main branch because I've changed enough code to not fit general purpose.


9,13-epoxylabda-14-ene synthase

Hi GO,
I would need a GO term for 9,13-epoxylabda-14-ene synthase activity (which catalyzes the conversion of peregrinol diphosphate to 9,13(R)-epoxy-labd-14-ene)
Thanks
Emmanuel
Term: 9,13-epoxylabda-14-ene synthase activity
Definition:
Catalysis of the reaction:
peregrinol diphosphate = (13R)-9,13-epoxylabd-14-ene + diphosphate;
probably child of GO:0016838 carbon-oxygen lyase activity, acting on phosphates
Xref:
RHEA:54512
EC:<IP_ADDRESS>
PMID:24990389;

all chebi's in GO

+id: GO:0106239
+name: 9,13-epoxylabda-14-ene synthase activity


Since 1.3.1 : Notice: Uninitialized string offset: 0 in ../ContentTypeListener.php on line 105

Hello,
After trying to use the last 1.3.1 version early released, i issued with this error notice :
Notice: Uninitialized string offset: 0 in ../vendor/zfcampus/zf-content-negotiation/src/ContentTypeListener.php on line 105
This notice appears on PATCH / PUT / DELETE request, whenever you did not pass any HTTP body − which is possible following standards.
As we can see within the code, trying to auto-detect JSON format in body when no Content-Type is provided is fine, but it must first detect if any body has been provided...
https://github.com/zfcampus/zf-content-negotiation/blob/4bf815bf428cdd4d6e6a658c9898d82998a4c124/src/ContentTypeListener.php#L105

Fixed with version 1.3.2.


Frustration: Fedora URI doesn't show up until cache clear

So, this is more of a "this works in a not-great way" than anything, and maybe it's my bad for not reading the docs, which do state "Clearing cache may be necessary to refresh the node display."
But if i create a new repository item, the Fedora URI doesn't show up until I clear the cache (or re-save the node). Not even a "Fedora URI: Pending" or some other way of showing that the system is expecting there to be a fedora uri.
As a result, i was baffled about why a content item, which was in Fedora, didn't get its URI displayed.  This is unintuitive and I thought something was broken.

I totally see that. I think we can force the pseudo field to have a default value of 'Pending', but then we'd still be subject to caching.  At least you'd see pending, tho.
If we want it to actually update appropriately without having to clear caches, we'll either need some cache wizardry in the pseudo field's code or we just make it a proper field. It would probably be way easier to make it a field with a default value of "Pending", and then when it actually gets set to the url, it will handle the caching.

This is not an issue now that we've done away with Gemini.


Fixed #24365 inspectdb should generate PositiveIntegerFields for unsi…

…gned fields in mysql

You should set django.db.backends.mysql.features.DatabaseFeatures.can_introspect_positive_integer_field to True (It defaults to False if not defined) for the appropriate tests to run.

Thanks! Will try to fix this today.

The code is incorrect. Signed/unsigned information is not part of the field description. Closing this PR while I try to work it out.


Consolidating setting compression level interface to ImageIOBase

There are two primary characterizations of compression level. 1) the
0-100 version for JPEG-like lossy compression which ranges 0-100 and
2) the loss-less with quality 0-9.
This implementation has the ImageIO set the expected range and enforce
the range by clamping when setting the value.

Have you looked into exposing different compressors for TIFF? Packbits, LZW, RLE? If easy, it would be a good example of use for compressor API.

Thanks for the look.
The proposed "string" name interface for a compression algos will be a little tedious ( error prone ) to implement, but not "hard".
TIFF, GDCM, and NRRD have some different compression method to explore this interface with.

@malaterre @gdevenyi Asking the supporters of ITK's IOs to review the extension of the ImageIOBase to generically support compression options.

Overall I am not very convinced this will add any value to the ITK toolkit. In particular this may even introduce more doubt to the user. Confusing lossless compression ratio and lossy compression quality feels awkward. Could someone kind add gimp screenshot comparing the UI for PNG (lossless) vs JPEG (lossy) to see what other people are exposing ?

@malaterre see https://docs.gimp.org/2.10/en/gimp-images-out.html

Thanks @maekclena for providing that like. The interface provides for both  lossless "compression level" (0-9) and JPEG "quality" (0-100) is a slider bar with the high numbers to the right. This is similar to API provided, and one could use this proposed API to implement such a slider with the proper range.
There are no better alternative proposed for the interface. As this interface provide significant value as access to more current and futures compression features it is well worth merging.

If no one proposes and alternative API design for this by, let's say tomorrow morning, I vote this be merged. Any opposition?


Added postinstall script to build styled-components.

Closes #2425

FYI I've also changed travis config to remove yarn build since yarn runs build now.


Missing Cmake configuration leads to library version mismatch

After changing the XbotInterface binaries the following error appeared after running forest grow xbot2:
[  2%] Built target xbot2_memory_hooks
make[2]: *** No rule to make target '/opt/xbot/lib/libXBotInterface.so.2.0.1', needed by 'libxbot2.so.2.2'.  Stop.
CMakeFiles/Makefile2:136: recipe for target 'CMakeFiles/xbot2.dir/all' failed
make[1]: *** [CMakeFiles/xbot2.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

I think a call to cmake is missing in this case.
The CmakeBuilder in build_hanlder.py (lines 202-212) does not perform configuration at each build.
# configure
if not cmake.is_configured() or reconfigure:
    # set install prefix and build type (only on first or forced configuration)
    cmake_args = list()
    cmake_args.append(f'-DCMAKE_INSTALL_PREFIX={installdir}')
    cmake_args.append(f'-DCMAKE_BUILD_TYPE={buildtype}')
    cmake_args += self.cmake_args  # note: flags from recipes as last entries to allow override

    self.pprint('running cmake...')
    if not cmake.configure(args=cmake_args):
        self.pprint('configuring failed')
        return False

It just allows performing a forced reconfiguration (using cmd line's and recipes' arguments).
What about always running a configuration and changing the arguments in case a reconfiguration is required?

I don't know about this, maybe we could at least provide a --no-reconfigure option.