SEI Growth by Electron Diffusion & Migration

Description
The feature contains SEI growth models based on the diffusion and migration of electrons through the SEI (L.v. Kolzenberg, A. Latz, B. Horstmann, ChemSusChem 2020, 13, 3901-3910). The model is dervied to describe SEI growth during storage and battery operation.
Motivation
This feature supports the simulation of  SEI growth under different operating conditions. Thereby it extends the set of available SEI growth models on PyBaMM and enables the comparison of SEI growth for different operating protocols.
Possible Implementation
The simplest to implement is to add these lines into sei_growth.py
OCP_n = variables["Negative electrode open-circuit potential [V]"]
j0 = variables["Negative electrode exchange current density [A.m-2]"]

elif self.options["SEI"] == "electron-diffusion limited":
            # L. v. Kolzenberg, ChemSusChem 2020 (eq. 25)
            chem_pot_Li = 0.1803
            eta_int = 2/F_RT*pybamm.arcsinh(j/(2*j0))
            j_ED = -(phase_param.D_li * phase_param.c_li_0 * param.F / L_sei_outer) * pybamm.exp(-F_RT*(eta_int + OCP_n + chem_pot_Li))
            j_sei = j_ED

elif self.options["SEI"] == "electron-migration limited":
            # L. v. Kolzenberg, ChemSusChem 2020 (eq. 27a & 27b)
            chem_pot_Li = 0.1803
            eta_int = 2/F_RT*pybamm.arcsinh(j/(2*j0))
            j_migr = pybamm.minimum(param.F**2 * phase_param.D_li * phase_param.c_li_0 / (2 * param.R * T * phase_param.kappa_inner) *j*pybamm.exp(-F_RT*(eta_int + OCP_n + chem_pot_Li)),0)
            j_sei = j_migr

Additional context
In the following all cited equations refer to the equations from this work (L.v. Kolzenberg, A. Latz, B. Horstmann, ChemSusChem 2020, 13, 3901-3910).
The equations described in "Possible Implementation" origin from the general equation for the SEI current density under different operating conditions (eq. 19). Looking at different limits this equation reduces to the reaction limited (eq. 23), electron diffusion limited (eq. 25) and migration limited cases (eq. 27 a+b). Note that this "electron-migration limited" case differs from the mechanism already implemented in PyBaMM under the same name. Even though the basic equation for electromigration (see eq. 5) can yield both "migration" mechanisms, the major difference lies in the interpretation of conductivity and the origin of the gradient in the electrical potential in the SEI. Here the intercalation current of Li-ions is assumed to cause the gradient in the electrical potential. This leads then to SEI growth proportional to the intercalation current density and it goes linear with time (eq. 28).
Both mechanisms (electron diffusion & migration) depend on the overpotential of the SEI (eta_SEI), which is directly linked to the intercalation overpotential (eta_int). The latter is defined through the difference in potentials (eq. 10) and linked to the resulting intercalation current (eq. 9). In the above suggested implementation of the models we assume that j_SEI << j_int and therefore j_int ~ j. This let's us use eq. 9 directly to compute eta_int and insert it in the needed SEI overpotential (see eq. 18). Depending on the application this assumption may not be justified. Some attempts were made to keep the intercalation current a variable, and let the solver get a correct solution for j_int and j_SEI. However, I was not able to get numerical stability.
To fully capture the correct dependencies and smooth transitions from reaction to diffusion to migration limited SEI growth it would be necessary to implement eq. 19. In theory this captures the linear to square-root to linear growth regimes of the SEI, depending on transport parameters and current SEI thickness. Unfortunately  i was not able to achieve any solutions due to solver problems.
Looking forward to thoughts on this.

Hi @MichaPhilipp! Thanks for opening this. I have a few questions/comments:

If we managed to make equation (19) work, would that mean that we only need that one and we do not need to implement (25) and (27) as two separate cases?
Maybe the numerical issue are to do with the definition of the variables. I think the way eta_int is defined might be the cause of the problem, and instead we can access PyBaMM's already defined overpotential.
The chem_pot_Li should not be hardcoded but instead passed as a parameter, but that's a matter of user interface so I suspect it would not be a problem numerically.

@kawaMANMI has been looking into this too and his input will also be very helpful.
Also, if you have the code already implemented, you can open a pull request so we can see the code and it will make discussions easier. Note that this will make the code available, so make sure you are not including any confidential files. Happy to help if you have never done this before.

Thank you @brosaplanella for your comments!

If it is possible to make eq. (19) work with numerical stability (also during switching between charge/discharge) this would model the transition from (23), (25) to (27). If this transition occurs and when depends then on the parameterization and also the initial conditions. However, I think it would be still benefitial to implement (25) & (27) to be able to look on the isolated limiting cases.
This might solve the problem. It would be great to have the correct overpotential already in PyBaMM. I need to check that.
I totally agree.

I'm excited for further input!
Since I'm busy at the moment, I'll try to open a pull request by next week. Some help would be great.

In order to advance, I investigated the already implemented SEI models and the used/available overpotentials. Thereby I'd like to add some discussion points.

the proposed electron diffusion model is an extension of an earlier developed model "interstitial-diffusion" (F. Single, A. Latz, B. Horstmann; ChemSusChem, 2018) by the influence of the intercalation overpotential (charging/discharging). In case of storage these models are basically identical. This simpler "interstitial-diffusion" model from F. Single then coincides in its form with the already implemented model "interstitial-diffusion limited" (S. Marquis, PyBaMM), depending on the definition of delta_phi. If I'm right, the used delta_phi includes a potential drop due to the resistivity of the SEI layer (~ j*L_sei*R_sei), which causes accelarated SEI growth once the SEI layer is thick enough. However, in the derivation by Single & Kolzenberg the overpotential is due to the formation of neutral Li atoms at the electrode-SEI interface, which then diffuse to the SEI-Elyte Interface. Therefore, the eta_SEI does not depend on the ohmic potential drop over the SEI. Unfortunately I'm not able to see the derivation of S. Marquis to investigate whether these descriptions are identical or not. I think it would be great to first check if these models coincide or should be differentiated (by using different overpotentials).
to circumvent my above calculation of eta_int I found two possibilites that should yield the same overpotential needed for "electron diffusion". Firstly, use eta_SEI = delta_phi - U_sei - j*R_sei*L_sei defined in sei_growth.py with U_sei = 0. This already includes the OCP. Secondly, use the available variable "Negative electrode reaction overpotential [V]" as the intercalation overpotential eta_int. The reaction overpotential is given by eta_r = (2 * (param.R * T) / param.F / ne) * pybamm.arcsinh(j / (2 * j0 * u)) and should be identical to my previous definition. In comparison delta_phi - j*R_sei*L_sei ~ eta_r + OCP are pretty similar, however some minor differences occur. I'm not sure if these are due to additional terms  in delta_phi accounting for porosities. I think it's correct and faster to use eta_r, however, I would appreciate some clarification on the difference to delta_phi.

Apologies, this completely went off my radar.

delta_phi is the difference between the electrode and the electrolyte potential. When substracting the relevant OCP then it becomes an overpotential. Scott Marquis' thesis (https://ora.ox.ac.uk/objects/uuid:8afdcc34-cc42-48ba-b316-96a6d0f33a45) should provide all the details needed.
Note U_sei is a parameter, so you can set it to zero without modifying the code, just changing the parameter set you use. eta_r is the intercalation overpotential, which depending on the model of choice may or may not include the SEI resistance losses.

I have a few concerns about implementing the model from the paper
"Solid–Electrolyte Interphase During Battery Cycling: Theory of Growth Regimes - Kolzenberg - 2020 - ChemSusChem - Wiley Online Library"
I thought it might be helpful to raise them here:

I doubt it's appropriate to directly implement equation (19) as during rest, it will be undefined due to L_mig becoming infinity.
After equation (21), they mention that for realistic parameters, L_diff << L_mig, which makes sense. However, with the parameters provided in the supporting information, this condition is not satisfied. (The lithium-ion conductivity \kappa_{Li^+, SEI} can be changed to meet this condition, but what is a reasonable value?)
C_Li_0, the "Reference concentration of Li atoms at the anode-SEI interface", is given as 1000 mol/m^3 (in the supporting information), while in PyBaMM and other references in the literature, the 'Lithium interstitial reference concentration [mol.m-3]' is 15 mol/m^3. On the other hand, the original reference for this value is 15 mmol/m^3 "https://chemistry-europe.onlinelibrary.wiley.com/doi/abs/10.1002/cssc.201800077". I am not sure whether this is a typo or if other people are using it incorrectly.

Thank you for your points, maybe I can help there:

I think this should not be a problem as L_mig only occurs in the denominator and therefore the equation simplifies during rest. However, I'm not sure about the numerical stability. Maybe this can cause troubles.
What values do you use for the currents j and j_0? If I stick to the values in the supporting information, this condition is satisfied.
In my opinion the problem originates from the fact, that one cannot identify these parameters one by one. As they state in the paper only the product of the concentration, the diffusivity and the effective area is effectively used to fit the parameters. Depending on what values you use for the electrode surface area and the diffusivity will have major impact on the value of c_LI_0.

Thank you for your responses, which are helpful.

Yes, theoretically there should be no problem, but I think in the implementation we will get a zero division error. However, I just found that I added a small number (1e-28) to the denominator of L_mig, and I think it works fine.
I do not set any values of J and J_0 explicitly as I use the full cell model and cycling protocol in PyBaMM. I am interested in the formation cycle, so the charge/discharge is expected to be slow, and I set it as C/20. With the "Chen2020" set of parameters, J will be around 0.075, but J_0 is used as "m_ref * arrhenius * c_e0.5 * c_s_surf0.5 * (c_s_max - c_s_surf) ** 0.5" (https://github.com/pybamm-team/PyBaMM/blob/develop/pybamm/input/parameters/lithium_ion/Chen2020.py), which is completely different from the paper. Yes, this was one of my troubles in mixing up PyBaMM parameters and the paper. I just double-checked, and it seems I forgot the factor F/RT in the exponential to find L_diff. So, yes, the condition is satisfied if parameters in the supporting information used.

Now, J_sei in the paper is added as one more option in the sei_growth, but my focus is on how I can set parameters in J_sei in order to meet the condition (L_diff << L_mig) . I also want the paraemeters (for now) to meet third mode of the model (L_mig << L_sei )  because my main focus will be on comparing several models in the first cycle with subsequent cycles, and other modes already exist in pyabmm. I assume that L_sei <= 1e-12.

Hi @kawaMANMI!

Great that you found a work around.
Good to know that the condition is satisfied. However, I experienced myself some cases in which the condition is not satisfied, e.g. for using parameter sets in PyBaMM (Chen2020). Therefore, I think the interpretation of the condition is that once it is satisfied, you should see a transition from diffusion limited to migration limited SEI growth. If it is not satisfied (L_mig << L_diff) you should be in the migration dominated regime right from beginning.

Alternatively, you can adapt the value of j_SEI_0_0 to keep the condition satisfied. The third mode is describing the long-term SEI growth, so I'm not sure whether you really want to reach it (lower L_mig for lower \kappa_{Li+,SEI} or higher currents). Depending on your purpose it might be more valuable to simulate the different modes seperately (i.e. reaction limited, diffusion limited, migration limited).


Add required call and setting for iOS 8

iOS 8 requires apps using Core Location to make an authorization request on the location manager in conjunction with a setting in the Info.plist to describe the usage reason.

updated directly in https://github.com/xamarin/monotouch-samples/commit/dc5abe94c37876f9a7176e67a03a9d7e0323c06f with iOS version check


GUI

Hi there. First of all thank you for your work. It may be something simple and small for you but it's quite huge and powerful for end users like me. So thank you very much for your work and to make it freely available on the web.
I was just wondering... do you know how one should do to build small/simple GUI for your app?
Something similar to https://imageoptim.com/mac ? Thank you!!

Would be great to do that, especially bundling all of the required dependencies. I would try to get the source of a tool like that, especially an open source one, and than change it a bit. shouldn't be too hard, given some UIKit experience.
If you're new to UIKit / cocoa programming, consider watching the online courses and going through the documentation & tutorials. That's how i learned it.
You might also consider hiring someone to do it-- i'd definitely would love to have a GUI tool version (just dont have the time for it...), and would add a bounty to it (maybe on bounty source), of about $200 for it.

ImageOptim is open source: https://github.com/ImageOptim/ImageOptim you should be able to use it there.


Added Program for Subarray with given sum

Subarray with given sum using sliding window logic.
This logic is also applicable for negative  numbers.

Please mention problem statement properly


trino implementation

Issue #, if available:
Description of changes:

Adds support for Trino. See: https://github.com/aws-ia/terraform-aws-eks-blueprints/pull/1347

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

this is not in the upstream project so closing here


Execution driver lxc problems

When using the lxc driver instead of native, I am not able to build images. I get the following errors:

Sending build context to Docker daemon 134.1 kB
Sending build context to Docker daemon
Step 0 : FROM alpine:3.2
---> 31f630c65071
Step 1 : MAINTAINER Jose Monreal<EMAIL_ADDRESS>---> Running in 25d9e540161a
---> 2f7f869b9e69
Removing intermediate container 25d9e540161a
Step 2 : COPY inc/tmp/install.sh /tmp/
---> 487fc20660b2
Removing intermediate container cd993008b5d5
Step 3 : COPY inc/tmp/test.sh /tmp/
---> 79126ef719ed
Removing intermediate container eacbdf4ddb7b
Step 4 : WORKDIR /tmp
---> Running in 31875d7ce9e1
---> 0bdf8fd773f9
Removing intermediate container 31875d7ce9e1
Step 5 : RUN sh install.sh
---> Running in 77809a644883
The command '/bin/sh -c sh install.sh' returned a non-zero code: 255

The docker log:

time="2015-07-09T10:38:53.690657795-03:00" level=info msg="POST /v1.19/build?cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&memory=0&memswap=0&nocache=1&rm=1&t=consul%3A0.5.2"
time="2015-07-09T10:39:27.729012562-03:00" level=warning msg="Your kernel does not support OOM notifications: open /sys/fs/cgroup/memory/lxc/77809a644883816e84fffa5ecb0737b862273cfe001ca6c20afb3b178596253d/memory.oom_control: no such file or directory"

This is my docker conf:

DOCKER_OPTS="-e lxc"

docker info:

docker info
Containers: 0
Images: 27
Storage Driver: devicemapper
Pool Name: docker-8:1-266842-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 382 MB
Data Space Total: 107.4 GB
Data Space Available: 6.642 GB
Metadata Space Used: 1.323 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.146 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.88 (2014-08-05)
Execution Driver: lxc-1.1.0
Logging Driver: json-file
Kernel Version: 4.0.0-gentoo
Operating System: Gentoo/Linux
CPUs: 4
Total Memory: 7.597 GiB
Name: Turing-LAN
ID: REJB:BAZJ:QK6P:H7CE:MOYB:ROPC:3C2X:SWY6:MS72:VILC:4DWQ:FDPM

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

I could not find an issue related to the lxc driver on docker.

docker version
Client version: 1.7.0
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 0baf609
OS/Arch (client): linux/amd64
Server version: 1.7.0
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 0baf609
OS/Arch (server): linux/amd64

docker info
Containers: 0
Images: 27
Storage Driver: devicemapper
Pool Name: docker-8:1-266842-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 382 MB
Data Space Total: 107.4 GB
Data Space Available: 6.641 GB
Metadata Space Used: 1.323 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.146 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.88 (2014-08-05)
Execution Driver: lxc-1.1.2
Logging Driver: json-file
Kernel Version: 4.0.0-gentoo
Operating System: Gentoo/Linux
CPUs: 4
Total Memory: 7.597 GiB
Name: Turing-LAN
ID: REJB:BAZJ:QK6P:H7CE:MOYB:ROPC:3C2X:SWY6:MS72:VILC:4DWQ:FDPM

uname -a
Linux Turing-LAN 4.0.0-gentoo #3 SMP Wed Jul 8 14:51:03 CLT 2015 x86_64 Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz GenuineIntel GNU/Linux

I was expecting to be able to build my images without a problem.
What I got was the error showed in the first post.

@jimonreal and all is okay with native execdriver?

Yes, but I think it's an issue with my lxc and kernel modules. I'm checkin to be certain

With the native works, but with lxc driver it does not work. I can not build images nor run them.

Be aware that the LXC driver is marked deprecated and will be removed in a future version. Is there a specific reason for using the LXC driver?

I was playing with blockade(https://github.com/dcm-oss/blockade) and it needs to do some changes using lxc-conf that's why.
Is it possible to limit net, disk, cpu, ram, among others using the native driver?

@jimonreal cpu, ram, blkio.
So the issue is with needing to set some extra lxc configs?
What does your install.sh look like?

As notified in our deprecation notice, Docker 1.10.0 will drop support for the LXC exec driver (#17700).
Thank you for the report, I'm now closing this.


Adds persistedVhosts and vhostNames properties to Stack

First step to closing https://github.com/aptible/dashboard.aptible.com/issues/496
These computed values were moved from a Dashboard stack-metadata component (see https://github.com/aptible/dashboard.aptible.com/blob/master/app/components/stack-metadata/component.js#L7-L8). Some caching out of sync. I'm still not 100% sure. The model being passed to the component was correct, but these computed (cached) values were not. With the referenced persistedVhosts / vhostNames lists accessed directly from the correct model, the view now renders as expected.

@gib -- rebase to pull in a fix for the broken build.

Thanks @sandersonet!


Fix bucklescript variants

This PR aims to adjust the bucklescript code generation by the ppx, to be able to parse @bsVariant where the variant types are complex. These did not work before and were replaced with an opaque type, resulting in an error.

Thanks ❤❤❤
I simplified the implementation a bit, also great that we have a test case now! LGTM!


No room permission check on Start Egress endpoints

There is no room permission check on start egress endpoints. I can start the egress on any room with a roomRecord permission.
https://github.com/livekit/livekit/blob/3ac2a35c23a6580b56a3b058b51f5015c7f2de4e/pkg/service/auth.go#L148

This had been the design where roomRecord is sufficient to record any room. The reason we didn't enforce permissions further was because this was designed to be called on the server-side, where you would have the ability to record any room anyways.
While I'm not against having tighter permissions here, all of the current server SDKs do not explicitly pass in the room name. So if we had changed it on the server side, that would be a departure from current behavior and we'd risk breaking applications.

@davidzhao In this case you can't start a recording from the client directly. You have to wrap LiveKit.


raftexample: fix blocking restart with snapshot

Replace https://github.com/coreos/etcd/pull/7098.
I re-read the code and now I think this is the right fix,
since we send nil to trigger snapshot load and when
the snapshot load is done, readCommits should exit and
let later commits be handled by second go readCommits call.
Otherwise it blocks on restart as @upccup pointed out.

Current coverage is 64.66% (diff: 100%)

No coverage report found for master at d2716fc.

Powered by Codecov. Last update d2716fc...ffe692d


Adding query_id attr

To identify different queries with similar query_id or initial_query_id via system.query_log table you can have an ability to set query_id by yourself using query_id param in Airflow operators you using.
It is possible by clickhouse-driver execute() method - https://clickhouse-driver.readthedocs.io/en/latest/api.html?highlight=query_id#clickhouse_driver.Client.execute_iter
This commit allows set query_id param as whatever you want, f.e. query_id = DAG_ID + TASK_ID + EXECUTION_DATE and then simply identify a query to build lineage. This can be helpful in situations when you manage equally named tables and the only way to identify their queries is to use a modfied query_id.

Hi @1ng4lipt,
Just in case, I would recommend you to look at log_comment, unless of course you have done this yet.
It looks like it does what you need, the question is how to specify it.
One of the options is just to add this to the end of your query, like SELECT .. FROM .. SETTINGS log_comment = 'my comment'

Hi @ne1r0n thank you for a suggestion: definitely looks useable for ClickHouse users. Speaking about our plugin, its sole purpose is to provide a wrapper for clickhouse-driver in a form of a Airflow plugin. So, we will not introduce any additional logic into the operator's implementation: just pass the arguments to the driver. A user may specify SETTINGS log_comment = … themselves as a part of query argument.
I would suggest generalize this PR to include all the existing execute's arguments or limit only to a full support of query_id as suggested by the author, and implement support for the remaining attributes in a separate PR.

Hi @1ng4lipt thank you for an update, I plan to review and merge this week. I am busy working on v1.0.0 (major release) of the plugin but to not delay query_id delivery, I will merge your contribution first.

Hi @bryzgaloff could you please clarify a date you plan to merge my PR? I badly need this functionality on my prod env
Thank you)

Hi @1ng4lipt I have decided to complete my work on v1.0.0, it has query_id functionality: #68. As a quick workaround you may git pull it and install locally. The code is finished, I need to update README and release the new version. I plan to finish it this week.

Hi @1ng4lipt I have released https://github.com/bryzgaloff/airflow-clickhouse-plugin/releases/tag/v1.0.0 which introduces query_id among the other arguments of Client.execute. Thank you for an inspiration to do the huge refactoring and patience waiting for the release 🤝
You are in the contributors list now 😉


How can 'Incoming Call Push notfication' can come on FullScreen?

I am receiving push notifications successfully. But the problem is when audio or video call receives I want to open full IncomingCallFragment instead of Notification Bar.
I searched and found that it can be done by event.setPushType(QBPushType.APNS_VOIP). I tried, but still not working.
Also I want to know I am working on Android and "APNS_VOIP" seems to be related to Apple.

This push works only on iOS and we added this type to Android SDK for support cross platform work (calls from Android to iOS). For your functionality you need start login to the chat and set call listeners when you got push about call. But Q-municate is big project and need investigate how to do this correct.

Thanks much for your reply


Cannot use options values that starts with a -

Consider the following:
import { Command } from "https://deno.land/x/cliffy/command/mod.ts";

await new Command()
  .command("test", new Command()
    .option("--value <value>", "Value")
    .action(console.log)
  )
  .parse(Deno.args);

deno run test.ts test --value "-1.5"

  error: Missing value for option "--value".

My guess is that because the first character of value is a - it gets treated as an option, but it should not since it is enclosed between quotes indicating a raw string.
Escaping it with a single backslash result into the following:
{ value: "\\-1.5" }

I may be missing something, but in this case it prevents the use of negative numbers as values 😅

Thx will look into it!
I noticed it is working if you use number as type.
await new Command()
  .command(
    "test",
    new Command()
      .option("--value <value:number>", "Value")
      .action(console.log),
  )
  .parse(Deno.args);

Will try to fix it for string and integer type.

with number it is also not always working. will look into it.


Footer clings to body between 1150-1425px

This should be fixed in https://github.com/napari/napari-sphinx-theme/releases/tag/v0.1.0, could you check again please? 😄 We may have to redeploy because I just released today

still there on https://napari.org/usage.html ... will check tomorrow of after next docs deploy

Note that deploy docs can be manually triggered by maintainers here:
https://github.com/napari/napari/actions/workflows/deploy_docs.yml
Just triggered a build, can't wait any longer, anticipation is killing me :joy:

Well, it's not clinging anymore (if I understand the issue correctly), but something funky still going on...
https://user-images.githubusercontent.com/492549/159397117-974f695a-fe98-47d8-ba79-1158ac806d48.mov
This is FF 97.0.1 on macOS 11.4. I presume the "correct" behavior is that the footer bar should align exactly (no scrolling) with the bottom of the window if it fits?

hmm, i probably need to do some CSS calculations for the height then because this is a seemingly standard way of pushing the footer to the bottom: https://stackoverflow.com/questions/4575826/how-to-push-a-footer-to-the-bottom-of-page-when-content-is-short-or-missing
but the side effect is, as you've found, that the footer is pushed past the viewport and requires scrolling. i'll see what can be done, maybe doing something like calc(100vh - footer-height) will work

The disappearing footer is fixed with #134


avalanche p-chain llm integration

📝 Description
This PR adds Avalanche (P-Chain) Staking to Ledger Live Mobile
❓ Context

Impacted projects: ``
Linked resource(s): ``

✅ Checklist

[x] Test coverage
[x] Atomic delivery
[x] No breaking changes

🚀 Expectations to reach
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

@trentkrogers this should be closed and replaced with #1292 right?


OS 2.1: missing translation in agenda projection submenu

In OS 2.1 dev create a subentry of an agenda point
click on the arrow button besides the projection button to show the submenu

result: there are 2 subentries while there should only be one and the second one is in English instead of in German, see the screenshot:

@FinnStutzenstein Any idea how we can easily define the translateable string "Default projector" once on client site, so that we can use the already translated string with {{ projector.name }} in template? Currently, the projector name string is defined on serverside only, see here
A not so nice/generic solution would be to add the gettext('...') to site.js and use always {{ projector.name | translate }}` in templates. But there a lot of places in templates... Maybe you find a better solution.

This is the only solution (except query on projector create the language, but this is not nice). See the groups-name handling. Except Staff, Committee, Registered and Delegates all group names are custom, but always (because of this four groups) we need to set the translate tag. I'll to this.
Could we just add gettext('Default projector'); here?

@emanuelschuetze or here?


uniq: pass remaining GNU tests

This PR makes the following changes in order to pass GNU tests/uniq/uniq.pl:

Rework of how obsolete options are handled - following the same approach as was done for split. Unfortunately it is not possible to implement it with just Clap for all required test cases
In support of (1) above - introduces a module posix with 3 constants and a single function to return POSIX version based on _POSIX2_VERSION environment variable. This module would be needed to add similar functionality to sort, tail and touch later on (most likely to finalize their GNU tests compliance as well)
Rework of how input is processed - switching from requiring UTF8 (and failing if input has invalid UTF8 characters) to processing raw u8 bytes sequence. This is required to pass GNU schar test case and in general aligns the behavior with GNU version
Override some Clap errors to match the exact wording of error messages hardcoded into GNU tests
More tests to cover the changes

Should also fix #3509

@sylvestre checking in to see if you have any other comments / suggestions on this PR

Impressive work!


ChatChoice finish_reason can be null

finish_reason can sometimes be null in CreateChatCompletionResponse.

Hi @ming08108 , thank you for PR.
Is this always the case or its intermittent?
In my testing I did not observe that otherwise examples/chat would have crashed .
One exception is Chat API with SSE streaming, where I did notice it to be null, which is already an Option<String> here https://github.com/64bit/async-openai/blob/main/async-openai/src/types/types.rs#L803

@64bit I am also getting null on this field. In my case, the chance seems to be around 1 in 15.

+1 this is happening for me too

aha, that's no good,  lets ship this

Its released in 0.9.0. Thank you everyone


不打算更新了吗?null safe?

不支持null safe,没办法跑在最新的版本上,希望更新

哈哈,之前的还可以打包,现在不更新插件导致打包都失败了,是必须要弃用了吗
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':amap_flutter_location:verifyReleaseResources'.

A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action


Fix Flickr ID

Coverage decreased (-0.06%) to 97.315% when pulling ab0eec4effdd016e59250b5ee8236be8435e67af on fix-flickr into ebda1abec21eb117f27805d4367744c6799bc960 on master.


PDF version of application

Is your feature request related to a problem? Please describe.
The communes also want to have the application as an editable pdf form
Describe the solution you'd like

Provide the application as an editable pdf form

Done, delivered and approved!


Qualify session cookies for tenant path

Problem
Since the current commonauthId cookie is not qualified for a tenant path, we cannot log in to two tenants within the same browser.
Possible Solution
Qualify session cookies for tenant path
Effort::40

Update:
Locally modified the code to set the session cookies in the tenant path with tenant qualified URL enabled and following problems were observed.

When the apps are hosted in a different domain from IS's domain, the OIDC app keep polling the session state continuously.

The reason for that is, the cookies are not set with samesite attribute.
Added samesite cookie valve configuration manually and still the problem didn't get resolved
When further debugging found out that the context rewrite valve is skipping the rest of the filter chain for tenanted URLs, This issue and adding samesite cookie valve by default should be addressed separately
As a temp solution, modified the template files to get this working

When the apps are hosted in same domain as in IS's domain (where samesite restrictions doesn't get affected), only the first login was working fine and the rest of the login attempts kept ending at applicatons' login pages.

The reason for this is, the application (which is hosted in HTTP) can't set the jsessionid cookie as it would override the same named cookie set by IS (which is using HTTPS). And hence the application's request to home page can't detect any session attributes resulting in a redirect back to login page.
This should get fixed if the app is hosted in HTTPS, as the rest of the flow seem to work without an issue

Furthermore, for super tenant applications, the cookies needs to be set to the root domain, as the authentication flows work without tenanted URLs. There will be a overlap of matching cookies for tenaned paths (as both "/t/tenant" and "/" will match if there is a ST session and tenant session), but this should not be a problem as the priority is given to the best match

ToDo:

Setup the proposed approach for SAAS apps and get this working

Update:
Locally modified the code to set the session cookies in the tenant path with tenant qualified URL enabled and following problems were observed.

When the apps are hosted in a different domain from IS's domain, the OIDC app keep polling the session state continuously.

The reason for that is, the cookies are not set with samesite attribute.
Added samesite cookie valve configuration manually and still the problem didn't get resolved
When further debugging found out that the context rewrite valve is skipping the rest of the filter chain for tenanted URLs, This issue and adding samesite cookie valve by default should be addressed separately
As a temp solution, modified the template files to get this working

When the apps are hosted in same domain as in IS's domain (where samesite restrictions doesn't get affected), only the first login was working fine and the rest of the login attempts kept ending at applicatons' login pages.

The reason for this is, the application (which is hosted in HTTP) can't set the jsessionid cookie as it would override the same named cookie set by IS (which is using HTTPS). And hence the application's request to home page can't detect any session attributes resulting in a redirect back to login page.
This should get fixed if the app is hosted in HTTPS, as the rest of the flow seem to work without an issue

Furthermore, for super tenant applications, the cookies needs to be set to the root domain, as the authentication flows work without tenanted URLs. There will be a overlap of matching cookies for tenaned paths (as both "/t/tenant" and "/" will match if there is a ST session and tenant session), but this should not be a problem as the priority is given to the best match

ToDo:

Setup the proposed approach for SAAS apps and get this working


Features/create page list code repos

Create a new page to list code repositories (Github, Gitlab,..) and organizations by the level of government.

Output look good!
Please add indentation to liquid loop.  Also look into using an include file to not duplicate code in French and English.


Paths referenced by plugins.luasnip.from{Lua,Snipmate,Vscode}.*.paths are removed by nix store gc

Discussed in https://github.com/nix-community/nixvim/discussions/2162

Originally posted by cezdro September  4, 2024
I configured the snippet path using the relative path like in the example. However, at one point the snippets stopped working and I figured that it happened because Nix thought the directory was only needed at a build time and could now be GC'd (I have nix.gc.automatic enabled). Here is the snippet from the generated init.lua:
require("luasnip.loaders.from_lua").lazy_load({
    ["paths"] = "/nix/store/1wm0qsxvri2pdxd67sxa569inz4pl385-f5jcwka5bpj542475ib1kgfplgnb9x8n-source/modules/home/nvim/plugins/luasnip",
})

require("luasnip.loaders.from_snipmate").lazy_load({
    ["paths"] = "/nix/store/1wm0qsxvri2pdxd67sxa569inz4pl385-f5jcwka5bpj542475ib1kgfplgnb9x8n-source/modules/home/nvim/plugins/luasnip",
})

require("luasnip.loaders.from_vscode").lazy_load({
    ["paths"] = "/nix/store/1wm0qsxvri2pdxd67sxa569inz4pl385-f5jcwka5bpj542475ib1kgfplgnb9x8n-source/modules/home/nvim/plugins/luasnip",
})

I don't know how Nix decides whether the referenced path should be kept or not. ~I think that if I used mkDerivation the directory wouldn't be treated as a garbage, but I don't think that such thing should be necessary in Nixvim config.~
~I wrote this in Discussions, because I don't know if this is my fault and if it can be improved in Nixvim.~

When I created a derivation like this, it wasn't removed on nix store gc:
{ pkgs, ... }: let
  snippets = pkgs.stdenv.mkDerivation {
    name = "snippets";

    src = ./.;

    buildCommand = ''
      mkdir $out
      cp -r $src/*.{json,lua,snippets} $out
    '';
  };
in {
  programs.nixvim = {
    plugins.luasnip = {
      enable = true;

      fromLua = [{paths = "${snippets}";}];
      fromSnipmate = [{paths = "${snippets}";}];
      fromVscode = [{paths = "${snippets}";}];
    };
  };
}

I think Nixvim could do something like this automatically

Hm. I think the only way we can reliably ensure paths are copied to /nix/store in a persistent way would be to handle them specially in toLuaObject. In theory, every option that could conceivably be set to a path and also end up in init.lua would go through toLuaObject at some point.
We would only be able to do this for paths detected by builtins.isPath though, anything stringified may slip under the radar.

Also, I'm wondering if creating a "string with context" causes nix to add some dependency metadata; I know some parts of NixOS use "${path}" to achieve something along these lines.
Does stringifying the path in this way help at all?

Also, I'm wondering if creating a "string with context" causes nix to add some dependency metadata; I know some parts of NixOS use "${path}" to achieve something along these lines.

Does stringifying the path in this way help at all?

I tried doing this, but it didn't help.


[Question] Does Shaarli-Material v0.12.1 work with Shaarli v.0.13.0?

Just what the issue title says: I use Shaarli-Material with one of my Shaarli instances, and I'm holding off updating it from 0.12.1 to 0.13.0 because Material is still at 0.12.1.
I checked links.kalvn.net to see what version you're running yourself, but the footer doesn't give me version info. :wink:
Would you advise? Are Material 0.12.1 and Shaarli 0.13.0 compatible? I live in hope! Thanks!

OK, so I did the obvious thing and tested Material 0.12.1 with a test instance of Shaarli 0.13.0, and it works just fine. Maybe worth noting in the README?
Meanwhile, I think this can be closed.

Hello @dajare, I was about to answer that I tested locally once and it looked fine. But I don't want to update the README until I'm absolutely sure everything works fine. I didn't have time to test further lately.
I'll keep this issue open for a while. If you find any problem, please let me know. I'll close it at some point if everything is fine.


Teach bot some respect

Need to respect other bots.  In a multi-bots environment.   Bots 'chatter' can ping-pong for minutes ! :open_mouth:

The idea here is maybe once roles are assigned it ignores input from other bots?

:+1:

Even this is a rather old issue, some things crossed my mind:
What if I set up two different bots in the same channel, talking to each other?
The idea is that I can "connect" two different bots (one is jenkins, the other is some fancy libvirt-bridge), where the jenkins.bot talks to libvirt.bot asking for a fresh VM ... e.g. for running tests for it. To make the communication transparent to Ops, this might happen in a "read-only"-channel visible to Dev-/SysOps.
This means, that ignoring ALL bots should make it impossible to have such setup, maybe it should include some blacklist/whitelist of other bots ?!

I agree with @FibreFoX , as a DevOps engineer, I definitely want to build something that he had suggested. To ignore all bots at an adapter's level seemed really odd to me.
And I further suggest that we should do nothing to change the current situation. It is rather easy for a bot to recognise other bots and ignore what the bot had said, so as to avoid an endless bot-chat loop.

With recent updates to the SDK and adapter develop branch (soon to be released), all messages from a bot are given the .bot attribute. Scripts can assess that property on received messages to ignore bots if they need to.

Can you provide an example of how to do this? I've updated hubot, hubot-rocketchat and @rocket.chat/sdk to the latest versions but still can't seem to determine whether the message is coming from a bot user.


fix: simplify check for default_error404

If sailor.conf.default_error404 is not defined, it is nil which will
resolve to false with ~= ''. No need to check twice.

Starting to read the flow of the code. From src/sailor.lua to conf, to controller, to view, to model.
:smile:

Wait! It's supposed to get into the if only when there's a default error page. Nil is different from empty string and it would enter in the if, that's not the desired behavior, both checks are necessary... ^_^

Oh! Sorry.
The code should check that it is not nil. I missunderstood the purpose of the check. My bad.
Closing the PR.

no worries! :)


How to monitor system is health

The exceptionless use a kind of queue system to write log.
https://exceptionless.com/version-2-0s-new-message-bus-queueing-systems/
so how could I monitor the queue is health?
Thanks for your answer.

Hello,
There are two methods of which you can use. The first and main endpoint I'd check would be the /api/v2/status (https://github.com/exceptionless/Exceptionless/blob/master/src/Exceptionless.Api/Controllers/StatusController.cs#L53) This checks the cache, elasticsearch and storage. If this is up you should be good, you can call this as a normal user and the result is cached very briefly.
If you are a global admin you can hit /api/v2/queue-stats (https://github.com/exceptionless/Exceptionless/blob/master/src/Exceptionless.Api/Controllers/StatusController.cs#L83) which will give you queue information :) If you have any questions, please let us know!


FETCH NEXT {limit} ROWS is not supported

Describe the bug
With Oracle 11.2, data-diff reports
ERROR - ORA-00933: SQL command not properly ended

Currently, data-diff uses FETCH NEXT {limit} ROWS ONLY to perform offset_limit for Oracle. However it is not supported until Oracle 12.1. Thus some steps (e.g. Database._refine_coltypes) of data-diff will fail. Before then, Oracle used ROWNUM to limit result, which is a WHERE expr.
Describe the environment
data-diff version: 0.7.4
Oracle version: <12.1

i use oracle 11,i have the same problem. so how to resolve this? the resolution is where rownum < ${limit} ?

i use oracle 11,i have the same problem. so how to resolve this? the resolution is where rownum < ${limit} ?

I modify https://github.com/datafold/data-diff/blob/ea68fb51670785812f8eb10382ccec427566b55a/data_diff/sqeleton/databases/oracle.py#L111 to
 return ""

i use oracle 11,i have the same problem. so how to resolve this? the resolution is where rownum < ${limit} ?

I modify
https://github.com/datafold/data-diff/blob/ea68fb51670785812f8eb10382ccec427566b55a/data_diff/sqeleton/databases/oracle.py#L111
to
 return ""

so, if the table has 100k rows, return "" can work ?

I rarely use  python，i am trying to understand it.


fix: marks should go to line and column

Now "marks" will take you to the line and column of the mark, not just the start of the line.

I made a new attempt :-)

Ty @damianoognissanti!


Group sync from LDAP

Hi,
I successfully synchronized my AD from an OU.
Here is my configuration :
Key                                               Value
default-authentication-method                     ldap
ldap-authentication                               true ldap-authentication-password                      MYPASSWORD
ldap-authentication-userdn                        CN=kanbansyncad,OU=syncusers,DC=intra,DC=DOMAIN,DC=TLD
ldap-background-sync                              true ldap-background-sync-import-new-users             true
ldap-background-sync-interval                     every 1 minute ldap-background-sync-keep-existant-users-updated  true
ldap-basedn                                       OU=usersbase,DC=intra,DC=DOMAIN,DC=TLD
ldap-connect-timeout                              10000
ldap-enable                                       true
ldap-encryption                                   false
ldap-fullname-field                               cn
ldap-host                                         192.168.XXX.XXX
ldap-idle-timeout                                 10000
ldap-log-enabled                                  true
ldap-login-fallback                               true
ldap-port                                         389
ldap-reconnect                                    true
ldap-timeout                                      10000
ldap-user-search-field                            sAMAccountName
ldap-username-field                               sAMAccountName
mail-from                                         kanban<EMAIL_ADDRESS>mail-url                                          smtp://mail.XXXXXXX.fr:25
port                                              80
root-url                                          http://kanban.XXXXXXXXX.xx
But I prefer to authorize only the users of a group.
I used a rule that I used to put but it doesn't work :
sudo snap set wekan ldap-user-search-filter='LDAP_USER_FILTER=(&(objectClass=user)(sAMAccountname=${user})(|(memberOf:1.2.840.1135<IP_ADDRESS>1:=CN=KANBAN_Users,OU=syncgroups,DC=intra,DC=DOMAIN,DC=TLD)))'
Can someone help me ?
Thanks

This could be caused by the underscore in group name.
I am dealing with a search filter similar to this:
(&(objectCategory=person)(objectclass=user)(memberof=cn=wekan,ou=web_groups,dc=sub,dc=domain,dc=tld))
and I am having the same issue. Every combination of filter terms are working fine, but as soon as I add the memberof=, no users are found.
This changed recently, the group was located in a OU without underscore before, and it was working fine.

Please note that in-use LDAP code is here https://github.com/wekan/wekan/tree/master/packages , pull requests should be added to that repo. Not this wekan/ldap. I have not looked is some PR of this wekan/ldap repo is missing from wekan/wekan repo, because I don't have any LDAP server.


C2N project scheduling logic produces different results than the canonical project schedules

C2N_projects.jl handles the internal project activity and expenditure scheduling for C2N projects. This module is currently producing total project schedule results which are different from the canonical project schedules developed for the 2022 DOE C2N report--with baseline assumptions, the C2N0 projects are estimated at 7 years, and the C2Nx projects are estimated at 6 years. The C2N0 projects should be shorter (or the same duration) as the equivalent C2Nx project.
This utility has been temporarily disabled, pending resolution of this issue.

Was this fixed by #107?


audiobooks: UI controls, localization (l10n)

Related issues:
https://github.com/readium/readium-desktop/issues/955
https://github.com/readium/readium-desktop/issues/955
https://github.com/readium/readium-desktop/issues/942
Follow-up to PR https://github.com/readium/readium-desktop/pull/938

Duplicate: https://github.com/readium/readium-desktop/issues/980
Closing this older issue in favour of the new one.


Improve performance of analysis of python projects

I was testing out ORT on a couple of projects and noticed that it was rather slow to analyse a poetry based python project (https://github.com/netomi/otterdog). The project has a lock file so I was assuming that the dependency resolution should be rather fast.
After some debugging, it turns out that ORT calls python-inspector on the requirements file that is exported from poetry:
13:42:35.163 [DefaultDispatcher-worker-1] INFO  org.ossreviewtoolkit.utils.common.ProcessCapture - Running 'python-inspector --python-version 311 --operating-system linux --json-pdt /tmp/ort-PythonInspector5612839292643848503/python-inspector5965944598659711246.json --analyze-setup-py-insecurely --requirement /tmp/ort-Poetry1934851817638935981/requirements.txt16944187604928218322.tmp --verbose' in '/tmp/ort-Poetry1934851817638935981'...
13:43:10.194 [DefaultDispatcher-worker-1] INFO  org.ossreviewtoolkit.plugins.packagemanagers.python.Poetry - Generating 'requirements.txt7902172682984572843.tmp' file in '/home/tn/workspace/eclipse/otterdog' directory...

but as you can see from the log, it takes a while for python-inspector to resolve the dependencies although they are all pinned (from the lock file).
Digging into the code of python-inspector, I figured various performance improvements that could relatively easily be applied. I created a PR at https://github.com/nexB/python-inspector/pull/163 .
Running this version of python-inspector with ORT on the same project, leads to far better results (see timestamps):
13:45:06.460 [DefaultDispatcher-worker-1] INFO  org.ossreviewtoolkit.utils.common.ProcessCapture - Running 'python-inspector --python-version 311 --operating-system linux --json-pdt /tmp/ort-PythonInspector13905845346354005296/python-inspector9105449330839367212.json --analyze-setup-py-insecurely --requirement /tmp/ort-Poetry17813648676616128042/requirements.txt17803415363049372639.tmp --verbose' in '/tmp/ort-Poetry17813648676616128042'...
13:45:17.402 [DefaultDispatcher-worker-1] INFO  org.ossreviewtoolkit.plugins.packagemanagers.python.Poetry - Generating 'requirements.txt13258899092414060651.tmp' file in '/home/tn/workspace/eclipse/otterdog' directory...

with the exact same output. When you have multiple scopes defined in your project (in my case I have 5), this improvement can really sum up, I could bring the analysis from 2min down to 30s.
I would be happy if there is some feedback on the PR so we can get that into ORT asap, as I am currently investigating the ability of ORT running license checks automatically via GitHub actions and everything that speeds up the analysis is greatly appreciated.

I created a PR at nexB/python-inspector#163 .

❤ for that!

I would be happy if there is some feedback on the PR so we can get that into ORT asap

Sure, we'll usually upgrade to newly released python-inspector versions quickly. Let's keep this issue open as a reminder to do that.

Unfortunately, we are currently unable to upgrade the python-inspector version used in ORT due to a number of other issues / regressions.


feat: updated deps

bump @semantic-release/commit-analyzer to 13.0.0
bump @semantic-release/github to 10.0.6
bump @semantic-release/npm to 12.0.1
bump @semantic-release/release-notes-generator to 14.0.1 bump @types/node to 20.14.8
bump @typescript-eslint/eslint-plugin to 7.13.1
bump @typescript-eslint/parser to 7.13.1
bump pg to 8.12.0
bump semantic-release to 24.0.0
bump typescript to 5.5.2

:tada: This PR is included in version 1.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


django.conf.urls.patterns() was removed in 1.10

hi,
trying with django version 2.1.3 throws an error
web_1  |     from django.conf.urls import patterns, url
web_1  | ImportError: cannot import name 'patterns'

looks like patterns was depreciated in django 1.10 already
https://docs.djangoproject.com/en/2.0/releases/1.10/
what's the max compatibility level of djangocms-forms with django?
Is there a a suggested workaround?
thx
bernhard

sorry used an old version, invalid


DBeaver: The formatting of the Plain Text View is broken when it comes to Leading and Trailing Delimiter

DBeaver - Version 5.3.5 CE - EA 12-Feb-2019 19:13
Operating System: Windows 7 / Windows 8.1 / Windows 10
Seems that the new property Extra spaces behaviour in DBeaver version EA 5.3.5 (from CASE #5165 and #5054) to add extra leading and trailing space when viewing a result set grid in Text View is not working fully.
It is now even more broken than it was in 5.3.4 CE.
Global properties/settings:

Data result gridin Text View:

Thanks for testing it.
New EA version is in the usual place (https://dbeaver.io/files/ea)


[PLAT-514] Requests upgrade in requirements/constraints.txt

Purpose
Our old version of request (2.5.3) has some security problems so we’re upgrading, unfortunately that means shedding our old Httpretty library that mocks Waterbulter requests and replacing it with responses 8.1.
Changes
Luckily this is 85% a refactor with some minor complications thrown in.

Refactor Httpretty to responses
Remove Httpretty from requirements and docker/travis configs
Change _test__get_file_tree so it works without a Httpretty-style callback
Change test_vol_node_files_list so it’s headers are read without Httpretty-style headers
Remove -1 priority mock which was returning bad json

QA Notes
Travis is our QA on this one.
Side Effects
None that I know of.
Ticket
https://openscience.atlassian.net/browse/PLAT-514

conflicts resolved and merged into release/next-platform 🚢 🇮🇹

Thanks!


fix broken hot restart when using native_event_loop

Fix #74

I only removed the global send_port, but I can do the same for post_c_object if you want?

I only removed the global send_port, but I can do the same for post_c_object if you want?

Sure, let's remove them all. And this comment too:
https://github.com/alexmercerind/media_kit/blob/c5b85d1e679b733ff193c41ada52546034133a17/media_kit_native_event_loop/src/media_kit_native_event_loop.cc#L19-L20
🙏


Problems switching to https

I have built a simple environment based on SimpleWebRTC using SignalMaster. I want to switch to https and then things go wrong. I'm running on IIS with a self-signed certificate. I also managed to use this certificate for SignalMaster. But, when I access the site through https and use SignalMaster through https I have issues. The readyToCall event isn't triggered anymore. Anyone an idea? Thank you.

I think I've found sort of a workaround. It works after I call webrtc.testReadiness(); I'm not sure this is the best solution but it seems to work.


Support to Show Current Page URL for Better SEO

I am using this plugin and it works fine. However I can't find any option to enable browser URL auto update when infinite-scroll load new page content. A demo site for this feature is at Infinite scroll with pagination demo, when user scrolls forward or backward, the browser URL is updated to show current page URL.
Appreciate if anyone can let me know:

If infinite-scroll plugin already built-in this feature, may I know how to enable it?
If it is not built-in, what is the best practise to integrate it to infinite-scroll plugin and how?

Some relevant info:

Modify the URL without reloading the page
Infinite scroll search-friendly recommendations

@jacopotarantino Sorry haven't been around. Did you manage to test the PR?

Infinite Scroll v3 is out!. It's an all new re-write, so take a look at how to upgrade from v2.
Infinite Scroll v3 changes the URL to loaded page by default. See history option. This makes it back & refresh button friendly. It also changes document title to match the newly loaded page.
I recommend upgrading to v3. Please open a new issue if you run into trouble with Infinite Scroll v3. 🌈🐻


docs: fix typo on MatBottomSheet page

I signed it!

Closing this since the CLA bot never got happy for some reason; I sent #20636 with the typo fix


add doc on what blaze doesn't do

Feedback requested.  I'm afraid that this may come off as a little rant-y.

I think this is eminently mergeable.


fix(interactive): Introduce the high-order statistics provider GLogue into the new Compilation Stack

What do these changes do?

As titled.
Related issue number

Fixes

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 26.16%. Comparing base (5938321) to head (038e797).
Report is 3 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #3609      +/-   ##
==========================================
+ Coverage   25.96%   26.16%   +0.20%
==========================================
  Files         187      188       +1
  Lines       17379    17246     -133
==========================================
  Hits         4513     4513
+ Misses      12866    12733     -133

see 1 file with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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


Fixing the path of a module which prevents cloning on Windows

This PR fixes a path that is preventing the registry from being cloned on Windows.

I'm not sure on the impact of this one. Have we tested this end-to-end?


run cmd question

in terminal i run “interface print stats” ,
in this lib ，what write ？
"/interface/print/stats" return faslse

it's fine


CapacitorSQLite.execute on Android does not support comments

Describe the bug
If CapacitorSQLite.execute is used on Android with a sql script that contains -- comments, the comments lines can be squashed (as in, newlines \n removed) with statement lines and comment out the statement lines.
I discovered this by trying to use the execute command to run a migration script generated by Prisma Migrate.
To Reproduce
Run a script like the following in an Android app:
const script = `-- RedefineTables
PRAGMA foreign_keys=OFF;
CREATE TABLE "new_comment" (
    "id" TEXT NOT NULL PRIMARY KEY,
    "text" TEXT NOT NULL,
    "created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO "new_comment" ("id", "text") SELECT "id", "text" FROM "comment";
DROP TABLE "comment";
ALTER TABLE "new_comment" RENAME TO "comment";
PRAGMA foreign_key_check;
PRAGMA foreign_keys=ON;`;

CapacitorSQLite.execute({
  database: 'my_db',
  statements: script,
});

You will get an error saying that  -- RedefineTables PRAGMA foreign_keys=OFF; is not a valid statement, because  the newline was removed and PRAGMA foreign_keys=OFF is now part of the comment.
Expected behavior
Should be able to use sql scripts with comments on Android without needing to remove the comments by hand.
Desktop (please complete the following information):

OS: Fedora 37
Browser Chrome
Version 110

Smartphone (please complete the following information):

Device: Samsung Galaxy A03s
OS: Android 13
Browser Android System Webview
Version 110

Additional context
I prepared a PR with one possible strategy of just stripping any line that starts with "--". See #387

@patdx this has been amended in 4.6.3-3

Thank you, I updated to the latest Capacitor SQLite plugin version, and tested again in the Android app where I originally discovered this bug. It seemed to work without errors now :pray:


Delete Mozilla.Thunderbird-es.yaml

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

Microsoft Reviewers: Open in CodeFlow

@OfficialEsco Here's the script I made to remove the Firefox duplicates: https://gist.github.com/jedieaston/8cd3a965158f221e53c6da4e163b5a75
You'll have to set the paths to wherever you keep your copy of winget-pkgs, and it needs the github cli to be installed. PATH_TO_PR_BODY is a path to a file with the body you want for the pull request.
Let me know if you have more questions, I made it kind of quickly and didn't put comments.

@jedieaston i just tested the script and got
Press enter to begin opening pull requests.
Press Enter to continue...:
Switched to branch 'Thunderbird-78.1.0(AF)-DELETE'
Your branch is ahead of 'upstream/master' by 1 commit.
  (use "git push" to publish your local commits)
info: please complete authentication in your browser...
fatal: An error occurred while sending the request.
fatal: Unable to connect to the remote server
fatal: An attempt was made to access a socket in a way forbidden by its access permissions <IP_ADDRESS>:443
Username for 'https://github.com':

I got a popup about login in via the website or token, i clicked on website and it prompted for Username, i then entered my Email and the next line became Password for 'https://private<EMAIL_ADDRESS>I tried to rerun the script but then it just ends at
Press enter to begin opening pull requests.
Press Enter to continue...:

aaaand now i'm stuck with a bunch of local branches that i don't know how to remove D:

Thaaaaaaanks, apperently this was a user error because i've never downloaded Github CLI and i was mega confused when gh didn't work..

Oops. I had been using a path there, quickly swapped it to a variable when I posted it on the Gist. that's why I should really test things first. good that you got it working though.


feat: Remove PostgreSQL 11 from the release

Remove PostgreSQL 11 from the BOSH release

@jpalermo Could you please have a look?


Tricubic interpolation, electron cloud and interpolated electron lens elements

Implements the TriCubicInterpolatedFieldMap and two elements that use it:

ElectronCloud uses a reference to a TriCubicInterpolatedFieldMap which the user needs to create.
ElectronLensInterpolated creates a 2D electron lens element given an electron density distribution provided by the user, by solving the 2D poisson equation with the FFTSolver2p5D.

Tests:

tests/test_electroncloud.py
tests/test_electronlens_interpolated.py

Examples:

examples/003_electronlens/electronlens_interpolated_ideal.py

It would be good to test the behaviour of the new e-cloud also inside a ring and check the detuning for a given particle as done for spececharge (here).
-An example should be added (in xtrack) with a simulation of a ring with several e-clouds.
-Code used to generate the e-cloud potential (buildup, averaging, refinement)  should also be available in a GitHub repo (separate package?). Maybe just in the form of example.


GCP deployment (custom vpc, gpu, preemptible)

Related issue: #1989

Closed by https://github.com/nebari-dev/nebari/pull/2049


helen_energy: Error on device update!

Integration was working ok for a while, but a few weeks ago I started to see this in the home assistant logs:
helen_energy: Error on device update!
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 599, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1261, in async_device_update
    await hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/helen_energy/sensor.py", line 555, in update
    _get_total_consumption_for_current_month(self._api_client)
  File "/config/custom_components/helen_energy/sensor.py", line 215, in _get_total_consumption_for_current_month
    return _get_total_consumption_between_dates(helen_api_client, start_date, end_date)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/helen_energy/sensor.py", line 190, in _get_total_consumption_between_dates
    helen_api_client.get_daily_measurements_between_dates(start_date, end_date)
  File "/usr/local/lib/python3.12/site-packages/cachetools/__init__.py", line 641, in wrapper
    v = func(*args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/helenservice/api_client.py", line 157, in get_daily_measurements_between_dates
    response_json_text = get(
                         ^^^^
TypeError: get() takes 1 positional argument but 2 were given

I've updated to the latest version of this integration, updated home assistant, and tried reinstalling the integration but it does not help.
I'm using smart guarantee sensor template.

Did it start happening after updating HA? Or something similar?
The error is a bit confusing. I know for a fact that requests.get function actually does take two positional arguments instead of one (ever since Requests 2.7).
Could there perhaps be some sort of mix up with dependencies, especially with the Requests library 🤷♂ I am not able to reproduce this error in any environment.

Unfortunately I'm not sure on the exact time this started happen, but I've done some HA updates.
Here's oma-helen-cli and Requests versions from pip freeze on the home assistant container if that helps:
oma-helen-cli==1.3.0

requests==2.31.0
requests-file==2.0.0
requests-futures==1.0.1
requests-oauthlib==1.3.1
requests-toolbelt==1.0.0
requests-unixsocket==0.3.0

Launching oma-helen-cli from the shell in container seems to work and I can get data. So I'm not sure is the integration using those versions or running in virtualenv.

That confirms that the requests library version is correct.
The stack trace also has this section which points to cachetools:
  File "/usr/local/lib/python3.12/site-packages/cachetools/__init__.py", line 641, in wrapper
    v = func(*args, **kwargs)

The cachetools version which oma-helen-cli depends on is 5.2.0. That version does not officially support Python 3.12 so there could be something there.
I will update the dependencies and publish a new version when I get to it. Meanwhile, you may want to try it by yourself in your own instance. Just update cachetools to version 5.3.3 and see if it makes a difference.

After updating cachetools to 5.3.3 it still fails the same way:
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 599, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1261, in async_device_update
    await hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/helen_energy/sensor.py", line 555, in update
    _get_total_consumption_for_current_month(self._api_client)
  File "/config/custom_components/helen_energy/sensor.py", line 215, in _get_total_consumption_for_current_month
    return _get_total_consumption_between_dates(helen_api_client, start_date, end_date)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/helen_energy/sensor.py", line 190, in _get_total_consumption_between_dates
    helen_api_client.get_daily_measurements_between_dates(start_date, end_date)
  File "/usr/local/lib/python3.12/site-packages/cachetools/__init__.py", line 737, in wrapper
    v = func(*args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/helenservice/api_client.py", line 157, in get_daily_measurements_between_dates
    response_json_text = get(
                         ^^^^
TypeError: get() takes 1 positional argument but 2 were given

After updating to home assistant 2024.4.1 this started to work again.
It was still failing with the previous 2024.3.3 with same helen_energy 1.3.2 version.
Before the update I created completely new container with same 2024.3.3, same helen_energy 1.3.2 and configurations for it and that was also working fine.
I have some backups still from the failing setup if you want me to debug this more, but I'm happy now that this works again :)

Nice to hear that it's working again!
No need to debug this further. Open a new issue if more problems arise.


Rotate doesn't behave properly with undo

For some strange reason, rotating a big structure some angle that is not multiple of 90 degrees and the undoing it leaves blocks behind. I didn't do any code analysis to check why that's the case.
Result of rotating an octahedron (into a space that was formerly just air)

After undoing the operation

I did a tiny bit of code analysis and I think I got the issue pinned down (from past experiece, when I did my undo in other apps). rotate is likely assigning to one block the rotated position of multiple blocks, meaning it sets that block multiple times. That results in the undo history having a block saved more than once. The first time it's saved, the old block it references is the actual old block, whatever was there before the operation. The second time it saves that position, what's saved as old block is what the previous setting operation did, hence not the actual old block (glass, in this case, instead of air).
I can think of two ways to fix this:

when undoing, run the list of blocks to set (affected_blocks) in reverse order. That ensures that the first block to be placed is the last to be removed, fixing the issue.
when saving to history, don't allow to save one position more than once. This would require modifying set_block to do the check each time it sets a block. This solution would make undo more efficient, but all the other set operations less efficient, so I'm leaning for solution 1.


docs: Composer documentation

🤖[deprecated] Generated by Copilot at 7c3d9dc
Summary
:memo::no_entry_sign::bread:

This pull request improves the documentation layout for the Composer page by removing the unnecessary breadcrumb navigation. It modifies the docs/docs/composer/README.md file to add a frontmatter section that sets breadcrumb: false.

frontmatter hides
breadcrumb navigation
autumn leaves fall

Walkthrough

Disable breadcrumb navigation for composer page (link)

@zhenyasav This should live inside Composer somehow...


PC wakes up keyboard not working

Hello,
When the PC wakes up from sleep, sometimes the keys are correctly received by kmonad (displayed with -ldebug) but they are not transmitted back to the PC. So I can't use the keyboard anymore.
Config
macOS Sonoma 14.0
M1 Pro

Same here. I noticed that you can make kmonad crash by pressing the ^ key left of 1.
I've built a launcher script around kmonad that restarts it after a crash:
#!/bin/bash

# Path to the kmonad binary
KMONAD_PATH="/Users/martin/.local/bin/kmonad"
KMONAD_CONFIG_PATH="/Users/martin/Workspaces/devtools/kmonad-contrib/keymaps/nightscape/bone_mac.kbd"

# Counter for how many times kmonad has crashed
CRASH_COUNT=0

# Timestamp of the first crash in the current sequence
FIRST_CRASH_TIMESTAMP=0

while true; do
    # Run kmonad with superuser permissions
	echo "Starting kmonad"
	echo "sudo $KMONAD_PATH $KMONAD_CONFIG_PATH"
    sudo $KMONAD_PATH $KMONAD_CONFIG_PATH

    # If kmonad exits, it has crashed. Increment the crash counter.
    CRASH_COUNT=$((CRASH_COUNT + 1))

    # If this is the first crash in the current sequence, record the timestamp
    if [ $CRASH_COUNT -eq 1 ]; then
        FIRST_CRASH_TIMESTAMP=$(date +%s)
    fi

    # Get the current timestamp
    CURRENT_TIMESTAMP=$(date +%s)

    # Calculate the time difference between the first crash and now
    TIME_DIFF=$((CURRENT_TIMESTAMP - FIRST_CRASH_TIMESTAMP))

    # If kmonad has crashed 3 times in less than 60 seconds, exit the loop
    if [ $CRASH_COUNT -ge 3 ] && [ $TIME_DIFF -lt 60 ]; then
        echo "kmonad has crashed too frequently. Exiting."
        exit 1
    fi

    # If more than 60 seconds have passed since the first crash, reset the crash counter
    if [ $TIME_DIFF -ge 60 ]; then
        CRASH_COUNT=0
    fi

    # Wait for a second before trying to restart kmonad
    sleep 1
done

So every time I resume my MacBook, I press ^ and then wait for kmonad to respawn. Not optimal but it alleviates the pain somewhat.

Interesting, on my side I don't manage to make it crash using ^
For the time mine crashed but I am not sure what caused it.
Received event: Press <f2>
Running hooks
Registering untimed hook: 1063
Emitting: Press <bru>
Encountered error in KeySource: [Cannot interpret mac switch: 4,Cannot translate from mac keycode: (255,4294967295)]
Closing process: emitter_proc
Closing KeySource
Closing IOKit devices
Closing KeySink
Closing Mac key sink
kmonad: [Cannot interpret mac switch: 4,Cannot translate from mac keycode: (255,4294967295)]

I have seen this on MacOS as well

I would definitely like to see this fixed and am a developer, but am totally clueless with Haskell, though I do know C/C++. I have a way to reproduce it very reliably. My keyboard is connected via USB to a Thunderbolt display connected to my MacBook with a Thunderbolt to USB adapter. When the computer wakes up from sleep it end up in this state every time.
I tried running with -ldebug and here is what I see:
When the computer wakes up I see:
Tried cancelling expired hook: 1843
Tried cancelling expired hook: 1851
Tried cancelling expired hook: 1847
Tried cancelling expired hook: 1860
Tried cancelling expired hook: 1855
Tried cancelling expired hook: 1896
Tried cancelling expired hook: 1910
Tried cancelling expired hook: 1903
Tried cancelling expired hook: 1884
Tried cancelling expired hook: 1874
Tried cancelling expired hook: 1879
Tried cancelling expired hook: 1869

Then I press a single key and the output is absolutely flooded with thousands of messages like this:
--------------------------------------------------------------------------------
Received event: Press
Running hooks
Block level set to: 1
Registering untimed hook: 1993
Registering 300ms hook: 1992

--------------------------------------------------------------------------------
Received event: Release
Running hooks
Emitting: Press
Unblocking input stream, no stored events
Emitting: Release

--------------------------------------------------------------------------------
Received event: Press
Running hooks
Block level set to: 1
Registering untimed hook: 1995
Registering 300ms hook: 1994

--------------------------------------------------------------------------------
Received event: Release
Running hooks
Emitting: Press
Unblocking input stream, no stored events
Emitting: Release

There are occasional batches of Tried cancelling Expired Hook
Is that of any help?

I am on macOS Sonoma and seeing this issue; on resume from sleep, tapping a key makes KMonad peg CPU and lots of log output (at debug log-level) but UI is unresponsive / not receiving keystrokes.
I have an informed guess about the cause.
I am using the following to debug:
sudo kmonad ~/.config/kmonad.kbd --log-level debug

and in my kmonad.kbd
(defcfg
  ;; input  (iokit-name "Apple Internal Keyboard / Trackpad")
  input  (iokit-name)
  output (kext)
  fallthrough true
  allow-cmd true
)

I observe 2 things.

The output seems repetitive -- we're seeing the exact same Received / Emitting / Emitting
If I specify the optional name param to iokit-name -- then I can't reproduce. (I'm not entirely confident this is true ... but it's the case for the several attempts I've made.)

So my guess is that after resuming from sleep, KMonad is receiving the events it emits (in a way that doesn't happen before sleep?). They are reprocessed (infinitely?) and not handed off to the Karabiner kext (or dext, in my case).
It might help confirm or invalidate this theory if anyone experiencing this issue could check whether they have input (iokit-name) or input (iokit-name "Some Keyboard"). And if the former -- does supplying your keyboard name workaround / mitigate?

It looks like any "Karabiner VirtualHIDKeyboard" is excluded by name (CFStringCompare returns kCFCompareEqualTo).
https://github.com/kmonad/kmonad/blob/1c4641f063130165516789e842629e437082c5b8/c_src/mac/keyio_mac.hpp#L78-L97
But on my machine the keyboards are (while kmonad is running, to get the virtual kbd)
kmonad/c_src/mac
❯ ./list-keyboards
Apple Internal Keyboard / Trackpad
Karabiner DriverKit VirtualHIDKeyboard 1.7.0

So I suppose the device name changed w/the migration to DriverKit.
This patch works for me, and should be backwards compatible -- match on the prefix "Karabiner " rather than the exact string "Karabiner VirtualHIDKeyboard"
diff --git a/c_src/mac/keyio_mac.hpp b/c_src/mac/keyio_mac.hpp
index 3088345..38de94c 100644
--- a/c_src/mac/keyio_mac.hpp
+++ b/c_src/mac/keyio_mac.hpp
@@ -75,7 +75,8 @@ void open_matching_devices(char *product, io_iterator_t iter) {
             return;
         }
     }
-    CFStringRef cfkarabiner = CFStringCreateWithCString(kCFAllocatorDefault, "Karabiner VirtualHIDKeyboard", CFStringGetSystemEncoding());
+    // assume any "Karabiner ..." is a virtual device and should be ignored
+    CFStringRef cfkarabiner = CFStringCreateWithCString(kCFAllocatorDefault, "Karabiner ", CFStringGetSystemEncoding());
     if(cfkarabiner == NULL) {
         print_iokit_error("CFStringCreateWithCString");
         if(product) {
@@ -89,7 +90,7 @@ void open_matching_devices(char *product, io_iterator_t iter) {
             print_iokit_error("IORegistryEntryCreateCFProperty");
             continue;
         }
-        bool match = (CFStringCompare(cfcurr, cfkarabiner, 0) != kCFCompareEqualTo);
+        bool match = !CFStringHasPrefix(cfcurr, cfkarabiner);
         if(product) {
             match = match && (CFStringCompare(cfcurr, cfproduct, 0) == kCFCompareEqualTo);
         }

If I specify the optional name param to iokit-name -- then I can't reproduce. (I'm not entirely confident this is true ... but it's the case for the several attempts I've made.)

I can confirm the behaviour, setting the iokit-name fixed it for me 👍

@dalewking I submitted a PR on 27 Dec -- https://github.com/kmonad/kmonad/pull/781
For the more-than-1-keyboard use case, I'm using an approach inspired by the FAQ
https://github.com/kmonad/kmonad/blob/master/doc/faq.md#q-how-do-i-use-the-same-layout-definition-for-different-keyboards
But I actually want a different layout depending on keyboard, e.g. to swap FN and LCTL (only on the Apple keyboard). So I'm using this script, spawned from launchd.
(I don't see a way to apply variant maps to different keyboards simultaneously, which I would do in Karabiner with device conditions. So I've denormalized to multiple slightly different config files, and only use strictly one keyboard at a time...)
#!/usr/bin/env bash
# select KMonad config based on most-preferred of attached keyboards,
# then run KMonad with that config
#
# re-executes when KMonad exits (crashes),
# handling sleep/resume and hardware changes
#

CONFDIR="/Users/brttbndr/.config/kmonad"
BINDIR="/Users/brttbndr/.local/bin"

# list-keyboards is a util that comes with kmonad,
# output modified to replace spaces with underscores
KEEBS="$($BINDIR/list-keyboards 2>&1 | tr ' ' '_')"

# the expected default case is the Apple internal keyboard,
# and if it's not present, 🤷
case "$KEEBS" in
*Adv360_Pro*)
	KB=Adv360_Pro
	;;
*Freestyle_Edge*)
	KB=Freestyle_Edge
	;;
*Apple_Internal*
	KB=Apple_Internal
	;;
*)
	echo "Unknown - $KEEBS"
	exit 1
	;;
esac

echo "Using config $KB"

"$BINDIR/kmonad" "$CONFDIR/$KB.kbd"

echo "KMonad exited, re-execing"

exec "$@"

Closed by #781


Create Roblox

Il mio gico
Changes

Checks
By submitting your pull request for review, you agree to the following:

[x] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[x] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[x] To the best of my knowledge, all proposed changes are accurate.

Che bello 😍

https://github.com/Roblox/creator-docs/assets/170736074/33628685-cc07-4204-9a34-bf969b6f2f5f
Il divertimento


Remove unused code

I thought that I do not need this code.
And it causes confusion.

Thanks, looks like some old code from before I switched this to FabTransform.


MNT: Revert to mayavi as 3d backend for building the documentation

This PR follows https://github.com/mne-tools/mne-python/issues/7228#issuecomment-595666636 and reverts Circle's config to use mayavi to build the documentation until https://github.com/mne-tools/mne-python/issues/7228 is fixed at least.

time_viewer=True needs to be reverted in plot_visualize_stc.py

time_viewer viewer auto to keep the feature when we move back to
pyvista hopefully before the release in 2 weeks...

To get it back, it mostly depends on:

https://github.com/mne-tools/mne-python/issues/7228
https://github.com/mne-tools/mne-python/pull/7060
https://github.com/mne-tools/mne-python/pull/7380

to me https://github.com/mne-tools/mne-python/pull/7380 is the blocker. I
can live with the two others as WIP

But bringing time_viewer='auto' is not compatible with letting mayavi as default 3d backend.


Is djangocms-blog alive?

Since there hasn't been a release for more than a year, I'm wondering if djangocms-blog is still being maintained. @yakky would you mind sharing on the project's future?

Curious as well!

The new djangocms-frontend plugin, which will be endorsed by the Django CMS Association, has prominent mention of djangocms-blog as a compatible app.

@febsn @petrklus @wesleyboar thanks a lot for the interest in djangocms-blog. Even if it's been dormant due to personal reasons, lately, our plan is to get it back on track and align it with the rest of the django CMS ecosystem.
We plan to make the testsuite work again in the next days to be able to officially support current django and django CMS release
Thanks again for your interest and patience

@yakky that's great news, thank you very much!


bug(autocomplete): optionSelected and onChangeCallback is called before the animation completes

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
v16.1.8
Description
There is a _setValueAndClose method in the MatAutocompleteTrigger class that doesn't take into account the time to complete the animation, this has even been flagged todo but still not fixed. Currently, if we in optionSelected decide to clear the array used in ngFor for mat-option, we will get the array cleared before the panel closes and there will be a corresponding jump

@crisbeto
Reproduction
StackBlitz link: https://components-issue-v4ujjj.stackblitz.io
Steps to reproduce:

put the focus in the field
pick a value from the list

Expected Behavior
the optionSelected event will be called after the animation is complete, the menu will not jump after the array is cleared
Actual Behavior
optionSelected event was triggered without waiting for the animation to complete, clearing the array caused the panel to jump
Environment

Angular: 16.2.12
CDK/Material:  16.2.14
Browser(s): google chrome v126.0.6478.127
Operating System (e.g. Windows, macOS, Ubuntu): Windows 10

I haven't checked the source code for autocomplete, but it looks more like an animation (I guess you're referring to the blue line being completed at focus and the blue line turning off when focus is lost).
Maybe you should go into the library itself and try to make the appearance a bit longer (for when someone focuses on the input or it loses focus).


How to dynamically obtain the class attribute name? For example, the reflection function of java?

How to dynamically obtain the class attribute name? For example, the reflection function of java?
Why does it not support why, why both c# and java exist and why dart does not? Why is it so rubbish?

If you want to ask questions I suggest using other support channels (e.g. StackOverflow, discord, gitter, etc). Also I'd encourage you to be less confrontational in your questions.
The answer to your question is the following: dart:mirrors is the equivalent of reflection. It is disabled in Flutter applications because unbounded reflection would have a large negative effect on application's code size and performance. Solution is to use problem specific code generation solution or a package like reflectable.


Add tracker

Added tracker interface.
It will allow to send tracking events to analytics, fabric etc... when error activity is launched and user clicks on restart app.
Tell me if any other events could be added

+1

Any news on this PR @ereza?

Oeeeeeeeee oeeeeee oeeeeee

Merged in 1.5.0.
I have changed a few things however:

The class is called "EventListener" instead of "Tracker"
Added another event when the app is closed via error activity button.
The event listener gets passed as part of the intent since it can be changed during the execution of the app. This means that it must be serialized, and to avoid crashes, the class must not be an anonymous or non-static inner class. If it is, the library throws an exception.

Thanks for the pull request! ;)


update LAN regex

During initial setup wizard, LAN configuration does not allow the option of DHCP due to invalid regex. Updated regex allows for case-insensitive string "dhcp" or ip address ( as original regex)

Before this pull request can be accepted you must first sign a CLA as described at https://www.pfsense.org/about-pfsense/#cla. Please read for more details.

ICLA submitted via e-mail


separate functionality and implementation

I do not  Razor as a dependency when adding the reference , right ?
But I need MiniRazor.TemplateBase as a reference
Could you put MiniRazor.TemplateBase in a separate project ?
This way I can do

to not reference Razor when dot net publish

Sorry, I'm not sure what you're asking exactly.
If you are only using MiniRazor for build-time template compilation, you can most likely just mark it as a private dependency via PrivateAssets="all".

If I do this, when publish, it says that is missing Razor library. Because it is used in TemplateBase....

Makes sense, PrivateAssets="all" won't work.


Differentiate Left and Right Modules

Resolves https://github.com/non/spire/issues/656.
I noticed there are no laws for module structures. Would adding them be wanted?

Codecov Report

Merging #659 into master will decrease coverage by 0.08%.
The diff coverage is 7.69%.

@@            Coverage Diff             @@
##           master     #659      +/-   ##
==========================================
- Coverage   50.05%   49.96%   -0.09%
==========================================
  Files         173      173
  Lines       11167    11179      +12
  Branches     1566     1570       +4
==========================================
- Hits         5590     5586       -4
- Misses       5577     5593      +16

Impacted Files
Coverage Δ

...e/shared/src/main/scala/spire/algebra/Module.scala
4.16% <7.69%> (-4.17%)
:arrow_down:

...red/src/main/scala/spire/math/interval/Bound.scala
54.33% <0%> (-7.09%)
:arrow_down:

extras/src/main/scala/spire/math/FixedPoint.scala
35.51% <0%> (-1.1%)
:arrow_down:

...ala/spire/math/poly/BigDecimalRootRefinement.scala
85.43% <0%> (-0.67%)
:arrow_down:

...re/shared/src/main/scala/spire/math/Interval.scala
68.78% <0%> (-0.51%)
:arrow_down:

core/shared/src/main/scala/spire/math/Real.scala
66.24% <0%> (-0.32%)
:arrow_down:

...ore/shared/src/main/scala/spire/math/Natural.scala
59.38% <0%> (+0.92%)
:arrow_up:

...e/shared/src/main/scala/spire/math/Algebraic.scala
67.96% <0%> (+1.64%)
:arrow_up:

Continue to review full report at Codecov.

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

Hi @stephen-lazaro , welcome to Spire! I started digging into the module / vector space stuff, and it seems that what combines left+right modules is a commutative modules, which needs to be defined over a commutative ring.
What do you think?

Thanks! Glad to be here.
Yep, for sure, though I believe in principle you can have bimodules over noncommutative rings. Perhaps the thing to do is additionally provide enforcement that all modules over Commutative rings are bimodules. I'll look into it.

Woops, got carried away and pushed some broken things. Am resolving.
Overall, maybe something along these lines though? Distinguish modules as commutative, and bimodules as a feature available for possibly non-commutative rings.

Hi @stephen-lazaro, we did a sprint on the stale PR and issues with @non. I had some parallel on this subject in the experimental branch.
I restarted work on a different branch; we added you as a contributor in the authors file as you helped on this issue. Thanks for your contribution!

Wow! Thanks. Glad it was helpful!


Update Snippet for Profile

Describe the bug
The Snippet tprofile for creating a profile seems to wrong prefilled compared to the official documentation for profiles
https://github.com/microsoft/AL/blob/15ac1ee93f0b8eab624a756ab7f8a8798246ab63/snippets/profile.json#L7
To Reproduce
Steps and to reproduce the behavior:

Check the Source on https://github.com/MicrosoftDocs/dynamics365smb-devitpro-pb/blob/live/dev-itpro/developer/devenv-profile-object.md

Expected behavior
Change the Text of Description to 'Some internal comment that only the Dev can see' or change Description with ProfileDescription.
Screenshots
5. Versions:

AL Language: 4.0.198182

Business Central: sandbox:15.0.36626.37063-de-ltsc2019

Hi! Have you noticed that there are two snippets suggested for profiles?

The snippets are provided by VSCode and cannot be versioned with the same precision as some of our other language features, so we are providing both options in Intellisense.

I am closing this issue because it appears that it has been resolved. Please open a new issue if you believe this has not been resolved and reference the current issue.


Oracle docker database

Hi,
I tried tio build docker oracle dabase image with:
./buildDockerImage.sh -v <IP_ADDRESS> -s -i
and i had the following mistake:
Step 5/16 : COPY $INSTALL_FILE_1 $INSTALL_RSP $SETUP_LINUX_FILE $CHECK_SPACE_FILE $INSTALL_DB_BINARIES_FILE $INSTALL_DIR/
COPY failed: stat /var/lib/docker/tmp/docker-builder159105154/linuxx64_12201_database.zip: no such file or directory

Hi @laurentrouleau, most likely you didn't copy the zip installer files into the correct directory. Please rerun without the -i option and have a look at the ReadMe file for how to build images.

Marking as invalid for now until proven otherwise.


shufflenet v2+ssd  performance loss too much

Thanks for the great tools!
When I use this tool  to generate table from shufflenet v2+ssd prototxt and caffemodel, and use the caffe2ncnn tool to get int8 model, the performance loss too much, but mobilenet v1+ssd is fine with this tool. Why is it, any idea?

Do I have to merge the BatchNorm layer and Scale layer to Convolution layer (modified the bias_term: to true and convert the caffemodel) before use this tool?

This effect will be better

@DL-85 hi，i follow the step to convert my mobilenet-ssd to int8 model,but the cost time is more and the performance is bad. Do you know the reason？It is very grateful if you give me any suggest.

For this model(mobilenet_v1_ssd 300),I find that if you close the conv1 layer Int8 forward,and using Float32 forward inplace it,the mAP maybe increase.Please help me confirm it.

@BUG1989 How do you know it?
Anw, i forgot to modify confident_threshold param in file mobilenet_ssd_voc_ncnn.param. Here are updated result for mobilenet_ssd_300:

fp32 model: mAP: 72.33%
int8 model: mAP=60.15%

@titikid We tried it out layer by layer ^_^

Recently i have been trying a new implement : kld + fine-tuning.It can reduce the precision loss(mAP loss < %).But i do the work in my spare time, so I don't know when I can finish it (

@BUG1989 yes.kld+fine-tuning should be better.
Sorry. This is my first time to use ncnn framework. How can i "close the conv1 layer Int8 forward,and using Float32 forward inplace it" as your recommendation?

@titikid mixed-precision-inference

@BUG1989 is there some mistake here: "before converting your model files, delete the layer weight scale line in table file, and that layer will do the float32 inference" ???. i think table file is output of converting process.

@BUG1989 i add 7=1 in conv1 in param file and the accuracy is significantly increase (mAP=66.35%). Cheer!

@titikid Thank you very much for helping me with this experiment

@DL-85 @titikid I test a new case,with output channel split,[k, k, cin, cout] cut into "cout" buckets.quantize all layer in mobilenet_v1_ssd,the mAP from  60.38 to 68.85(the mAP of FP32 is 70.49)

@BUG1989 Do you have any document for new quantization method (base on number of group)? btw, i couldn't see any MobileNet_v1_dev.table in repository

@titikid Hi,I have update those files,base on number of output channel number.

using caffe-int8-convert-tools-dev-weight.py to generate the calibration.table,maybe you can use those tables ;
using this ncnn to adapt it(caffe2ncnn,examples,and so on).

@BUG1989 i will try it. Thanks for your work!

@DL-85 @titikid I test a new case,with output channel split,[k, k, cin, cout] cut into "cout" buckets.quantize all layer in mobilenet_v1_ssd,the mAP from 60.38 to 68.85(the mAP of FP32 is 70.4)

您好，能具体描述下这个方法的操作步骤吗？谢谢！

how did you get the quantization performance? @titikid

what do you mean "add 7=1 in conv1 in param file"


Flutter filter listview

I am trying a filter a list of documents from a collection , one of a field in collection is Taskassignedto this field if equal to current user email .
i am trying to get data by using following code
return await Firestore.instance.collection('Task').getDocuments();
i need to filter the collection where Taskassigned to is equal to current user email. Appreciate the help.tried this
return await Firestore.instance.collection('Task').where('Taskassignedto',isequalto:email).getDocuments();
getting an error getter email isnt defined for the class FirebaseUser

Questions like these are better suited for Q&A sites like StackOverflow or on one of the flutter community sites at https://flutter.dev/community


Design about dialog

Design a proper about dialog with some text describing the purpose of the product (Blueprint product) and pointers to more information:

Link to download page
Link to Github project
Link to report bugs
Legal information and licenses.

Some graphics would make this dialog more appealing.
For reference this is the default about dialog:

We (EclipseSource) intend to work on the implementation of this on behalf of ST Microelectronics. Help for the design wanted.

We are currently designing an about dialiog.

We are currently designing an about dialiog.

The current design may look like this:

The current design may look like this:

Does a document exist with the content? Would you like content to worked on in this issue, or in a separate one?
cc @croundy

Does a document exist with the content? Would you like content to worked on in this issue, or in a separate one?
cc @croundy

We have already transferred the document into this PR. For improvements I suggest to open a new bug and describe the improvements there or even better to open a PR once the changes of the current PR are merged.

We have already transferred the document into this PR. For improvements I suggest to open a new bug and describe the improvements there or even better to open a PR once the changes of the current PR are merged.

Please find attached the Download Page Design:

Please find attached the Download Page Design:

Thanks, I guess this is the design for about dialog not for download page, right?

Thanks, I guess this is the design for about dialog not for download page, right?

DISLAIMER: Personal opinion ahead :)
First proposal: The graphic to me looks like a "digital product" stock photo which I cannot relate to Theia Blueprint
Second proposal: I can see the relation to the Theia logo but it looks a bit "shredded" to me
Both proposals: The font of "Theia" and maybe also "Blueprint" should match the font of "Theia" in the original logo.
I cannot really commit to any of the proposals, but I guess there is other opinions?
@jfaltermeier @JonasHelming @lucas-koehler What do you think?

DISLAIMER: Personal opinion ahead :)
First proposal: The graphic to me looks like a "digital product" stock photo which I cannot relate to Theia Blueprint
Second proposal: I can see the relation to the Theia logo but it looks a bit "shredded" to me
Both proposals: The font of "Theia" and maybe also "Blueprint" should match the font of "Theia" in the original logo.
I cannot really commit to any of the proposals, but I guess there is other opinions?
@jfaltermeier @JonasHelming @lucas-koehler What do you think?

Also: This issue is closed so please open a new issue with the proposals, e.g. "Improve about dialog"

Also: This issue is closed so please open a new issue with the proposals, e.g. "Improve about dialog"

That's right! Sorry for confusion!

That's right! Sorry for confusion!

Any further improvement efforts by @meKokabi are now pursued in #11

Any further improvement efforts by @meKokabi are now pursued in #11