Does the falcon models work with chatdocs ?

I know the falcon models are a little different and that they might not work with Chatdocs. Have anyone tried and got it to run. Which model did you use? GGML, GPTQ or maybe the standard models?

Any update on this?  Been trying to get the 7b falcon model to work through GGML, but it seems to never recognize the files properly as GGML.

Support for the new GGML Falcon models was added recently in ctransformers 0.2.12 Make sure you have installed the latest version:
pip install 'ctransformers>=0.2.12'

You can find the falcon GGML models here. Example:

https://huggingface.co/TheBloke/falcon-7b-instruct-GGML
https://huggingface.co/TheBloke/WizardLM-Uncensored-Falcon-7B-GGML

Normal HF and GPTQ versions should also work.


M1 macs require special arguments in order to build the "host" targets natively

By default on a Mac the "host" targets will include an x64 build but you can override that with --mac-cpu arm64. Note that this produces an output directory that includes the suffix _arm64 which means that the local work flow must acknowledge it across the board. Without this, all development on an M1 mac will produce x64 targets by default and use rosetta for local testing.
Perhaps the default CPU option should be determined from the local host machine and the suffixes should only be used when the CPU target is manually specified. In other words:
% gn --unoptimized will produce targets for the local CPU type in out/host_debug_unopt
% gn --unoptimized --mac-cpu arm64 will produce targets for arm CPUs in out/host_debug_unopt_arm64
% gn --unoptimized --mac-cpu x64 will produce targets for Intel CPUs in out/host_debug_unopt_x64
For building our targets for deployment, we'll have to manually specify a build for all architectures and then deploy multiple suffixed directories - perhaps with a symlink for host_foo_<local cpu type> -> host_foo

cc @cbracken @zanderso

Thanks for filing. I'm going to assign this to myself for the moment. We'll want to verify that any recipes that produce artifacts uploaded to cloud storage are specifying the target platform explicitly so we don't end up with the same recipe building different things depending on whether it's run on an x64 host or an arm64 host.

Another thing that would help disentangle things here is ensuring that we're only building desktop binaries in the desktop target builds and not in the host builds. That doesn't fix this issue, but it does ensure we're building less in host builds, which simplifies things a bit.
There are a couple bugs filed around that https://github.com/flutter/flutter/issues/88050 and https://github.com/flutter/flutter/issues/38935.


Student should be individually enrollable

Students cannot be conveniently enrolled to a module right now. They can only be imported by excel file, which is extremely inconvenient.

Duplicate of #234.


Owner gallery item ui

Buttons

dark mode boxes are light, please make them dark
text has almost zero padding

change price should not have primary color
make it same as transfer please

Burn and delist

looks like these buttons are missing in more options?

👋

@exezbcz so the buy button is primary in both light and dark mode, but the change price button is only primary in light and $k-dark in dark mode?

@exezbcz I do not understand the burn and delist part


Banish EpochConfig from Yasm and move towards more realistic initialisation

This pull request supersedes #24.  It is the culmination of work done on branch mark-begin-initialisation as seen in #24, but is organised as a small number of (fairly) coherent commits.
This pull request moves towards more realistic initialisation and management of EpochConfigs.  There are several aspects:
Banish EpochConfigs from Yasm
We remove everything related to EpochConfig (which is an application-specific notion) from the system model (Yasm), instead defining a type ValidSenderForPK that the application can use to express which peers can sign messages for which (honest) public keys in a given SystemState.
Yasm now accepts module parameters defining a GenesisInfo type and a value of that type that is provided to step-init.  Then we propagate these changes through the repo.
Also cleaned up some obsolete and confusing aspects of Yasm:

eliminated the function cheat steps use to determine a message to send (they can send any message they want, as long as it satisfies the constraint on forging signatures, there is no need for a function to justify the choice of message)
eliminated obsolete parameter to StepPeerState which was originally intended to update initialisation, but this is handled in StepPeer-post

Make fake implementation initialisation slightly more realistic
We make some steps towards more realistic initialization from GenesisInfo, but postulating parts of it.
Fix proofs
We propagate the changes to Yasm throughout all the proofs.  Proving ImplObligation₁ required changing its definition because, with the changes to Yasm, it is now possible that a single peer step (step-init or step-msg) can learn of a new EpochConfig and therefore know that it can sign a message for its public key in that epoch and sign such a message.  The fact that it can do so may become true as a result of this step (e.g., if a peer learns that an epoch change has occurred and then signs a message for that epoch in the same step), and does not hold in its prestate.
Explore broken "unwind-free" proof
This proof was broken by the changes to Yasm and requires more work to bring it up to date, in part because of the above-described change to the proof obligation.  Some parts are commented out and some holes made to explore the issues, and a comment is added at the top of VotesOnceDirect.agda.

This pull request supersedes #24.  It is the culmination of work done on branch mark-begin-initialisation as seen in #24, but organised as a small number of (fairly) coherent commits.


Content Suggestion: January 3rd Podcast

Link to Content: https://jan3podcast.com/
Briefly Describe Content: A Podcast in Persian language; which have been started from primary to advanced concepts of the Bitcoin Network. This Podcast is focused only on describing Bitcoin and never have talked about anything else.
Suggested Section: Podcasts

Waiting on user feedback. Please direct your listeners to comment here https://twitter.com/BitcoinOnly_/status/1455243945987002380


Adding document for backend

Motivation
Following this PR:
https://github.com/sgl-project/sglang/pull/1300
I added an overview for the backend:

This document offers an overview of the backend/runtime framework implemented by SGLang, focusing on its key features and advantages in the field of Language Model (LM) programming. Understanding these fundamentals can enhance your programming practices, helping you leverage your devices to their full potential.

Also, I added supported_model.md, quick_start.md and add_new_model.md for the backend.
One thing I think tricky is that, the current curl method in our readme may be erroneous? I used these instead:
curl http://localhost:30000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "What is a LLM?"
      }
    ]
  }'

curl http://localhost:30000/v1/embeddings \
  -H "Content-Type: application/json" \
  -d '{
    "input": "Once upon a time"
  }'

I am sure these are right.
Modifications

Added the documents for backends.
Checklist

[x] Format your code according to the Contributor Guide.
[x] Add unit tests as outlined in the Contributor Guide.
[x] Update documentation as needed, including docstrings or example tutorials.

Let us do a rebase following this https://github.com/sgl-project/sglang/pull/1368


Add logical objectfifo DMA ops and conversion from AIR

This is a first PR in a sequence to bring in compilation through logical objectfifos, using a peeled matmul as an E2E example. See following branch for all new functionality: https://github.com/nod-ai/iree-amd-aie/tree/jornt_peeled_matmul_e2e. This PR adds basic infrastructure for AMDAIE ops with two core ones:

AMDAIE::LogicalObjectFifoFromMemrefOp: a new op which creates a logical objectfifo from a memref. The logical objectfifo encapsulates the memref and adds asynchronous access to it through produce/consume or acquire/release ops, which will be added later on.
AMDAIE::DmaCpyNdOp: Similar to the AIR DMA op this represents a strided ND copy operation, but operates on logical objectfifos and with an index result.

To demonstrate usage of these new ops, this PR adds a pass that converts AIR::DmaMemcpyNdOp into AMDAIE::DmaCpyNdOp. This is the first lowering pass run after pack-to-dma and copy-to-dma in this new pipeline demonstrated in the branch above.
@nirvedhmeshram @yzhang93 @Abhishek-Varma , could you help with reviewing?
cc @MaheshRavishankar

One more thing, we need to add round-trip tests to make sure the parser code is correctly tested. Also if there are are certain cases that are expected to fail verification then we also add invalid ir tests. Here is an example from IREE https://github.com/openxla/iree/blob/main/compiler/src/iree/compiler/Dialect/LinalgExt/IR/test/roundtrip.mlir https://github.com/openxla/iree/blob/main/compiler/src/iree/compiler/Dialect/LinalgExt/IR/test/invalid.mlir

Thanks for the pointers. I will add additional tests.

@nirvedhmeshram Could you have another look?


bower

This is awesome library.
Could you push it to bower?

I would do it on this weekend.
Wait for a while. I'll inform here.

Done : )
http://bower.io/search/?q=piexifjs

Thanks, I ended up using custom scripts, but this plugin looks solid I might come back to add this as dependency if more features for exif is needed for ng-file-upload plugin.


⚠ Turnos 24x7 has degraded performance

In 425b9ac, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1077 ms

Resolved: Turnos 24x7 performance has improved in 0945cfb.


Dispenser Phase Tracker Issue

I am currently running

SpongeForge version: 1.12.2-2825-7.1.6-RC3713
Java version: OpenJDK 1.8.0_211
Operating System: Debian 9

Plugins/Mods: None

Issue Description
Place a Dispenser in front a double flower such as a rosebush, put bone meal inside and activate the dispenser with redstone in any manner.
The expected behaviour is for a flower to be dropped, none is dropped and the linked gist is what occurs in the server log upon doing the aforementioned.
https://gist.github.com/kencinder/1d778a9a5e7ed71016c016c120fdc0d3
This also occurs back on SF 7.1.6 RC3616 which we are running on production, I tested on latest to be sure it wasn't fixed already.

I can't seem to reproduce this on the latest development versions of either SpongeForge or SpongeVanilla. Is this the correct setup?

Correct setup, I just tested it again on spongeforge-1.12.2-2825-7.1.6-RC3716 and is not working. You get the particle effects, and nothing drops and the same thing shows up in the server log.

This should be fixed in the next build.

Is fixed, thank you.


Support baking the mesh on editor export to glft

Description
Currently if you export a scene with a Terrian3D node it exports everything except the Terrian3D mesh. This would be super helpful for using 3rd party navmesh libraries and blender workflows.
Currently i have a workflow where I dump the baked mesh to an obj file then import it into blender and merge the gltf export. Its super time consuming.
Hoping there is a callback that can bake the mesh on export when the editor makes the gltf.
if anyone happens to stumble on this needing a solutions my work around involves baking the mesh then passing it to this function.
func export_mesh_to_obj(mesh: Mesh, filepath: String):
	if mesh == null:
		print("No mesh found")
		return

	var file = FileAccess.open(filepath, FileAccess.ModeFlags.WRITE)
	if file == null:
		print("Failed to open file for writing")
		return

	# Write the OBJ header
	file.store_line("# Exported Mesh OBJ\n")

	# Prepare MeshDataTool
	var mesh_data_tool: MeshDataTool = MeshDataTool.new()

	# Iterate through surfaces of the mesh
	for surface_index in range(mesh.get_surface_count()):
		if mesh.surface_get_primitive_type(surface_index) != Mesh.PRIMITIVE_TRIANGLES:
			print("Surface is not made of triangles, skipping.")
			continue

		# Create MeshDataTool from the surface
		if mesh_data_tool.create_from_surface(mesh, surface_index) != OK:
			print("Failed to create MeshDataTool from surface")
			continue

		# Write vertices
		var vertex_count = mesh_data_tool.get_vertex_count()
		for i in range(vertex_count):
			var vertex = mesh_data_tool.get_vertex(i)
			file.store_line("v %f %f %f" % [vertex.x, vertex.y, vertex.z])

		# Write faces (OBJ uses 1-based indexing, so we add +1 to the indices)
		var face_count = mesh_data_tool.get_face_count()
		for i in range(face_count):
			var i1 = mesh_data_tool.get_face_vertex(i, 0) + 1
			var i2 = mesh_data_tool.get_face_vertex(i, 1) + 1
			var i3 = mesh_data_tool.get_face_vertex(i, 2) + 1
			file.store_line("f %d %d %d" % [i1, i2, i3])

	# Close the file after writing
	file.close()
	print("Mesh exported successfully to: ", filepath)

func export_terrain_to_obj(terrain: Terrain3D, filepath: String):
	var file = FileAccess.open(filepath, FileAccess.ModeFlags.WRITE)
	if file == null:
		print("Failed to open file for writing")
		return

	# Write the OBJ header
	file.store_line("# Exported Terrain3D OBJ\n")

	# Get terrain meshes (each chunk of terrain is handled separately)
	var meshes = terrain.get_meshes()  # Get the meshes for the terrain chunks
	for mesh_data in meshes:
		var mesh = mesh_data.mesh

		if mesh == null:
			continue

		var mesh_data_tool = MeshDataTool.new()

		# Iterate through all surfaces in the mesh
		for surface_index in range(mesh.get_surface_count()):
			if mesh.surface_get_primitive_type(surface_index) != Mesh.PRIMITIVE_TRIANGLES:
				print("Surface is not made of triangles, skipping.")
				continue

			if mesh_data_tool.create_from_surface(mesh, surface_index) != OK:
				print("Failed to create MeshDataTool from surface")
				continue

			# Write vertices
			var vertex_count = mesh_data_tool.get_vertex_count()
			for i in range(vertex_count):
				var vertex = mesh_data_tool.get_vertex(i)
				file.store_line("v %f %f %f" % [vertex.x, vertex.y, vertex.z])

			# Write faces (OBJ uses 1-based indexing, so we add +1 to the indices)
			var face_count = mesh_data_tool.get_face_count()
			for i in range(face_count):
				var i1 = mesh_data_tool.get_face_vertex(i, 0) + 1
				var i2 = mesh_data_tool.get_face_vertex(i, 1) + 1
				var i3 = mesh_data_tool.get_face_vertex(i, 2) + 1
				file.store_line("f %d %d %d" % [i1, i2, i3])

	# Close the file after writing
	file.close()
	print("Terrain exported successfully to: ", filepath)

Usage would look something like this
	var t3: Terrain3D = find_child("Terrain3D")
	var mesh: Mesh = t3.bake_mesh(0, Terrain3DStorage.HEIGHT_FILTER_NEAREST)
	export_mesh_to_obj(mesh, "res://test_dump.obj")

After realizing that making this issue was my rubber duck i realized if you bake the mesh array then export you get the geometry. However it would still be nice it that was automatic.

Are there any signals or function calls the editor emits when the user selects export to gltf? I didn't see any. If there aren't, we can't do anything about that.
Baking beforehand when needed is only 3-4 clicks.
Does your script do anything that our mesh baker doesn't already do? It looks like it bakes at lod0, whereas we can bake at any lod, and likely faster. Note that the terrain can be huge, up to 65.5 x 65.5km. Large terrains are not something you want to dump into text. Export to glb is more optimal than obj.

Yea i ended up removing most of what my script does and doing it manually. My goal was to run it headless and generate my nav mesh via CI/CD for my server. However the closest thing i can find that the editor does would be this. https://docs.godotengine.org/en/stable/classes/class_gltfdocumentextension.html


AudioContext should not be closed

https://github.com/eliasmeire/mp3-mediarecorder/blob/c154ddcbf94f19cddd7187b5bfe993176cc34ae4/src/recorder/index.ts#L75
Closing the AudioContext here makes it impossible to re-use the context on subsequent recordings.
Removing this line fixes the issue.

Hm I think I added this to limit the amount of open AudioContexts, if you don't pass in your own AudioContext (to fix #59). I shouldn't close it if you pass in your own AudioContext. I'll make a fix!

:tada: This issue has been resolved in version 4.0.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Nullable true is ignored on types for refs (experimental parser)

Description
When using the experimental parser, and adding nullable: true to a $ref, eg.
        color:
          $ref: '#/components/schemas/Color'
          nullable: true

the output types.gen.ts does not include | null on the field.
However if the object is declared directly, then it does.
Eg. for the openapi spec below:
export type Test = {
  color?: Color;
  color_direct?: {
    r?: number;
    g?: number;
    b?: number;
  } | null;
};

export type Color = {
  red?: number;
  blue?: number;
  green?: number;
};

Reproducible example or configuration
https://stackblitz.com/edit/hey-api-client-fetch-example-qttjvtzp?file=src%2Fclient%2Ftypes.gen.ts
OpenAPI specification (optional)
openapi: 3.0.2
components:
  schemas:
    test:
      type: object
      properties:
        color:
          $ref: '#/components/schemas/Color'
          nullable: true
        color_direct:
          type: object
          properties:
            r:
              type: integer
            g:
              type: integer
            b:
              type: integer
          nullable: true
    Color:
      type: object
      properties:
        red:
          type: number
        blue:
          type: number
        green:
          type: number

System information (optional)
No response

Hi @RacingTadpole!  In OpenAPI 3.0, sibling keywords alongside $ref are ignored, so this behaviour is expected if strictly following the spec.

OpenAPI 3.0, sibling keywords alongside $ref are ignored

Wow, thanks for clarifying that so quickly, I did not know that.
It is my spec, which was applying nullable true in an older version of this package (before hey-api). I see that changing the spec to this does what I need:
        color:
          allOf:
          - $ref: '#/components/schemas/Color'
          nullable: true

Thanks again for your help.


fix trade axiom

Description of the issue
trade[^1] is axiomated currently with 'SubClass Of' 'has participant' some 'commodity role'.
That does not make sense, sind the role is not involved in the process, but the thing that bears the role. According to the definition, this would be a commodity[^2] or service[^3].
[^1]: A trade is a process in which one commodity or service is exchanged for another commodity or service.
[^2]: A commodity is a good that bears the commodity role.
[^3]: A service is a process that is an intangible activity performed by some agent for the benefit of another agent.
Ideas of solution
Fix axiom: 'SubClass Of' 'has participant' some 'commodity'.
The relation to service is tricky, since it is a process itself.
Workflow checklist

[ ] I discussed the issue with someone else than me before working on a solution
[ ] I already read the latest version of the workflow for this repository
[ ] The goal of this ontology is clear to me

I am aware that

[ ] every entry in the ontology should have a definition
[ ] classes should arise from concepts rather than from words

You are right, the axiom trade 'has participant' some 'commodity role' is wrong. I would replace it with trade 'has participant' some good as not only commodities but all goods can be traded. This needs a slight modification of the definition: A trade is a process in which one ~commodity~ good or service is exchanged for another ~commodity~ commodity or service.

A trade is a process in which one ~commodity~ good or service is exchanged for another ~commodity~ ~commodity~ good or service.

What about trades where a good or service is exchanged for money? I think that should also be a trade.
Because: The role of an independent continuant or energy over which ownership rights can be established, whose ownership can be passed from one party to another by engaging in transactions, and that is not money.

A trade is a process in which one ~commodity~ good or service is exchanged for another ~commodity~ ~commodity~ good or service or money.

A trade is a process in which one good or service is exchanged for another good or service or money.

I am okay with this for the moment. However, #1584 directly impacts this definition proposal.


Confusing API naming

Is it intended that to parse a PKCS#1 vs PKCS#8 key we should use RsaPublicKeyDocument::from_pkcs1_der and RsaPublicKeyDocument::from_public_key_der respectively? This seems confusing to me. The trait names are also inconsistent (FromRsaPublicKey vs FromPublicKey).
Also, one can simply use RsaPublicKey::from_pkcs1_der to construct one from PKCS#1, but must use RsaPublicKey::from_pkcs1_public_key(RsaPublicKeyDocument::from_public_key_der().unwrap().public_key()) to construct one from PKCS#8. Maybe it should also implement the trait pkcs8::FromPublicKey?

Is it intended that to parse a PKCS#1 vs PKCS#8 key we should use RsaPublicKeyDocument::from_pkcs1_der and RsaPublicKeyDocument::from_public_key_der respectively? This seems confusing to me.

It is confusing, but unfortunately, so are the surrounding standards.
First off, there's no such thing as a PKCS#8 public key. PKCS#8 is a standard for private keys. More modern versions allow storing a public/private keypair, but no PKCS#8 specification covers public keys in isolation.
The public key format is actually X.509 SubjectPublicKeyInfo, a.k.a. SPKI. It's unrelated to PKCS#8, but used in conjunction with it.

The trait names are also inconsistent (FromRsaPublicKey vs FromPublicKey).

PKCS#1 is for RSA keys only. PKCS#8 supports multiple algorithms.

Maybe it should also implement the trait pkcs8::FromPublicKey?

Yes, it should. This is something I was able to do a bit better when writing the pkcs1 crate and would love to refactor pkcs8 with as well, but it would be a breaking change and I haven't had time.
Also it'd be good to file issues against these here, as they're actually separate crates from rsa: https://github.com/rustcrypto/utils

Thanks for the explanation! Now it makes sense to me. I'm trying to update rsa from 0.3.0 to 0.5.0 in a project and encountered a compile error on RSAPublicKey::from_pkcs8. I'm not sure why the original code uses PKCS#8 and tried to find equivalent methods in 0.5.0 just to be safe but had some trouble digging through the docs. I wonder why 0.3.0 have both RSAPublicKey::from_pkcs1 and RSAPublicKey::from_pkcs8 if there's no such thing as a PKCS#8 public key? Same goes for pkcs8 crate, why does it have pkcs8::FromPublicKey::from_public_key_der?

Also it'd be good to file issues against these here, as they're actually separate crates from rsa: https://github.com/rustcrypto/utils

I see. This originated from upgrading rsa so I thought to ask here to get an idea first. I'll file issues there once I find out what's going on :P

I wonder why 0.3.0 have both RSAPublicKey::from_pkcs1 and RSAPublicKey::from_pkcs8 if there's no such thing as a PKCS#8 public key? Same goes for pkcs8 crate, why does it have pkcs8::FromPublicKey::from_public_key_der?

SPKI is commonly used as the public key counterpart to a PKCS#8 private key. The function which explicitly called it a PKCS#8 public key in rsa v0.3 is technically incorrect, however.
In the pkcs8 crate, everything related to public keys is actually re-exports of the corresponding types from the spki crate.
If you're just trying to parse a DER or PEM public key, I'd suggest looking at the examples in the rsa crate:
https://docs.rs/rsa/0.5.0/rsa/#pkcs8-rsa-key-encoding
Specifically, you should be able to call from_public_key_der on RsaPublicKey, so long as you have rsa::pkcs8::FromPublicKey in scope.

Oops, I missed the blanket implementation part. Thanks!


Moving around CSS

and sticking with the original system as we need SOME of the proto css even thouhg it's not strictly mean't for production.
Added fonts to their own file so future devs just need to copy the entire application.css file from the proto and put it in design.css

How do we ensure we only keep some of the CSS that is needed?

How do we ensure we only keep some of the CSS that is needed?

I see it as it doesn't matter, i.e. it would take a fair amount of time and effort for a dev to figure out what's actually necessary and only put that stuff in a CSS file versus the overhead that a bulky CSS file gives us, does that make sense?

How do we ensure we only keep some of the CSS that is needed?

I see it as it doesn't matter, i.e. it would take a fair amount of time and effort for a dev to figure out what's actually necessary and only put that stuff in a CSS file versus the overhead that a bulky CSS file gives us, does that make sense?

It makes sense, but we won't be able to fully know whether there are any security implications or accessibility issues as mentioned here: https://prototype-kit.service.gov.uk/docs/about

How do we ensure we only keep some of the CSS that is needed?

I see it as it doesn't matter, i.e. it would take a fair amount of time and effort for a dev to figure out what's actually necessary and only put that stuff in a CSS file versus the overhead that a bulky CSS file gives us, does that make sense?

It makes sense, but we won't be able to fully know whether there are any security implications or accessibility issues as mentioned here: https://prototype-kit.service.gov.uk/docs/about

There wouldn't be much security issues, from the compiled css, as the source is coming from our app, for the accessibility issue, I don't know if much has been expressed by users on not being able to access the pages.

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

Coverage data is based on head (39baa44) compared to base (1a08788).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #276   +/-   ##
========================================
  Coverage    40.36%   40.36%
========================================
  Files           93       93
  Lines         5374     5374
  Branches       632      632
========================================
  Hits          2169     2169
  Misses        3205     3205

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.

I'm going to merge this now, if in the future we come across issues where proto CSS is causing issues with accessibility then we can split it up then, however now I think it's just unnecessary work to do it now.


Hi, its not working anymore

for some reason this extension stoped to work

@natqe, thanks for reporting this. I have fixed the issue in the latest release (version 0.2). If the update doesn't resolve the issue for you, please let me know.


M3GNet Training Tutorial Not Working

Hello,
I am working through the tutorial to train a M3GNet model (https://matgl.ai/tutorials%2FTraining a M3GNet Potential with PyTorch Lightning.html) and it appears that the interface for M3GNetDataset no longer takes inputs energies, forces, stresses.

My matgl version is 0.8.3. Could I be advised on how to proceed? Thank you in advance.

For anyone looking to work through the tutorial, it looks like labels are now passes as a dictionary to the M3GNetDataset:

I would be happy to update the tutorial and contribute.

Thanks yes. I recently refactored the Dataset class to make it more consistent and intuitive. If you can help make the adjustments to the tutorial, that would be great.

I think @lbluque has pushed the fix to the tutorial for M3GNet training. I will close this issue if no any further problems.


depsyncer error: 400 Bad Request: USER_AGENT_INVALID

[root@iZuf64hzarhamgerishd1nZ nanodep]# ./depsyncer-linux-amd64 -debug -limit 1000 -duration 60 dep
2024/01/22 00:55:28 level=debug component=syncer name=dep msg=starting timer duration=1m0s
2024/01/22 00:55:29 level=info component=syncer name=dep msg=error syncing phase=fetch cursor= err=DEP HTTP error: 400 Bad Request: USER_AGENT_INVALID
2024/01/22 00:56:29 level=info component=syncer name=dep msg=error syncing phase=fetch cursor= err=DEP HTTP error: 400 Bad Request: USER_AGENT_INVALID
As a beginner, I am using nanodep, and according to the reference documentation, I have made the settings, but I encountered a problem when enabling depsyncer. Please help me, thank you.

@guixiaomin hmm, I've never seen the USER_AGENT_INVALID, that's interesting. do any other calls work? can you use the DEP api endpoints otherwise?

Thank you. The DEP endpoint is functioning properly as a proxy, and I am currently using dep-assign-profile.sh.
I will monitor this issue later

I also have the same error.
2024/02/15 17:22:35 level=debug component=syncer name=mdmserver1 msg=starting timer duration=5s
2024/02/15 17:22:35 level=info component=syncer name=mdmserver1 msg=error syncing phase=fetch cursor= err=DEP HTTP error: 400 Bad Request: USER_AGENT_INVALID
2024/02/15 17:22:40 level=info component=syncer name=mdmserver1 msg=error syncing phase=fetch cursor= err=DEP HTTP error: 400 Bad Request: USER_AGENT_INVALID

My API to get account details works fine
/proxy/{dep_name}/account

Please tell me how to troubleshoot the USER_AGENT_INVALID error

@jessepeterson

Let me take a look at all this. @JieAnthony the second (last) comment makes me think the DEP name is incorrect — it can't find any tokens based on that.

I'm sorry, my English is not very good. I will start from the beginning and explain the problem to you again.
nanoDEP start command
// it works fine
./depserver-linux-amd64 -api supersecret -listen :7592 -storage mysql -storage-dsn "root:root@tcp(127.0.01:3306)/nanodep"

When I access /server/devices through the proxy, everything works fine.
{
    "devices": [],
    "fetched_until": "2024-02-15T09:37:05Z",
    "more_to_follow": false,
    "cursor": "MDowOjE3MDc5ODk4MjU3NzY6MTcwNzk4OTgyNTc3Njp0cnVlOjE3MDc5ODk4MjU3NzY"
}

depsyncer start command
./depsyncer-linux-amd64 -storage "mysql" -storage-dsn "root:root@tcp(<IP_ADDRESS>:3306)/nanodep" -debug -debug-assigner -debug-syncer mdmserver1

RESULT
2024/02/17 10:43:17 level=debug component=syncer name=mdmserver1 msg=starting timer duration=30m0s
2024/02/17 10:43:18 level=info component=syncer name=mdmserver1 msg=error syncing phase=fetch cursor= err=DEP HTTP error: 400 Bad Request: USER_AGENT_INVALID

I have a mdmserver1

@jessepeterson hi,Could you please tell me how to fix this problem? Or my operation is wrong?

Hello! I've been able to reproduce this issue. If I indeed change the User-Agent header here:
https://github.com/micromdm/nanodep/blob/e87b1e3f2b459aeced39d6f873ae15ca9caf552b/godep/client.go#L18
.. to something else then it works fine. I suspect this is an Apple server-side issue. Let me do some asking around.

Thank you for your great work.
I have a request and hope you can accept it.
I hope to have one more option in depsyncer, such as -all-dep to indicate synchronization of all dep.
Because I may have many dep, it may not be convenient if I have to restart every time I add a new one.
@jessepeterson

@JieAnthony

I have a request and hope you can accept it.

Hi! Yeah this is interesting. We don't currently have a way to enumerate/search for for existing DEP names therefore don't have a way to know what "all" DEP names are. :)
But if you'd like to see this: please make a feature request new issue (this one is just about the 400 user agent issue).

@jessepeterson
I feel so sorry.
Your work is great.

I also have the same error. @jessepeterson

I'm not sure why Apple is blocking our user-agent string, but they are. #49 changes it to something slightly different.

There are new binaries from CI/CD and Docker images pushed here if you want to test out these changes.


Example app stuck when opening the camera

Hey.
I'm a new user in Flutter and I'm trying to run the barcode example.
Im running the app in a real ios device (iPhone 12 pro) and as soon as I select the example from the list the application stuck and I see this in xcode:

Seems like some kind of error with [eventChannel setStreamHandler:_imageStreamHandler]; but I don't see anything informative about it or how to handle it.
I didn't change anything in the code of the example, this is a fresh start.
Anyone have any idea why it's happening ?

same here :(

same here :(

same here :(

It's working for me now... I'm not sure what I did to make it work cause I tried many things but please try this and update here if it helps:
 flutter channel master
 flutter upgrade

same here :(

It's working for me now... I'm not sure what I did to make it work cause I tried many things but please try this and update here if it helps:
 flutter channel master
 flutter upgrade

Sure I'll try but currently, I'm using this package, quite good for now as I need,
https://pub.dev/packages/camera_process

Try the latest version.
Also note that google_ml_kit has been split in multiples plugins, to avoid adding unnecessary dependencies to your project.
More details here:

https://github.com/bharat-biradar/Google-Ml-Kit-plugin/tree/master/packages/google_ml_kit
https://github.com/bharat-biradar/Google-Ml-Kit-plugin

You can find more details on why you got those issues here:

https://github.com/bharat-biradar/Google-Ml-Kit-plugin#ios
https://github.com/bharat-biradar/Google-Ml-Kit-plugin/tree/documentation#firebase-dependency-custom-models
https://github.com/bharat-biradar/Google-Ml-Kit-plugin/tree/documentation/packages/google_ml_kit/example#getting-started


Add cdn field to dev page

Adds a field to change the CDN the test app loads from

I actually have some relevant changes in my PR! https://github.com/segmentio/analytics-next/pull/424/files#diff-45418fb36b97a6285f0f01af612da254af14469374e3e255a735e1a7d972049f


Remove embedded references.

Removed the embedded ReferenceId list from the ReferenceSet object. These can easily be obtained using the SearchReferences API call.
Embedding the IDs for child objects is not done anywhere else in the API (there are some where we embed the child objects, like ReadGroupSet and Variant).

+1.  I believe we'd discussed (with Cassie) removal of this field over a year ago, but it either was forgotten or became obsolete in light of the graph changes.

+1
This is a good example of where we will have a simpler API if we do
these types of relations as queries rather than embedding it in the
data structures.
Jerome Kelleher<EMAIL_ADDRESS>writes:

Removed the embedded ReferenceId list from the ReferenceSet object. These can
easily be obtained using the SearchReferences API call.
Embedding the IDs for child objects is not done anywhere else in the API (there
are some where we embed the child objects, like ReadGroupSet and Variant).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
You can view, comment on, or merge this pull request online at:
https://github.com/ga4gh/schemas/pull/378
Commit Summary
• Remove embedded references.
File Changes
• M src/main/resources/avro/references.avdl (15)
Patch Links:
• https://github.com/ga4gh/schemas/pull/378.patch
• https://github.com/ga4gh/schemas/pull/378.diff
—
Reply to this email directly or view it on GitHub.*


chore: update javaparser to version 3.26.0

This should improve parsing of java 21 code

Ah, nice, thank you. :)


feat: added forbidden_prior_day_booking_field_value, invalid_prior_notice_duration_min and forbidden_prior_notice_start_day notices

Summary:
This PR introduces three new validation notices: forbidden_prior_day_booking_field_value, invalid_prior_notice_duration_min, and forbidden_prior_notice_start_day.

forbidden_prior_day_booking_field_value:

Error Logic:

Trigger when booking_type = 2 and either prior_notice_duration_min or prior_notice_duration_max is present.

invalid_prior_notice_duration_min:

Error Logic:

Trigger when prior_notice_duration_min is greater than prior_notice_duration_max.

forbidden_prior_notice_start_day:

Error Logic:

Trigger when prior_notice_start_day is defined and prior_notice_duration_max is also defined.

Expected Behavior:
A validation notice with ERROR severity is generated when any of the above conditions are met for each specific notice.
Using this modified feed, the following validation results were obtained:

Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Run the unit tests with gradle test to make sure you didn't break anything
[ ] Add or update any needed documentation to the repo
[x] Format the title like "feat: [new feature short description]". Title must follow the Conventional Commit Specification(https://www.conventionalcommits.org/en/v1.0.0/).
[x] Linked all relevant issues
[x] Include screenshot(s) showing how this pull request works and fixes the issue(s)

@cka-y On a QA side, works as expected!

@cka-y For forbidden_prior_notice_start_day, I just realized the "invalid value" language might be confusing, since the field itself is forbidden in cases where prior_notice_duration_max is provided, not just that there's an invalid specific inputted value for it.
Suggested change: prior_notice_start_day is forbidden when prior_notice_duration_max is set"

done @emmambd -- waiting for @tzujenchanmbd approval before merging

LGTM on columns displayed, notice names, and description.


Test data for OVS

Remember to update the submodules in OVS in order to see if all tests succeed...


Release 3.0 to CocoaPods

Would you mind releasing the latest to CocoaPods for us to integrate?

Just pushed 3.0 to CP. Should be available now.


Adding Collaborators

Document methods for sharing a rack.

you can give them the API Key in ~/.convox/auth, but the best way is through https://grid.convox.com
add your rack there then you can invite some collaborators

 Explain collaborators


Actions coverage is zero-hit on src

OK so long story short; the CI was 'passing' since it was first added, but was actually failing the entire time. There was a specific flag I had to set to make it fail in the CI if the upload failed
Otherwise, it does not play well with the global upload token; it rather seems to be keyed specifically to an individual repo
Now that upload of report is working as expected, the actual actions themselves are showing zero hits in the src module: https://github.com/catalystneuro/tqdm_publisher/actions/runs/7705476623/job/20999463860
Was there anything special you had to do to get this to work locally?

@CodyCBakerPhD Nope nothing special. Running pytest --cov=./src --cov-report xml:./codecov.xml does it for me.
This command doesn't work for you locally?

This command doesn't work for you locally?

Haven't tried locally; main point is to get this working in the actions. Wonder if it's related to the puppeteer issues in actions too? Like, general async processes in that environment or something

Could it possibly have to do with the installation of tqdm_publisher which actually builds from the pyproject.toml instead of linking locally to src?


Migrate to next 13 app directory with react server components

Upgrade guide.
Things to update:

[x] Update starter blog template
[ ] Update CLI and Installer to reference app instead of pages
[ ] Update pliny components that might be using the older conventions e.g. SEO

Blockers:

next-themes appDir support
Contentlayer RSC support

@timlrx  When we are planning to migrate it to Next 13?

When next 13 is mature :)
Since it is taking longer than I expected, I would probably migrate the current version using the pages directory first. I tried it out with the app directory but there would be quite a lot of breaking changes and if so I would prefer to approach it in one go when more of the tooling is available e.g. metadata support which could possibly render the SEO component redundant.

I did upgrade a project based on this repo to nextjs13 without App directory. It was some time ago but pretty straight forward no major issues. Only thing i did not get to work is preact. I simply disabled it, since its not super important for my project. App directory is still not stable today, so no need to rush it.
Another thing which could be interesting for this project is Contentlayer.
Didn't get to deep into it but its basically a typesafe mdx-bundler. Just gonna leaves this here from their docs:

Libraries like mdx-bundler and next-mdx-remote provide tooling to help in processing MDX.
In addition to processing MDX, Contentlayer also parses and validates content and provides auto-generated TypeScript type definitions

I'm pleased about your code @timlrx and would love to see you keep working on it. :) Can I help you with the migration? Are you planning to continue working on your project, or was it only a hobby project, should I reuse some of your code?

I have decided to maintain most of the reusable components in this repository and deprecate the CLI and recipe features. All the components in the latest beta release have been updated to work with next 13 and app directory. The blog template is back in its original place and the newest version in the V2 branch is a full Next 13 app directory setup.


Fix the color for no results when there are no more channels to join

Ticket Link
https://mattermost.atlassian.net/browse/MM-48369
Release Note
NONE

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/26594
https://circleci.com/gh/mattermost/mattermost-mobile/26593

Artifact links:
https://output.circle-artifacts.com/output/job/745b68d7-e516-43a1-9def-a506d56b2683/artifacts/0/tmp/artifacts/Mattermost_Beta.apk
https://output.circle-artifacts.com/output/job/643bf016-b060-453c-8a8d-d395f17e564d/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa


Add flag to return cache directory

Since the location of the cache directory depends on various factors (OS, env vars etc) it would be great to have a CLI flag that would return the path to the currently used cache directory.
This would be especially useful in CI.

Might be addressed by https://github.com/rust-lang/cargo/pull/5183

@alexcrichton I meant the ~/.cargo directory. AFAIK it can be changed with the CARGO_HOME env var.

Indeed, and are you setting that env var on CI?

I am now. The thing is that some docker images also set that variable, so if I'm not setting the variable explicitly, it's not immediately clear where the cache directory is located. Especially since the location might change in the future.
But it seems that this will be addressed by #5183 indeed :slightly_smiling_face:

@dbrgn Yes, that's one of the use cases I have! After things have progressed a bit in #5183, I would appreciate if you gave it a try and told me whether everything works for your use case.

Would adding a dirs subcommand, with no args, that prints a handful of directory paths (without changing what those paths are today) be a welcome PR?  Or would an RFC for it be required first?

@dwijnand I think we could probably do that yeah, but I suspect we should hold off in the near term (with the soft feature freeze and whatnot) and we likely want to land it in tandem or in closer coordination with the PR that switches around cargo's caches

Sounds good!

@alexcrichton From my perspective it would actually be fine to get this done earlier than the rest of #5183, because it would help debugging the various changes there; generally cutting out as many easy parts as possible would help focusing on the harder parts later.
Oh, and btw, welcome @dwijnand to the cargo team! Looks like we are getting a full house of Scala refugees lately. ;-)
(I think it would even be fine supporting individual sub-commands, even if they aren't particularly helpful at the moment. It would allow tools that rely on specific directories to prepare early for a possible migration.)


Fixed order of LCEL menu and added tables in interface page

Fixes # (issue)
Fixed the ordering of the LCEL sub menu which was not in sync with the python docs and not correctly ordered.
Also added input type and output type table in the interface page of better readability.

Thank you!


Handlers for interfaced notifications are not working as expected

The issue at hand
When using interfaced notifications, and handlers for the interfaces - the handler does not run unless there exists a handler targetting a concrete implementation of the respective interface.
Steps to reproduce:
Bootstrap
HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
builder.Services.AddMediatR(c => c.RegisterServicesFromAssembly(typeof(Program).Assembly));
using IHost host = builder.Build();

var mediator = host.Services.GetRequiredService<IMediator>();

A) A simple notification handler that runs
// Simple case, nothing new

record SimpleGreeterNotification(string Message) : INotification;
class SimpleHandler : INotificationHandler<SimpleGreeterNotification>
{
    public Task Handle(SimpleGreeterNotification notification, CancellationToken cancellationToken)
    {
        Console.WriteLine(notification.Message);
        return Task.CompletedTask;
    }
}

// ...

await mediator.Publish(new SimpleGreeterNotification("Hello"));
// Outputs "Hello", no surprises here

B) An interfaced notification handler that runs
// Interfaced case

public interface IGreeterInterface : INotification;
record ImplementingGreeterNotification(string Message) : IGreeterInterface;

class InterfacedGreeterHandler : INotificationHandler<IGreeterInterface>
{
    public Task Handle(IGreeterInterface notification, CancellationToken cancellationToken)
    {
        Console.WriteLine("I only run when ImplementingGreeterHandler exists");
        return Task.CompletedTask;
    }
}

class ImplementingGreeterHandler : INotificationHandler<ImplementingGreeterNotification>
{
    public Task Handle(ImplementingGreeterNotification notification, CancellationToken cancellationToken)
    {
        Console.WriteLine(notification.Message);
        return Task.CompletedTask;
    }
}

// ...

await mediator.Publish(new ImplementingGreeterNotification("Hello interface"));
// Outputs "I only run when ImplementingGreeterHandler exists"
// Outputs "Hello interface

C) Now for the interfaced notification handler that does not run
// Interfaced case

public interface IGreeterInterface : INotification;
record ImplementingGreeterNotification(string Message) : IGreeterInterface;

class InterfacedGreeterHandler : INotificationHandler<IGreeterInterface>
{
    public Task Handle(IGreeterInterface notification, CancellationToken cancellationToken)
    {
        Console.WriteLine("I only run when ImplementingGreeterHandler exists");
        return Task.CompletedTask;
    }
}

// ...

await mediator.Publish(new ImplementingGreeterNotification("Hello interface"));
// No output

Cases A and B are as expected, whereas case C is strange - I would expect InterfacedGreeterHandler to be run.
Further notes
I am not sure any of this is relevant, but I did some investigating.
I have a theory that this issue is caused near NotificationHandlerWrapper. Inspecting the service collection, I verify that it correctly contains INotificationHandler<IGreeterInterface>, but it does not contain INotificationHandler<ImplementingGreeterNotification>.
From these lines I see that IServiceProvider.GetServices<INotificationHandler<ImplementingGreeterNotification>> does not return anything, which I suspect subsequently fails to resolve a respective NotificationHandlerExecutor.
https://github.com/jbogard/MediatR/blob/cac76bee59a0f61c99554d76d4c39d67810fb406/src/MediatR/Wrappers/NotificationHandlerWrapper.cs#L24-L26
It does make sense I suppose, but at face value this looks like odd behavior either way.
I tested a more basic, yet potentially related case; implementing a catch-all INotificationHandler<INotification> never runs if there are no other INotificationHandler-types registered.

bump

I seem to have the same problem in my project

I stumpled upon this issue as well but solved it by copying the definition of the handler from https://github.com/jbogard/MediatR.Extensions.Microsoft.DependencyInjection/blob/020d8817ae84e18d61bbf343b00558249c37f899/src/TestApp/ConstrainedPingedHandler.cs#L8

I stumpled upon this issue as well but solved it by copying the definition of the handler from https://github.com/jbogard/MediatR.Extensions.Microsoft.DependencyInjection/blob/020d8817ae84e18d61bbf343b00558249c37f899/src/TestApp/ConstrainedPingedHandler.cs#L8

It does not solve case C.

It's been over a year since I last wrestled with notifications.  I threw in the towel and pursued an alternative approach described with pseudo code in this thread last year.  Drastically simplified notifications and cloud events and made execution order and debugging possible.  Unfortunately, it seems the saga continues and I no longer have access to the code base.  In case it helps anyone, the suggested alternative at the bottom of this thread worked like a charm...
How to change MediatR publish strategy


MRG: Check that fnirs types are not mixed

Reference issue
None. Just general improvements to error throwing.
What does this implement/fix?
It does not make sense to have a combination of certain fnirs data types in the same raw object. For example you shouldn't have optical density and oxyhemoglobin data together. This just adds a check for that.

@larsoner @agramfort @drammock could you please review. Failing tests seem unrelated and are all about gui/viz
FAILED mne/viz/tests/test_epochs.py::test_plot_epochs_clicks - AssertionError...
FAILED mne/viz/tests/test_ica.py::test_plot_ica_sources - AssertionError:
FAILED mne/viz/tests/test_raw.py::test_plot_raw_selection - assert 0.0 == 1
FAILED mne/viz/tests/test_raw.py::test_plot_raw_child_figures - assert 0 == 1
FAILED mne/viz/tests/test_raw.py::test_plot_raw_traces - AssertionError: asse...

@larsoner @agramfort @drammock could you please review. Failing tests seem unrelated and are all about gui/viz

Yes I'm seeing the same on other PRs. So seems to be unrelated to your code changes.

Thanks for the info.
What's the etiquette for getting a pr merged? Am I meant to ping people, and if so who? Or do I change to MRG and anyone interested just reviews?
I've just been pinging the same three people each time, but I don't want to overload the same people over and over.

What's the etiquette for getting a pr merged? Am I meant to ping people, and if so who? Or do I change to MRG and anyone interested just reviews?

You can just change the title and wait, but you might wait a while. I usually change the title and ping people, I think it works pretty well for us

Thanks @rob-luke !

Thanks mate.


LocationUpdatesForegroundService app process is still running after closing app

Steps to reproduce it:

Open app
Press "request location updates" button
Press device home button for sending application in background
Close the app

My expectation is that the app process (and all its threads) has  to be stopped but it does not.
The app process is still running after closing the app
How can avoid it?
It looks related with the foreground service for collecting location.
How can I stop the service while the app is closing?

My bad!
I added android:stopWithTask="true" and it works as expected


Add extraContainers: [] configuration option

Add extraContainers: [] configuration option to the chart, so that it's possible to insert a sidecar container. Could for example be useful to achieve setups like this.

@illrill, thank you for your contribution.

@illrill, thank you for your contribution.

Thanks for handling the version update! I accidentally removed the review request from @desaintmartin while I was trying to reset your request for change.


Find iPhone scripts reveals mobile numbers

Looking at your example config scripts and found that you were publishing the family mobile numbers.

Thank you so much! I have been absent from this project for awhile, I can't believe I missed that one. Thank you for pointing it out to me.


Feat/admin ongoing agenda logic

Resolves #73

client/src/services/admin-agenda.ts 에서의 Export는 현재 진행된 상태인가요?


Use more ruff rules

This updated our ruff config to select all rules, and disable those I thought weren't useful.
The only breaking changes that I can see will affect our repos is the change to in_whitelist_check.
Draft release notes
Breaking Changes
All breaking changes are related to making boolean default and boolean-typed positional arguments in function definition keyword args only. The arg names and functions are listed below.

sync_app_commands in pydis_core.BotBase.load_extensions()
should_raise in pydis_core.site_api.APIClient.maybe_raise_for_status()
fail_silently in pydis_core.utils.checks.in_whitelist_check()
All args other than pagination_emojis, lines, ctx, embed in pydis_core.utils.pagination.LinePaginator.paginate()

What's Changed

Enable more ruff linting rules, by @ChrisLovering in https://github.com/python-discord/bot-core/pull/206
Document the instance attributes of pydis_core.BotBase, by @shtlrs in https://github.com/python-discord/bot-core/pull/204
Bump ruff from 0.1.15 to 0.2.2, using the new lint config namespace, and linting with the new rules, by @ChrisLovering in https://github.com/python-discord/bot-core/pull/206

Full Changelog: https://github.com/python-discord/bot-core/compare/v10.7.0...v11.0.0

The trailing comma rule seems a bit intrusive, and not always relevant (for example after a **kwargs), but otherwise this looks good

Yea I can understand that. The linting rule likely makes more sense when used in combination with ruff format / black, as that impacts how they are formatted.


Transfer from dep to go modules.

Since go 1.11 added modules, there's no real reason to use dep/Gopkg.toml anymore. I've updated all vendored deps and the binary works fine.

@The-King-of-Toasters thanks for the PR, looks good. Merged!

Oh yeah, you might want to bump the version number again (1.2.0?).

@The-King-of-Toasters good point


BUG: TypeError for scalings=None in mne.cov._estimate_rank_meeg_signals

when using mne.cov._estimate_rank_meeg_signals with scalings=None on the sample data, I get:
File "/home/andrew/.local/lib/python2.7/site-packages/mne-0.9.dev0-py2.7.egg/mne/cov.py", line 1611, in _apply_scaling_array
data *= scalings[:, np.newaxis]  # F - order
TypeError: 'NoneType' object has no attribute 'getitem'
Yet, the doc says: "If None, no scaling will be applied."
What should be the default behavior if scalings=None?
if scalings is None:
    scalings = dict(mag=1., grad=1., eeg=1.)

or
if scalings is None:
    scalings = dict(mag=1e15, grad=1e13, eeg=1e6)

Also, I guess scalings should be defaulted to None?

can you share a gist to reproduce?
When scaling is None we tend to use our defaults.

https://gist.github.com/adykstra/b8ebfda2f153db17cc53

can this happen without calling directly the private function?

I'll check.

Yes ...
import mne
from mne import io
from mne.datasets import sample

data_path = sample.data_path()
raw_fname = data_path + '/MEG/sample/sample_audvis_filt-0-40_raw.fif'
event_fname = data_path + '/MEG/sample/sample_audvis_filt-0-40_raw-eve.fif'

raw = io.Raw(raw_fname, preload=True)
raw.estimate_rank(scalings=None)

thanks for checking and looking into it


tags added Post/powerplatformtags

Category

[x] Content fix
[ ] New article

Contents of the Pull Request
Tags added to posts for better discovery

thanks for adding these!!


Update DA Services with Transaction IDs

#1188 adds a TransactionId to the DaService::send_transaction method, but does not update the existing services to return a valid ID. We should return a unique ID for every transaction in each DA service.

[ ] Celestia
[ ] Avail
[ ] Mock DA
[ ] RNG DA

Hy! I'm happy to take this on. Should the data blob be included in tx id generation?  Can also append the blob with a prehashed namespace (DA) to make it deterministic. Open for suggestions as well!
Attaching a PoC for your ref:
pub enum Services {}

impl Services {
  fn get_hash() {}
}

fn generate_tx_id(data_blob: &[u8]) -> String {
    let namespace_hash = namespace.get_hash()); //  maybe fetch from enum?
    let mut hasher = Sha256::new();
    hasher.update(namespace_hash);
    hasher.update(data_blob);
    let txId = hasher.finalize();
}

lmk what do you think.


Run Code Server on a Server

I've a server, where my projects are deployed and accessible via urls. What I want to do is, to install code server on my server. Then run code server on my server and access it via browser on my local machine. I don't want to run code server OR sshcode on my local machine.
I also want to access it with some specific url e.g. https://mysite.com/ide
Please let me know is there any way to achieve this?
And what about team access to same project? Do you have team collaboration OR multiple users accessing same project and doing their changes?

You don't have to run code server on your local machine for this. You would access it via a browser. Code Server would simply listen on the port that you specify. Accessing the machine via ssh(code) is highly recommended.

sshcode is an option that's available for you, but it's definitely not the only way. We have guides in the doc/ directory in our repo which should help you with setting up code-server on your own server securely.
At the moment, you can't currently run code-server on a webserver mounted at a non-root path because of a bug: #670 #722
Regarding collaboration and multiple-users (working on same project or working on different projects through a single code-server instance), this is currently not supported but something we're tracking: #33.

@deansheather @code-asher Can you please let me know any deadline about team collaboration feature in code-server? It would be good to have an estimate to use this for our product.
Thanks alot.

Team collaboration is not planned in the near future and has no deadline or estimate

@coadler  Any idea if I can run vs live share with code-server in some way?

It's not open source so we cannot provide it on our marketplace

@coadler  So right now, we cannot use code-server in a scenario where we need teams to collaborate on code via IDE? But it's definitely very good using in single user case.

Unfortunately there is no first class support for collaboration, although it seems some people have had live share working in #33

what if you and your team just open multiple browser pages of code-server site ?
I am not quite sure how it would work, but it seems to be somehow usable.

@yw662 It doesn't work. You'll run into problems if multiple browsers access a code-server instance simultaneously, especially if they are working on the same files.

Curious, is there anything like sync.Mutex for files? This might allow for this to work.. Not entirely sure though.

There's flock but the IDE would have to do a lot more than just lock files for writing, such as conflict resolution and the like. It's definitely a beast all of its own.
Going to close since it seems like the original issue was solved.

@coadler I know that vscode has some built-in file resolution when the copy on disk does not match the one in the editor. What are your thoughts about that? Not sure if as an unexpected side effect, code-server has this functionality.


Hot Chocolate v13

This updates the tests to pass on the latest preview version of Hot Chocolate. These changes are not backwards compatible with version 12.
It would be great to have a preview release of AppAny.HotChocolate.FluentValidation.
Closes #103.

@sergeyshaykhullin Could you please approve the workflow? 🙂

@sergeyshaykhullin I'm a bit confused – won't this fail for users on HC 12? I thought that you would merge to another branch and release a preview version.

I updated readme, add 0.9.x HC 12 -> 0.10.x HC 13 changelog


FCC Challenges Already Solved

Challenge Name

EVERY CHALLENGE
Issue Description
Every time I go to a new challenge the code is already solved so there is nothing to do but just run the test. I don't know if it's just a browser problem...
Browser Information

Browser Name, Version:  Safari 10.0
Operating System: macOS Sierra Developers Beta 1
Mobile, Desktop, or Tablet: Desktop

Screenshot

I just noticed there's an issue from using 2 accounts. I already passed these challenges in my account, but when my sister logs in, the challenges haven't been passed but the code needed is there. (The code I used) I think it's some type of storage problem.

Yup, code is saved in your local storage. You can delete them en masse if you like by following these steps: https://www.freecodecamp.com/wiki/en/freecodecamp-clear-specific-data-local-storage/ (you can delete more than one at a time)
But don't worry about your completed solutions being lost; those are saved with your account when you click "Submit and Continue", and you can access them by clicking "View Solution" on your FCC profile.

Alternatively you can also use separate user profiles on the PC or on the browser as well.
We have a feature comming up in https://github.com/FreeCodeCamp/FreeCodeCamp/pull/9130 that will remove the locally stored solutions, until then please try the workarounds as @BKinahan mentioned or the above.
Thanks and happy coding!


[BUG]

logs.log
started to issue an error after an overnight update

The offsets have been updated.
Please check the latest commits for details of the changes made.


Update teams-meetings-with-canvas.md

Updated per feedback from Instructure.  Dev key must be turned on as a first step for the Canvas admin, not the last.

Committed.  Thanks!

@DaniEASmith Please merge this PR. Thanks


Please add pointer-events (the CSS property).  Here are some docs from MDC

Please add pointer-events (the CSS property).
Here are some docs from MDC: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events

This issue was imported from Google Moderator
Moderator votes: +4
Issue added by Edwin Martin on 2013-07-18
To vote this issue up or down, simply include +1 or -1 in your comment.

Already added at http://caniuse.com/#feat=pointer-events


Add a minikube environment

Adding as a work item for what im working on

Pull request out for this: https://github.com/Microsoft/bedrock/pull/156

Addressed in https://github.com/Microsoft/bedrock/commit/a0cbadfaa27fe69715a5691ca379fdf13e5a1867


need openCV to detect frontal face and the side of the face .

Hello ,
I'm using OpenCVSharp with streaming from Camera :
frontal face is detected with the following code in OpenCVSharp :
var haarCascade = new CascadeClassifier("haarcascade_frontalface_alt2.xml");
// Detect faces
OpenCvSharp.Rect[] faces = haarCascade.DetectMultiScale(
alt, 1.08,2, HaarDetectionType.ScaleImage, new OpenCvSharp.Size(30, 30));
for the Cascade Classifier Do you have XML that can consider face side as a face as well with certain angle ?
I'm able to detect frontal face only with this XML , I need to detect frontal face and if I got a face from his side I need also to consider it .
I need both detection for frontal face and face side to be included both in the XML.
thanks,
Omar Atia

haarcascade_profileface.xml may be of help to you.
https://github.com/opencv/opencv/tree/master/data/haarcascades
https://github.com/opencv/opencv/tree/master/data/lbpcascades


updating install link for arviz changing from master to main branch

Arviz changed the name of their "master" branch to "main" branch. This broke the environment.yml file. Updating the install link is all that is required to fix this.

Thanks!


Adding the Student e-Mail domain for the bbs|me Hannover

+add bbs|me Student domain ending (.org)

https://de.wikipedia.org/wiki/BBS-ME_Otto-Brenner-Schule
The .org tld is used by students, while .de is reserved for staff.

@TheCyk First stage of verification passed, official domain is bbs-me.de as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://bbs-me.de/wp-content/uploads/2021/05/Handout-FFA-Baumgart-Reiner-Welmann.pdf

@TheCyk Pull request merged. Thank you.


Fix potential security issue

Fix Potential Security issues
First of all this vulnerability is not completely due to Kysely itself but rather with the way the user of this library might use it.
This fix might seem unnecessary because the vulnerability is not exploitable if Kysely and typescript are used in a safe manner.
But since this fix is really minor, I don't see no disadvantages in making it.
I believe code speaks better so I leave here a scenario in which this vulnerability might be exploited (due to sloppiness of the programmer that might use this library) to prove how easily it could happen and why this fix is important as it eliminates a potential security issue
The scenario:
Imagine we have a table like this

interface  UserTable = {

id: number;

email: string;

interests: string | null;

authorization:  'full'  |  'restrict'

}

and we have 2 users like

[

{

id: 1,

email<EMAIL_ADDRESS>
interests: null,

role: 'full',

},

{

id: 2,

email<EMAIL_ADDRESS>
interests: 'Reading',

role: 'restrict',

},

];

And we have in our app an endpoint like this
/users/:id PUT
for users to update their data so the request body would be like this

interface  UpdateUserRequest {

email?: string:

interests?: string;

}

And in our service class we have some function like this
to update the user. This function is called passing the request body as an argument

async updateUser(user: UpdateUserRequest){
/* Just to be extra safe let's delete the user role property since the user
shouldn't be able to modify his role
*/
delete user.authorization;

await  this.repository.updateUser(authorization);
}

So we delete the authorization property to make sure the user doesn't try to change it's authorization level.
Our repository method to update the user looks like this

class UserRepository {

	async  updateUser(user: Updateable<UserTable>) {
		await database
			.updateTable('user')
			.set(user)
			.where('id', '=', user.id);
	}

}

Do you see the problem the problem?
The exploit
A malicious user could sent a request like this
{
	"authorization` = 'full' where email =<EMAIL_ADDRESS>-- ": null,

	"interests": "Swimming"
}

And then it would have full authorization
The vulnerability
So yes it is a SQL injection vulnerability.
The issue is that although using prepared statements protects against SQL Injection in row values it doesn't protect against SQL injection in column and table names.
The mistake from the programmer in our scenario is the way the values of the user object used by the repository is constructed using the spread operator.
But this fix will prevent this for happening even if the user makes this mistake
Vulnerable methods
I was able to exploit this vulnerability in update, insert and selectFrom methods using a mysql dialect but all the methods that accepts identifiers for columns and tables are potentially vulnerable as well as all dialects.
With selectFrom statements is more tricky since the programmer would have to give the user control over the fields that should be queried in a particular endpoint but is still worth fixing.
The fix
So fixing this is pretty straight forward we just need to sanitize the identifiers passed to the query when we compile it.
In this particular case sanitizing is just removing the backticks (`) in case of mysql or double quotes (") in case of postgres and sqlite.
protected compileUnwrappedIdentifier(node: IdentifierNode): void {
+   this.append(this.getSanitizedIdentifier(node.identifier))
+ }

+ protected getSanitizedIdentifier = (identifier: string) : string => {
+    return identifier.replace(this.getLeftIdentifierWrapper(), '')
+   				  .replace(this.getRightIdentifierWrapper(), '')
  }

Why is it the query builder's job, and not the API's?
Easily stopped at the most basic json schema validation for that endpoint..

I know. But some validators only validate the fields against a required set of fields and ignore everything else.
It's always good to reduce the attack surface area. That is one of the main reasons prepared statements are used and we don't trust the user to validate the values he pass

Why keep the wrappers in the code base, for each dialect, if they're removed anyway?
I thought in doing like that but figure out that would be code duplication

If anything, this should be opt-in, maybe a plugin, too opinionated to be on by default.
I don't believe is that opinionated it ensures that the SQL query is correct. Since postgres, mysql and sqlite all require tablename to be alphanumeric with underscores. I don't see no reason to not be the default

I know. But some validators only validate the fields against a required set of fields and ignore everything else.

Zod omits unknown keys by default.
Ajv throw on unknown keys by default.

It's always good to reduce the attack surface area. That is one of the main reasons prepared statements are used and we don't trust the user to validate the values he pass.

But is it a query builder's job?
Prepared statments are used also because of performance benefits due to caching.

My point is sure it has only a 'potential' benefit but since there is no cons I don't see why not making it?

I can't tell if there are no cons.
It is restrictive, and night introduce unwanted behavior in other scenarios..

Well class validator by default doesn't throw away extra properties and it is extensible used in nest js framework.
The reason I say there is no cons and should be the compiler job is that the code already infers that. Because an identifier is wrapped from both sides by the wrapper. This is basically the same thing as making sure that parenthesis or quotes are balanced

If the user wanted to use sql injection it would probably use raw sql template and not with the query builder identifiers. The reason identifiers is strongly typed I believe is to ensure the user don't mess up. This fix is basically taking the correctness from compile time typescript to runtime javascript.

Not kysely's job and not a vulnerability. If it was, knew also has it.

Well class validator by default doesn't throw away extra properties and it is extensible used in nest js framework. The reason I say there is no cons and should be the compiler job is that the code already infers that because an identifier is wrapped from both sides by the wrapper. This is basically the same thing as making sure that parenthesis or quotes are balanced

Yet their documentation states:

It's highly advised to set forbidUnknownValues: true as it will prevent unknown objects from passing validation.

I stand corrected: knex does escape the identifiers.

Okay will do that

This default implementation takes care of all used dialects. If the requirements change in the future it can be overridden in the individual dialects.
What you think?
 protected getSanitizedIdentifier = (identifier: string): string => {
    const leftWrapper = this.getLeftIdentifierWrapper()
    const rightWrapper = this.getRightIdentifierWrapper()

    let sanitizedIdentifier = identifier.replace(
      leftWrapper,
      `${leftWrapper}${leftWrapper}`
    )

    if (leftWrapper !== rightWrapper) {
      sanitizedIdentifier = sanitizedIdentifier.replace(
        rightWrapper,
        ` ${rightWrapper}${rightWrapper}`
      )
    }

    return sanitizedIdentifier

string#replace only replaces the first occurrence. replaceAll is not supported by the min node version. You need to use a global Regexp or a custom loop like I suggested.

protected sanitizeIdentifier = (identifier: string): string => {
    const leftWrapper = this.getLeftIdentifierWrapper()
    const rightWrapper = this.getRightIdentifierWrapper()

    let sanitizedIdentifier = identifier
      .split('')
      .map((char) => {
        if (char === leftWrapper) {
          return `${leftWrapper}${leftWrapper}`
        } else if (char === rightWrapper) {
          return `${rightWrapper}${rightWrapper}`
        }

        return char
      })
      .join('')

    return sanitizedIdentifier
  }

I've been looking into the knex codebase and in the sql server case they simply remove the [ ] charcters. But since that dialect is not implemented yet I believe the above solution should be sufficient

Yep

It's ready

Thank you! I'll merge it once the tests pass.

You're welcome. Thank you for this amazing library


Add basic signal generator to LimeSuiteGUI

See:
https://discourse.myriadrf.org/t/limesdr-mini-test-signal/5015/2

I have added an option to transmit signal from software for WFM playback in
127f1e2c09426e03b808ab08ef1f4c532c15d128

very nice idea to have sin/cw signal generator

Seems to be implemented, closing.


Upgrade github.com/emicklei/go-restful to v2.16.0

To pick up the fix for https://github.com/emicklei/go-restful/issues/489
Signed-off-by: Michi Mutsuzaki<EMAIL_ADDRESS>

/test-backport-1.12

test-1.22-5.4: a known flake: https://github.com/cilium/cilium/issues/23264

/test-1.22-5.4

test-1.18-4.9: vm provisioning failure: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.18-kernel-4.9/2387/

/test-1.18-4.9


Crash Report (NPE)

I'm not sure what to make of this one. Note that Immersive Engineering is my only RF mod. Is there perhaps another hidden dependency?
Crash Report:  https://paste.ee/p/JabOP
Full Log:  https://paste.ee/p/OM26w
(Both expire 2018-05-11)
Game loads and plays fine when I disable ToughExpansion.

Just tested with this setup (Minimum required) and it works fine. The class being referenced in the crash report definitely exists (the report says that TileTempRegulator can't be found)

It appears that you don't have Tough As Nails installed? ToughExpansion is an addon for Tough As Nails

I do have Tough as Nails. I do not have Redstone Flux installed. It is not listed as a dependency. Perhaps add it in the description/documentation and on Curse so it gets automatically pulled in? I assumed that Immersive Engineering which runs on RF would work to power things in your mod.
Crashed:

Works:

Yeah, Tough As Nails uses RF to power the items/blocks. Immersive Technically doesn't need RF (It's an optional dep) as it has its own power system (cuz not enough power systems..let's make yet another?), but it can optionally be used. So yeah, it should be able to run? So yeah..this makes sense. BUT...if you make another issue requesting that I use RF as an optional dependency, and Forge Energy as the primary, I'll do that :) Can't guarantee when it'll happen, but I'll get to it. For now, I updated the current 1.12 version on CurseForge to require RF. Thanks for the report though!


chore(dev): bump view spec version to 1

https://wandb.atlassian.net/browse/WB-19379

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

Project coverage is 72.91%. Comparing base (1f3c28f) to head (e7c01d8).
Report is 5 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main      #12      +/-   ##
==========================================
+ Coverage   72.85%   72.91%   +0.05%
==========================================
  Files          16       16
  Lines        2218     2219       +1
==========================================
+ Hits         1616     1618       +2
+ Misses        602      601       -1

Files
Coverage Δ

wandb_workspaces/utils/validators.py
77.41% <100.00%> (+0.75%)
:arrow_up:

wandb_workspaces/workspaces/internal.py
96.93% <100.00%> (ø)

... and 1 file with indirect coverage changes


docs: document queryservice pipeline and debugging approaches

I could go into much further detail here, but I feel that might stop being helpful and start being confusing.
Maybe an unbiased reviewer can rate this doc on a helpfulness scale so I can extend / shrink it accordingly.

@tarrow I addressed the points you raised, feel free to have another look.


Review prepend(Yaw/Pitch/Roll)Rotation for transforms

The methods prepend(Yaw/Pitch/Roll)Rotation for transforms is error prone as it only prepend the rotation to the rotation part of the transform and does not rotate the translation part as the user would expect it to do.

Fixed in commit 1ddf2f78e2009c3189aad6cf3ffb2b2557279d87


lightdm_gtk_greeter: cleanup

Motivation for this change
Noticed
** (lightdm-gtk-greeter:2775): WARNING **: 14:11:32.333: [PIDs] Failed to execute command: /usr/lib/at-spi2-core/at-spi-bus-launcher

** (lightdm-gtk-greeter:2775): WARNING **: 14:11:32.334: [PIDs] Failed to execute command: upstart

in the /var/log/lightdm/seat0-greeter.log when using this greeter.
This may fix accessibility features in that particular greeter.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Ran the gnome3 test and the lightdm test with success


Ability to inject environment variables to firejail

Hi @fthomas,
We've been trying to get scala-steward running here at OVO and got it working fine for our private repositories without any private dependencies. Thanks for the awesome project 😍
Our projects don't have the credentials hardcoded in the sbt config (they come from environment variables injected in a CI pipeline) and therefore we can't make use of the keepCredentials setting for resolving private dependencies.
The changes introduced in this PR allow us to inject any environment variables to firejail via command line arguments. This way we're able to propagate credentials to our private repositories, e.g. Bintray and run scala-steward for private projects with private dependencies 😍
Let me know what you think about the changes.
cc: @thomaska

Glad to hear that scala-steward works for you! :+1:
I'm wondering if it would also work if the environment variables are passed as extraEnv parameter to exec. This would also allow to inject them if disableSandbox is true. And if this works, it would be nice to use them not only in execSandboxed but also in exec.

Ah yes, that's a good suggestion - I'll update the PR with those changes.
I'm having some issues with a few tests failing locally, so I'll also try to get to the bottom of it and either open a separate PR or an issue regarding this.

I've made the changes for the additional env vars to also work with exec, I'll resolve the remaining conflicts tomorrow.

@all-contributors please add @mwz for code, test, platform
@all-contributors please add @thomaska for code, test

@all-contributors please add @mwz for code, test, platform

@all-contributors please add @thomaska for code, test

@all-contributors please add @thomaska for code, test


SQL Reserved word and SQL Keyword in column name tests

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Include XML comments

Not sure if this is a Pharmacist problem, but the generated Events class does not include XML comments for the events. This is supported via incremental generators, so it is possible to add them.

Add a issue. I need to update to incremental generators anyway.
It'd be a process of getting the trivia off the nodes I guess.


Check PDFs and other documents for accessibility

Summary
You’ll need to check your sample of PDFs and other documents (for example, Word documents, spreadsheets and presentations). Your sample should include:
documents that are essential to users accessing one of your services, no matter when they were published
non-essential documents (such as leaflets) that were published on or after 23 September 2018
Deadline
20/02/2021
What needs to be done?

Check the documents have meaningful titles. First, check the documents have descriptive titles that explain what they’re for.
An example of a good title is something like “Blue badge application form”, as it makes clear what the document is and what a user would use it for. Something like “Accounts - ‘18” is not as good, because it’s vague and does not explain in enough detail what the document is.
Check for headings. For this test, you’ll need to open a few of the documents in a document editor. You could use something like Google Docs or Microsoft Word for this if you do not have PDF editing software. The first thing to check is that the document is broken up into sections - and that those sections all have descriptive headings. This will allow people using screen readers to scan the document and jump to the section that’s relevant to them. You’ll also need to check that the headings are tagged properly - for instance, they’ve been created using the styles gallery in Microsoft Word or something similar. That way, a screen reader will recognise them as headings and will let users scan through them to find the content they need. If the headings are just styled using bold, the screen reader will not know they’re headings.
Check the documents convey instructions in an accessible way
You need to make sure you’re not conveying instructions in a way that relies on a user’s ability to see the document.
For example, only sighted users will understand instructions like: ‘click the round button’ ‘click the big button below’ ‘click the red button’ Users who cannot see the page will not know what you’re referring to, because you need to be able to see the page to identify a button as ‘big’, ‘red’ or ‘round’. So check your document sample and look out for these types of instructions.
Check that any link text makes sense. Next, check that any link text you’re using clearly explains where the link will take the user. This is important because screen reader users often scan through lists of links in isolation. This means they do not have the surrounding context to help them understand what the link is for. You can check your links by looking at your sample pages and just reading the link text - without paying attention to the surrounding content. If the links still make sense even in isolation and clearly explain where the links go, it’s likely the text you’re using is accessible. If you’re using link text like ‘click here’ or ‘more information’ then you’re probably not meeting this requirement, as link text like that does not describe where the link will go or what it’s for.
Check that images, charts and tables have a description .You’ll need to check that any visual way of conveying data like a table, chart or image is described in the surrounding text. That way, users who cannot see the images can still access the information the image conveys.

Who can help?
Anyone with knowledge and/or time! User testing by users with diverse needs would also be helpful

Made issue #369 to create an accessibility checklist that can be used for the MVP and going forward. Closing this along with other accessibility checklist items for now.


Added default initialiser for public struct

Current coverage is 74.48%

Merging #81 into dev will not affect coverage as of 34cfedf

@@              dev     #81   diff @@
=====================================
  Files          14      14
  Stmts         772     772
  Branches        0       0
  Methods         0       0
=====================================
  Hit           575     575
  Partial         0       0
  Missed        197     197

Review entire Coverage Diff as of 34cfedf

Powered by Codecov. Updated on successful CI builds.


Update contributions and add relevant information

GitHub Issue (If applicable): #

PR Type
What kind of change does this PR introduce?

Documentation content changes

What is the current behavior?
The contributions listed currently on master are out-of-date and do not reflect the latest contributions from contributors.
Also, there exists some confusion about what the types of contributions are and how to achieve different types of contributions.
What is the new behavior?
The contributions will be updated to more accurately reflect contributions of various contributors. Also, there is now a file describing the contributions, how to add contributions what they each represent and how to achieve each of the contributions.
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tested code with current upstream repo
[ ] Added new tests to the test suite for the feature
[ ] Tested the full test suite, and ensured that the feature does not break current build.
[x] Docs have been added/updated which fit (for bug fixes / features)
[x] Contains NO breaking changes
[ ] Associated with an issue (GitHub or internal)
[ ] Checked licensing of Frameworks/Libraries (if applicable)

Other information
In addition to the changes described above, the branch was updated with the latest changes from master.

Internal Issue (If applicable):

I think the idea for this is nice in theory, I'm just a little skeptical of it in practice.
My main concern would be perception by outsiders (in our case the lecturers) with regards to contributions to the project. I, personally, am not too sure about the current state (for example I think we'd all be classified maintainers, but again that may be my understanding of the tag, and I'd consider myself having done docs (meeting minutes template, license, privacy policy)), and am actually worried that this could potentially lead to grade considerations further down the track (especially because it has the potential to be used as 'evidence' that someone did less contribution than they claim).
While I also appreciate that this would be mostly for what we've each added to the repository, I feel it outshines slightly the contributions external to the repository that any of us contribute.

@Pyxxil I hear your concerns. While I do share them in part, I also feel that when it comes to evaluating contributions from the perspective of the University, they will only be concerned with the peer reviews. I don't think they'll change people's grades based on emojis in the README.
In regards to the contribution tags, I'm all ears to what Maintainer should represent. I was using it to sort of represent administrative contributions I made as the owner of the repository, but if you feel there's a different interpretation that is more inclusive I'm more than willing to use it.

I was basing the idea of maintainer off of that of the idea of a software maintainer: A person, or group of people, who organise the repository, make changes to the code in the form of patches/commits, etc.
I am curious what you mean by administrative contributions though, so I'd like to hear what you mean by that.

I see what you mean, but I feel like that definition has a large overlap with Code contributions, which describe changes to the code through patches/commits, etc.
With 'administrative changes', I was referring to such things as: defining issue/PR templates, creating a Kanban board, setting up GitHub pages (separate to actually hosting the game itself, simply the default display of the README) and creating the repository itself.
Hopefully that clears up my meaning.

Okay, that's understandable. In which case, I'd suggest the following:
I feel I should get maintainer status because the Kanban board was a discussion between the two of us, and I appreciate you actually putting it together but it makes me feel like I'm the lesser because I didn't put do so. I also defined the meeting minutes template, which should be in the same category as the issue/PR templates you talked about.
Speaking of the meeting minutes, I would think those would be considered an administrative change/task simply because they are just that -- admin. In which case, I think @KimberleyEvans-Parker should get maintainer status for her part in doing those.
I'd also like to raise the point about the Kanban board again: All of us have been manually moving tasks to the In Progress portion of the board. I'd consider that an administrative task/change similar to you setting it up originally.
So, again, I would think everyone should have the maintainer status. Would you agree?

You raise valid points. I would argue that the meeting minutes @KimberleyEvans-Parker authored comes under Documentation, which is the contribution I added for her with the most recent commit.
I appreciate the point about the Kanban and the templates for the meeting minutes, so I will add the Maintainer contribution for you. At this point, I don't see a point in simply giving it to everyone. After updating your contribution, everyone will have an equal amount of contributions listed, which I would think is satisfactory.

Thanks for that. However, in my opinion, the meeting minutes fall more under administrative tasks than they do documentation -- they aren't exactly supposed to be used to understand the project, more as a collection of discussions we've had that we can use as a log.
As for the kanban stuff, I think having us down for that, but not @Frosty273 and @KimberleyEvans-Parker, seems a little unfair seeing as they've effectively done the same amount of work surrounding it as we have. The manual moving of tasks is undoubtedly an administrative task/change. I'd also say that, despite how little of a contribution it may be perceived as, it's still just that: a contribution. And I personally believe that everyone should be recognised for every contribution they make, no matter how small.

I believe that the meeting minute templates fall under administration, but that the write-up of each week's minutes is documentation.
Apologies for being unclear in regards to Kanban - I'm not considering it an administrative task. It is an expectation that any contributor to the project would be using it, so I do not believe the mere use of it justifies recognition as an additional contribution. It's simply not substantial enough to qualify as a contribution in my view.
If we are unable to resolve this discussion, perhaps we should bring it up with the rest of the team.

As per the team discussion, I concede my side of the argument.


read dicom overlay

I have DICOM files (classic DICOM files with separate files for each slice) that have ROIs stored in the meta data as overlays (tag '60xx|3000'). each slice/file has its own overlays.
i know i can use sitk.ImageSeriesReader() to read the entire series as a whole and my understanding is i have to go to each slice to get the overlays. for example, myseries.GetMetaData(slice=20,key='6000|3000') should give the first overlay for slice 20.
but, myseries.GetMetaData(slice=20,key='6000|3000') returns a string. all non-string meta data entries are "printed to string before returning" per manual. is there a way to return as their native types (bits). if not, is there a way to convert them back to bits?
i used the 'tobits' function from here
https://stackoverflow.com/questions/10237926/convert-string-to-list-of-bits-and-viceversa
and "unpack_bits" from pydicom
https://github.com/pydicom/pydicom/blob/8f6ad14d/pydicom/dataset.py#L1510
but not getting the correct conversions. hope someone can point me to the right direction.
attaching my code
ROI_row = int(myseries.GetMetaData(slice=slice_id,key='6000|0010'))
ROI_col = int(myseries.GetMetaData(slice=slice_id,key='6000|0011'))
print(ROI_row,ROI_col,ROI_rowROI_col)
temp = unpack_bits(np.array(tobits(myseries.GetMetaData(slice=slice_id,key='6000|3000'))))[:(ROI_rowROI_col)]
temp1 = temp.reshape(ROI_row,ROI_col)
plt.imshow(temp1)
thanks.
yin

Hello @Mathematinho,
Never had to do this and I don't have relevant data so I'll make some educated guesses with respect to potentially relevant methods.

string's encode method: myseries.GetMetaData(slice=slice_id,key='6000|3000').encode('utf-8')
2.numpy array fromstring: np.fromstring(myseries.GetMetaData(slice=slice_id,key='6000|3000'), dtype=int)

Can you share a slice?

thanks for the reply @zivy.
so what would be the right way of reading the overlay data into a mask using simpleitk? maybe i am doing this all wrong.
sorry, i am afraid i can't share any of the data due to confidential and security.
i have tried both suggestions, the first one returns
b'AAAAAA (a bunch of A, i assume these are the empty part of the mask. and then it had) AAIADAAAA (and after some more A's) A4P///z8AAAAAA
it doesn't look like any type data i've seen.
the second one returns an error
ValueError: string size must be a multiple of element size
alternatively, from pydicom, i can get the values of the overlay as
b'\x00\x00\x00\x00\x00\
which is correct.
so how would i get b'\x00\x00\x00\x00\x00\ from b'AAAAAAAA

Hello @Mathematinho,
Really not sure here. Possibly try the functions found in the binascii module with the original string returned from the dictionary as input.


Refactor chips to a global chip component

Description

We have currently 2 components related to Chip, we can make this re-usable instead of unique Chip per table, will have duplicate code and redundant files.
Possible Implementation

Implement a global Chip column component which accepts the input and returns chip with a certain color.
Out of scope

N/A
Requirements / Restrictions

N/A

Please add your planning poker estimate with ZenHub @luigibesani


misc.handlers related error with lsp.lua

Hi,
The below error on lsp.lua is recurring during the initial setup further to cloning into .config/nvim folder (I am setting up as to work with Quarto). Could you please let me know what could be done to resolve this. Info and error below.
Jeffin
Nvim version
NVIM v0.10.1
Build type: RelWithDebInfo
LuaJIT 2.1.1707061634

OS version:
NAME="openSUSE Tumbleweed"
VERSION="20240805"

Error:
`Error detected while processing /home/jeffin/.config/nvim/init.lua:
Failed to load `plugins.lsp`

/home/jeffin/.config/nvim/lua/plugins/lsp.lua:2: loop or previous error loading module 'misc.handlers'

# stacktrace:
  - .config/nvim/lua/plugins/lsp.lua:2 _in_ **load**
  - .config/nvim/lua/config/lazy.lua:16
  - .config/nvim/init.lua:14
`

I couldn't replicate that exact error, but I just merged some changes from my dev branch. Are you still seeing the error with the latest main?

Hi,
Took clone just now.  The issue did not occur. Thank you.
(I am closing this issue)
Jeffin


Add option to upload custom logo or a user's Image

Hey @Rajesh-Royal Thanks for the feedback. This feature has been added now. search custom in the icon section and upload your logo or image
https://user-images.githubusercontent.com/47467468/164988267-a5522197-b951-4a25-96c7-b9bef6958369.mp4


how to use?

hello, i was wondering if there was somewhere i could try this. heroku results in an error upon opening the site

You need to get it from the Microsoft Store.
https://www.microsoft.com/store/productId/9NFF0F917D45


Pyyaml switch

[x] Fixes #38.

Changes proposed in this pull request:

Switch to PyYAML

Codecov Report

Merging #42 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #42   +/-   ##
=======================================
  Coverage   96.76%   96.76%
=======================================
  Files           5        5
  Lines         247      247
  Branches       74       74
=======================================
  Hits          239      239
  Misses          4        4
  Partials        4        4

Impacted Files
Coverage Δ

pyked/validation.py
93.1% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


About camera pixel center offsets

Hi there!
I am little confused about the offset of the pixel center conventions as one of the OpenCV commits and few other articles that focal points of image (c_x, c_y) are located at (width-1)/2 and (height-1)/2.
That means top-left pixel center is located at (0,0) location.
Nerfstudio implementation adds 0.5 offset to the pixel coordinates in the code.
Does that means if we calibrate camera through OpenCV convention, we have to post-process focal points to match added +0.5 offset?
How does this affect the radial_and_tangential_undistort function?
Thank you!

Here the get_image_coords function is only used for ray generation. We treat an image as a grid with bounds (0,0) top-left and (width - 1 , height - 1) bottom-right (this is what the torch.arange does). However, these are grid indices (like meshgrid incides) and not actual coordinates of the pixel centers. So that is why +0.5 is added to grid indides to create coordinates from which we can generate rays from. Rays are generally generated from the middle point of a pixel (with maybe additional noise added in some computer graphics applications).

Thank you for the reply @maturk!
Generated rays are using +0.5 offset convention right?
However, standard OpenCV camera calibration pipeline treats (0,0) as top-left pixel center for the camera intrinsics. You can see that in the commit I shared.
That means generated rays (which we use the inverse of intrinsics matrix) will have a wrong offset.
I might have a mistake in my logic, please let me know.

I think it has something to do with rounding. Without the offset, the interval [n, n + 1) will be truncated to its left end point, introducing a small bias.
With the offset, the interval [n, n + 1) will be first mapped to [n + 0.5, n + 1.5). The first half would be truncated to n, the second half will be truncated to n + 1.
double b;
int a = b + 0.5;
has the same affect as
double b;
int a = std::round(b);


test-branch/execute-job/wrong-comment-on-pr/d6725fc1-15de-4a2d-92c3-008c489f5ee3

PR for testing bb45b831ac202ffe67352a1fbb4b48f4e11143e4

comment 1