Add linkedInteractives support, necessary hooks, and use them in ImageQuestion

LARA provides linkedInteractives in a separate array within initMessage. This PR adds two new hooks that let question interactives handle that in a bit easier way and provide authoring interface:

useLinkedInteractives
useLinkedInteractivesAuthoring

The second commit updates ImageQuestion just to provide an example.
It all might not be super obvious, but hopefully comments help. Also, hooks are more complicated than their usage (as usual). Looking at the image-question implementation, it seems it's pretty simple to link an interactive.
@scytacki, I haven't thought about adding a custom widget or field. It could be a nice option too. The only thing is that LARA expects all the linked interactives to be provided in one array. This makes widget implementation not so great, as it'd need to monitor other linked interactive widgets too, collect all the values, and generate one array before sending it to LARA. It'd make sense to provide a widget if we could set linked interactives independently, e.g. based on the label or something like that.
This PR depends on: https://github.com/concord-consortium/lara/pull/634

Thanks @kswenson. Thinking about it more, I think there's some serious design issue here:

On one hand, useLinkedInteractives hook will treat linkedInteractives array as a source of truth and overwrite authoredState properties. This is true at the interactive initialization time.
On the other hand, useLinkedInteractivesAuthoring hook will do the opposite - it'll treat authoredState as a source of truth and update linkedInteractives array based on it. This is true during authoring time.

Things work because of timing - 1. is executed just once at the beginning, 2. is executed usually later, only after the author makes some change to the authored state. But this doesn't seem to fit into the idea of functional programming (and good design generally). ;)
I think I'd be good rework it, so only 1. is true - linkedInteractives array is always a source of truth and it overwrites authoredState properties.
To do it, I think I'll need to implement a different approach - skip observing of authored state, and add a custom widget/field that updates linked interactives on change instead of authored state. Pretty much @scytacki's idea. But this would also require changes in LARA API and client. It should be possible to set just one linked interactive at the time (without providing the whole array to keep widget implementation sane) and linkedInteractives should be observable like authored or interactive state.
Or we could leave it as it is, continue with this implementation (as it works), get snapshots working, and get back to the refactoring later. The good thing is that it's mostly invisible hooks refactoring, Image Question (and possibly other interactives) shouldn't change too much (they have a minimal amount of code anyway). Any opinion @scytacki? I think I'd prefer to timebox this refactoring to 1 day and see how it goes. I'm just not sure how strict are deadlines for the snapshot feature.

I've refactored and fixed another issues here:

On the other hand, useLinkedInteractivesAuthoring hook will do the opposite - it'll treat authoredState as a source of truth and update linkedInteractives array based on it. This is true during authoring time.

I've added one more condition - it's necessary for authoredState to change between calls and be different than null. That will ensure that we don't overwrite linkedInteractives on initial render/mount and won't be racing against use-linked-interactives hook. Test are now updated to check it.
Not sure how clear it is for others, but I'd say I'm pretty confident about these hooks now and tests should cover the important (edge) cases.

Tests are passing once I've updated NPM package, so I'm merging in this PR.


[BEAM-3008] Extends API for BigtableIO Read and Write by adding withInstanceId  and withProjectId

Adds withInstanceId and withProjectId to the BigtableIO Read and Write classes, first out of four steps to fix [BEAM-3008] bug.
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

@chamikaramj This change looks good to me.  The Jenkins failure seems to be related to a completely different part of the Beam API.  What do we need to do to move this forward?

Thanks. LGTM.
I'll merge.


Revise UI

What I have done

Revision on UI
Add new button for new page
New Filter tabs
Favourite button

** Still need some work for filter input

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

I think nutritionlist is a bit too long can you fix that if possible.


scripts: get_maintainer.py RFC + provisional MAINTAINERS.yml

A script/library I've been working on with input from aescolar (who also
wrote most of the MAINTAINERS.yml file).
Please try it out and give feedback. There's a detailed --help text, and
the top of MAINTAINERS.yml explains the file format.
MAINTAINERS.yml needs to be fleshed out. To be done in future PRs after this one (skeleton) is merged
This probably won't be the final location of the script, but making a PR
against the Zephyr repo makes it easier to try out and update.
Some examples:

Identify the subsystem(s) for a path:
$ ./get_maintainer.py path arch/arc/Kconfig
ARC arch
        status: maintained
        maintainers: ruuddw
        collaborators: vonhust
        inform:
        labels: area: ARC
        description:

Kconfig
        status: maintained
        maintainers: ulfalizer
        collaborators:
        inform:
        labels: area: Kconfig

Identify the subsystem(s) for a commit range:
$ ./get_maintainer.py commits HEAD~5..
Flash
        status: maintained
        maintainers: nvlsianpu
        collaborators:
        inform:
        labels: area: Flash
        description:

Kconfig
        status: maintained
        maintainers: ulfalizer
        collaborators:
        inform:
        labels: area: Kconfig

List all files in a subsystem:
$ ./get_maintainer.py list "ARC arch"
arch/arc/CMakeLists.txt
arch/arc/Kconfig
arch/arc/core/CMakeLists.txt
arch/arc/core/arc_connect.c
arch/arc/core/arc_smp.c
arch/arc/core/cache.c
...

List all orphaned files (files not in any subsystem):
$ ./get_maintained.py orphaned
.checkpatch.conf
.clang-format
.codecov.yml
.editorconfig
.gitattributes
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/enhancement.md
...

Older versions of the script had flags instead of sub-commands, like
get_maintainer.pl, but it gets a bit messy with subcommand-specific
flags.

@nashif About fleshing out the MAINTAINERS file in this PR. I was actually thinking it would be faster to have the main area maintainers fill-in their areas' details. I'd expect quite a few of them be done quite fast after the release. And then step in to fill what is missing.
The reasoning is that it should be much faster for a maintainer to fill in who are the collaborators, and who are just people to be informed (while for us it will be difficult to guess from CODEOWNERS). Also adding file regexes should be trivial for maintainers, while we would probably be forgetting some files and so forth (so maintainers will anyhow need to go fix after).
It may also be that some area entries will need to be escalated to the TSC due to basic disagreements (about somebody claiming to be a maintainer but not being in the spreadsheet, etc)

@nashif About fleshing out the MAINTAINERS file in this PR. I was actually thinking it would be faster to have the main area maintainers fill-in their areas' details. I'd expect quite a few of them be done quite fast after the release. And then step in to fill what is missing.
The reasoning is that it should be much faster for a maintainer to fill in who are the collaborators, and who are just people to be informed (while for us it will be difficult to guess from CODEOWNERS). Also adding file regexes should be trivial for maintainers, while we would probably be forgetting some files and so forth (so maintainers will anyhow need to go fix after).
It may also be that some area entries will need to be escalated to the TSC due to basic disagreements (about somebody claiming to be a maintainer but not being in the spreadsheet, etc)

Agreed. I'd probably mess it up if I tried to fill it all in by myself, and I'd rather not have it dumped on me.
Most pragmatic solution would be to merge it I think, and then have the people who work in the different areas fill it in. Could always add a comment that explains that it's not used by CI and the like yet.

Updated get_maintainers.py to work when run in subdirectories too (with paths passed on the command-line interpreted as relative to the working dir). MAINTAINERS.py is now looked up in the repository toplevel by default, instead of in the current directory.

In the Lion TSC F2F is was discussed having a MAINTAINERS file in the zephyr root which would both allow contributors to know what files as part of what areas, who maintains them, and what is their maintenance status; And also that we should be able to automate some of our GitHub flow against it.
The idea was further refined and agreed in the process improvement forum afterwards.
The format of the MAINTAINERS file and how the process works around it is described at the beginning of the file itself.
And the file is parsed by this get_maintainers.py file.
@ruuddw @ioannisg @jhedberg @cvinayak @SebastianBoe
You are "TSC approved maintainers" of an area/subsystem as per this spreadsheet
I have pre-filled this MAINTAINERS.yml file with what is in that excel, the CODEOWNERS file, and my understanding of what files belong to what.
Would you be so kind as to check that the information in the entries for your areas/subsystems is correct, and propose any necessary fixes?
Thanks in advance :)

Hi @alexanderwachter @anangl @andrewboie @andyross @dbkinder @dcpleung @finikorg @galak @jakubuC @jukkar @MaureenHelm @mbolivar @mikescott @mnkp @nashif @nategraffsifive @nordickrch @nvlsianpu @pfalcon @rlubos @rveerama1 @tbursztyka @ulfalizer @Vudentz
In the Lion TSC F2F it was discussed having a MAINTAINERS file in the zephyr root which would both allow contributors to know what files as part of what areas, who maintains them, and what is their maintenance status; And also that we should be able to automate some of our GitHub flow against it.
The idea was further refined and agreed in the process improvement forum afterwards.
The format of the MAINTAINERS file and how the process works around it is described at the beginning of the file itself.
And the file is parsed by the get_maintainers.py script.
You are "TSC approved maintainers" of an area/subsystem as per this spreadsheet
I have pre-filled this MAINTAINERS.yml file with what is in that excel, the CODEOWNERS file, and my understanding of what files belong to what.
Would you be so kind as to check that the information in the entries for your areas/subsystems is correct, and propose any necessary fixes?
Thanks in advance :)

I'm separating the entries which need their own TSC approval (new areas and/or new maintainers compared with the spreadsheet) in their own commits so it should hopefully be easier to review by the TSC.

@aescolar, one point is not clear to me. Does this fully replace CODEOWNERS file and if not, how will they co-exist?

@aescolar, one point is not clear to me. Does this fully replace CODEOWNERS file and if not, how will they co-exist?

@erwango The hope is indeed to replace CODEOWNERS with this, but it takes several steps to get there:

This PR needs to be accepted and the TSC needs to approve the changes/additions of MAINTAINERS we have on it.
With the file in, we can add the automation. It would need to coexist with CODEOWNERS for a small while.
We need to fill in all the collaborators and inform entries (which is already happening, and will probably happen with a few subsequent PRs)
Whenever we have everything in, and everything seems to be working stably, we can do the switch.

@aescolar, one point is not clear to me. Does this fully replace CODEOWNERS file and if not, how will they co-exist?

@erwango The hope is indeed to replace CODEOWNERS with this, but it takes several steps to get there:

I appreciate the work done on this and very active feedback, but I agree with @erwango that the baseline situation isn't very clear (even to someone who was at the TSC F2F 2019-11, where this matter was discussed). So, perhaps it would be helpful to add to the description summary of what's wrong with CODEOWNERS file and why we need MAINTAINERS file (or short summary and a link to detailed description/discussion). The biggest question for me is whether this comes (will soon come) with specific document which describes responsibilities, rights of maintainers and description of various processes (e.g. conflict resolution, escalation, expected process timeframes, etc.). Thanks.

orphaned, list, and anything else that needs to match a ton of paths are now 6x faster with help from some regex hackery.

superseded with #24152


Add onDoublePress callback

Does any other open PR do the same thing?
Adds onDoublePress callback to Google Maps on Android and Apple Maps on iOS. Previous related work in #2692 and #2935. Created this PR as an alternative to #2692 with the reasoning that

the API is more explicit; adds a new onDoublePress callback instead of mixing multiple gestures to be handled by a single callback.
the PR only does a single thing rather than multiple changes at once
the previous PR has stalled

What issue is this PR fixing?
Adds onDoublePress callback to Google Maps on Android and Apple Maps on iOS.
This can be used for multiple things, but primarily, to know when the user has interacted with the map by double tapping the screen.
How did you test this PR?
Tested with emulator on Android and simulator on iOS.

Add onPress and onDoublePress callback handlers to the map
Observe that tapping once fires only onPress once, and tapping twice fires only onDoublePress once.

I did not include changes for Google Maps on iOS since this does not match our use case. Let me know if it's a requirement to get it merged.

Any way to get this reviewed @rborn ?

Since you're on a roll @christopherdro, could you please have a look at this as well?

@nabati could you please fix the conflicts? Thnx

Fixed 👌 @rborn

Thanks @christopherdro !


Device filter substring matching not working

Software information
Name of the game, settings used etc.
System information

GPU: Radeon Vega 8/Radeon RX 560X
Driver:  Mesa AMDGPU 18.1.0
Wine version: 4.3
DXVK version: 1.0

It seems that substring matching for the device filter setting does not work. Testing with both Metal Gear Solid V: The Phantom Pain and Sleeping Dogs: Definitive Edition, using DXVK_FILTER_DEVICE_NAME="POLARIS11" causes DXVK to fail finding the dGPU:
warn:  DXVK: No adapters found. Please check your device filter settings and Vulkan setup.

Using the dGPU's full device name with DXVK_FILTER_DEVICE_NAME="AMD RADV POLARIS11 (LLVM 7.0.0)", DXVK successfully finds it and uses it.
While this is not yet working, perhaps the README should be updated to reflect this? I've already made the necessary changes here:
https://github.com/win8linux/dxvk/commit/afe9dbceade57622d27cfb00aa5991bae000a3b3
Should I make a PR request for this?
EDIT: Oops, made a mistake with one of the env variables.

Should I make a PR request for this?

 You can however submit a PR to fix the bug.
That said, I cannot reproduce this, the device filter works fine for me. Please make sure that you actually use DXVK 1.0 and not an older version.

Here's the code:
      if (std::string(deviceProps.deviceName).find(m_matchDeviceName) == std::string::npos)
        return false;

That's not even subject to system locale or character encoding issues.

Oops, I made a mistake there. Changed it to reflect the actual env variable.

Also, I'm certain that DXVK 1.0 is used since that's the version selected in the Lutris runner config:

Anyway, can you please attach log files?
On my system this clearly works, and since this is a standard library function there's basically no way it wouldn't work for you.

dxgi.log
The d3d11.log file was empty.

Can you also post the log without that env var set?

I too cannot replicate this.
Substring matching works fine here and I cannot see a reason in the code for the issues you are having.


Is ODBC driver managing ClickHouse Session ID?

When I use ClickHouse through ODBC driver, from Tableau BI tool, no Session ID is transmitted to ClickHouse HTTP service. So Tableau cannot use temporary table (temporary table usage needs to use a session ID).
Is ClickHouse session ID managed by ODBC driver?

I have simular problem. I propose to solve it differently: https://github.com/yandex/ClickHouse/issues/3842

Closed by #398


Unhanded exception

Hello,
any idea about the cause of this error:
PS C:> .\DefenderCheck.exe C:\Temp\mimikatz.exe
Target file size: 1234696 bytes
Analyzing...
[!] Identified end of bad bytes at offset 0x2 in the original file
Unhandled Exception: System.ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
at System.Buffer.BlockCopy(Array src, Int32 srcOffset, Array dst, Int32 dstOffset, Int32 count)
at DefenderCheck.Program.HalfSplitter(Byte[] originalarray, Int32 lastgood)
at DefenderCheck.Program.Main(String[] args)

Try adding C:\Temp as and exemption in Defender.

Having a similar issue:

I tried adding C:\Temp as an exception but am still getting the above error. Thanks!

how did you even manage to get the .exe file cause I can't find it personally?

You have to compile it using Visual Basic or MSBuild. Easier than it sounds, just import the SLN file to VB and click build and you’ll get an EXE.

You have to compile it using Visual Basic or MSBuild. Easier than it sounds, just import the SLN file to VB and click build and you’ll get an EXE.

Visual Studio not Visual Basic

You have to compile it using Visual Basic or MSBuild. Easier than it sounds, just import the SLN file to VB and click build and you’ll get an EXE.

Visual Studio not Visual Basic

Hello,
any idea about the cause of this error:
PS C:> .\DefenderCheck.exe C:\Temp\mimikatz.exe
Target file size: 1234696 bytes
Analyzing...
[!] Identified end of bad bytes at offset 0x2 in the original file
Unhandled Exception: System.ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
at System.Buffer.BlockCopy(Array src, Int32 srcOffset, Array dst, Int32 dstOffset, Int32 count)
at DefenderCheck.Program.HalfSplitter(Byte[] originalarray, Int32 lastgood)
at DefenderCheck.Program.Main(String[] args)

Note: Defender must be enabled on your system, but the realtime protection and automatic sample submission features should be disabled.
Exit any other AV

for Compiling
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe "Project Path/DefenderCheck.csproj"

Seems like this issue has moved from an issue with Defender to issues with compiling DefenderCheck. I'm going to close this issue as @m00dy- has not responded.


Update SITES.md

Implemented in two of my projects.
Thank you for the great tool!

Thanks for the PR! We've simplified the process of adding your site/repo to the list. Instead of updating SITES.md you would add the utterances topic to your repo.


Add tests for OnTimeoutPacket when middle chain times out packet

Add tests for OnTimeoutPacket when:

Capability is not found.
A middle chain times out the packet.

This has been completed?


Jupyter Tests failing due to an issue with Cell Tags extension

[22:36:02] Using gulpfile ~/work/vscode-jupyter/vscode-jupyter/gulpfile.js
[22:36:02] Starting 'verifyUnhandledErrors'...
Unhandled Promise Rejection with the message TypeError: Cannot read properties of undefined (reading 'apiCell'), TypeError, Cannot read properties of undefined (reading 'apiCell'), TypeError: Cannot read properties of undefined (reading 'apiCell')
    at Object.cellAt (/home/runner/work/vscode-jupyter/vscode-jupyter/.vscode-test/vscode-linux-x64-insiders/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:90:36746)
    at TagTreeDataProvider.<anonymous> (/tmp/vscode_jupyter_exts/ms-toolsai.vscode-jupyter-cell-tags-0.1.5/src/cellTagsTreeDataProvider.ts:56:38)
    at Generator.next (<anonymous>)
    at /tmp/vscode_jupyter_exts/ms-toolsai.vscode-jupyter-cell-tags-0.1.5/out/extension-node.js:1214:71
    at new Promise (<anonymous>)

https://github.com/microsoft/vscode-jupyter/actions/runs/3193048984/jobs/5211208430
Probably needs to be moved to corresponding repo, but filed here as this blocks the Jupyter tests.
Upto you @rebornix

It should be gone now as we updated the version to 0.1.6. It's a bit weird that we are also validating whether there are exceptions thrown by all extensions.


Netfox doesn't seem to work with RigidBody2D or WebRTC

I'm developing a multiplayer game, I'm using WebRTC to connect peers and have one peer with the id 1, even when the peer is alone I can't move its RigidBody2D, I followed all the tutorial in netfox documentation.
online_player.gd
extends PlayerNode

@export var input: PlayerInput

@onready var rollback_synchronizer = $RollbackSynchronizer

# CAUTION
# Please, don't make your changes to the player node here,
# only do such if you understand what you're doing.
# prefer to modify "player.gd" instead.
# CAUTION

func shoot_ball(_play_audio):
	if is_multiplayer_authority():
		if $MultiplayerSynchronizer.get_multiplayer_authority() != multiplayer.get_unique_id():
			rpc_id(name.to_int(), '_kick_debounce')
		super(false)
	KickAudio.play()

func _ready():
	super()
	var player_id = name.to_int()
	await get_tree().process_frame

	set_multiplayer_authority(1)
	input.set_multiplayer_authority(player_id)
	rollback_synchronizer.process_settings()

	# TODO Stop relying on the node name, create a variable.
	if player_id != OnlineManager.id:
		$Camera.queue_free()
		$PlayerContact.queue_free()

func _physics_process(_delta):
	pass

func _rollback_tick(delta, _tick, _is_fresh):
	move(delta)

func _process(_delta):

	if $MultiplayerSynchronizer.get_multiplayer_authority() == multiplayer.get_unique_id():
		if Input.is_action_pressed('kick') and kick_button_released:
			kicking = true
		else:
			kicking = false
			if !Input.is_action_pressed('kick'):
				kick_button_released = true

	if kicking and skill_in_use == '':
		player_border.texture = border_spritesheet['active']
		if ball_node and !kick_debounce:
			shoot_ball(true)
	elif skill_in_use != '':
		player_border.texture = border_spritesheet[skill_in_use]
	else:
		player_border.texture = border_spritesheet['normal']

func move(delta: float) -> void:

	if input.movement != Vector2.ZERO:
		var velocity = input.movement.normalized() * move_speed * delta
		prints('|', velocity, '|', is_multiplayer_authority())
		apply_central_impulse(velocity)
	else:
		var opposite_force = -linear_velocity * deceleration_factor * delta
		apply_central_impulse(opposite_force)

	# CAUTION! this is very simplistic implementation of an skill, this is intended to change drastically.
	if Input.is_action_pressed('skill_1') and (Time.get_ticks_msec() - last_skill_time) > skill_cooldown * 1000:
		skill_in_use = 'dash'
		apply_central_impulse(Vector2(input.movement.normalized()) * dash_power * delta)
		last_skill_time = Time.get_ticks_msec()
		await get_tree().create_timer(0.45).timeout
		skill_in_use = ''

@rpc("authority")
func _kick_debounce():
	kick_button_released = false
	kick_debounce = true
	kicking = false
	await get_tree().create_timer(0.1).timeout
	kick_debounce = false

player_input.gd
extends BaseNetInput
class_name PlayerInput

var movement: Vector2 = Vector2.ZERO

func _gather():
	if not is_multiplayer_authority():
		return
	movement = Vector2(
		Input.get_action_strength("move_right") - Input.get_action_strength("move_left"),
		Input.get_action_strength("move_down") - Input.get_action_strength("move_up")
	)

Demo video (character won't move and peer id is 1):
simplescreenrecorder-2024-02-05_21.16.11.webm

I used :global_transform.origin instead of :global_transform
Yeah, dumb mistake, my fault.


Fix integration tests.

Description
Fixes integration tests.

Let me merge this now to unblock other PRs.


tensors_flowing.gif

who knows how to make this gif? https://www.tensorflow.org/images/tensors_flowing.gif

@colah did you make this one?

From previous discussions, I believe this was manually created with After Effects, so there isn't an easy way to do something similar without using motion graphics tools.

I've made great animations using Keynote. This one would actually be pretty easy, just tedious.

Or D3 with an SVG/JS ninja  :smile: http://bl.ocks.org/nitaku/6354551

http://bl.ocks.org/mbostock/5649592

/cc @mbostock What D3 Dan do you think it is required to produce this animation?

Closing, since this is a question not an issue.

Is it possible to train GIF and TIFF images in tensor-flow image classification?


CPP-242 - Added string functions for the CassInet type

+1 on changes

Final commit: 39aa618b2a34842e02af8ca3510ae9ab427708f3


How to decide when to low down the learning rate in an automatic way

Hi zehao,
Excellent work! I have a question. I train the model and run with 100000 iteration without lowering down the learning rate.  Do we have an automatic way to decide when to  lower down the learning rate? Thank you!
Besides, the original paper states, 'Input patch size is now equal to the size of the receptive field and images are divided into sub-images with no overlap.' In the code, it seems the overlap existed with a stride of 14, when sub image is 41.  Is there any influences?
Thank you!

Hi llyydd01,
In order to lower down the learning rate automaticly, you should write code in caffe's solver. When the test loss isn't decrease after 5 or 10 epoches, lower down the learning rate.
I have no experience about this in caffe, you can ask this question in https://github.com/BVLC/caffe/issues.  And it's easy to implement it in torch, such as in waifu2x. Just write some codes, and you can implement it.

Thank you!  It's so kind of you to give me quick reply~Thank you!


Support edX as OAuth provider

From @papajohn Data8 online uses EdX and not all students may have a Google account. Allow support for choosing either EdX or Google as the authentication provider with OK.

If you want to provide grades back to EdX, that requires that the user use EdX to login, right?

It looks like the external grader service is something that is invoked by the student on code/answer submission inside the EdX platform so they would need an EdX account to do that, yes. There isn't an API to update students' grades on the EdX platform that I know of.

I don't think it's necessary to use edX's gradebook for individual
assignments — students can just check their progress on OK.
We will eventually need to indicate who passed the course and who did not
within the edX system somehow, and for that we will need to track edX IDs.
-John
On Thu, Dec 7, 2017 at 11:48 PM, Colin Schoen<EMAIL_ADDRESS>wrote:

It looks like the external grader service is something that is invoked by
the student on code/answer submission inside the EdX platform so they would
need an EdX account to do that, yes. There isn't an API to update students'
grades on the EdX platform that I know of.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Cal-CS-61A-Staff/ok/issues/1207#issuecomment-350196789,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATikXfpewDlxhJgtK3rgrRY_gVL4Jjsks5s-OnrgaJpZM4Q6dbz
.


[#49] Add uSubscription Requests to Streamer

Add fetch notifications request that uses a wildcard uUri to register for notifications for all topics.

Implements [#36]

Reminder to self that I'm waiting on feedback from @stevenhartley.
Posting here as well, maybe it'll get answered here (which is better I suppose so all can learn :slightly_smiling_face:)

So I wanted to make sure I got this, because I think I didn't before.
Would a uE that wants to subscribe, based on this uP-L2 API in up-rust:
https://github.com/eclipse-uprotocol/up-rust/blob/8fc85aeb8143be06b46c2925834b063249c5fd23/src/communication/default_pubsub.rs#L291
actually pass in a client object that uses the same USubscription trait:
https://github.com/eclipse-uprotocol/up-rust/blob/8fc85aeb8143be06b46c2925834b063249c5fd23/src/core/usubscription.rs#L163
as was used in the uSubscription library Daniel wrote, but tailored to actually send the various .proto objects such as NotificationsRequest:
https://github.com/eclipse-uprotocol/up-spec/blob/da5ca97d3a7541d2fcd52ed010bc3bcca92e46cb/up-core-api/uprotocol/core/usubscription/v3/usubscription.proto#L280-L291
to the uSubscription service, over the host transport?

@PLeVasseur best example for the USubscription client side library (API) they would call https://github.com/eclipse-uprotocol/up-java/blob/main/src/main/java/org/eclipse/uprotocol/client/usubscription/v3/USubscriptionClient.java that is implemented in https://github.com/eclipse-uprotocol/up-java/blob/main/src/main/java/org/eclipse/uprotocol/client/usubscription/v3/InMemoryUSubscriptionClient.java. the client side library sends the command to the USubscription service, registers a listener (to receive published events) and registers a SubscriptionChangeHandler that can process for the client the subscription state changes. The implementation sits on top of L2 APIs of RpcClient and Notifier.

Huh, I really have been buried under implementation work. Missed that @sophokles73 implemented the USubscription client over in up-rust.
That appears to do all the same sorts of things you've just described.
So then if I understand this correctly, then broadly speaking we should expect we'll get handed a USubscription trait implementation in order to interact through to the uSubscription service within the uStreamer, right?

Huh, I really have been buried under implementation work. Missed that @sophokles73 implemented the USubscription client over in up-rust.
That appears to do all the same sorts of things you've just described.
So then if I understand this correctly, then broadly speaking we should expect we'll get handed a USubscription trait implementation in order to interact through to the uSubscription service within the uStreamer, right?

Heyyo @stevenhartley -- I know we had a large gap in comms on this, but could you answer this question?

Thanks @sophokles73 for the quick answer :+1:
Seems like we'll need to go that route rather than what's in this PR. Going to close this one.
Thanks for the contribution though @matthewd0123 :)


DataSets is hard to use with Distributed.jl

A long distributed job is likely to want to open a dataset on each node and keep it open for the whole computation.
The use pattern in Distributed seems to be many RPCs driven by the main node, with the main node kicking off further computation as required, and with Distributed itself owning the event loop which drives the communication.
However, DataSets package mostly supports the scoped form
open(T, dataset("name") do data
    work(data)
end

The idea was that this would wrap around the program at a high level, but this seems largely inconsistent with the fact that one needs to exit the scope to return results to the Distributed event loop. #12 should help with this, by making unscoped open() more reliable and providing another way to manage resources.
A separate usability problem is that it's impossible to serialize handles like Blob or BlobTree when they rely on the availability of local resources such as disk caches which are only available on the main node. One is then forced into less natural use patterns such as sending paths between the nodes.

To quickly document the current workaround to #8... it's not pretty:
ds = dataset("some_name")
ch = Channel()
@async try
    open(BlobTree, ds) do t
        put!(ch, t)
        take!(ch)
    end
catch exc
    @error "Error opening dataset" exception=(exc,catch_backtrace())
    close(ch)
end
tree = take!(ch)

This is mostly solved by #12, I've opened #24 to track the remaining parts.


Usage for RGB images

Hi,
Can you tell me how to edit your code so that I can Train RGB(3 channel ) images with it too.
Thank you!

You can change the channel_in into 3


Minor typo fix in Web API v3 Mail parameters

Fixes
Changes 'but' to 'by' in Open Tracking explanation
Checklist

[x] I have made a material change to the repo (functionality, testing, spelling, grammar)
[x] I have read the [Contribution Guide] and my PR follows them.
[x] I updated my branch with the master branch.
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation about the functionality in the appropriate .md file
[ ] I have added in line documentation to the code I modified

 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.

Hello @ry167,Thanks again for the PR! We want to show our appreciation by sending                                              you some swag. Could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX

No worries! Thanks a lot!


Multiple column-related improvements to tables in the UI

Support different ascending/descending sortings at the first click of a
column. Before, the first click always translated to ascending order, minor a
couple of exceptions that would then result in the indicator being reversed.
Support having a default column a table is sorted by. This was already done
for a few relevant views but the way it was done would cause the wrong header
to initially show the sorting indicator.
Make headers for the callstack view not have the sorting indicator, as
sorting the frames of a callstack is already not supported.
Rename some files to match their class.
Rename some columns from "selected" to "hooked" for consistency.
Minor fixes.

A bigger change than I had planned but an excuse to play around with and understand UI code.

Cool! Thanks for this Davide. Now that I look at the code again after quite some time, I think we should get rid of all those static variables that need to be in sync with one another and replace centralize the information in a nice struct... anyhow, that will be for another day :-).

Agree on the static variables, but it would have really been too much for this change!


Update bootstrap script to run Django migrations

This task is dependent on a Django app having been created and containing migration scripts (as part of #6),
and on having a script to update (issue #7).

Looking at the current version of the website in PR #16, we don't have any data for migrations yet. Should I still add
"...python manage.py migrate" to the script? If not, this issue can be closed.


Update aws-java-sdk-core to 1.12.608

About this PR
📦 Updates com.amazonaws:aws-java-sdk-core from 1.12.459 to 1.12.608
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #676.


Ensure indexing of reference genome works on Terra

The current workaround for indexing a reference genome is kind of gross, becaue it involves copying and renaming files. Doing this on GCS could be a mess. We already know symlinks can break on GCS, so this is worth testing.
Why might this block BioData Catalyst silver compliance?
A silver workflow should be tested to work on a compute platform. As a WDL, that platform is Terra.

Successful run on Terra this morning, but needed to allocate extra disk space. Disk space formula should probably be adjusted. But we can consider this issue closed.


Warning: failed to stat (file)

In emacs, whenever I modify a file, the console floods with messages like: Warning: failed to stat src/html/.#index.html. What is the best way to ignore these files so it doesn't flood?

+1 to the idea of an ignore file.  How is this still an issue more than a year after the issue was opened and a viable solution was proposed?  Ember is one of many software platforms I use, and Emacs works flawlessly with all the others.  I'm not about to switch development editors just because Broccoli isn't playing nice.

Is there any update on the .brocignore file? @joliss

Interestingly, I am not able to reproduce this problem any longer.

create broken symlink in the input of a broccoli pipeline consumed by new Funnel
let broccoli rebuild
all is well, no warnings etc.

It is possible we absorb this issue in one of the various libraries that actually do  the file reading..

It is possible my concise reproduction was no sufficient, if so. Please provide another and I will gladly reopen.

I'm still getting an issue that seems to be this...
ember-cli: 3.0.2
node: 8.1.3
os: linux x64
ENOENT: no such file or directory, unlink `'/whatever/whatever/whatever/tmp/funnel-output_path-i8WfoqFw.tmp/templates/.#application.hbs'`

Stack Trace and Error Report: /tmp/error.dump.4d26fb32070fdda70dce992ff512d001.log


Customizations

Code for simpler customizations seems to be done, we need to discuss:

how to do customization of "initial stages" (grub stage for kernel args customizations, dnf/rpm stage for additional packages)
how to do testing - we have n output types and m customizations, together n*m options. That's too much. Also, we need some kind of framework, current test solution would be too much messy for testing customizations imo.

@teg I've removed the integration part for now. Also, I've refactored the methods a bit. It makes a tiny bit more sense to me now, but I can revert the changes if you prefered the previous style.


[Feature] Show a warning when you set the DataContext from code

Discussed in https://github.com/AvaloniaUI/Avalonia/discussions/13383

Originally posted by FraserElectronics October 25, 2023
I am struggling with a strange problem. I have created what amounts to a single page application with Avalonia.
I have an About box that shares the same screen space as my main view controls but use the Z-Index to keep it behind the main view. I have the Z-Index of both the main view and About box view bound to properties on the main window view model.
The main view pseudo code:
	<Grid RowDefinitions="Auto">
		<Grid Grid.Row="0" ZIndex="{Binding MainViewZIndex}">
			<!-- All my main view controls here -->
		</Grid>
		<views:AboutView Grid.Row="0" ZIndex="{Binding AboutViewZIndex}"/>
	</Grid>

The AboutView is simply a user control.
During initial testing it worked great until I then bound a ViewModel to my AboutView user control.
So in my AboutView code-behind I have:
public partial class AboutView : UserControl
{
    public AboutView()
    {
        this.DataContext = new AboutViewViewModel();
        InitializeComponent();
    }
}

As soon as I run this and before anything is rendered, I get the exception:
Unable to cast object of type 'MyApp.Views.AboutView' to type 'MyApp.ViewModels.IMainWindowViewModel'.

If I remove the this.DataContext = .... from the AboutView, the application runs fine !
Anybody give me a clue as to what I am doing wrong?
Andy

Describe the solution you'd like
Added the ability at analyzer to check whether a DataContext assignment is present in the code;

@workgroupengineering I don't see what the analyzer should do here? I mean it is a totally valid scenario to set / change DataContext from code. What happened here is, that x:DataType was not correct for the given DataContext.

@workgroupengineering I don't see what the analyzer should do here? I mean it is a totally valid scenario to set / change DataContext from code. What happened here is, that x:DataType was not correct for the given DataContext.

The analyzer should display a warning that there may be expected unexpected, because the DataContext can be inherited from a parent element or set from Xaml.

What happened here is, that x:DataType was not correct for the given DataContext.

Wouldn't that be a check that the analyzer could do?

The only known case where the DataContext really shouldn't be set is in a templated control. And only this.DataContext should be avoided as it's valid to set child control's DataContext in that case as well.
In all other cases I can think of I've seen valid reasons to set the DataContext. It is a bit of a gotcha if you don't know what you are doing but I don't really know how an analyzer would be useful here. It would raise more false alarms than anything.

Yep, I don't see how we could relyably add an analyzer here. It's a perfectly valid code.
A check for matching of x:DataType and knownWindow.DataContext is possible though.

Yep, I don't see how we could relyably add an analyzer here. It's a perfectly valid code.

Did you see the linked discussion? When the developer is Avalonia and new or not from WPF, he may not know that a control can inherit the DataContex from its parent causing unwanted behavior.
The analizer should warn you if you use the this.DataContext or DataContex expression in the constructor.


[BEAM-473] Fix stats querying for DatastoreIO

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @dhalperi
(Just updating dashboard -- let me know when this is ready for another look.)

Sure.


[Hub Generated] Publish private branch 'release-graphservicesprod-Microsoft.GraphServices-2022-09-22-preview'

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
ARM API Information (Control Plane)
Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo.  If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.

The PR is created based on the updates in the private branch. The updates in the PR has already been reviewed and approved with this PR Azure/azure-rest-api-specs-pr/8908

/azp run

/azp run

@jianyexi I see the error "API Readiness check failed. Please make sure your service is deployed. | InvalidResourceNamespace. The resource namespace 'Microsoft.GraphServices' is invalid."
The RP is under a feature flag at the moment until our final rollout finished to enter our public preview. Is this something we need to wait for to progress in here?

typo - plan?

Refers to: specification/graphservicesprod/resource-manager/Microsoft.GraphServices/preview/2022-09-22-preview/graphservicesprod.json:470 in e722196. [](commit_id = e72219677bbb0601f12f3321b5cd91ad507d5adb, deletion_comment = False)

can v3 or later version of common type be used here?

Refers to: specification/graphservicesprod/resource-manager/Microsoft.GraphServices/preview/2022-09-22-preview/graphservicesprod.json:470 in e722196. [](commit_id = e72219677bbb0601f12f3321b5cd91ad507d5adb, deletion_comment = False)

Hi @jianyexi, we're getting 2 errors in the pipeline. One at the SDK azure-sdk-for-js step that fails with the message "Create APiView failed. Please ask PR assignee for help" and the othe error in the SwaggerAPIView step. For context in case it helps, our resource type "accounts" is public and we only have Canary behind a feature flag.
Could you help us with this?

@jianyexi can you provide any guidance on how to resolve the 2 issues that @amatukmolina shared above? We need to to get this PR merged so that we can proceed with the SDK generation and testing.
Thank you


Add tvOS and watchOS support

Tested with the following targets:

iOS simulator
iOS generic device
tvOS simulator
tvOS generic device

This looks pretty good - thanks for the contribution. I've dropped a couple of pieces of feedback on the patch, and I still need to take it for a spin to confirm the bitcode inclusions don't break anything on the iOS side.

i've tried this yesterday and while make all-iOS works (haven't tested the built framework yet, though), make all-tvOS fails after a short bit. This is the output:
# Unpack sources
mkdir -p build/tvOS/openssl-1.0.2d-appletvsimulator.x86_64
tar zxf downloads/openssl-1.0.2d.tgz --strip-components 1 -C build/tvOS/openssl-1.0.2d-appletvsimulator.x86_64
# Patch apps/speed.c to not use fork() since it's not available on tvOS
sed -ie 's/define HAVE_FORK 1/define HAVE_FORK 0/' build/tvOS/openssl-1.0.2d-appletvsimulator.x86_64/apps/speed.c
# Patch Configure to build for tvOS or watchOS, not iOS
LANG=C sed -ie 's/-D_REENTRANT:iOS/-D_REENTRANT:tvOS/' build/tvOS/openssl-1.0.2d-appletvsimulator.x86_64/Configure
sed: RE error: illegal byte sequence
make: *** [build/tvOS/openssl-1.0.2d-appletvsimulator.x86_64/Makefile] Error 1

Ahti, please check the latest fix to use LC_ALL instead of LANG.

Building for tvOS now worked :+1:. Again, I have not tested the built framework yet.

Apologies for the delay - I'll make a couple of minor tweaks after merging, but this is great stuff, especially the Makefile re-organization.


photo:getRawMetadata("orientation") fallback for LR 5

musselwhizzle 14 hours ago • edited Owner
This method isn't available in LR 5. what are we going to do about LR 5 users? Just make the plugin work on LR 6 (current) and above?
Would be nice to check for the version and fall back to the metadata orientation at least so we can still support LR 5.
@rderimay  9 hours ago Contributor
Mh. I think in case getRawMetadata("orientation") returns NIL, we could simply default back to the old method of checking using the exifs.
I'll make an issue for that, please assign it to me and I'll take care of it

This should be already solved in the current master after the last merge:
function DefaultPointRenderer.getUserRotationAndMirroring(photo)
  local userRotation = photo:getRawMetadata("orientation")
  if userRotation == nil then
    logWarn("DefaultPointRenderer", "userRotation = nil, which is unexpected starting with LR6")
    return 0, 0
  elseif userRotation == "AB" then
    return 0, 0
  elseif userRotation == "BC" then
    return -90, 0

where's the fallback?

Sorry, should be the case in PR #86


Segmentation fault for

Following code will cause Segmentation fault for =..:
:- initialization(main).

main :-
        L = [a],
        T =.. [foo| L],
        write(T), nl,
        halt.

Backtrace:
Core was generated by `tpl prolog/foo.pro'.
Program terminated with signal SIGSEGV, Segmentation fault.
b#0  0x000055857ecceb10 in term_next (n=0x6f6f66) at src/bifs.h:487
487     inline static node *term_next(node *n) { return NLIST_NEXT(n); }
(gdb) bt
#0  0x000055857ecceb10 in term_next (n=0x6f6f66) at src/bifs.h:487
#1  0x000055857eccec8a in term_firstarg (s=0x55857fb07560) at src/bifs.h:499
#2  0x000055857ecd0b3c in xref_clause (l=0x55857fafaeb0, term=0x55857fb07560) at src/trealla.c:684
#3  0x000055857ecf074d in bif_iso_univ (q=0x55857fb06830) at src/bifs_iso.c:3579
#4  0x000055857ed1066e in call (q=0x55857fb06830) at src/jela.c:441
#5  0x000055857ed10845 in run_me (q=0x55857fb06830) at src/jela.c:493
#6  0x000055857ecd1723 in query_run (q=0x55857fb06830) at src/trealla.c:909
#7  0x000055857ecd2d16 in trealla_run_query (pl=0x55857faf3010, src=0x55857fb02e60 "main.") at src/trealla.c:1384
#8  0x000055857ecd2943 in trealla_consult_file (pl=0x55857faf3010, filename=0x7fffc320b7ee "prolog/foo.pro")
    at src/trealla.c:1287
#9  0x000055857ecce27c in main (ac=2, av=0x7fffc320a9c8) at tpl.c:363
(gdb)

Fix confirmed, thanks.


semanticDbData target fails for mixed scala/java modules

For example:
// build.sc
import mill._
import mill.scalalib._
object foo extends ScalaModule {
  def scalaVersion = "2.12.15"
}

// foo/src/Foo.scala
package foo
object Foo {
  val value = "hello"
}

// foo/src/Bar.java
package foo;
public class JFoo {
    String value = foo.Foo.value();
}

With this, mill foo.compile works fine, but mill foo.semanticDbData fails with
[42/42] foo.semanticDbData
[info] compiling 1 Scala source and 1 Java source to /Users/pschulz/dev/mill-playground/out/foo/semanticDbData.dest/classes ...
[error] /Users/pschulz/dev/mill-playground/foo/src/JFoo.java:7:1: cannot find symbol
[error]   symbol:   class Foo
[error]   location: package foo
[error] foo.Foo
1 targets failed
foo.semanticDbData javac returned non-zero exit code

Thanks for reporting!
This issue is probably due to the fact, that the Scala compiler understands Java code but does not compile it, so we can have Scala code see Java code, but to have Java code see the Scala version, we need the compiled classfiles. The semanticDbData task is currently not generating class files, as a performance measure. Tests with pure Scala projects showed, it works this way. But we never analyzed this for mixed modules and need to retest this scenario.
We might want to try and reevaluate these options:

Detect a mixed setup, and don't stop compilation after semanticDb data generation phase

Let the semanticDbData task depend on compile, to have the readily compiled Scala code in the classpath. This means, we can only generate semanticDb data after the compilation was successful.

find other solutions...

Thanks for the response! We were able to work around the issue by avoiding Java->Scala dependencies, so this is no longer critical for us.

I'm revisiting a mill 0.10.n -> 0.11.m upgrade and seeing this.
Regarding the second option, if I do:
mill mixedModule.compile
// [info] compiling 3 Scala sources and 1 Java source to .......

ls ./out/mixedModule/..../compile.dest/classes/....
// MyJavaFile.class, SomeScala.class

mill mixedModule.semanticDbData
// ...MyJavaFile.java error: cannot find symbol
//      SomeScala.doThing()......
//      ^ symbol ...
// javac exited with exit code 1
// javac returned non-zero exit code

Does that invalidate it as a workaround in the meantime?


Consider deprecating push-to-git.sh

Following on from issue #9 (and superceding it), TravisCI now supports gh-pages publishing out of the box, and it's a lot smoother than the push-to-git.sh script (as can be seen in this example).
I'd suggest that we deprecate push-to-git.sh and switch to the TravisCI approach going forward.

Thanks for the issue @pmonks . Currently, push-to-git.sh is not only used for Github Pages, as it is used also to push different contents (not only pages) and to different servers (ie GitLab).
I'll try to adopt Travis CI pages deployment as much as possible, though I don't think we'll be able to completely deprecate the script.

Makes sense.  Let's at least switch off it for gh-pages publication.


Nellh attach by reference

@nellh, thanks! I made a small change to return the NiiVue instance (this) from attachTo again. The test runner caught it now that I've spent some time updating the tests this weekend (and I merged those into your feature branch). The tests are much more manageable now.


Better notice descriptions

When writing a context function if you have a syntax error like for instance a typo, it would be really nice to see a slightly more descriptive notice.
For example while working on a scenario context I got the following error:
Notice: Undefined variable: typ
The issue was that my variable should have been named $type, but I mistakenly set it to $typ.
Behat is smart enough to know there was an issue in the scenario, it would be ideal to be able to get a more verbose detail.   I know this may not be a viable goal, but in a complex scenario syntax function it could be difficult to find a non-descriptive error.
(If you close this due to it not being possible, no problem.  It is just a suggestion.)

It's not Behat - it's php, that smart enough to throw noticec about that. Behat only catches and prints them nicely.
If you want stack trace - add -v option to the behat call


dispatcher: allow moveintogroup when windows are floating

Describe your PR, what does it fix/add?
This allows to use the moveintogroup dispatcher when windows are floating.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
I don't know why was this disabled in the first place though.
Is it ready for merging, or does it need work?
Yes

why would it be useful?

I was experimenting trying to script a grouped floating windows workflow. Not very useful indeed, but why do we have this limitation though ?

I think its because it makes little sense

Well, it is useful for people that like to use floating grouped windows. Also for consistency sake.


fix issue with DEPOSITED flow

fixes https://github.com/schmittjoh/JMSPaymentCoreBundle/issues/35

I think it is stale and forgotten now. So closing :older_man:


Lightbox and Redmine Forums?

It looks like Lightbox does not work with images that are posted in Redmine forums?  Is this a known limitation?  I am running Redmine 1.2.2.
Thanks!

Nope.


python3Packages.aiopylgtv: 0.4.0 -> 0.4.1

Motivation for this change
Update to latest upstream release 0.4.1
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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 nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 128991 run on x86_64-linux 1

3 packages built:

home-assistant
python38Packages.aiopylgtv
python39Packages.aiopylgtv

@ofborg eval
(Sorry, ofborg's certs recently had an issue, meaning that it was unable to
react to PRs. This has been fixed, but all PRs filed in this period will need
ofborg to be manually kicked off.)


Adhere to did:sov method spec

Currently, aries-vcx expects DIDs on Indy ledger may contain attribute in following format to express their contact endpoint, recipient and routing keys
{
    "service": {
        "id": "did:example:123456789abcdefghi;indy",
        "priority": 0,
        "recipientKeys": [
            "A5dc4WEXzE8S6ESKMFiimGMhQeyn7CBcu8FrnJxR2c7Y"
        ],
        "routingKeys": [
            "5Mt5KCoTBdYVne9JxufF7QRT5xvWCPdBG2ZkBQoWiQ8o",
            "Hezce2UWMZ3wUhVkh2LfKSs8nDzWwzs2Win7EzNN3YaR"
        ],
        "serviceEndpoint": "https://ea.uat.absa.africa/agency/msg",
        "type": "IndyAgent"
    }
}

However this is out of sync with https://sovrin-foundation.github.io/sovrin/spec/did-method-spec-template.html and arguably it's not yet quite clear from the spec how recipientKeys should be written on the ledger. However, as per spec, the actual format we should write and read looks like this:
{
  "endpoint": "https://example.com",
  "types": [ "endpoint", "did-communication", "DIDComm" ],
  "routingKeys": [ "did:key12345", "did:key12345" ]
}

Getting this right is important interop property when dealing with OOB invitations / conneciton protocol invitations, which do not specify entire service object, but only specify a did for the recipient to resolve.

@dbluhm and @TimoGlastra -- wanted to make sure you saw this and provided input on what has been done in ACA-Py and AFJ on this to make sure we get interoperability right amongst the Frameworks. Would it make sense to point to the implementations in your respective frameworks (or perhaps unit tests?) to make sure we nail this?

@swcurran thanks for initiative Stephen!
In the meantime, as guijd3p on discord offered to work on this, basically some implementation instructons:
1. Writing
Adjust
pub async fn add_service(wallet_handle: WalletHandle, pool_handle: PoolHandle, did: &str, service: &AriesService) -> VcxResult<String> {

so it can write on ledger service did attribute in either the our current (incorrect) format, or the new, correct one (per rfc / inspiration from afj/acapy)
2. Reading
Adjust
pub async fn get_service(pool_handle: PoolHandle, did: &Did) -> VcxResult<AriesService> {

so it can construct AriesService from the new format, if that fails, fallback trying to assuming the current (inccorect) format. If that fails too, return error.
Importantly I'd like to see the PR coming with unit test to verify that both old and new format can be processed by get_service

As indy dids can currently only contain a single key (the verkey), that is always the recipient key at the moment. So to translate it to a valid service, you can extract the verkey as the recipientKey. All other values can be extracted from the ATTRIB as described in the did sov spec

@Patrik-Stas
Hello I was analyzing this feature.
And I would like to ask some questions about this add_service method
https://github.com/hyperledger/aries-vcx/blob/main/aries_vcx/src/indy/ledger/transactions.rs#L400
I performed a review of the implementation in the afj project https://github.com/hyperledger/aries-framework-javascript/blob/main/packages/core/src/modules/dids/methods/sov/SovDidRegistrar.ts
In this case every time it's a public-invite they generate a prefix "did.sov" with did, it doesn't persist the did with that suffix because it would give an error when saving in the ledger. It appears only in the invite printout.
And also analyzed the generation of public-inivit by acapay https://github.com/hyperledger/aries-cloudagent-python/blob/main/aries_cloudagent/protocols/out_of_band/v1_0/manager.py#L231
In both cases, they are only treated when receiving the public-invite and when returning the invite construction.
So I see that we don't really need to save the did with the prefix did:sov, just know how to handle it in the construction of the message and in the reading.
So whenever the two will generate a public-invite they have this structure.
{
"@type": "https://didcomm.org/out-of-band/1.0/invitation",
"@id": "a24b7cd3-3029-4403-90fe-3ea4b1a999ec",
"label": "faber.agent",
"services": [
"did:sov:Bp3pqJY8Yttav2JNcv6NxV" ],
"handshake_protocols": [
"https://didcomm.org/didexchange/1.0",
"https://didcomm.org/connections/1.0" ]
}
Could we always generate with the prefix did:sov?
Another issue is the creation of the invite message not published with the following structure.
"services": [
{
"id": "#inline",
"type": "did-communication",
"recipientKeys": [
"did:key:z6MkkUWPbPBZjVVespRojrsP73y9nVgyMzvJg4nebEZii3uw" ],
"serviceEndpoint": "http://<IP_ADDRESS>/faber" }
],
is services direct this reading of did:key will be handled in this task?

Hi @TimoGlastra thanks for hopping in here! So with VCX, as you can see in the example of what we currently write/read on ledger from VCX, there's 2 differences:

formatting, that'll be easy fix
we do not assume DID's verkey === recipient key; we write value of recipient key on the ledger explicitly, as part of the service object

To find common ground with other frameworks, I think we can take this in few steps @guijd3p
Stage 1
Main goal we want to focus first is to enable interop for [mobile VCX] ----> [arbitrary institution agent]. That is pretty low hanging fruit, as other than formatting, we'll have to resolve DID's verkey and use it as recipient key in aries context.
Implementation:

No modification to the format of ATTRIB written to the ledger by VCX
Update our implementation of resolve a DID into AriesService

pub async fn get_service(pool_handle: PoolHandle, did: &Did) -> VcxResult<AriesService> {

such that we

first follow the sov spec, eg we assume following format (so this would be actually 2 calls, 1 to get ATTRIB, 1 to resolve the DID and use it as recipientKey)

{ "endpoint": { "endpoint": "https://example.com", "types": [ "endpoint", "did-communication", "DIDComm" ], "routingKeys": [ "did:key12345", "did:key12345" ]} }

if that fails, fallback to retry assuming the legacy format (the current one), eg:

{"service":{"id":"did:example:123456789abcdefghi;indy","priority":0,"recipientKeys":["A5dc4WEXzE8S6ESKMFiimGMhQeyn7CBcu8FrnJxR2c7Y"],"routingKeys":["5Mt5KCoTBdYVne9JxufF7QRT5xvWCPdBG2ZkBQoWiQ8o","Hezce2UWMZ3wUhVkh2LfKSs8nDzWwzs2Win7EzNN3YaR"],"serviceEndpoint":"https://example.com","type":"IndyAgent"}}

Stage 1.5
Next we would focus on improving [a mobile framework] ----> [institution VCX] interop.

Change what VCX writes on the ledger, instead of

{"service":{"id":"did:example:123456789abcdefghi;indy","priority":0,"recipientKeys":["A5dc4WEXzE8S6ESKMFiimGMhQeyn7CBcu8FrnJxR2c7Y"],"routingKeys":["5Mt5KCoTBdYVne9JxufF7QRT5xvWCPdBG2ZkBQoWiQ8o","Hezce2UWMZ3wUhVkh2LfKSs8nDzWwzs2Win7EzNN3YaR"],"serviceEndpoint":"https://example.com","type":"IndyAgent"}}

we will write
{ "endpoint" :{ "endpoint": "https://example.com", "types": [ "endpoint", "did-communication", "DIDComm" ], "routingKeys": ["5Mt5KCoTBdYVne9JxufF7QRT5xvWCPdBG2ZkBQoWiQ8o","Hezce2UWMZ3wUhVkh2LfKSs8nDzWwzs2Win7EzNN3YaR"], "recipientKeys":["A5dc4WEXzE8S6ESKMFiimGMhQeyn7CBcu8FrnJxR2c7Y"]}}

to at least fix formatting. This would be still miss-alligned as we would include recipientKeys, which only aries-vcx clients would understand.
Stage 2
Unless did:sov spec would be tweaked to include option specifying recipientKeys, we would have to drop it. Dropping it shouldn't be an issue after we implement https://github.com/hyperledger/aries-vcx/issues/618

@swcurran @TimoGlastra  as per what I mention in "Stage 2", previous comment - what's your's guys take on tweaking did:sov spec to enable specifying recipientKeys in ATTRIB similarly to routingKeys, instead of assuming that recipinetKey === DID's verkey?

@swcurran
I see that the latest revision of did:sov spec actually added handling specification custom recipient keys https://sovrin-foundation.github.io/sovrin/spec/did-method-spec-template.html#crud-operation-definitions it seems that


feat: Add support for cancun evm version

This PR adds a new "Cancun" evm version into the enum of supported evm versions.
Motivation

Starting from v0.8.24 a new "Cancun" network upgrade has been added into solidity compilers. The corresponding ethers-solc::EvmVersion has not been updated though, which results in inability for clients to use "Cancun" evm version when compiling the contracts using default ethers-solc::CompilerInput.
"Shanghai" remains a default evm version as v0.8.24 release does not yet make "Cancun" its default target
PR Checklist

[x] Added Tests
[ ] Added Documentation
[ ] Breaking changes

I've found the "Cancun" implementation in foundry-compilers crate and moved to it from ethers-solc. Will leave the PR open in case if you will still find it useful, but is not required for me anymore


Native BarcodeDetector throws error in Chrome 59

When I'm trying this application with chrome://flags/#enable-experimental-web-platform-features turned on I only see, that this error is thrown:
err; // -> DOMException: Failed to get pixels for current frame.
err.code; // -> 11
err.message; // -> "Failed to get pixels for current frame."
err.name; // -> "InvalidStateError"

The code of the application under this URL might be out of date and Google Analytics might has shown this error already. But I wanted to let you know.
Edit Oh, didn't see, that this issue has been filed already.

Turning off the experimental web platform features and using the polyfill does not work either, though. But there is certainly a different reason for this.

This should work now.


Installation Issues

Am running into following installation issues, any pointers on how to fix them?
Thanks!
$ pip install .
Processing /Users/pkhadloya/Projects/Robinhood
    Complete output from command python setup.py egg_info:
    error in Robinhood setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/01/vqwx6yys6yz690qtzstj1r780000gn/T/pip-xFkVaG-build/

$ pip install requirements.txt
Collecting requirements.txt
/Users/pkhadloya/.pyenv/versions/etl/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning.
  SNIMissingWarning
/Users/pkhadloya/.pyenv/versions/etl/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Could not find a version that satisfies the requirement requirements.txt (from versions: )
No matching distribution found for requirements.txt```

I just received a different error attempting to download.  Running python3.5 I tried the following:
python3 -m pip install .
response: Directory '.' is not installable.  File 'setup.py' not found.


NAudio background thread / buffer size for WaveOutEvent is not configurable

On heavy CPU loads audio will begin to pop. Half of this is due to the low buffer sizes chosen based off latency and the other half is due to the audio thread being starved out. Often times the audio thread wants to take priority to fill those buffers so that we don't have these sorts of issues.
It would be useful if buffer size could be decoupled a little bit from latency (even if only a multiplier) as well as being able to provide a thread priority for the actual fill thread.
I understand that currently the audio thread is being done as a work item but I think it would probably be worth removing this and making it a proper thread with a priority.

I've had similar issues, however, I don't have any sort info to add other than as a consumer of this that this is indeed something that a pretty concerning issue. Anything that could be done to force such a thread to have maximum priority would, IMHO, be a good thing (especially with regards to my specific needs).


get() is too slow in cluster mode

my redis cluster has 6 nodes
I used the following code to test, but some key was too slow, >20s
import random
from rediscluster import *

def make_string():
    seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"
    sa = []
    for i in range(35):
        sa.append(random.choice(seed))
    salt = ''.join(sa)
    return salt

redis_nodes = [{'host': 'xx.xx.xx.157', 'port': 7000},
               {'host': 'xx.xx.xx.157', 'port': 7001},
               {'host': 'xx.xx.xx.157', 'port': 7002},
               {'host': 'xx.xx.xx.157', 'port': 7003},
               {'host': 'xx.xx.xx.157', 'port': 7004},
               {'host': 'xx.xx.xx.157', 'port': 7005}
               ]

redisconn = StrictRedisCluster(startup_nodes=redis_nodes)
for i in range(1000):
    key = make_string()
    print(str(key))
    value = redisconn.get(key)
    print(value)

Are you sure you do not exhaust your systems RNG data pool by doing this kind of operation?
Also you have to provide more data regarding what exactly is slow becuase from experience it do not look like the library code would be the reason why. Please do more analysis and provide more details regarding what steps in your code that is slow and if the timings is really in the .get() operation or in some other part of the code. I can't really work with this issue report.

I have try it many times on different computers and systems.
It shows getting some key will be very slow if the key doesn't exist in redis.
such as:
get('123') is fast.
get('123456') is very slow
It seems most of time is occupied by connectting to redis.
I install it by pip3, should I use the lasted code to reinstall?
from rediscluster import *

redis_nodes = [{'host': 'xx.xx.xx.157', 'port': 7000},
               {'host': 'xx.xx.xx.157', 'port': 7001},
               {'host': 'xx.xx.xx.157', 'port': 7002},
               {'host': 'xx.xx.xx.157', 'port': 7003},
               {'host': 'xx.xx.xx.157', 'port': 7004},
               {'host': 'xx.xx.xx.157', 'port': 7005}
               ]
redisconn = StrictRedisCluster(startup_nodes=redis_nodes)
reidsconn.get('123456')

If there is raw connection problems then it might be something local on your system. I have experience from doing must more operations then what you are showing without any problems what so ever.
Unless you can provide much more detailed tracing and code profiling that shows that there is some issue in the code, i would have to close this one as unable to reproduce because it works as expected on my machine and probably many other.
You could also try to look into the internals to see if  you have some major redirection issues inside the lib or not based on your cluster state as that could be a issue. But if we are talking about 20+ seconds it feels like DNS lookups the timeout or some other major network issue on your local machine.

@amazingWu any update on this?


update CI

Updated ci.yml to do a bunch of changes that dependabot requests every time we make a new repo.
This should prevent dependabot from opening 4 annoying PRs every time we make a new repo.

@connersk you are the wall against the darkness that is tech debt


Colored Text is Hidden for Jupyter Notebooks

As shown in the image, the hovertip is hidden in jupyter notebooks.
It works as expected in Google Colab. text_neuron_activations() also works in both colab & jupyter notebooks.
I installed with:
pip install circuitsviz
OS: Linux
Python version: 3.10.9

Hi @loganriggs - this could possibly be a theme issue. Can you try with the main VS code one?
I think it's because VS Code is built with JavaScript and there may be some z-index issues where the tooltip is underneath something else from your theme. It may also be the case that if we manually set a z-index it will be brought above anything hiding it.

I got a friend to try on theirs and it does work for them.
I've reinstalled vscode & removed user settings, but it's still not working for me. Closing this for now.

I'm experiencing this too!

@alan-cooney I think manually setting the z-index would work for the moment, but I don't know how to do that.
Could you provide code or links to show how to do it?

In the two render functions at https://github.com/alan-cooney/CircuitsVis/blob/main/python/circuitsvis/utils/render.py - we could add "z-index: 99999;" to the style. However it's possible/likely that vscode themes also use "overflow: hidden;" for rendered blocks, so some wizardry (e.g. https://stackoverflow.com/questions/10446287/hovered-element-to-overflow-out-from-an-overflowhidden-element-css ) may also be needed.

I'm not 100% sure this is related, but I found out (through Claude) that the colored_tokens HTML isn't standard.

Div closure: Your div tags are self-closing (/>), which is not standard in HTML5. Try changing them to properly closed divs.

So instead of:
    html = f"""

    ...

We should do:
   html = f"""

This fixed an  unrelated issue for me when I was trying to render multiple lines at once.

Had the same issue, fixed it in a hacky way by manually increasing margin after circuitsvis rendering so that the HTML frame is large enough to show the tooltip.
html = cv.tokens.colored_tokens(str_tokens,str_tokens)
html.cdn_src = html.cdn_src.replace("margin: 15px", "margin: 50px")
html


DatePicker demo highlights wrong day

When you click on a day on the inline datepicker demo the previous day is highlighted.
The input shows the correct date, but the alert below it shows the previous day as well.

When you click on a day on the inline datepicker demo the previous day is highlighted.

This is today.

@zcyzcy88 I clicked on the "Today" button so 7/5 should not be highlighted. Try it on another day if that helps you understand:
Click on any day: https://uiv.wxsm.space/date-picker
Thanks

seems the same with #39
@woodlandhunter what timezone are you in pls?

@wxsms I'm the US central timezone (UTC-06:00)

v0.11.6 solved this. thanks.


How to set the threshold when running eval.py?

In other words, how to output only the results with higher confidence prediction box, in the end?

before https://github.com/amdegroot/ssd.pytorch/blob/5b0b77faa955c1917b0c710d770739ba8fbff9b7/eval.py#L404
I added codes:
            # clean up the dets
            num_box = cls_dets.shape[0]
            list_clean_up = []
            for each_box_index in range(num_box):
                each_box = cls_dets[each_box_index]
                if each_box[4] < thresh:
                    list_clean_up.append(each_box_index)
            cls_dets = np.delete(cls_dets, list_clean_up, axis=0)

This works, but I'm not sure it is right. Welcome everyone's criticism

Thanks, I m facing the same problem. So the mAP the original eval.py gives is not credible? Because the confidence threshold isn't used, can we believe in the mAP?


reed solomon - improve code quality, refactor and maintain the crate for 2 years

Currently the codebase is unmaintained and I did an initial sweep of fixes, but the crates would require a proper refactoring pass. To make sure this remains intact to the point polkadot will not rely on it, I propose to maintain it for 2 years including CI, cutting releases, and giving PR review and maintain code quality.

Thanks for the application. Given that this is a follow-up proposal, could you deliver your previous project here? Just so that we take a look at it. Also, the FTE in your application is wrong unless you suddenly hired a team of 8.5 people.

Sure thing, this was not clear to from the README.md in https://github.com/pioneersprize/Polkadot-Pioneers-Prize that I'd have to submit a PR to the mentioned repository (nor did I know it even existed). You might want to add some more detail there.

Gentle ping

Hey @Noc2 , no worries. I would be. I'd just need a bit of guidance what you'd consider in terms of time frame and detailed specification or if the current detail level is sufficient.


New version: 8x8.Work version 7.22.3

Pull request has been created with Komac v1.11.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

Related to: https://github.com/microsoft/winget-pkgs/issues/135119


Make DeleteAllEventData safe for empty database.

truncate fails when the tables don't exist. This tweak prevents the problem, similar to how it is prevented elsewhere in DocumentCleaner.

@tetious Thanks for the PR. Since the unit tests are failing, I have proposed a slightly varying method in the review comments, please check the same.


Fix: PageBanner for Safari

Motivation
The PageBanner as is couldn't go directly inside a flex container because of a height overflow in Safari.
More on the issue: https://stackoverflow.com/questions/62075401/safari-grid-in-flexbox-produces-height-overflow
Changes
The fix is to add a wrapper around the container of PageBanner.
Screenshots
No changes.

@peterpeterparker please review
I tested it in NNS Dapp and the wrapper is indeed not needed anymore.


Generalize parsing patterns

Many patterns are starting to emerge in the way data is stored and parsed, such as tables with left-handle labels, etc.
Though it's likely that many of these will still have to be case-by-case, they should be generalized if at all possible in lib/parse.js as a configurable function.

Transferred to https://github.com/covidatlas/li/issues/386


Update interested-technical-writers.md

Hi, thank you for your interest! Would you please update your PR to move your name into the list in alphabetical order by surname/family name? Thank you!

Updated. Hope it's okay now.


Downloaded updates are pruned by subsequent update checks

This was introduced by https://github.com/Squirrel/Squirrel.Mac/pull/171 :see_no_evil::

Check for updates.
Prune existing downloads.
Download an update.
Check for updates.
Prune existing downloads.
Conditional GET means we don't re-download.
Now we don't have an update downloaded anymore.

Interestingly, this means we've always had the possibility that:

Check for updates.
Prune existing downloads.
Download an update.
Check for updates.
Prune existing downloads.
Quit the app.
We try to install an update that's no longer downloaded.


wrong javascript in example

Woops, thanks! Can you just sign the CLA so I can take this in?

Done. I joined it.


chore: Add optional chaining to focusedSegmentRef

Description
This is a corner case we didn't account for. To avoid focusedSegmentRef.current is null errors, we add optional chaining to this.
Related issue: AWSUI-21557
How has this been tested?

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

Changes include appropriate documentation updates.
Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
Changes do not include unsupported browser features, see CONTRIBUTING.md.
Changes were manually tested for accessibility, see accessibility guidelines.

Security

If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

Changes are covered with new/existing unit tests?
Changes are covered with new/existing integration tests?

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

Are you sure this is the right fix for the issue? In your approach it calls clearHighlightedSegment when this ref is empty? Maybe we should do nothing instead (go into early return branch)?
What are the steps to reproduce the issue?
And ideally, this should be covered by a test too.

Are you sure this is the right fix for the issue? In your approach it calls clearHighlightedSegment when this ref is empty, maybe we should do nothing instead (go into early return branch)?
What are the steps to reproduce the issue?
And ideally, this should be covered by a test too.

I can't reproduce this and I could not understand how this can happen (following the logic on our code). It must be a very corner case of a race condition where the segment is no longer highlighted but the popover is still present.
But that said, if focusedSegmentRef is the active segment, why would there be a popover if the segment wasn’t active? That's why I replaced the ! with ?, and if there isn’t a focusedSegmentRef, I think it is safe to clearHighlightedSegment (which also closes the popover).
Regarding the test, I'm not sure how to test the condition I changed, as I'm not sure there's a way of replicating this programatically. Happy to take a suggestion.

I am not sure if the expected behavior to go into then or else branch. It is a real 50/50
I think the best option is to go back to the original reporter and ask for details. Their current report is too vague.

Closing this one for now, until we get more details about the bug report


The split should be done on the @ character

The check is still good, as the : character tells you there is a SHA
provided, but skopeo returns sha256:$SHA, as it is right now it
results in a malformed image spec with a repeated sha256 bit:
quay.io/.../ocp-release@sha256@sha256:$SHA
Also unrelated changes: stripped all dangling whitespace.

will open another PR with the right check for fully qualified image url


API returns 'Bad Request' when the caller has multiple redirect URIs defined.

If you add multiple redirect URIs to the oauth_applications record, it results in a 400 - Invalid Arguments response from Doorkeeper when trying to authenticate and retrieve an access token.

Seems to be working now


Feature Request: ability to change production branch of Direct Upload Pages project

What version of Wrangler are you using?
<EMAIL_ADDRESS>What operating system are you using?
Github Actions / ubuntu-latest
Describe the Bug
Here's a truncated log where it shows the wrangler command I use, and the output. This happens on the master branch - so I'd expect this to go to the production domain that I have configured in pages project. Instead it deploys to the preview domain
I notice that wrangler CLI allows me to set the production branch if I use it to create a pages project with --production-branch. But in my case I created the project from the web dashboard. So I don't have a way of telling cloudflare that the production branch is master and to treat commits on that branch as such
  with:
    apiToken: ***
    accountId: ***
    command: pages publish --project-name=conf-makerville ./
...
Using API Token authentication
$ Running: wrangler pages publish --project-name=conf-makerville ./
▲ [WARNING] Warning: Your working directory is a git repo and has uncommitted changes

  To silence this warning, pass in --commit-dirty=true

🌍  Uploading... (8335/8335)

✨ Success! Uploaded 172 files (8[16](https://github.com/Makerville/conference/actions/runs/3050695715/jobs/4918073087#step:4:17)3 already uploaded) (6.48 sec)

✨ Deployment complete! Take a peek over at https://4f10cf4f.conf-makerville.pages.dev/

I recreated a pages project using the wrangler cli and was able to set the production branch while creating it. It would be nice to be able to set the production branch through the web dashboard - not just through the wrangler pages create cli. Another thing that could be done is to set the production branch as an input to the github action.

@anujdeshpande  I am also struggling with this issue. I am inside a repository but the files i want to publish are not part of the repository, they are the built static files that dont go to version control. I've been trying:
npx wrangler pages publish --branch=publish build/html --project-name "my-porject-name"

But doesn't work. It always ends up as preview. Does my current branch has to be literally called production or what?

@matheusfillipe how did you create the project? I created the project using the wrangler CLI tool and explicitly said that I will be using the master branch as the one to build the site from
Something like this - wrangler pages project create $project-name --production-branch master
I recommend that you delete the current pages project that you have in the dashboard, and create a new one using the CLI like above

@anujdeshpande that works! I agree that you should be able to change this branch after the project is created or alternatively be able to give it a flag like --env production.

For the record, there's a workaround described here: https://github.com/cloudflare/pages-action/issues/63#issuecomment-1513903702

Hi there, I've been working on an open source project built on Cloudflare Pages + Workers called Counterscale, and I've been bit so many times by this issue.
I want to experiment with one-off production builds of test branches, but it's impossible to specify that on the command line.

@benvinegar trying to catch myself up — my understanding is that this is what you (and others) expect to work:
Given a Cloudflare Pages project where the "Production branch" is set to main

...and that runs at projectname-dji3.pages.dev, that you can:

Build your project locally
npx wrangler pages deploy --branch=main
See your deployment reflected in production at projectname-dji3.pages.dev

...but that in practice, running this spits back a preview URL:
b667a309.projectname-dji3.pages.dev
Correct?

I'd like there to be a choice to not have a branch at all. For example, our workflow uses GitHub releases for production releases. I'd rather source files from there.

@irvinebroque Sorry for the slow reply.
I basically just want to say
npx wrangler pages deploy --production
or
npx wrangler pages deploy --preview
If that's not possible, then sure, indicating the branch name is the next best thing.
But I feel the dependency on git branches is confusing. Why can't I just download some files and deploy? I agree with @coreybutler on this.

Chiming in here just to say not having this as a feature is really such a pain. Would love to see movement here.


x64-bit version fails to run

I'm able to run the 32-bit version with no problem but I can't get the 64-bit version to run.
Error message:

Interesting. Can you try and install this version of Visual C++ and run RFU again?
https://aka.ms/vs/16/release/vc_redist.x64.exe

It appears that I already have that installed.

I appear to have found the problem.
VCRUNTIME140_1.DLL seems to only come with the Visual Studio versions of the redistributables. I will try and use the solution provided (disabling FH4) and make a test build for you to try.

@mxdanger Can you try the following build and see if you still get the same problem?
RFU-x64-dbg.zip

@LewisTehMinerz It works now.

Cannot execute "C:\Users\WINDOW~1\AppData\Local\Temp\Rar$EXa0.526\RFU.exe"

Please remove your comment, my issue has been resolved. If you have any issues create a new one.


Closes softlayer/sl-ember-components#864

Reviewed 9 of 9 files at r1.
Review status: all files reviewed at latest revision, 5 unresolved discussions.

addon/components/sl-grid-column-header.js, line 61 [r1] (raw file):
All these properties need doc blocks.

addon/components/sl-grid-column-header.js, line 61 [r1] (raw file):
Ember provides a way for passing in class values via the component property class i.e {{sl-grid-column-header class="class1 class2"}}. Do we still want to create our own extraClass` property? Or use standard Ember provided functionality? Just something to think about, I can think of points for an against using the "Ember way".

tests/dummy/app/controllers/demos/sl-grid.js, line 17 [r1] (raw file):
I feel these lines of code will get repeated within a consuming application multiple times i.e resetting the sorted columns and setting the sort direction on the column that was clicked on.
We can probably abstract it out into a helper function or a mixin so that it doesn't need to be repeated for each grid component. Doesn't have to be part of this PR but can be an issue on its own.

tests/integration/components/sl-grid-column-header-test.js, line 21 [r1] (raw file):
I'd say we do away with these variables and set the value directly i.e
this.set( 'sortable', true );
this.set( 'sorted', null );
...

this.set( 'sorted', 'asc' );'

...

Unless we are using the variables for something other than the code above.

tests/integration/components/sl-grid-column-header-test.js, line 68 [r1] (raw file):
I'd say we do away with this variable and set the class directly i.e
this.set( 'extraClass', 'testClass' );

It's less code to scan, unless the variable serves another purpose.

Comments from the review on Reviewable.io

Need to add extraClass and sorted to documentation and remove any old properties still present in the docs.

Comments from the review on Reviewable.io

tests/dummy/app/controllers/demos/sl-grid.js, line 17 [r1] (raw file):
https://github.com/softlayer/sl-ember-components/issues/1261

Comments from the review on Reviewable.io

Reviewed 4 of 5 files at r2, 2 of 3 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io

Reviewed 4 of 9 files at r1, 4 of 5 files at r2, 2 of 3 files at r3.
Review status: all files reviewed at latest revision, 5 unresolved discussions, all commit checks successful.

addon/components/sl-grid-column-header.js, line 108 [r3] (raw file):
Isn't the value of sorted 'null' and not null?
The comparisons against sorted can be combined into Ember.isNone()

addon/components/sl-grid-column-header.js, line 111 [r3] (raw file):
A class of column- is applied to this component when the sort value is 'null'?

addon/components/sl-grid.js, line 237 [r3] (raw file):
This doesn't match up with the enum values.

tests/dummy/app/controllers/demos/sl-grid.js, line 23 [r3] (raw file):
Can this code be rewritten as
if ( 'asc' === currentDir ) {
    sortDir = 'desc';
}

tests/dummy/app/templates/demos/sl-grid.hbs, line 104 [r3] (raw file):
This doesn't match up with the enum values.

Comments from the review on Reviewable.io

Review status: 8 of 10 files reviewed at latest revision, 2 unresolved discussions.

addon/components/sl-grid-column-header.js, line 111 [r3] (raw file):
No, the condition keeps that from happening

addon/components/sl-grid.js, line 237 [r3] (raw file):
Fixed the enum from 'null' to null

Comments from the review on Reviewable.io

Reviewed 2 of 2 files at r4.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io

Reviewed 1 of 5 files at r2.
Review status: :shipit: all files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from the review on Reviewable.io


Bolt Serialization/Deserialization Fixes

I detected two serialization bugs for BoltGraphClient:

When a List was to be casted into an anonymous typed object, there was a bug where the ParseAnonymousAsDynamic() method was splitting all the elements of such list into separate lists containing one element.
When passing query parameters to session.Run() the simple JSON Serialize/Deserialize was not working because when you passed a Dictionary<string, int[]> it was being transformed back as Dictionary<string, JValue>.

For the first bug the fix is simple: just don't split the list into multiple elements.
For the second bug the fix was more complicated as it is no longer JSON serializing and deserializing but making use of the fact that the bolt driver doesn't care if it receives object[] or List<int>. So I made the code able to receive object graphs with arbitrary depth.

I get 2 tests failing in BoltGraphClientTests -

SerializesDateTimesProperly
SerializesDateTimeOffsetsProperly

In both cases, the change is this line:
"testParam", new Dictionary<string, object> {{"Dt", JsonConvert.SerializeObject(cwd.Dt).Trim('\"')}}
to this line
"testParam", new Dictionary<string, object> {{"Dt", JsonConvert.SerializeObject(cwd.Dt)}}
If I'm honest, I'm not sure how to edit the pull request to get that change in otherwise I'd do it myself :( If you can get them done, I'll get it merged asap

I think this is a bug by me, not the unit tests. It's serializing dates as ""datestring"" instead of "datestring". I have discovered another serialization bug, though. I will push another set of commits to fix both these issues.
You may want to consider this PR as work in progress.

I have fixed the datetime serialization and the other serialization bug: When an INode was inside a list, the generated JSON was missing the "embracing" {} for the node properties and values.
I haven't found any extra serialization bug so far.

Hey @arturosevilla, all looks good and is pulled in.. thank you once again!


Does Not Print With Page Numbers

User Test for March 18, 2022 | 4:00 p.m. to 5:00 p.m.
After installing crosscompute-printers-pdf, we used the Randomized Histogram project to test printing with page numbers.
Expected Behavior: Print with the page numbers aligned right bottom.
Actual Behavior: Did not print any page number.
Print configuration used:
# print configuration
  print:
    configuration:
      header-footer:
        font-family: sans-serif
        font-size: 8pt
        color: '#808080'
        padding: 0.1in 0.25in
        skip-first: true
      page-number:
        location: footer
        alignment: right

Styling that was used:
body {
  font-family: sans-serif;
  font-size: 12pt;
}

@page {
    margin: 1in;
}

Bug re-appeared in the 20230407 user test


Math characters aren't rendered in sidebars

Originally discovered in https://github.com/executablebooks/jupyter-book/issues/785 if people put math in their section headers or page titles, they won't be rendered in sidebars. E.g.:
====================
About :math:`\alpha`
====================

will be rendered as "About \alpha", not "About 𝛼"
This is true of the sidebar and the table of contents.
Also note this would be fixed by #219

Tested against v0.8.1, it's working in header sidebar-secodary and page title.
It's still not rendering in header navbar and sidebar-primary.