Eigenvalues of spin S-1 chain

Dear EDKit developer(s),
I am writing to seek assistance regarding the computation of eigenvalues for a spin-1 diamond-like chain featuring two distinct exchange couplings in the presence of an external magnetic field along the z-axis, as depicted in the figure below.

I tried following code:
using EDKit
using LinearAlgebra

L = 12
for Bz=0:0.1:8
       mat = spin((1, "xx"), (1, "yy"), (1, "zz"), (1, "z"), D=3)
       mats = fill(mat, L)
       inds = [
                     [[i, mod(i+1, L)] for i=1:3:L];    # J_1 exchange coupling
                     [[i, mod(i+1, L)] for i=1:3:L];    # J_1 exchange coupling
                     [[i, mod(i+1, L)] for i=1:3:L];    # J_1 exchange coupling
                     [[i, mod(i+2, L)] for i=1:3:L];    # J_1 exchange coupling
                     [[i, mod(i+2, L)] for i=1:3:L];    # J_1 exchange coupling
                     [[i, mod(i+2, L)] for i=1:3:L];    # J_1 exchange coupling
                     [[i, mod(i+1, L)] for i=2:3:L];    # J_2 exchange coupling
                     [[i, mod(i+1, L)] for i=2:3:L];    # J_2 exchange coupling
                     [[i, mod(i+1, L)] for i=2:3:L];    # J_2 exchange coupling
                     [[i, mod(i+2, L)] for i=2:3:L];    # J_1 exchange coupling
                     [[i, mod(i+2, L)] for i=2:3:L];    # J_1 exchange coupling
                     [[i, mod(i+2, L)] for i=2:3:L];    # J_1 exchange coupling
                     [[i, mod(i+1, L)] for i=3:3:L];    # J_1 exchange coupling
                     [[i, mod(i+1, L)] for i=3:3:L];    # J_1 exchange coupling
                     [[i, mod(i+1, L)] for i=3:3:L];    # J_1 exchange coupling
                     [i for i=1:L]                        # Bz magnetic field
                   ]
       B = TranslationalBasis(L=L, N=L, base=3)
       H = operator(mats, inds, B)
      vals, vecs = Array(H) |> Hermitian |> eigen
      println(vals)

end

In my calculations, I have considered the conservation of SzT (N=L). However, I have encountered several challenges in proceeding with the calculations. Despite consulting the examples provided in your documentation, I have been unable to resolve these issues. I would greatly appreciate it if you could address the following concerns:

How can I incorporate an onsite magnetic field along the z-direction? I attempted methods such as (1, "z")  and [spin("Z") for i=1:L], but encountered errors.
What approach should I take to introduce distinct exchange interactions J_1 and J_2 into the model?
I am interested in obtaining the eigenenergies of the Hamiltonian for this model at various values of the magnetic field within the interval 0<=B_z<=8 (specifically, for B_z=0:0.1:8). Could you please provide guidance on modifying the code to achieve this?

Your assistance in resolving these issues would be greatly appreciated.

Hi Hamid,
Thank you for your message. I have created a Jupyter Notebook demonstrating the steps, and you can find it in the example folder. I hope you find it helpful.
I would like to share a few comments:

Utilizing the trans_inv_operator is recommended for translational invariant Hamiltonians, as it simplifies the process. Additionally, leveraging translational symmetry can further reduce the dimension of the many-body Hamiltonian. In your example, specifying the momentum sector looks crucial, otherwise, the dimension of the matrix seems too large.
Given that the translation involves a 3-site shift, the current approach involves merging the spins in a unit cell into a local quantum dot with increased dimensionality. It requires defining local terms in this enlarged system. In the future, I am considering an upgrade to the package for a more transparent procedure.

If you encounter any issues or notice mistakes in the provided example, please don't hesitate to bring them to my attention. As the package is not extensively documented and is primarily used within my group, I am pleased to assist others who find it useful.
Best regards,
Jie

Hi Jie,
Thank you very much for your efficient code. I made some modifications and executed the results. Upon comparison, I noticed a discrepancy between the exact diagonalization (ED) results obtained from QuSpin and those from EDKit for a small system with L=2 (total number of spins N=6). In QuSpin, I did not consider any symmetry, thus obtaining the full ED results.
Please see below figure for reference:

Blue broken line is EDKit results and black solid like is QuSpin results.
Below is the EDKit code I used:
using EDKit, LinearAlgebra
using DelimitedFiles

# Hamiltonian parameters:
J1 = 1.0
J2 = J1
J3 = 2.7
J4 = J1
J5 = J1
L = 2
k = 0
N = 3L
sz_min = 0
sz_max = N
B_min = 0
B_max = 8
uB = 0.1
# -------------------------------------------------------
all_energies = []
for (m_B, Bz) in enumerate(B_min:uB:B_max)
    # current_energies = []
    for i in sz_min:sz_max
    # ---------------------------------
        ha = Bz
        hb = ha
        hc = ha

        # onsite Hamiltonian matrix
        O1 = spin((J1, "xx1"), (J1, "yy1"), (J1, "zz1"), D=3)
        O2 = spin((J2, "x1x"), (J2, "y1y"), (J2, "z1z"), D=3)
        O3 = spin((J3, "1xx"), (J3, "1yy"), (J3, "1zz"), D=3)

        hz = spin((ha, "z11"), (hb, "1z1"), (hc, "11z"), D=3)

        h1 = O1 + O2 + O3 + hz
        C1 = spin((J4, "1x1x11"), (J4, "1y1y11"), (J4, "1y1y11"), D=3)
        C2 = spin((J5, "11xx11"), (J5, "11yy11"), (J5, "11yy11"), D=3)

        h2 = C1 + C2
        Nj = diag( spin((1,"z11"), (1,"1z1"), (1,"11z"), D=3) + 3*I )

        # since Julia vector start from 1, hence the `sj+1`
        total_z(s) = sum(Nj[sj+1] for sj in s)
        basis = TranslationalBasis(L=L, f = s -> total_z(s) == i, k=k, base=3^3)
        H = trans_inv_operator(h1, 1:1, basis) + trans_inv_operator(h2, 1:2, basis)
        energy = eigvals(Hermitian(H))
        for sublist in energy
            for element in sublist
                push!(all_energies, element)
            end
        end
    end
    # push!(all_energies, current_energies)
    # ----------------------------------------------------------------------
    println("*************************************************************")
    println("-------------- Finished job: B = ", Bz, "-------------------")
    println("*************************************************************")
end

open("Energies_DiamondS1_cSzT_EDKit_J$(J3)_L$(L)_Bmin$(B_min)_Bmax$(B_max).txt", "w") do io
    for energies in all_energies
        for En in energies
            writedlm(io, En, '\n')
        end
    end
end

In above code I tried to keep fix total_z(s) in each step of magnetic field such that all possible fixed values of magnetization are taken into account.
I really like your package, especially for its concise code structure. I'm optimistic that it will assist me in achieving my objectives effectively.
Your insights and comments on this matter would be greatly appreciated.

Hi Hamid,
One thing I noticed in your code: if you are interested in obtaining the whole spectrum, you should do a for loop over k = 0,1,...,L; also, for the spin-1 system, the maximal magnon filling is 2N (sz_max = 2N).
If it still does not solve the discrepancy, could you provide the complete code that generates the results, both in EDKit and QuSpin so that I can check it myself?

Dear Jie,
I found the problem. Please edit the code that you have added to examples.
Namely, the part
C1 = spin((J4, "1x1x11"), (J4, "1y1y11"), (J4, "1y1y11"), D=3)
C2 = spin((J5, "11xx11"), (J5, "11yy11"), (J5, "11yy11"), D=3)

should be
C1 = spin((J4, "1x1x11"), (J4, "1y1y11"), (J4, "1z1z11"), D=3)
C2 = spin((J5, "11xx11"), (J5, "11yy11"), (J5, "11zz11"), D=3)

Thanks!
Now the code works well.

Hi Hamid,
Thanks for finding out the mistake I made. I am happy that it works for you.

Dear Jie,
I still see mistake in the line: C1 = spin((J4, "1x1x11"), (J4, "1y1y11"), (J4, "1y1y11"), D=3). It should be like:
C1 = spin((J4, "1x1x11"), (J4, "1y1y11"), (J4, "1z1z11"), D=3). Namely, (J4, "1z1z11") is  correct for correlation along z-axis.

Hi Hamid,
Thanks, I think I fixed it this time.


make install error output on CentOS 7.8

System Information
Linux distribution
  Centos7 - CentOS Linux release 7.8.2003 (Core
Terraform version
terraform -v
terraform v0.13.5

Provider and libvirt versions
terraform-provider-libvirt -version

If that gives you "was not built correctly", get the Git commit hash from your local provider repository:
git describe --always --abbrev=40 --dirty

Checklist

[ ] Is it a bug or something that does not work as expected? Please make sure you fill the version information below:

Description of Issue/Question
make install spits out this Error 1.
make install
go install -ldflags "-X main.version=$(git describe --always --abbrev=40 --dirty)"
go<EMAIL_ADDRESS>requires
<EMAIL_ADDRESS>requires
<EMAIL_ADDRESS>invalid version: git fetch --unshallow -f origin in /root/go/pkg/mod/cache/vcs/493c345a72dc342bd0a5aa812a6d28915145ac236f7eccad27169b86925c9fe9: exit status 128:
fatal: git fetch-pack: expected shallow list
make: *** [install] Error 1
Setup
(Please provide the full main.tf file for reproducing the issue (Be sure to remove sensitive information)
Steps to Reproduce Issue
Installation when running make install from the repo

Additional information:
Do you have SELinux or Apparmor/Firewall enabled? Some special configuration?
Have you tried to reproduce the issue without them enabled?
SELinux is off

@itlinux  hi it seems your error is releated to your build host. Maybe your golang env has some issue.
I don't use centos7 as build host for development. I will let your issue open so maybe if people are using it can help. But to me it seems your env. is somehow compromised . I would run either go mod tidy or verify modules and not using gopath etc.
Btw what do you want to achieve ? developing the provider or using pkgs? In case you want to use the provider binary, you can have look at our releases and grab the fedora rpm/binary (0.6.3)

I think this issue can be closed since provider uses pure Go version of libvirt client and binaries are available in official Terraform registry


Ndef read always returns null after Android update (S20 5G)

One of the phones I was testing my app on (Samsung S20 5G) had a security patch update on 10th of January (Build number: G981BXXUFGVJE).
Since the software update the Ndef.read function of nfc_manager library always returns null.
The function works fine on all other of my test devices that did not go through software update.

any update on this issue?


Accept a pathLikeObject, pass string to Defcon

Change if/elif/else order to test for None first

Open tests still need writing, but this is ok for now


eslint require error

when use
"interactive-linter.javascript": ["eslint"],     "language": {         "javascript": {             "linting.prefer": [                 "ESLint"             ],             "linting.usePreferredOnly": true         }     }
and .eslintrc
  "parser": "babel-eslint",
the InteractiveLinter will echo Interactive Linter: 1 Linter Problem
like that:
Module name "babel-eslint" has not been loaded yet for context: _. Use require([]) http://requirejs.org/docs/errors.html#notloaded	[undefined] - undefined

@raiscui yeah configuring anything but linting rules is supported.  Currently, supporting the parser field isn't a priority as that's not quite as common of a use case.  However, I will happily accept a PR :)


Consolidate to one package and update

Fixes #60.  Fixes #38.

Switches to a single top level npm package.
Uses data_files to ship the extensions
General cleanup

Once this goes it we can update https://github.com/jupyterlab/mimerender-cookiecutter-ts with similar content.

Yeah, that seems fair.  We can use the files in this PR as the template for that other package, similar JupyterLab's create:package.

I'm ok with merging this in the meantime because it seems like it could take some time

Yeah, that sounds good.

I haven't had a chance to test, but is it working for you? Do you want me to test locally before merging?


aoi error using project template

closes #435

This error is because the base map is incorrectly set to blank.  Please fix this instead of waiting for the incorrect values appear.  Go to setProjectTemplate starting on line 242 and set correct values for when newTemplateId === 0.  You should also clear the bounding box on the map if the coordinates are clear.


add roll dice example in Erlang with Elli

Adds an example in Erlang for https://github.com/open-telemetry/opentelemetry.io/issues/2623 that will be used for the Erlang part of https://opentelemetry.io/docs/instrumentation/erlang/getting-started/
I made the htmx part just for fun to play with the propagation but figure no harm in including it.

forgot about getting this merged in

Will need an Elixir version and for the dice roll game to be used in official docs. There is an initiative to have it be used by all languages.


Progress Bar while image is being loaded.

Actual Behaviour

Currently while loading the image from the API we are displaying nothing.
Expected Behaviour

We can add a progress bar to enable user know that image is being loaded. We can add this at all places where the image is being fetched from the API
@the-dagger @mananwason  Can I send the PR for the same?

Looks good, please go ahead.
Make sure that the implemented solution takes in account for missing profile pictures and network issues too.


[JAMES-3767] rename pulsar artifact

Hello,
I renamed the artifact as discussed by email, I also added an bit of readme.
Contrary to what we wrote in the mail, I decided to remain on an SQL store for domains, recipient rewrite tables and users. The reason is that while relying on files would be enough for our specific use case, it would also seriously limit the scaling part of the artifact.

My guess is flaky test ...
Condition with lambda expression in org.apache.james.transport.mailets.MailReprocessingIntegrationTest was not fulfilled within 1 minutes.


restrict-to-owner does not allow Service.remove(null) from internal systems

In the restrict-to-owner hook, the code that allows authorization checks to be by-passed for internal system calls:
if (!hook.params.provider) {       return hook;  }
is currently done AFTER the check to see if a hook.id was passed in:
if (!hook.id) {       throw new errors.MethodNotAllowed('The restrictToOwner hook should only be used on the 'get', 'update', 'patch' and 'remove' service methods.'); }
This prevents an internal service from calling service.remove(null) to delete the entire collection. The order of the two checks should be reversed.

This has been closed via #335 and released in v0.7.11.


Ability to set 'Advanced Options' in settings.json

Visual Studio Code Version : [ 1.8.0 ]
Code Sync Settings Version : [ 2.3.8 ]
Operating System : [ Windows 10 1607 ]
Between multiple computers/vm's, I'm constantly setting things like hiding the post-sync page.
Could you please add the ability to set these in settings.json? eg. codesync.showSummaryPage

Try with this command
"Sync : Advance Options > Toggle Summary Page On Upload / Download"
let me know if there is any problem :)

That works, but I still have to set it on each machine. This plugin is for
syncing settings, so it's odd to me that you can't sync settings for it.
Also, for some reason I have to toggle it back off every now and then.
What is the reason behind not exposing sync settings like sync.showsummary
in settings.json, which is synced?
On Thu, Dec 15, 2016, 4:19 AM Shan Khan<EMAIL_ADDRESS>wrote:

Try with this command
"Sync : Advance Options > Toggle Summary Page On Upload / Download"
let me know if there is any problem :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/shanalikhan/code-settings-sync/issues/157#issuecomment-267292143,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKOQXXEWCQNCeCi4anaD4sZ_tTicWNyHks5rIRRGgaJpZM4LNcG6
.

Its not saved in settings.json for now, it uses its own json settings file to save its settings. I am working on it and will integrate with settings.json


pingall fails with default installation on Ubuntu 20.04

Expected/Desired Behavior:
Calling pingall with default topology succeeds without packet loss.
Actual Behavior:
Emulated hosts cannot reach each other. 100% packet loss.
Detailed Steps to Reproduce the Behavior:
$ sudo mn
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
c0
*** Starting 1 switches
s1 ...
*** Starting CLI:
mininet> pingall
*** Ping: testing ping reachability
h1 -> X
h2 -> X
*** Results: 100% dropped (0/2 received)

Additional Information:
I installed mininet with:
sudo apt install mininet

I also tried running with the --test option and the process hangs at "Waiting for switches to connect":
$ sudo mn --test pingall
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
c0
*** Starting 1 switches
s1 ...
*** Waiting for switches to connect

@jacobperron - Did you get anywhere with this? I'm hitting the same thing with the package installed from apt. I even tried cloning the repo and using the install script, but I'm hitting a linking error during the make of oflops.

@jlax47 I ended up using the install script. I ran the following commands:
sudo apt install -y git iputils-ping
git clone http://github.com/mininet/mininet.git
cd mininet
util/install.sh -fnv

Ping @lantz ... this project seems pretty quiet, you were the last committer, so I'm wondering if you have any idea if anyone is working on making sure mininet can work on modern Ubuntu's?

@jlax47 With the changes in #980, I am able to install it from source into Ubuntu 20.04, and your repro case works for me.
My own existing Mininet-based topology still has problems only on 20.04 (still debugging that), but the minimal test you showed at least works.

can this then be closed @jeffallen ?


Remove obsolete comment about lacking support of iconv on NetBSD

This piece of documentation was originally introduced in https://github.com/newsboat/newsboat/commit/921ebb0f379593ba96a07802680e73480cb12c40.
I won't be able to test Newsboat on NetBSD so feel free to drop the second commit from this PR.
Changes inspired by https://github.com/newsboat/newsboat/pull/1678.

Coverage remained the same at 59.034% when pulling dc56848438d8e5bdb8d3a8d44f80b773bca0aad5 on dennisschagt:update-netbsd-doc into 23d28edcf452738a033e90c6e264cd61051e1c04 on newsboat:master.

We also use iconv indirectly through stfl, and libxml2 probably uses it as well. I'll set up a NetBSD VM and try to build this PR in there. If it builds and runs, I'll merge this; otherwise I'll close it and wait for someone who wants to invest the effort into making it work. Sounds fine?

Nope, it still crashes as described in #361. So I'll close this PR, sorry.

Sounds fine?

Completely fine.
Thanks for testing!


Parallel model dump.

Codecov Report

Merging #7040 (08ac813) into master (2567404) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7040   +/-   ##
=======================================
  Coverage   81.86%   81.86%
=======================================
  Files          13       13
  Lines        3916     3916
=======================================
  Hits         3206     3206
  Misses        710      710

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 2567404...08ac813. Read the comment docs.


OpenAttack.DataManager.loadVictim can't load any victim model

I try to use OpenAttack.DataManager.loadVictim() to load fine-tuned model in openattack.readthedocs.io , but it had urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1091)>, it can't load any victim model. And there is no download link on the official website（ openattack.readthedocs.io）

oa.DataManager.enable_cdn()


Stuck invite (rejecting or accepting causes "Internal server error")

reported by @vurpo:vurpo.fi
https://github.com/matrix-org/riot-android-rageshakes/issues/157

Duplicate. See https://github.com/vector-im/riot-android/issues/1223


Do you folks want me to take a look at this in case @tgravescs and @jlowe are not?

@kuhushukla if you could look into this that'd be great.  The nightly Spark 3.0.0 integration tests have been failing with this as well, it appears.

Will update here asap.

Seems related to NullType support IMO, as of the failing ones - at least one column is Null.

I am unable to repro this locally even with the spark-3.0.0 artifact that is used by the nightly build. I will see what I can do further and pissbly add explain-all for debug if nothing works out.

Thanks @kuhushukla It looks like the failure is happening on 3.0.1, and it is related to First.
            !Expression <First> first(if ((gid#1631 = 0)) max(`a`)#1648 else null) ignore nulls cannot run on GPU because unsupported data types in input: NullType; expression First first(if ((gid#1631 = 0)) max(`a`)#1648 else null) ignore nulls produces an unsupported type NullType

I'll see if I can fix it.

Yup it is my fault. I forgot to update the 3.0.1 shim layer to let first and last work with NullType.  I got the 3.0.0 shim layer. I'll put up a PR shortly.


Makes Note of why environment vars are named as such for postgres-aca-addon

The ACA Postgres addon requires specific naming of your environment variables.
We should include this in a comment for that selection.

{% if db_platform == postgres-aca-addon %}
# These variable names are required by the postgres-aca-addon
{% endif %}

Fixed in https://github.com/kjaymiller/cookiecutter-relecloud/pull/110
I put the comment in the settings file for each framework.


Error in Code

running ./example.sh --gpu 0
pickle.PickleError: can't pickle repeated message fields, convert to list first

@saxenarohit Thank you very much for pointing out the issues. I have already updated the code to fix the above two errors.


Removing space from participant breaks diagram

When removing space to the left (inside a Participant), if no element is caught in the selection, the participant doesn't take into account the children and the participant can be made smaller then them.

Related to bpmn-io/bpmn-js#259

We appreciate a PR to improve things.


[WIP] qa_crowbarsetup.sh: mount remote nfs mounts by IP address

On SLE12, named is a compat sysv init script which relies on
$remote_fs to finish starting. if we have remote mounts
that depends on DNS resolution, we don't get it started automatically
since the remote mounting fails.

This currently does not work as systemd in our admin node image is missing this feature

Another way is to use .mount files to mount the filesystem. In that files you can declare dependencies. See http://www.freedesktop.org/software/systemd/man/systemd.mount.html

the /etc/fstab method is however the preferred method, and I think it is easier.. we could just revisit this with the switch to SLE12 SP1

btw: mounting nfs on boot is also broken on SLE11 for the same reason.
    sshrun "mount -a -t nfs" # workaround repos not mounted on reboot because NFS needs bind, but bind says it requires NFS

This is obsolete, isn't it?

Let's close it for now, until we got rid of Cloud5 with SLE11 admin nodes that cannot use this systemd-specific workaround.


Feedback when downloding artifacts

When chameleon is downloading artifacts no information is printed in the console. Would be nice to have something like maven-dependency-plugin does:
[INFO] Configured Artifact: org.wildfly:wildfly-dist:8.1.0.Final:zip

Downloading: http://repo.maven.apache.org/maven2/org/wildfly/wildfly-dist/8.1.0.Final/wildfly-dist-8.1.0.Final.zip

Downloaded: http://repo.maven.apache.org/maven2/org/wildfly/wildfly-dist/8.1.0.Final/wildfly-dist-8.1.0.Final.zip (126736 KB at 46304.7 KB/sec)

Information is printed by chameleon only when no artifacty is found, eg:
 Jun 17, 2015 10:38:54 PM org.jboss.shrinkwrap.resolver.impl.maven.logging.LogTransferListener transferFailed
WARNING: Failed downloading org/glassfish/main/ejb/gf-ejb-connector/4.0/gf-ejb-connector-4.0.pom from https://maven.java.net/content/repositories/promoted/. Reason:

maybe its only a log level config but I think its important cause first time I run chameleon tests I thought the test was in infinity loop but it was downloading the containers.
PS: It took 40 minutes to build ;):
[INFO] Building jar: /home/pestano/projects/arquillian/arquillian-container-chameleon/target/arquillian-container-chameleon-1.0.0.Final-SNAPSHOT-sources.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 40:17.467s
[INFO] Finished at: Wed Jun 17 22:54:41 BRT 2015
[INFO] Final Memory: 22M/255M
[INFO] ------------------------------------------------------------------------
pestano@pestano:~/projects/arquillian/arquillian-container-chameleon$

Yeah, sounds like a good idea :)


Adds the name attribute to file input

Absence of name on file input was preventing the file from being sent to server.
Added the name attribute.

Codecov Report

Merging #275 (5a8b527) into main (6c74438) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #275   +/-   ##
=======================================
  Coverage   82.76%   82.76%
=======================================
  Files          50       50
  Lines        2228     2228
=======================================
  Hits         1844     1844
  Misses        309      309
  Partials       75       75

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 6c74438...5a8b527. Read the comment docs.


Add NotAuthorizedException

Add new exception NotAuthorizedException with message:
User is not allowed to access entity with {id}

Added


Remove Random, Crypto, and Digest namespaces, or add a few more namespaces.

Do the justfications used in #8886 regarding the Compress namespace apply elsewhere?  Removing their namespaces would be consistent with the non use of a Compress namespace.
The following would end up in the root namespace:
Addler32
CRC32
MD5
SHA1
PCG
ISAAC
RandomSecure
Bcrypt
Blowfish
Subtle?

An argument was made that typing Compress was too inconvenient.  If MD5,SHA1 or other namespaced classes are used more often than Deflate shouldn't they be in the root namespace?
Thanks to @straight-shoota for making this clear.

This issue can probably be closed, as the decision is to use the Compress namespace.


Use proper timezone in the timestamp received from barman-cloud-backup-list

barman-cloud-backup-list utility returns timestamps in JSON in ctime format which is a naive format while cnpg parses it as UTC.
Closes #4688

Thanks for the contribution.
Could you please file a bug with more context for this patch and link it to the PR?
Please also add some unit tests to validate your fix.

Sure, will be done in a couple of days.

Thanks for the contribution.
Could you please file a bug with more context for this patch and link it to the PR?
Please also add some unit tests to validate your fix.

Done.
About unit tests, based on local time nature I've tried to choose the smaller surface to test to avoid introducing flaky test so I'm checking time.Location match only to verify the introduced change only. However it would be much more reliable if barman will start to use native JSON time format (rfc3339/ISO8601) containing all the data.
Thanks.

Anyone to approve the change? :)

I think the fix is valid.
The BeginTimeString and EndTimeString are convert to to timestring in local timezone in barman.

/test limit=local

Hello @litaocdl , can you proceed to add some unit testing?

I don't like the fact that Barman doesn't return a timezone enabled timestamp, and I would rather assume it is UTC. We should involve some Barman developers here.

@martinmarques @gcalacoi

A possible solution is that, until Barman returns a timezone aware timestamp, we set the UTC timezone when running backup commands. Does it make sense? @leonardoce

I think we should also enforce UTC always when parsing the date to be double sure

As a temporary measure, if Barman honors them, we could use the TZ and the LC_TIME environment variables to get a UTC timestamp.

If in this case, the fix probably not work, should we get the postgres locale and parse the date string ?
xl.download, backup in timezone +2
begin_time=2024-08-28 08:28:01.701883+02:00
end_time=2024-08-28 08:28:02.370511+02:00

barman give a time without timezone, it is using postgres locale to convert ?
 barman-cloud-backup-show --endpoint-url http://minio-service.minio:9000  --cloud-provider aws-s3 s3://cluster-backups/ cluster-locale  20240828T062801 --format json
{"cloud": {"backup_label": "'START WAL LOCATION: 0/5000028 (file<PHONE_NUMBER>00000000000005)\\nCHECKPOINT LOCATION: 0/5000060\\nBACKUP METHOD: streamed\\nBACKUP FROM: standby\\nSTART TIME: 2024-08-28 08:28:01 CEST\\nLABEL: Barman backup cloud 20240828T062801\\nSTART TIMELINE: 1\\n'", "backup_name": "backup-20240828062801", "begin_offset": 40, "begin_time": "Wed Aug 28 08:28:01 2024", ... "end_time": "Wed Aug 28 08:28:02 2024"}}

And we convert it to UTC (without fix)
> k -n minio get backup backup-src-20240828062801 -o yaml | yq ".status.startedAt,.status.stoppedAt"
2024-08-28T08:28:01Z
2024-08-28T08:28:02Z

@teran
Unfortunately, the fix can not sovle the problem. The problem is, BeginTimeString, EndTimeString returned by barman-cloud-backup-list command is converted from a timezone time using cTime, cTime just ignore the timezone information.
so if backup is taken at 2024-08-28 08:28:01.701883+02:00, BeginTimeString will be set to Wed Aug 28 08:28:01 2024, we can not parse it as we do not know the timezone it is using.  we created a bug in barman side and ask them to fix, so are a confidential enough to parse the time using the timezone barman command give us.

@litaocdl That's even better because will add explicit timezone information instead of guess it should be UTC, so feel free to simply close the PR without merging. Thanks :-)

This PR has now been superseded by https://github.com/cloudnative-pg/barman-cloud/pull/49


Added back to top in blog.html

Thanks for sparing time and reading my contribution

@anurag-4508  Hey it's look good to me. just do one thing , please fetch and merge your repo. your repo need to be updated.


Power Calculator

Before jumping into Pr first comment for assign.
Problem statement : Create a function that takes voltage and current and returns the calculated power.
Probelm Link :  https://edabit.com/challenge/a2D3cva6PKrHyqdXC
Choose one Cateorgy - Very Easy
question category :

Before submitting a PR please Check some details.

[ ] fileName formet should be in camelcase
example- returnTheNextNumber.py
[ ]  Choose label for Problem , example- "good first issue", "easy"
[ ]  In file there should be problem statement and link to problem

/* Problem-Task : This program will add two numbers
 * Problem Link : https://edabit.com/challenge/SFzHtm63XT6EYNHWY
*/
int main() {
    int bla;
    return 0;
}

This repository is vaild for HacktoberFest2020
Read before making PR - How to contribute on Github
Good Luck,

Please assign this to me

I can implement in python if needed.

Please assign this to me

please assign this task to me.

i want to work  on this please assign it to me


feat: support snippets for built-in commands.

This commit converts built-in commands into snippets, making it more convenient to write CMake files.
It has been tested with Emacs only, so it is suggested to try it locally before merging.
https://github.com/Decodetalkers/neocmakelsp/assets/990329/2bfea62e-e5a4-426e-a099-35d719a884f6

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:

but the video is failed.. emmm

this pr is very good, I like it very much

I will merge it , thanks very much! I will publish a new version in 7.1


Message: Webresource name does not contain a valid prefix.

The error is
Creating Webresource '..\web-resources\js\mysolution-form.js' -> '/js/mysolution-form.js'
The application terminated with an error.
Timestamp: 25/02/2024 20:58:04
Code: -2147159784
Message: Webresource name does not contain a valid prefix.

Server stack trace:
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)

Created a Visual Studio project folder in
.\myDataverseSolution\DeployWebresources
My js files are in
.\myDataverseSolution\web-frontend\web-resources\js
My splk.json
    */
  "files": [
    {
      "uniquename": "/js/mysolution-form.js",
      "file": "..\\web-resources\\js\\mysolution-form.js",
      "description": ""
    }
  ]

My client chose the project folder for the XRm typescript files so ... I am hoping this isn't the issue 😒

Fortified by a  decent latte,  I figured out the issue:
The unique name in the spkl.json must represent the name I used in the solution ( not the name of the file).
Deployed 1 webresource(s)
Publishing 1 webresources...
Publish complete.
Processed 1 section(s)
Processed 1 config(s)
Press any key to continue . . .

I guess my one concern is I want to " auto detect" when one of my Js files has changed since last publish and only deploy if this the case.


Copy over work from datapackage-render-js

Have the basics of a DataPackage lib here:
https://github.com/frictionlessdata/datapackage-render-js/blob/master/datapackage.js
Could copy this plus tests straight over and then refactor.

FIXED.


multiwin example doesn't work as intended on linux

Since there is no default menu for linux in druid (see #281 ),  the multiwin example doesn't have any way to actually create more than 1 window.
A easy fix would be to just use the windows default menu on linux, i.e.
fn make_menu<T: Data>(state: &State) -> MenuDesc<T> {
    let mut base = MenuDesc::empty();
    #[cfg(target_os = "macos")]
    {
        base = druid::menu::sys::mac::menu_bar();
    }
    #[cfg(any(target_os = "windows", target_os = "linux"))]
    {
        base = base.append(druid::menu::sys::win::file::default());
    }
    ...
}

I think this is a totally reasonable solution in the near-term, and would happily accept this PR. 😎


Vulnerability roundup 64: libsass-3.5.5: 1 advisory

search, files

[ ] CVE-2018-20190 (nixos-19.03)

Scanned versions: nixos-19.03: ff9c3f0f26d. May contain false positives.

See also  #52973, #53571, #54804, and #57155

Closing as nixos 19.03 is no longer supported.


Short some/every variation

Most of the time some / every are used for checking booleans, because you

Either map different conditions to boolean format before passing them to every
Check stuff which is boolean already (e.g. multiple pending effects)

Comparing multiple stores with the same value type (at least for me) is a very rare case, so passing predicate everytime here feels too excessive
So it would be good to have a shorter version of these methods
every([$foo, $bar])
// =
every({
  predicate: true,
  stores: [$foo, $bar]
})

I think it is better to stay predicate argument:
every([$foo, $bar], true)

For me, true looks like good default in every and some. This piece of code some([$first, $second]) could be read naturally as some of $first or $second.

I think some of $first or $second looks like first || second and should return first or second, don't compare it with value. As we see in javascript


[Fix][Txn] Fix transaction PendingAck lowWaterMark

Motivation
Now, PendingAckHandle use the ending transaction ID to append abort mark, but it is wrong. We should append abort mark for the first transaction in the  individualAckOfTransaction after judgment.
Modification
Append abort mark for the first transaction in the  individualAckOfTransaction after judgment.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API: (yes / no)
The schema: (yes / no / don't know)
The default values of configurations: (yes / no)
The wire protocol: (yes / no)
The rest endpoints: (yes / no)
The admin cli options: (yes / no)
Anything that affects deployment: (yes / no / don't know)

Documentation
Check the box below or label this PR directly.
Need to update docs?

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] no-need-doc
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-added
(Docs have been already added)

/pulsarbot run-failure-checks


Feature Request: Treat Warnings as Errors

Hey guys, your tool is amazing.
I would like a feature to make warnings get treated as errors.
 Right now, if hash1 is included then a warning is thrown that it is similar to hash. I want that to be treated by an error.
If theres already a way to accomplish that, I'd happily take some advice on it.
Thanks again.

Thank you very much.
Just to make sure I am understanding, you would like the ability to make certain warning get treated as errors? Given that the warning you are mentioning catches a lot of other items do you only specifically want to treat hash1, hash2, etc as errors but allow say reference1, reference2, etc?
I can think of a couple of different ways to accomplish this, potentially. But it really depends on if I am understanding the comment correctly.

I think the simplest idea in my mind is just a cli flag like -strict or something that causes warnings to be considered errors. So in my own validation workflows I can choose to have a stricter mode.
Kind of like the opposite of the current -w flag where warnings are ignored.

I guess the important thing is when there are errors the validation process exits with an error code (https://github.com/CybercentreCanada/CCCS-Yara/blob/master/yara_validator_cli.py#L282), I want the cli flag to say if there are one or more rules with warnings exit(99) as well.

Ah... I need to double check something with my colleages. I have a suspicion that may have been an oversight. I think the original intent was to return a non-zero exit code when there are any warnings if the -w flag is not provided.
At this point it might make more sense to add a strict flag though, to minimize impact to other parties.

Hello @JohnConnorRF could you take a look at the "https://github.com/CybercentreCanada/CCCS-Yara/tree/feature_add_strict_option_to_cli" and let me know if that meets your needs? Currently if the -st flag is used, no errors are encountered and warnings are encountered the cli will return a non-zero exit code of 49.

Hey sorry for the long delay. The holidays were crazy. That commit works perfectly for my team's workflow! Thank you so much.

Hey sorry for the long delay. The holidays were crazy. That commit works perfectly for my team's workflow! Thank you so much.

Alright I request a code review to merge this into the master branch, have a great day.

Alright I request a code review to merge this into the master branch, have a great day.

Alright I request a code review to merge this into the master branch, have a great day.

Please make a PR

Alright I request a code review to merge this into the master branch, have a great day.

Please make a PR

The feature has been merged. Have a great day!

The feature has been merged. Have a great day!


7.0 REST endpoint /api/submission/workspaceitems

Describe the bug
Whenever trying to use this endpoint (within https://api7.dspace.org/server), i just get a HTTP error code 400 (Bad Request) without receiving any specific error information (neither as HTTP header nor inside the response body).
It's hard to figure out which parameters to use, because the documentation seems to be inconsistent with the REST API tutorial. For example, when passing a collection id, the endpoint documentation says that you should use a parameter called owningCollection, but due to the tutorial you should use a parameter called parent for the same purpose:

https://github.com/DSpace/RestContract/blob/main/workspaceitems.md
https://dspace-labs.github.io/DSpace7RestTutorial/exercise5#2a-creating-a-workspaceitem

Also, the example PDF file referenced in the tutorial does not exist:
https://github.com/DSpace/DSpace/blob/master/dspace-spring-rest/src/test/resources/org/dspace/app/rest/simple-article.pdf
I tried to use this endpoint to upload a PDF file in multiple ways (e.g. as multipart/form-data or text/uri-list), but it worked neither way.
To Reproduce
Steps to reproduce the behavior:

Try to submit a PDF file via the /api/submission/workspaceitems endpoint

Expected behavior
Either a correct submission, or a failed submission with specific information about the reason why it failed (if there is a 400 "Bad Request" error code, there should be some additional information provided somewhere, either as HTTP header or inside the response body. Or there should be a more specific error code.)

@mtrojan-ub : By default the REST API never returns the full exception text (as that can be a security issue).  But, the exception should be logged (in dspace.log).  You can also enable debug mode in the REST API, which tells it to return the full exception in the response. See https://wiki.lyrasis.org/display/DSPACE/Troubleshoot+an+error#Troubleshootanerror-DebugmodefortheRESTAPI(optional)
Unfortunately, the REST Tutorial is outdated & could use some updates. The more official docs are the REST Contract at https://github.com/DSpace/RestContract/blob/main/workspaceitems.md  However, it's possible something there needs cleanup.
I think it'd help us if you could provide the full error message you receive, as it's possible this isn't a bug but simple a configuration or documentation issue.  See our Troubleshoot an error guide for hints on finding the error message: https://wiki.lyrasis.org/display/DSPACE/Troubleshoot+an+error#Troubleshootanerror-DSpace7.x(orabove)

@tdonohue: Thanks for the hints! We are still about to install our own DSpace 7 test server. As soon as we got it, we will enable the settings and provide additional information.
Another important aspect is that i am trying to use the API from a self-written PHP client. So it might as well be some incorrect Content-Encoding sent by the client or anything similar to that.

Closing for now, as I suspect this is a configuration issue (or invalid command sent to REST API).  But, if it's discovered that there's a bug, we can always reopen as needed.

@mtrojan-ub : That error seems to be saying you tried to submit content using an account that does not have submit access on any collections in the system.  Here's the line of code throwing the error: https://github.com/DSpace/DSpace/blob/main/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java#L249
You need to make sure the user account has "ADD" permissions on a Collection by adding that user to a Collection's group of Submitters. This is often easier to achieve through the UI, but you could watch those UI steps to "watch" the requests it sends to the REST API and then model those same requests in whatever you are using to call the REST API.
The behavior in this case isn't the best from the REST API... we probably should throw a 403 (or 401) permissions error, instead of the 400.  But, the fact that an error is thrown is correct...it sounds like the request is invalid in some way.

This turned out to be a HTTP header problem. We thought that after logging in, sending the Cookie again would be enough, but instead we had to send the Authorization header within each request. Maybe that's why the permissions and collections could not be checked properly. Also, our server admin fixed a problem within the apache configuration to get rid of another internal server error.
Thanks a lot for your help!

@mtrojan-ub : Glad you figured it out!
Just for the record & in case anyone else stumbles on this same thing... this is expected behavior.  The Authorization HTTP Header MUST be included in every request after login in order for each request to be authenticated.  See REST Contract docs at https://github.com/DSpace/RestContract/blob/main/authentication.md#username-password-based-authentication


/lib64/libc.so.6 issue

Dear Wouter De Coster:
When I install ready-to-use binary chopper, and I used chopper-musl.zip as you mentioned in previous issues. I still have the same issue, see screenshot.
I am running centos7.

Thank you so much !

Do you have the same problem when installing from bioconda?

Hi, I am having the same problem. I used both the linux and musl zip file listed above. This is on a cluster where conda use is discouraged.

Hi,
Thanks for reporting this. I do not yet know what is happening, but could you try with this binary?
chopper-musl.zip
Wouter

Hi Wouter, that one worked!


Update tiered_storage.j2 to use correct cloud_storage_region

This seems to be a problem introduced when handling a merge conflict (or possibly with the tiered storage PR itself). The variable was still set as the older (now renamed) aws_region.

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1204218351695001

@vuldin can you check that this shouldn't be cloud_storage_region (which is what I'm seeing in the hosts_ini.tpl

I had named the variable correctly in the commit message but not the commit :D


Minor fixes in packaging to make it compatible with maturin 1.4.0

I had some issues when trying to build graspologic-native, and the following updates seemed to do the trick to get everything working.
I basically:

reorganized the metadata a bit
relaxed the maturin requierment
update the install instructions
updated supported python versions in the README to match what is mentioned in the "classifier" section

Thank you for providing such a nice package!

@microsoft-github-policy-service agree company="Pixelgen Technologies AB"

Single comment for review left inline, if 3.12 does break it then let's not worry about it now we'll just create an issue to fix it for later :)

Seems like it is failing right now because maturin's cli args changed since the time I wrote it (which is why I had it pinned to the [0.12..0.13) range, I was tired of breaking changes. Once that is fixed in the github action for building it, we should be good to go though.

https://github.com/johandahlberg/graspologic-native/blob/packaging-fixes/.github/workflows/build.yml#L76

You will also need to bump the version in pyo3's Cargo.toml file to at least 1.2.1 (we can't publish over old versions and the build is set to fail if any of the publication steps fails). I don't think it's really worth trying to make Cargo happy with the pep rules around "1.2.0.post1" as a valid version, and we're not changing anything in the api so 1.2.1 should comply enough with semver to make everyone as happy as they're going to get :)

Thank you for the review!
I can't seem to find the inline comment you mention.
For the other issues I have:

changed the build actions to use PyO3/maturin-action@v1 which as far as I've been able to tell is the new version of that used to be messense/maturin-action@v1. And then used that to set the target for the MacOS build.
explicitly adding build the source dist for the ubuntu build, since otherwise it didn't appear to show up
updated the version to  1.2.1 as suggested
locked the maturin version to be [1.4, 2.0), with 1.4.0 specifically being used in the github workflow
updated a bunch of "base" actions to their latest versions to quite the warnings associated with them

Let me know if there is anything I've missed, or that you'd like done differently. Also, feel free to push any changes you deem necessary to this branch.

My inline comments have fully disappeared. Let me do this again and check. In the meantime I'm going to approve the workflow and make sure it's working e2e.

1.2.1 is now published to PyPI.  https://pypi.org/project/graspologic-native/1.2.1/#files
On Jan 23, 2024, at 11:00 PM, Johan Dahlberg @.***> wrote:
Thank you for finishing this up! And, no worries about the inline comment - I didn't spend long looking for it.
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/graspologic-native/pull/39#issuecomment-1907483698, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAG3SUZJY5LXKDCKLDS3PWLYQCWP5AVCNFSM6AAAAABB47YRX6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBXGQ4DGNRZHA.
You are receiving this because you modified the open/close state.Message ID: @.***>

Thank you!


OSMC wrong distro

Description
When running neofetch on OSMC it returns Debian
On OSMC lsb_release returns Debian, while /etc/os-release correctly says OSMC
Master branch : IDK
Neofetch version
7.1.0
Screenshot
none
Config file
Clean install
Verbose log
http://paste.debian.net/1192086

I removed package lsb-release and deleted /usr/lib/os-release and it now works


Send pre-build error status to the github for e2e tests

:tada: This PR is included in version 1.5.0-rc.1 :tada:
The release is available on:

v1.5.0-rc.1
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0-rc.1 :tada:
The release is available on:

v2.0.0-rc.1
GitHub release

Your semantic-release bot :package::rocket:

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

v2.0.0
GitHub release

Your semantic-release bot :package::rocket:


Support max_width/max_height options.

Fixes #2467

It could be useful to state in the doc comments what implications these options have on the decoded bitstream. Without reading the spec it's hard to tell what they might be used for.

Coverage increased (+0.02%) to 83.221% when pulling 65fc871f209a71e7da9f917d1a27f83edc869775 on tdaede:max_frame_width into a811e9ef43e36ca9334146ca3a993a964ae45168 on xiph:master.

Added some doc comments.

it needs a rebase.

Now it requires some rebase as #2520 is merged

Also, the spec states that if reduced_still_picture_header is enabled (currently always forced for still_picture), dimensions in the sequence header and the frame header must be the same, so you should check the user provided arguments to ensure this is the case.

This patch needs are rebase, should we land it before 0.5?

This has rotted pretty badly, it'll need some work but I would like it in.

A long time coming, but I've rebased this and fixed the nits.

LGTM besides one comment

If i set a max_width value lower than the width of the actual frames (e.g. a 720x480 y4m source encoded with --max-width=64) i get this error:
!! Invalid configuration: invalid width 720 (expected >= 16, <= 65535)
Error: Generic { msg: "Invalid configuration", e: "invalid width 720 (expected >= 16, <= 65535)" }

Which is confusing and wrong.

Would you prefer that the error message for width/height be updated to indicate that it should be less than 65535 or max_width, or that a new error message for explicitly max_width be created? (and if so, we could technically error either for the width or max_width setting?)
FWIW for the S-Frame content that this is useful for right now, the muxing happens outside of rav1e, so it itself doesn't have to see the width/height change dynamically.

The first option sounds good. Basically, replacing the hardcoded 65535 with something like min(65535, max_width).

(we should probably remove that redundant CLI error printing)

!! Invalid configuration: invalid width 720 (expected >= 16, <= 720)
But 720 is <= 720.
Also, if i passed --max_width=64, it should report !! Invalid configuration: invalid width 720 (expected >= 16, <= 64) for an input video with width 720.

Ah indeed I forgot to update a parameter of the format string. Now displays:
!! Invalid configuration: invalid width 1280 (expected >= 16, <= 720)
Error: Generic { msg: "Invalid configuration", e: "invalid width 1280 (expected >= 16, <= 720)" }

Should be good then. Thanks.


Use mariadb 10.5 on RHEL8

RHEL8 defaults to mariadb 10.3, but has 10.5 available as a module.
Ref: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/deploying_different_types_of_servers/using-databases
It would be nice to use v 10.5, but I am not sure puppet supports this, eg
https://github.com/voxpupuli/puppet-yum/issues/183

Fixed in #13


Object definition detail popup was blocked by main window.

VSCode Version: 1.1.1
OS Version: win7 64bit

Steps to Reproduce:

When the object is a little bit large, and you hover the instance of that object, vsc will show a popup window to show the definition of that object. But sometimes it's blocked by the main window border since it's a little bit big.

@ericchan1336 Can you add a screenshot?

Sorry, but I tried many times uploading screenshots and it all failed...

Closing after a number of days without a response.


get a collectors network sip connection

currently we just call them, get a sip connection, then we will be in their directory, they will ring the phone,  we will not be using minutes

Request for registration sent. Should have a direct SIP connection and some numbers within a few days.


add calls to mexico

twilio should be configured
make sure callcentric is configured
add pattern to dialplan, currently restricts to NANPA

011  52  (area code) (phone number)
could just allow all 011 prefix and make sure carrier is properly restricted

keep 011 1 to allow calls to NANPA with country code
are the rest of N America affordable?
https://en.wikipedia.org/wiki/List_of_country_calling_codes#Zone_5:_Lower_North_America_and_Central_America_and_South_America

twilio currently gives us nanpa and mexico, which is what we want
this is NANPA plus mexico
https://en.wikipedia.org/wiki/List_of_country_calling_codes#Zone_1:_North_American_Numbering_Plan
to summarize:
allow 011 52
allow 011 1


Rails - Nested resource routes and forms

From @pnomolos on June 2, 2015 3:6
I've run into difficulty when using a form for a nested resource, because it's the Form object itself defining to_model, rather than the object instance.  Of course, with nested resources this means that I will need to build a Form instance for every object that is used to generated a URL for the route, and that seems like a bit of a waste.  At the same time, I appreciate that you're trying to avoid the monolithic/maximalist approach that Rails has taken.  Wondering if there might be any suggestions or ideas on how to solve this?  Mine would be a simplistic base interface you can include that implements the necessary ActiveModel extensions, but wondering if there's a better way about this.
Edit: I'm working around this for now by also passing url:, but that's obviously less than ideal as well.

From @pnomolos on June 2, 2015 17:31
# product_options.controller.rb
def new
  render :new, locals: { product: product, option: NewProductOptionForm.build }
end

-# new.html.haml
= form_for [:admin, product, option] do |f|
	= render 'form', form: f

Blows up with undefined method 'to_model' for #<Product:0x007fe5584c7c10>

Can you show me some code examples?

forms implement AM::Model interface so I'm lost right now

From @pnomolos on June 2, 2015 18:44
@solnic Only option is a Form, product is just an instance of my Product model (which is just a PORO).  I'm wondering if there is an easy way around this beyond creating an additional Form object for the product.

From @pnomolos on June 2, 2015 17:34
I fully understand why it's blowing up, I'm wondering what the best way to solve this "Railism" is going to be.

From @pnomolos on June 3, 2015 3:4
What if there was a ROM::Rails::Namer (for lack of a better descriptor) instance that all the AM nonsense got delegated to, with the instance passed in as well?  So product.to_model would return rom_rails_namer.to_model(product) ?

From @cflipse on June 2, 2015 23:40
Oh, I think I see what the problem is:
form_for calls to_model on each of the parameters in its sequence.   Ugh.
I'm rather doubtful that we want to forcefully interact with the polymorphic URL and form resolvers; that way lies a particular breed of Cthulhu madness.
My best suggestion would be to wrap your product in an AM presenter, to expose the naming and other expected bits.
Which is a problem, because all the naming stuff is class based, so really, you have to wrangle something to replace this:
https://github.com/rails/rails/blob/bbe170c90e7cf5a59ef3de8e246e78f50416a4cc/activemodel/lib/active_model/naming.rb#L235-L242
It might be worth providing some kind of base poro presenter for handling this; I've done a thing like this once or twice.  I'll try to see what I can extract.

From @pnomolos on June 15, 2015 15:20
Oh I know (and that's ultimately what I did) - the problem is that some
gems people use are going to depend on the AMness and there won't be any
getting around these sorts of things :(
We definitely need a (hopefully not too large) HOWTO on just dealing with
Railsisms
On Mon, Jun 15, 2015 at 8:17 AM Michael Lavrisha<EMAIL_ADDRESS>wrote:

All of this AM craziness is related to figuring out the model name and the
url for the record. If you provide the :url and :as options you can pass
a PORO right into form_for.
form_for option, as: :option, url: admin_product_option_path #...
Going forward though, I don't know we could communicate that they can do
this with POROs.
—
Reply to this email directly or view it on GitHub
https://github.com/rom-rb/rom/issues/262#issuecomment-112103942.

From @vrish88 on June 15, 2015 15:17
All of this AM craziness is related to figuring out the model name and the url for the record. If you provide the :url and :as options you can pass a PORO right into form_for.
form_for option, as: :option, url: admin_product_option_path #...

Going forward though, I don't know we could communicate that they can do this with POROs.

If you want to use a PORO then it must respond to AM stuff, there's no way around that, we just need to live with this

ROM::Model::Form is deprecated, so I'm closing this


New Jira Print possibility

HI,
It will be nice if it's possible to create taks for printing with all the subtasks listed inside the main task.
Greate Work :)

Hi @andresousaribeiro
Thanks for the idea, currently a redesign is in progress. After a version 2.0.0 is publish I will think of something about your request.
Best regards,
Krasimir


Fix CI

Bump setup-purescript
Bump checkout
Bump PureScript to 0.14.9 (from 0.14.7) - resolves libtinfo issue.
Peg spago to 0.20.9 (to prevent surprises)
Peg purescript-psa to 0.8.2 (to prevent surprises)

FYI @ErikSchierboom


Service ids should be strings, not integers

The schema for importing data states that service ids are integers, but they are opaque strings for all intents and purposes within Apicast, and that is bad because we end up converting them everywhere.
There are two ways to fix this. One is changing this line in the configuration schema so it says string instead of integer, and changing the configuration generation as needed.
The other way is using this schema but making sure it is loaded with the converted service id at initialization time.
I think this should be considered before making the schema final.

RC1 has already been generated and released to QE, so we don't want to make changes at this point.


Style injection caused tailwind override css priorities

Novel will inject CSS directly into Root, included tailwindcss. Which could potentially override stylesheets priorities when you have tailwind in the project yourself.

I have this issue.. I'm using Chakra ui.
Why linking the library to Tailwind?

I also have this issue, broken the whole page styling.

+1

Same problem, loading this component breaks several styles across the application. I'm using tailwind

I can see the issue..
@steven-tey I'm thinking of adding a novel- prefix to the package tailwind classes we import, wdyt?
is there a better option?

+1 to this

+1 to this

fyi, i downgraded to 0.1.17 for now to fix this issue

Hey everyone! I started a PR but would love help there. There's one issue I face (described in the PR) which looking for a solution. I'll have more time to research it in the rest of the week.

Can we get an update on this? Having the same tailwind issue, cant use the forked repo, can we get this committed please? :)

Sorry for the delay here! This should be fixed in<EMAIL_ADDRESS>https://github.com/steven-tey/novel/releases/tag/0.1.22


Could not measure RAM Power ([Errno 12] Cannot allocate memory)

Splitting off from https://github.com/mlco2/codecarbon/issues/238 as it is somewhat different:
I'm now testing the latest version on the live multi-node HPC setup and during the startup I now see:
[codecarbon WARNING @ 23:27:15] Could not measure RAM Power ([Errno 12] Cannot allocate memory)
WARNING:codecarbon:Could not measure RAM Power ([Errno 12] Cannot allocate memory)
[codecarbon WARNING @ 23:27:16] Could not measure RAM Power ([Errno 12] Cannot allocate memory)
WARNING:codecarbon:Could not measure RAM Power ([Errno 12] Cannot allocate memory)
[codecarbon WARNING @ 23:27:16] Could not measure RAM Power ([Errno 12] Cannot allocate memory)
WARNING:codecarbon:Could not measure RAM Power ([Errno 12] Cannot allocate memory)
[codecarbon WARNING @ 23:27:16] Could not measure RAM Power ([Errno 12] Cannot allocate memory)
WARNING:codecarbon:Could not measure RAM Power ([Errno 12] Cannot allocate memory)

You can see how the tracker has been initialized here:
https://github.com/bigscience-workshop/Megatron-DeepSpeed/blob/350fb903935f900f400f140d157165d5fa4d7645/megatron/global_vars.py#L170-L175
@benoit-cty

Read the SO links, it suggests various strategies that we have no access to, since we have on sudo. there is no swap on the compute nodes either.
Someone suggested gc.collect() before forking the processes. (which may help since as you know gc doesn't run all the time)
And there is a ton of memory to go around unless, there is some strange burst at the beginning which gets released right away.
As mentioned in the comment above the key is whether this loses a tiny amount of recording and then continues functioning normally afterwards, or whether this is a critical error. If it's relatively benign, then we can just leave it alone.
I'm going to use log level "error" since we don't want any irrelevant logs to interfere with the training logs. So before I turn warnings off I wanted to check that it's safe to do so.

I think it's tiny but let's look at orders of magnitudes:
30 (GB) * 3/8 (W/GB) = 11.25W

comparatively a V100 is 300W so I'd say if this is occasional it's ok, if it's systematic you'd underestimate by 11.25 * 20 = 225Wh = 0.225 kWh

what does it mean from the point of measuring? Are we not measuring something when this happens? i.e. the results will be skewed.

It is true in theory indeed, just like using codecarbon has a CPU footprint in itself but it's measured as part of your computational cost so it's supposed to be taken into account.
Our working hypothesis is that codecarbon has a small CPU/RAM impact compared to the job it tracks, which is why I am very surprised too to see that such small operations would trigger a memory error, especially on a system with more than enough memory.
Unfortunately I don't have access to an HPC infra so I can't really try and reproduce, you're the first to notice such a behaviour :(

Looking at this https://stackoverflow.com/questions/9850995/tracking-maximum-memory-usage-by-a-python-function and installing memory_profiler I see reasonable numbers on multiple runs
from memory_profiler import memory_usage
from time import sleep
from codecarbon import EmissionsTracker

def f():
    cc = EmissionsTracker(measure_power_secs=3)
    cc.start()
    sleep(21)
    cc.stop()

mem_usage = memory_usage(f)
print('Maximum memory usage: %s' % max(mem_usage))
print('Minimum memory usage: %s' % min(mem_usage))

Maximum memory usage: 91.74609375
Minimum memory usage: 86.48046875

Maximum memory usage: 91.7109375
Minimum memory usage: 86.5625

Maximum memory usage: 91.69140625
Minimum memory usage: 86.5234375

Closing old issue.


[PATCH] Fix parsing submodule URL (passes tests)

@darkdragon-001 thank you for your contributions, I already merged the 2 small ones.
About parsing the URLs (https://github.com/ValentinFrancois/python-gitlab-submodule/pull/3), I thought I had tested the code with some relative submodules, but your PR clearly showed the need of more tests.
So I created https://gitlab.com/python-gitlab-submodule-test/test-projects and I'm now using it for automated tests. This revealed other issues in the parsing logic that should be fixed now.
This PR gathers your original fixes + mine. I also added some more optional args. Feel free to review it and if you agree I'll close the old one.

Awesome! You code looks good and I tested it in my project without problems. Highly appreciate the addition of more tests!
Looks good to me and you can close my other PR when merging this one.

@darkdragon-001 wonderful, merging now

Version 0.1.5 released at https://pypi.org/project/python-gitlab-submodule/0.1.5/


Review list of installed headers on make-based install

The following headers are not obviously project-internal (e.g. they're not named "foo_impl.h" or "foo_internal.h"), but are not included in the make-based install of Legion. We've come across at least one app (Lux) that was using one of them (realm/cuda/cuda_module.h), so I assume some of these are actually public and should be included in the install. Could the appropriate people take a look at this list and identify any missing public headers?
legion/field_tree.h
legion/garbage_collection.h
legion/interval_tree.h
legion/legion_allocation.h
legion/legion_analysis.h
legion/legion_c_util.h
legion/legion_context.h
legion/legion_instances.h
legion/legion_ops.h
legion/legion_ops.inl
legion/legion_profiling.h
legion/legion_profiling_serializer.h
legion/legion_spy.h
legion/legion_tasks.h
legion/legion_trace.h
legion/legion_utilities.h
legion/legion_views.h
legion/mapper_manager.h
legion/rectangle_set.h
legion/region_tree.h
legion/region_tree.inl
legion/runtime.h
realm/activemsg.h
realm/activemsg.inl
realm/bgwork.h
realm/bgwork.inl
realm/circ_queue.h
realm/circ_queue.inl
realm/cmdline.h
realm/cmdline.inl
realm/cuda/cuda_module.h
realm/cuda/cudart_hijack.h
realm/deppart/byfield.h
realm/deppart/deppart_config.h
realm/deppart/image.h
realm/deppart/inst_helper.h
realm/deppart/partitions.h
realm/deppart/partitions.inl
realm/deppart/preimage.h
realm/deppart/rectlist.h
realm/deppart/rectlist.inl
realm/deppart/setops.h
realm/dynamic_table.h
realm/dynamic_table.inl
realm/gasnet1/gasnet1_module.h
realm/gasnet1/gasnetmsg.h
realm/hdf5/hdf5_module.h
realm/id.h
realm/id.inl
realm/interval_tree.h
realm/interval_tree.inl
realm/kokkos_interop.h
realm/lists.h
realm/lists.inl
realm/llvmjit/llvmjit_module.h
realm/metadata.h
realm/module.h
realm/mpi/am_mpi.h
realm/mpi/mpi_module.h
realm/mutex.h
realm/mutex.inl
realm/network.h
realm/network.inl
realm/nodeset.h
realm/nodeset.inl
realm/numa/numa_module.h
realm/numa/numasysif.h
realm/openmp/openmp_module.h
realm/openmp/openmp_threadpool.h
realm/openmp/openmp_threadpool.inl
realm/operation.h
realm/operation.inl
realm/pri_queue.h
realm/pri_queue.inl
realm/procset/procset_module.h
realm/python/python_module.h
realm/sampling.h
realm/sampling.inl
realm/tasks.h
realm/threads.h
realm/threads.inl
realm/transfer/channel.h
realm/transfer/channel.inl
realm/transfer/channel_disk.h
realm/transfer/lowlevel_dma.h
realm/transfer/transfer.h

All those headers are obviously internal header files to me. Clients of Legion and Realm should never need any of those header files. The make build system includes on the header files that should be user-facing in the installation.

What exactly does Lux need out of cuda_module.h?

These are the offending lines: https://github.com/LuxGraph/Lux/blob/master/pagerank/pagerank_gpu.cu#L269-L277. Lux seems to be using Realm::get_runtime() and Realm::RuntimeImpl::get_memory_impl from realm/runtime_impl.h (which is obviously internal), and Realm::Cuda::GPUFBMemory::alloc_bytes and Realm::Cuda::GPUFBMemory::get_direct_ptr from realm/cuda/cuda_module.h in order to allocate GPU memory inside a task.

I believe this memory is not task-local; it needs to persist for the lifetime of the app. Possibly the instance.h interface, or the new Legion variable-size allocation API are proper ways to do this. I made a corresponding issue on the Lux bug tracker: https://github.com/LuxGraph/Lux/issues/10.

Reopening because I need to do a scrub of the Realm headers at least.

For completeness, I've officially vetted the list of Legion header files and guarantee that the ones the Make build currently installs are precisely the user facing ones, no more and no less. I've also been curating the Realm list to do the same thing, but it's possible that I've misinterpreted some header files.
Side question: do we want to create a related issue to teach the CMake build system to do the same thing? I find it annoying that CMake moves my internal header files into the 'include' directory so users can link against internal interfaces.


Disable HTTP2 in webhooks

Also bumps golang.org/x/net to v0.17.0
Jira: OSPRH-468

/test heat-operator-build-deploy-kuttl

/test heat-operator-build-deploy-kuttl


bleeding diathesis due to thromboxane synthesis deficiency

Hi!  Just asking to tag this condition as NORD rare.  Thank you! Gioconda Alyea

This will be done automatically via the NORD-rare pipeline.


Existing Full Planet GeoServer OSM

I currently have an existing GeoServer, PostGIS setup on a CentOS VM that has the entire OSM Planet already processed. How could I set this up in that same environment and utilize the existing postgis data instead of PBF_URL or PBF_FILE. Maybe it would be something like PBF_DIR and point it to the location of the processed data?
Current setup was ImpOSM > PostGIS > GeoServer. Currently running 8080 for the GeoServer, but could kick that or this to 8081, 8082, etc.

ImpOSM and Nominatim use different data structures. They're not compatible so they can't be reused.

instead of PBF_URL or PBF_FILE

It's PBF_PATH not PBF_FILE

hi @mtmail I'm interested on knowing more about the data structure used in Nominatim. Can you point me to the importation process files or some documentation about that ?

https://nominatim.org/release-docs/latest/develop/Database-Layout/
Nominatim uses osm2pgql, specifially the 'flex' type (https://osm2pgsql.org/news/2020/07/28/release-1.3.0.html). You'd start with flex-base.lua (https://github.com/osm-search/Nominatim/tree/master/settings) and then depending on the configuration choosen, I think the Docker image uses import-full.lua by default.
Have a look at https://nominatim.org/tutorials/running-nomintim-and-rendering-together.html but it's really experimental, I'm not sure anybody is using it.

thanks ! really useful information.
I have created a simple solution that integrates rendering and geocoding for the same imported pbf. https://github.com/geotekne-argentina/osm-nominatim-geoserver-postgis/  (but as in my original solution I used ImpOSM the database model differs)
I'm thinking now if I can build some abstraction "layer" on top on the nominatim model (like a set of sql views in the database) which allows to reuse current rendering model (so I can avoid to have same info in 2 different schemas).


Call SyncCluster at etcd client initialization

Signed-off-by: Alexandre Beslic<EMAIL_ADDRESS>

ping @aluzzardi

We'll have to create integration tests that set up a replicated environment :/
I'm pretty sure if you kill the etcd leader our discovery becomes fubar.
Please add a FIXME on top of it
LGTM

@aluzzardi Yes either we refresh on each operation (overkill but we are pretty much sure we have an up to date state) or we sync periodically in a goroutine. Not sure what is the good practice with etcd.
Added the FIXME.

LGTM


Custom container

I can try prepare PR & test for using custom Container with multiplier.

Desired result will be definition custom class via extension parameters.

Your PR is welcome

https://github.com/WebChemistry/forms-multiplier/pull/36


Fix writing attributes by name in LocalDataCluster

The LocalDataCluster.write_attributes looks up the incorrect dict while trying to resolve attribute id by its name

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 80.556%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

zhaquirks/init.py
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6061

Relevant Lines:
7524

💛  - Coveralls

Codecov Report
Base: 80.55% // Head: 80.55% // No change to project coverage :thumbsup:

Coverage data is based on head (951a4bb) compared to base (f282203).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev    #1858   +/-   ##
=======================================
  Coverage   80.55%   80.55%
=======================================
  Files         242      242
  Lines        7524     7524
=======================================
  Hits         6061     6061
  Misses       1463     1463

Impacted Files
Coverage Δ

zhaquirks/__init__.py
77.89% <0.00%> (ø)

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

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


add users section

Description
Adds a 'used by' section.

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

Project coverage is 15.12%. Comparing base (6e6d0be) to head (f39309b).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##             main     #155       +/-   ##
===========================================
- Coverage   39.51%   15.12%   -24.39%
===========================================
  Files         341      277       -64
  Lines       13441    12373     -1068
  Branches     1870     1794       -76
===========================================
- Hits         5311     1872     -3439
- Misses       7824    10390     +2566
+ Partials      306      111      -195

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


Artifacts clarification

Closes https://github.com/opencontainers/image-spec/issues/1131
Relates to https://github.com/opencontainers/image-spec/pull/1137
Follow-up to #999

Attempt to better clarify the conceptual differences between artifacts and images (which I tie to the config as described in this spec), and provide guidance on how to detect artifacts from code.
Also attempt to clarify how descriptors interact with artifacts in the aftermath of #999.

I have a high level concern that we're trying to document the mixture of runnable Images and Artifacts in the same Index. Is that something we want to standardize in OCI, or would runtimes prefer that they are only asked to run an entry from an Index of only Images?

Yes, this is a realistic use-case with inline metadata today, e.g. what BuildKit does.

I'm wondering if we want to differentiate between a runtime unsure how to run the requested content vs a runtime not finding any Image content in an Index.

I think this is behavior defined by the runtime; what I want to make clear is that a runtime can interpret new artifact types if it has explicit support for them. But the default should be "ignore any content I do not know how to interpret" to obviate the need for platform: unknown/unknown and similar hacks with regard to platform selection.

I have a high level concern that we're trying to document the mixture of runnable Images and Artifacts in the same Index. Is that something we want to standardize in OCI, or would runtimes prefer that they are only asked to run an entry from an Index of only Images?

Yes, this is a realistic use-case with inline metadata today, e.g. what BuildKit does.

I want to be careful that we don't say "buildkit implemented it, therefore OCI needs to recommend it". It's not unlike how cosign pushed manifests that looked like an OCI image with a different layer type to get around registries that filtered unknown config mediaType values. Even though the behavior works and doesn't violate the spec, I'm not incline to recommend that as a method to push artifacts.
Before I weigh in on the mixed content in an Index scenario, I'd like to hear from the impacted users that would be parsing that content (runtime maintainers).

cc @dmcgowan re: runtime behavior with mixed indexes.

Given the various scenarios we're seeing, and knowing there will be more scenarios in the future, perhaps instead of being prescriptive in exactly what fields are defined and we should keep it at a higher level.
There will be artifacts that want to have a valid platform defined, and other artifacts that want to use the image config media type. We may be able to avoid the latter with guidance in the spec, but that value isn't visible in the Index. And expecting runtimes to avoid trying to run an artifact image based on a new field in the descriptor (i.e. artifactType) is going to be error prone for existing runtimes that aren't aware of new fields.
The two options I can think of are either to ensure artifacts are listed after any container images in an index, so that the selector for container runtimes selects the first match, or OCI recommends against mixing container images and artifacts in the same index for the best support of older runtimes.

IMO it is not a good idea to redefine what a container image is (restrict it's definition to only that which is executed by a container runtime) inside the artifacts guidance documentation.. and we support data in images, so what does execute mean, for processing?

My phrasing is that container runtimes trying to execute/process it makes it a container image. It's not restricting what runtimes can do, it's defining whether it's a container image or artifact based on whether runtimes could execute/process it. It leaves flexibility for runtimes to extend to process more content in the future without us needing to adjust the image-spec for every runtime change.

Given the various scenarios we're seeing, and knowing there will be more scenarios in the future, perhaps instead of being prescriptive in exactly what fields are defined and we should keep it at a higher level.
There will be artifacts that want to have a valid platform defined, and other artifacts that want to use the image config media type. We may be able to avoid the latter with guidance in the spec, but that value isn't visible in the Index. And expecting runtimes to avoid trying to run an artifact image based on a new field in the descriptor (i.e. artifactType) is going to be error prone for existing runtimes that aren't aware of new fields.
The two options I can think of are either to ensure artifacts are listed after any container images in an index, so that the selector for container runtimes selects the first match, or OCI recommends against mixing container images and artifacts in the same index for the best support of older runtimes.

IMO it is not a good idea to redefine (is/are language) what a container image is inside the artifacts guidance documentation.
Let's not leave out the index may or may not include platform filters, and "implementations SHOULD support" "application/vnd.oci.image.index.v1+json (nested index)" and "an encountered mediaType that is unknown to the implementation MUST NOT generate an error."

My phrasing is that container runtimes trying to execute/process it makes it a container image. It's not restricting what runtimes can do, it's defining whether it's a container image or artifact based on whether runtimes could execute/process it. It leaves flexibility for runtimes to extend to process more content in the future without us needing to adjust the image-spec for every runtime change.

I think it's an oci container image if it's in a format conforming to the image spec for storage or transport, and then at runtime, by conversion and augmentation via a container runtime, if it is determined by a runc compatible runtime to then adhere to the runtime spec config and rootfs requirements of a runtime bundle for a platform.

artifacts are a grey space wrt. whether they can be considered a part of or augmentation to layers/config/index, guidance, filtering mechanisms, additional image config, even possibly a key store, alg, or content for a new digest type... runnable or not is probably up to the iana type or we possibly break with existing spec restrictions.
100% agree we need to avoid a client reading an artifact, via matching, as a default platform image if/when that is not the intended result.

I like the high level definition here: https://github.com/opencontainers/image-spec/blob/main/spec.md#overview

At a high level the image manifest contains metadata about the contents and dependencies of the image including the content-addressable identity of one or more filesystem layer changeset archives that will be unpacked to make up the final runnable filesystem. The image configuration includes information such as application arguments, environments, etc. The image index is a higher-level manifest which points to a list of manifests and descriptors. Typically, these manifests may provide different implementations of the image, possibly varying by platform or other attributes.

Let's not leave out the index may or may not include platform filters, and "implementations SHOULD support" "application/vnd.oci.image.index.v1+json (nested index)" and "an encountered mediaType that is unknown to the implementation MUST NOT generate an error."

An issue attempting to be solved in this PR is runtimes picking container images from a mixed index with artifacts included in the manifest list. The artifact entries could have matching platform values, and known media type values. My comments above are looking at what options, if any, we have to resolve that. I don't believe "MUST NOT generate an error" helps in this scenario since the values would be known.

An issue attempting to be solved in this PR is runtimes picking container images from a mixed index with artifacts included in the manifest list. The artifact entries could have matching platform values, and known media type values. My comments above are looking at what options, if any, we have to resolve that. I don't believe "MUST NOT generate an error" helps in this scenario since the values would be known.

absolutely... 100% agree we need to avoid a client reading an artifact, via matching, as a default platform image if/when that is not the intended result.
my point in including the additional cites was as a reminder:

that said artifacts might be in a nested index vs.. the platform index..
if the manifest type is unknown it mush not generate an error...

and those current rules may be useful in finding a resolution..
For example, a) push said artifacts into an index under the platform index... (and check if clients actually recurse today for indexes that do not have a platform filter, thus suggesting platform index is for container image manifests not artifact manifest irregardless of the desire to filter artifacts by platform
b) add a new manifest type for an artifact index


Call to previous_model is triggering transaction_changed_attributes callbacks causing changes to be overwritten

Hi there,
I'm reporting an issue here after observing potential complications with the previous_model call. It seems that this call has caused other problems before, and I wanted to bring it to your attention. Additionally, I'm reaching out to @dylanahsmith, the author of the ArTransactionChanges gem, to gather his insights on this matter.
As you may know, the counter_culture gem utilizes a combination of the dup call and direct assignment of previous changes to track changes to the monitored attributes. These changes are later used to compute differences applied to the counter attributes in the parent model.
The issue here arises from duplicating an ActiveRecord model and then assigning new values to the tracked attributes. This triggers gems that intercept the write_attribute call, such as ArTransactionChanges. Specifically, ArTransactionChanges detects a change but removes it from the set of changes recorded at the end. For example, if I set the quantity from 0 to 1, transaction_changed_attributes tracks that change. However, due to the subsequent dup & assign call, there is an action that negates the effects of the first one, resulting in the removal of that change from the set.
In conclusion, I'm questioning whether the strategy of dup and assign is the most suitable one. While it currently causes issues with the ArTransactionChanges gem, I believe there may be similar problems with other gems that intercept the write_attribute behavior.
Your attention to this matter is much appreciated.
Thank you.

I've made an attempt to fix the problem. Maybe better solutions are out there with more structural changes, but this seems OK to me:

Created a proxy class that in some way mimics the current behavior of the previous_model method.

class PreviousModel
  attr_accessor :obj

  def initialize(obj)
    self.obj = obj
  end

  def changes_method_name
    ::CounterCulture::Counter::ACTIVE_RECORD_VERSION >= Gem::Version.new("5.1.0") ? :saved_changes : :changed_attributes
  end

  def changes_method
    @changes_method ||= obj.public_send(changes_method_name)
  end

  def method_missing(m, *args, &block)
    if m.in?(changes_method)
      value = changes_method[m]
      ::CounterCulture::Counter::ACTIVE_RECORD_VERSION >= Gem::Version.new("5.1.0") ? value.first : value
    else
      obj.send(m, *args, &block)
    end
  end
end

And replace the previous_model method with a simple instantiation of the previous class:

def previous_model(obj)
  CounterCulture::PreviousModel.new(obj)
end

This solution avoids the dup & assign strategy that is currently in-place, keeps all the object methods accessible, and just the attributes (which are also methods) that were changed by the changes_method are intercepted and the previous value is returned.
Feedback appreciated :)

It's the first time I'm hearing of this issue, so it's probably not super common. That being said, I quite like your proxy class as an approach here. It strikes me as more elegant than having to dup the model. I'd be happy to look at a PR that introduces this.

Sadly, this approach does not work 😅 It fails in scenarios where the counter cache has dynamic column names. The proxy class works for methods that the counter_culture lib calls directly on the previous_model object, but in the case of the dynamic column names we have calls from within the object itself. The PolyImage class has a good example of that: the special? method is intercepted, but anything within it is not, and due to that we are unable to get the previous result of that call.
I am exploring some alternatives, I will update you as I make progress :) If you have any ideas for how we could move away from the dup & assign you can throw them my way.

Here is my first attempt. From my last comment, I think we need to keep the dup since that is the only way we could access the object and call the previous dynamic column parts. So my first thought was -- maybe I could just tweak the assign part.
After testing against the after_commit gem, this is the solution I came up with.
Replace prev[key] = old_value with prev.instance_variable_get(:@attributes).write_from_user(key, old_value).
In short, we are going as low as needed in the write stack to bypass any gems that piggyback on ActiveRecord's write_attribute method, and change to the old values straight in the variable that that method manipulates.

Assuming that works across Rails versions, I'd be ok with that yeah. 😄


Replace forwardable with explicit delegation for performance

I'm doing performance profiling and was surprised for these to appear at all in the samples. Here are some numbers (3 warmup runs, 20 measured runs, cache used)::
# with forwardable in both rubocop + rubocop-ast
$ hyperfine -w 3 -r 20 "bundle exec rubocop Rakefile"
Benchmark 1: bundle exec rubocop Rakefile
  Time (mean ± σ):      1.169 s ±  0.016 s    [User: 0.976 s, System: 0.190 s]
  Range (min … max):    1.138 s …  1.198 s    20 runs

# with forwardable only in rubocop-ast
$ hyperfine -w 3 -r 20 "bundle exec rubocop Rakefile"
Benchmark 1: bundle exec rubocop Rakefile
  Time (mean ± σ):      1.145 s ±  0.011 s    [User: 0.959 s, System: 0.185 s]
  Range (min … max):    1.131 s …  1.170 s    20 runs

# with forwardable in neither
$ hyperfine -w 3 -r 20 "bundle exec rubocop Rakefile"
Benchmark 1: bundle exec rubocop Rakefile
  Time (mean ± σ):      1.136 s ±  0.020 s    [User: 0.950 s, System: 0.183 s]
  Range (min … max):    1.098 s …  1.168 s    20 runs

Overall ~ 3% faster

Full run, also about 3%:
# with forwardable in both rubocop + rubocop-ast
$ hyperfine -w 3 -r 20 "bundle exec rubocop"
Benchmark 1: bundle exec rubocop
  Time (mean ± σ):      1.704 s ±  0.018 s    [User: 1.903 s, System: 1.004 s]
  Range (min … max):    1.669 s …  1.742 s    20 runs

# with forwardable only in rubocop-ast
$ hyperfine -w 3 -r 20 "bundle exec rubocop"
Benchmark 1: bundle exec rubocop
  Time (mean ± σ):      1.677 s ±  0.025 s    [User: 1.847 s, System: 0.988 s]
  Range (min … max):    1.640 s …  1.763 s    20 runs

# with forwardable in neither
$ hyperfine -w 3 -r 20 "bundle exec rubocop"
Benchmark 1: bundle exec rubocop
  Time (mean ± σ):      1.656 s ±  0.020 s    [User: 1.817 s, System: 0.984 s]
  Range (min … max):    1.630 s …  1.700 s    20 runs

Companion PR for rubocop-ast: https://github.com/rubocop/rubocop-ast/pull/312

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[ ] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

This might be sufficient if the abstraction provided for unknown methods is not needed.

So indeed it looks like forwardable executes extra code than what is necessary.

Has there ever been a feature request opened on ruby-core for a minimal: true option or similar to def_delegate?
Why don't we instead make our own forwardable clone that only does the forwarding?

This might be sufficient if the abstraction provided for unknown methods is not needed.

Can you elaborate? I don't know what you mean with that.

Has there ever been a feature request...

I searched through the bugtracker and haven't found something. It did remind me that ruby has thoughs about making forwardable a bundled gem though... I commented on the issue for that. Not a fan

Why don't we instead make our own...

I honestly don't see much value in that. Few places really need it, delegating numerous methods. Most just do one or two which I think is fine to expliciy type out. But if you insist I will amend the PR.

suffici

Why don't we instead make our own...

I honestly don't see much value in that. Few places really need it, delegating numerous methods. Most just do one or two which I think is fine to expliciy type out. But if you insist I will amend the PR.

I do find the older code clearer than the new one. It was using a simple abstraction explicitly. We already have the code (the class_eval), we just need to extract it to a helper function.

I do find the older code clearer

That's fair, I don't feel too strongly myself. I will amend the ast PR later when I got a bit more time and offer something similar here

Great, thank you so much @Earlopain . Let me know if you'd prefer I do it.

Please do, you probably have something in mind already. I'm not sure where to put. You should be able to edit my branch if you want, or just make it from scratch if you prefer.


Milestone 6 - Add filtering option of grey results in search pages

With the plugin we made for searx (https://searx.thegreenwebfoundation.org) we made it possible to filter the results to only show green search results. Any grey results are filtered out and not shown to the user.
The goal here is to provide an option in the extension that on activating has the same behaviour as in searx.
To implement this we need to

[x] Add a ethical filtering option to the options page
[x] If enabled, on grey results in google/yahoo/bing/ecosia instead of showing the grey icon we remove the full row and don't show the search result to the user.

Released as 2.2.0