Urgent Assistance Request for Protogen Tool

Dear SuduIDE,
I hope you're doing well. I'm a master's student working on my thesis, and I've encountered difficulties in getting your Protogen tool to work with both Maven and Gradle. This tool is crucial for my research, and having it operational would greatly aid me.
Could you please provide guidance or assistance on how to properly configure and use Protogen? Your support would be immensely valuable to me, as I'm pressed for time and in need of this plugin for my thesis work.
Thank you for your help.
Looking forward to your guidance and support.
Best regards,
Adem Bahri

And here is my plugin:

The readme seems to be not so clear !

Hi there! Protogen is a tool designed primarily for the internal needs of SuduIDE with its specifics. At the moment, the status of its public support is unknown. Also, It was not designed for use with maven.
As far as I can see, you are using the options dependency as an executable in the plugin, however it should be a general dependency of your project.
To understand your problem, I need to know more. What is going wrong?

Subject: Re: Difficulty Using Protogen Tool with Maven
Hi there,
Thank you for your prompt response. I appreciate your willingness to assist
me with the issues I've encountered while using Protogen for my thesis
project.
Even after correcting my pom.xml file as per your suggestion, I'm still
facing the same problem. Specifically, the toGrpc and fromGrpc methods
are not being generated as expected. Additionally, when I run mvn clean install, it seems that no records are being added to my implementation.
To provide more clarity on the matter, I've pushed my project to GitHub.
You can access it through the following link: GitHub Repository.
I would greatly appreciate it if you could take a look at my project and
provide any insights or guidance on resolving these issues. Your expertise
and assistance are invaluable to me, especially considering the
significance of Protogen for my thesis work.
Looking forward to your feedback and support.
Best regards,
Adem Bahri
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
fr.bl.greenit.protogen
ProtogenImpl
0.0.1-SNAPSHOT

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<java.version>17</java.version>
<protobuf.version>3.21.9</protobuf.version>
<grpc.version>1.51.0</grpc.version>

io.github.suduide
protogen-options
1.0.3

io.github.suduide
protoc-gen-protogen
1.0.18
options
jar

com.google.protobuf
protobuf-java
${protobuf.version}

org.xolstice.maven.plugins
protobuf-maven-plugin
0.6.1

com.google.protobuf:protoc:3.18.0:exe:windows-x86_64

protogen

@.***

${project.basedir}/src/main/generated/java</outputDirectory

compile

[image: image.png]
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
18/04/24
09:50:01
Le mer. 17 avr. 2024 à 17:48, Dmitrii Duzhinskii @.***>
a écrit :

Hi there! Protogen is a tool designed primarily for the internal needs of
SuduIDE with its specifics. At the moment, the status of its public support
is unknown. Also, It was not designed for use with maven.
As far as I can see, you are using the options dependency as an
executable in the plugin, however it should be a general dependency of your
project.
To understand your problem, I need to know more. What is going wrong?
—
Reply to this email directly, view it on GitHub
https://github.com/SuduIDE/protogen/issues/17#issuecomment-2061616665,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYZCF7AUSAOGRI4UEAWKODDY52KURAVCNFSM6AAAAABGLSK5ZSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRRGYYTMNRWGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hello, again. I've tried researching about building with maven. Here is the correct configuration for linking protobuf plugins.
<configuration>
	<outputDirectory>${basedir}/target/generated-sources/protobuf/java</outputDirectory>
	<protocArtifact>com.google.protobuf:protoc:3.18.0:exe:osx-aarch_64</protocArtifact>
	<protocPlugins>
		<protocPlugin>
			<id>protogen</id>
			<groupId>io.github.suduide</groupId>
			<artifactId>protoc-gen-protogen</artifactId>
			<version>1.0.18</version>
			<mainClass>org.sudu.protogen.Main</mainClass>
		</protocPlugin>
	</protocPlugins>
</configuration>

But it wont work because I haven't published the artifact as maven plugin expects, i.e. io.github.suduide:protoc-gen-protogen:jar:1.0.18.
Currently I am not a maintainer of the repository, so fixing it is not easy. Here is what I could suggest you:

Switch to Gradle and use the documented way to get started. Please note that the Kotlin DSL is used.
Fork the tool and build it on your own.

The latter is the most preferable because Protogen is designed for SuduIDE team conventions of working with gRPC. I have considered a community version with a flexible interface like the Spring OpenAPI Generator has, but it is still a plan.

Dear Duzhinsky,
Thank you for your help with my Protogen setup. Considering the challenges with Maven compatibility, I'm exploring alternatives.
Could Protogen be adjusted to generate Java classes instead of records? This could improve its compatibility with various projects.
Your insights would be greatly appreciated.
Best regards,
Adem Bahri


debug log the secret for external and internal topics (#2913)

Signed-off-by: Matthias Wessendorf<EMAIL_ADDRESS>Signed-off-by: Matthias Wessendorf<EMAIL_ADDRESS>

/test 48-test-reconciler-aws-ocp-48

OCF Webhook is merging this PR


[Keyboard] Dismiss keyboard will fire keyboardWillShow and keyboardDidShow on iOS 11

Is this a bug report?
Yes.
Have you read the Contributing Guidelines?
Yes.
Environment
Environment:
OS: macOS Sierra 10.12.6
Node: 7.7.4
Yarn: 0.15.1
npm: 4.1.2
Watchman: 4.9.0
Xcode: Xcode 9.2 Build version 9C40b
Android Studio: 2.3 AI-162.4069837
Packages: (wanted => installed)
react: 16.0.0 => 16.0.0
react-native: 0.51.0 => 0.51.0
Target Platform: iOS (11.2)
Steps to Reproduce

Play with iOS 11 (it works fine on iOS 9 and iOS 10)
Focus on <TextInput ref={component => this.myInput = component} />
Then call Keyboard.dismiss() or this.myInput.blur()

Expected Behavior
Only keyboardWillHide and keyboardDidHide will be fired.
Actual Behavior
keyboardWillShow and keyboardDidShow will also be fired.
Reproducible Demo
https://snack.expo.io/Hy6xVvSPG
This issue is only existed on iOS 11. It could not be reproduced on https://snack.expo.io/Hy6xVvSPG due to its iOS version perhaps (I didn't find a place to change it), so I recorded a gif with Simulator on iOS 11.

I added {Platform.OS} {Platform.Version} and got iOS 11.1 in snack expo, and it works well, so I think this issue is only existed on iOS 11.2.


packagist auto update

@willnorris can you add the auto-updated for packagist?
https://packagist.org/packages/willnorris/wordpress-license

I'd be happy to, but I don't actually understand what you're asking me to do.  I've never used packagist.

never mind, I think I figured it out.  I configured the service, though I'm not sure how to test it.  There's a "test service" button on GitHub, but I'm not sure what I'm looking for to verify that it worked.

the "auto-update" notification on packagist is gone, so I think you have done it correctly, thanks! :)

@willnorris your first packagist package: https://packagist.org/packages/willnorris/wordpress-license :smile:

I will also add a doku how to install/update the plugin via composer

hah.  Thanks for helping get it setup. :)


UI Improvements

[ ] Prevent website from refreshing after pressing the Download Button (and # of selected benchmarks: 0) to not erase the current config
[ ] Add hint that the zip file generation takes up to 15min
[ ] At the moment the resizing seems a bit off though, as the text is just scaled to a smaller size without changing line breaks and such. -> Text Size shouldn't be shrinked that much
[ ] The hyperlinks should be with the describing part of the sentences and not "this page"
[ ] zip file for the case where all files are selected could be pre-generated

In addition to the last case: we could provide several pre-generated zip-files for the most-commonly used scenarios.

solved in #93


Fix some custom propertyKey should be displayed as credential

We occasionally create custom property keys containing strings like "accessKeyId" or "secretKey" (or other combinations) that should be treated as displayType credentials and thus not be sent back to the client.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10503/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10507/
Test FAILed.

alluxio-bot, test this please.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10508/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10509/
Test PASSed.

@gpang

@gpang can you merge it for me?

@gpang

alluxio-bot, merge this please


latest t2-cli results in ERR! WARNING: No usb controller found on this system.

Environment: OSX 10.12.1, node.js 7.0.0
To reproduce: clone the repo, then execute npm link --local
Results:

><EMAIL_ADDRESS>postinstall /Users/me/dev/tessel/t2-cli
> t2 install drivers --loglevel=error || true; t2 install homedir --loglevel=error || true;

ERR! WARNING: No usb controller found on this system.

To recover, kill -9 the process.

@sbromberger We currently support the Node.js LTS version, which currently 4.x.x and the 6.x.x, for t2-cli. I'm not sure node-usb has support for the latest version of Node yet. When switching versions, be sure to reinstall and rebuild t2-cli due to the native bindings required for node-usb.

Thanks - I figured it'd be a 7.0.0 thing - but the maddening thing is that even though I'm trying to access it via the LAN interface, it's still hanging on USB. Is there a way to say "ignore USB, use LAN"?

@sbromberger yes, --lan specifies LAN usage. But I'm not sure if it will keep you from hitting the error message anyway.
@HipsterBrown I think the "unsupported USB" message is the most common question we get. Do you know if it's possible to build a more helpful error message for this eventuality into our CLI? Have we investigated this?

@Frijol one hits the error message anyway, which causes a spike to 100% CPU (and fans), and a nonresponsive terminal - the only way to stop the runaway node process is to kill -9 it.

@Frijol Yea the message comes from lib/usb-connection.js. Any ideas on a better error message?

I have an idea of how we might get around this and allow --lan commands to be truly free of USB. I will post back when I've learned more.

rwaldron in ~/clonez/t2-cli on 1071*
$ t2 list
INFO Searching for nearby Tessels...
ERR! WARNING: No usb controller found on this system.
ERR! TypeError: Cannot read property 'on' of undefined
rwaldron in ~/clonez/t2-cli on 1071*
$ t2 list --lan
INFO Searching for nearby Tessels...
 	LAN	dolores

Just need to figure out that second error

rwaldron in ~/clonez/t2-cli on 1071*
$ t2 list
INFO Searching for nearby Tessels...
ERR! WARNING: No usb controller found on this system.
 	LAN	dolores
rwaldron in ~/clonez/t2-cli on 1071*
$ t2 list --lan
INFO Searching for nearby Tessels...
 	LAN	dolores

@sbromberger can you try a dev version with node 7?
npm install tessel/t2-cli#1071

@hipsterbrown a better error message could be "An error was encountered. Please ensure you are using the correct (LTS) version of Node. If the problem persists, please file an issue at github.com/tessel/t2-cli/issues"


"workbench.editor.languageDetection" replaces language already set (through extension) in the middle of typing

Issue Type: Bug

In VS Code 1.60.0 with default "workbench.editor.languageDetection" setting of true, install "Todo+" extension: vscode-todo-plus.
Add this setting to your settings: "todo.symbols.box": "[ ]",
Create a new TODO file
Note how the file language is set to Todo
Put in some text that might resemble Markdown:

Session auth:
[ ] OAuth 2.0 https://github.com/omniauth/omniauth/wiki/Upgrading-to-2.0 @done(21-09-01 14:41)
[ ] Add "Animation" header title
[ ] Add "Styles" section
[ ] Add skeleton loading placeholder

Access scopes:
https://github.com/microsoft/vscode/issues/new
[ ] Set `access_scopes` to initial values

This is the text that creates this bug for me. Not all the text produces the bug.
Expected:
The language of the file is consistently Todo
Actual:
The language of the file changes as the file contents change. Pair this with auto formatting and you get a complete mess when your "auto save on focus lost" kicks in and reformats the whole file based on another language syntax/rules.
It might also be worth to note that I even have this in my settings:
"files.associations": {
    "TODO": "todo"
  }

I'd argue that this should never be automatically overridden by language detection.
The only workaround that I've found is this setting:
  "[todo]": {
    "workbench.editor.languageDetection": false
  }

This setting is very confusing for me.
I suggest this to only be used when there's no language already selected.
VS Code version: Code 1.60.0 (e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff, 2021-09-01T10:54:53.442Z)
OS version: Darwin x64 20.6.0
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 2600)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (5.37GB free)

Process Argv
--crash-reporter-id 5a9112e5-d69d-439e-b6ab-63ec46831773

Screen Reader
no

VM
0%

Extensions (18)

Extension
Author (truncated)
Version

browse-lite
ant
0.2.14

vite
ant
0.2.5

vscode-eslint
dba
2.1.23

prettier-vscode
esb
8.1.0

vscode-todo-plus
fab
4.18.4

copilot
Git
1.4.2586

ruby-rubocop
mis
0.8.5

sublime-keybindings
ms-
4.0.10

abracadabra
nic
6.3.1

hocus-pocus
nic
1.7.0

ruby
reb
0.28.1

vscode-javascript-booster
sbu
14.0.1

markdown-preview-enhanced
shd
0.6.0

theme-check-vscode
Sho
1.1.3

code-spell-checker
str
2.0.4

vscode-ruby
win
0.28.0

change-case
wma
1.0.0

reactpreview
zen
0.4.3

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscoreces:30358480
pythondataviewer:30285071
pythonvsuse255:30340121
vscod805cf:30301675
pythonvspyt200:30340761
vscextlangct:30333562
binariesv615:30325510
vsccppwtct:30329789
pythonvssor306:30344512
bridge0708:30335490
pygetstartedt2:30360495
bridge0723:30353136
pythonf5test824cf:30361778
vsdyn420:30356812
pythonvspyt187:30362782
pydsgst2:30361792
vscus224cf:30358040
vssid140cf:30362081

Even worse, if I have a file like this (that's not recognized as Markdown):
Session auth:
  [ ] OAuth 2.0 https://github.com/omniauth/omniauth/wiki/Upgrading-to-2.0 @done(21-09-01 14:41)
  [ ] Add "Animation" header title
  [ ] Add "Styles" section
  [ ] Add skeleton loading placeholder

Access scopes:
  https://github.com/microsoft/vscode/issues/new
[ ] Set `access_scopes` to initial values

(please notice the spaces before [ ])
And then I unindent https://github.com/microsoft/vscode/issues/new, the language at that moment switches from Todo to Markdown. This means that the language switches in the middle of typing. This should never happen.
After (this is suddenly recognized as Markdown and the language is changed):
Session auth:
  [ ] OAuth 2.0 https://github.com/omniauth/omniauth/wiki/Upgrading-to-2.0 @done(21-09-01 14:41)
  [ ] Add "Animation" header title
  [ ] Add "Styles" section
  [ ] Add skeleton loading placeholder

Access scopes:
https://github.com/microsoft/vscode/issues/new
[ ] Set `access_scopes` to initial values

@gjsjohnmurray that might be it. I'll wait for the release next week and close this issue once I confirm it's been fixed.

@vfonic can test this out in insiders? It might already be fixed.
https://code.visualstudio.com/insiders/

@TylerLeonhardt tested and it works as expected on the insiders build! Thanks!
Closing...


When creating a DocType instance from results, save highlights somewhere

I don't think _meta is a good option since it won't be accessible in django templates for example.

Since _meta was renamed meta, the original point about Django templates may be moot. Maybe a result.meta.highlight dictionary? It would be slightly different than the rest, in that highlight is not underscored in the ES response, but I think putting it in meta is still better than a highlight attribute directly on documents.
I can take a pass with a PR if you want?

a PR would be most welcome of course!


Annoying Module Errors

File "c:/Users/X/Documents/GitHub/autopy/examples/hello_world_alert.py", line 1, in
import autopy
ModuleNotFoundError: No module named 'autopy'
PS C:\Users\X\Documents\GitHub\autopy>
Can't figure out what happened. Potentially a rust issue?

Sorry for the late reply. It looks like your current working directory is the autopy repo. Does it work if you change to another directory?

Maybe run this in a terminal: echo %PYTHONPATH% . Then go through the folders listed there.
Make sure that the autopy folder is in one of the folders on your PYTHONPATH, and that the __init__.py file is inside that autopy folder (so if you have a folder called autopy within a folder called autopy, you need the innermost autopy folder to be on the PYTHONPATH).


Only run verilator when rtl or sim changes

Modifies CI workflow to only run when the rtl or sim directories have
diffs.
Signed-off-by: hasheddan<EMAIL_ADDRESS>Fixes #20

It looks like skipping CI either using path matching or [skip ci] does not allow for skipping required checks. For now, while traffic on this repo is relatively minimal and sim is lightweight, we will continue to run verilator on every PR.


initial works

Problem solved
Short description of the bug fixed or feature added
Changes made

[ ] Public API changes: list the public API changes made if any
[ ] Internal API changes: explain the internal logic changes

How to test

[ ] Automated tests: link to unit test file
[ ] Manual tests: step by step instructions on how to test

Contributor NFT
Paste in your wallet address below and we will airdrop you a special NFT when your pull request is merged.
Address:

PR-Codex overview
The focus of this PR is to update UI components and styles across multiple files for consistency and accessibility.
Detailed summary

Updated colors and styles for buttons, links, and shadows
Added a custom connect button with theme support
Refactored and improved UI components like badges, selects, and skeletons
Fixed layout shifts and accessibility issues in various components

The following files were skipped due to too many changes: apps/dashboard/src/components/analytics/chart-container.tsx<EMAIL_ADDRESS>apps/dashboard/src/app/(dashboard)/styleguide/page.tsx, apps/dashboard/src/contract-ui/tabs/overview/components/Analytics.tsx, apps/dashboard/src/components/pay/PayAnalytics/components/common.tsx<EMAIL_ADDRESS>apps/dashboard/src/theme/index.ts, apps/dashboard/src/components/analytics/custom-tooltip.tsx, apps/dashboard/src/contract-ui/tabs/analytics/page.tsx, apps/dashboard/package.json, apps/dashboard/src/components/pay/PayAnalytics/hooks/usePayNewCustomers.ts, apps/dashboard/src/components/analytics/stack-tooltip.tsx, apps/dashboard/src/components/pay/PayAnalytics/hooks/usePayTopCustomers.ts, apps/dashboard/src/components/pay/PayAnalytics/hooks/usePayVolume.ts<EMAIL_ADDRESS><EMAIL_ADDRESS>apps/dashboard/src/components/pay/PayAnalytics/hooks/usePayPurchases.ts, apps/dashboard/src/pages/dashboard/connect/pay.tsx<EMAIL_ADDRESS><EMAIL_ADDRESS>apps/dashboard/src/components/analytics/area-chart.tsx, apps/dashboard/src/components/pay/PayAnalytics/components/TotalVolumePieChart.tsx, apps/dashboard/src/components/pay/PayAnalytics/components/Payouts.tsx, apps/dashboard/src/components/pay/PayAnalytics/components/PayNewCustomers.tsx, apps/dashboard/src/components/pay/PayAnalytics/components/PaymentsSuccessRate.tsx, apps/dashboard/src/components/pay/PayAnalytics/components/TopPayCustomers.tsx, apps/dashboard/src/components/pay/PayAnalytics/PayAnalytics.tsx, apps/dashboard/src/components/pay/PayAnalytics/components/TotalPayVolume.tsx, apps/dashboard/src/components/analytics/bar-chart.tsx<EMAIL_ADDRESS>apps/dashboard/src/components/analytics/auto-bar-chart.tsx, apps/dashboard/src/components/pay/PayAnalytics/components/PaymentHistory.tsx, pnpm-lock.yaml

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#3393  👈
#3392
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jnsdls and the rest of your teammates on  Graphite

Not sure why the pnpm lock diff is so large


update CONTRIBUTING.md file

Fixes Issue
Closes  #767
Changes proposed
update the content of CONTRIBUTING.md DOC and Clearly mention the Step-by-Step guide for contribution
Please merge my PR under GSSOC 2023

LGTM! Thankyou so much!

can you please attach GSSoC label to it.


Comments about dj.Manual and dj.Computed tables

I've been thinking about the dj.Manual and dj.Computed tables in nwb_datajoint, especially in the context of our CuratedSpikeSorting discussion.
For the Manual entry tables: I believe the main purpose is to be able to refer to the manually-inserted rows from other tables, especially Computed tables. I think that the primary keys for the Manual tables should therefore always be meaningful names that are specified by the user at the time of insertion. That way they can be referred to by those names in downstream tables.
Let's look at a bunch of examples of Manual tables in nwb_datajoint:

class LabMember(dj.Manual):
    definition = """
    lab_member_name: varchar(80)
    ---
    first_name: varchar(200)
    last_nam

Yes, that conforms. Similarly, LabTeam, Institution, and Lab all conform.

class Subject(dj.Manual):
    definition = """
    subject_id: varchar(80)
    ---
    age = NULL: varchar(200)
    description = NULL: varchar(2000)
    genotype = NULL: varchar(2000)
    sex = "U": enum("M", "F", "U")
    species = NULL: varchar(200)
    """

This also confirms (subject_id serves as the name)

class Task(dj.Manual):
    definition = """
     task_name: varchar(80)
     ---
     task_description = NULL: varchar(2000)    # description of this task
     task_type = NULL: varchar(2000)           # type of task
     task_subtype = NULL: varchar(2000)        # subtype of task
     """

This conforms.

class IntervalList(dj.Manual):
    definition = """
    # Time intervals used for analysis
    -> Session
    interval_list_name: varchar(200)  # descriptive name of this interval list
    ---
    valid_times: longblob  # numpy array with start and end times for each interval
    """

This pretty much conforms, noting that Session is referenced via nwb_file_name. Similar for SortInterval

class WaveformParameters(dj.Manual):
    definition = """
    waveform_params_name: varchar(80) # name of waveform extraction parameters
    ---
    waveform_params: blob # a dict of waveform extraction parameters
    """

Yep

class SpikeSorterParameters(dj.Manual):
    definition = """
    sorter: varchar(200)
    sorter_params_name: varchar(200)
    ---
    sorter_params: blob
    """

This pretty much conforms. We can refer to a row by {'sorter': 'mountainsort4', 'sorter_params_name': 'default'}.

class ArtifactRemovedIntervalList(dj.Manual):
    definition = """
    # Stores intervals without detected artifacts.
    # Note that entries can come from either ArtifactDetection() or alternative artifact removal analyses.
    -> Session
    artifact_removed_interval_list_name: varchar(200)
    ---
    artifact_removed_valid_times: longblob
    artifact_times: longblob # np array of artifact intervals
    """

Yes, this pretty much conforms.

Now we come to the exceptions
class SpikeSortingRecordingSelection(dj.Manual):
    definition = """
    # Defines recordings to be sorted
    -> SortGroup
    -> SortInterval
    -> SpikeSortingPreprocessingParameters
    -> LabTeam
    ---
    -> IntervalList
    """

This is different... and it makes the downstream tables cumbersome.

class SpikeSortingSelection(dj.Manual):
    definition = """
    # Table for holding selection of recording and parameters for each spike sorting run
    -> SpikeSortingRecording
    -> SpikeSorterParameters
    -> ArtifactRemovedIntervalList
    ---
    import_path = "": varchar(200)  # optional path to previous curated sorting output
    """

Also different and difficult to work with.

I understand the decision to have separate tables for SpikeSortingRecordingSelection and SpikeSortingRecording, one being Manual and the other being Computed. Similar for SpikeSortingSelection and SpikeSorting. I think that you want SpikeSortingRecording and SpikeSorting to be dj.Computed tables, and you want to be able to call .populate() on them. The populate() function works well when you want to automatically compute all possible rows (parings or tuples between multiple dependent tables). What you are doing here is populating only a sparse subset of the table of all possible rows. One possibility is to use the restrictions argument of populate(), and do away with the *Selection tables altogether (never call populate() without a narrow restriction. That could simplify things. But you would still have the problem of easily referring to these rows for further downstream processing... curation, etc.
What I propose is that you rework these tables as follows:
class SpikeSortingRecordingSelection(dj.Manual):
    definition = """
    # Defines recordings to be sorted
    -> Session
    spike_sorting_recording_name: varchar(200) # Only needs to be unique up to the session
    ---
    -> SortGroup
    -> SortInterval
    -> SpikeSortingPreprocessingParameters
    -> LabTeam
    -> IntervalList
    """

class SpikeSortingRecording(dj.Computed):
    definition = """
    -> SpikeSortingRecordingSelection
    ---
    # Note: you might want to add these in as non-primary keys for convenience
    -> SortGroup
    -> SortInterval
    -> SpikeSortingPreprocessingParameters
    -> LabTeam
    -> IntervalList

    recording_path: varchar(1000)
    # Note sure what this is for:
    -> IntervalList.proj(sort_interval_list_name='interval_list_name')
    """

class SpikeSortingSelection(dj.Manual):
    definition = """
    # Table for holding selection of recording and parameters for each spike sorting run
    -> SpikeSortingRecording
    spike_sorting_name: varchar(200) # Only needs to be unique up to the SpikeSortingRecording
    ---
    -> SpikeSorterParameters
    -> ArtifactRemovedIntervalList
    # I would leave this out:
    import_path = "": varchar(200)  # optional path to previous curated sorting output
    """

class SpikeSorting(dj.Computed):
    definition = """
    -> SpikeSortingSelection
    ---
    # Note: you might want to add these in as non-primary keys for convenience
    -> SpikeSortingRecording
    -> SpikeSorterParameters
    -> ArtifactRemovedIntervalList

    sorting_path: varchar(1000)
    time_of_sort: int   # in Unix time, to the nearest second
    -> AnalysisNwbfile
    units_object_id: varchar(40)   # Object ID for the units in NWB file
    """

I would then recommend having a Manual table for DerivedSpikeSorting (or something), which could hold derived spike sortings obtained by automatic or manual curations. This table would also contain one row for each SpikeSorting row (uncurated). Would look something like this:
class DerivedSpikeSorting(dj.Manual):
    definition = """
    -> SpikeSorting
    derived_spike_sorting_name: varchar(200) # Only needs to be unique up to the SpikeSorting
    ---
    -> SpikeSorting
    ... Other info, including pointer to the spike sorting written to disk.
    """

Rather than memorizing all the names - the user can query the database to see what SpikeSortingRecording's, SpikeSorting's and DerivedSpikeSorting's are available.

Hi Jeremy. Thanks for that thoughtful post.
I fully agree that consistency would be useful, but I don't think unique names can work well from a sociological perspective. The challenge is that any given individual will have hundreds to perhaps a few thousand sortings. Having them be responsible for coming up with unique names will (and I say this from experience) result in incomprehensible labels that even they can't keep track of.
From my perspective one of the main goals of this system is to make things more reproducible and less error prone, and thus even though complex primary keys are a pain, they prevent errors in a way that names do not.
If we had a way to generate unique, meaningful names, I'd be fine with that, or if the names were never used themselves (as would, I think, be the case with the Sortings table) but instead would always be retrieved based on the key, that could also work.
In any case, we're having a group spikesorting meeting today, and I'll make sure we talk about this and get users' perspectives.

@magland. Kyu and I will be meeting shortly and we’ll discuss this, but one quick response:
As far as I understand things, we can’t use the restrictions because we need to be able to flexibly take different combinations of the recordings, sorter parameters, and artifact lists, and the restriction operation assumes that you can code up that combination at the time of the make.
And I’m okay with the idea of a name as an additional primary key, but in practice I think this would be used infrequently. That said, if you think it would be useful for you, then adding it seems like a good idea to me unless we come up with some other problem it would introduce.
On Mar 10, 2022, at 9:40 AM, Jeremy Magland<EMAIL_ADDRESS>wrote:
This Message Is From an External Sender
This message came from outside your organization.
@lfrankhttps://urldefense.com/v3/__https://github.com/lfrank__;!!LQC6Cpwp!_LEiZcThY42g3XruMPYMlvczXQ21n4ziE3mLyiBDM5NFbuuI71RZliZE5htKb-5Wew$ I can see what you are saying regarding the challenge of creating and managing unique names. I will point out that sorting names do not need to be globally unique - just unique up to a given SpikeSortingRecording. I think I must be missing some information about how a user would interact with these tables.
Generally, I don't see the purpose of a manual table if you can't refer to a row by a subset of its attributes. In other words, if you need to specify all the data in the row in order to retrieve the row, why do you need the row. :)
If you do decide to stick with the composite keys as they are now, I would suggest eliminating the SpikeSortingRecordingSelection and SpikeSortingSelection Manual tables and instead always use the restrictions argument when calling populate() on SpikeSortingRecording and SpikeSorting. This would eliminate the Manual tables and you would only have the Computed ones.
The DerivedSpikeSorting (or whatever it's called) table would need to be Manual and I still think you should still consider having that be jointly keyed off of SpikeSorting and a user-specified name. Note that the name only needs to be unique up to the SpikeSorting.
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/LorenFrankLab/nwb_datajoint/issues/158*issuecomment-1064325795__;Iw!!LQC6Cpwp!_LEiZcThY42g3XruMPYMlvczXQ21n4ziE3mLyiBDM5NFbuuI71RZliZE5ht1LQd45w$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ABV4PSLM3QMJRXCLTWNDGE3U7IXZLANCNFSM5QNASV3Q__;!!LQC6Cpwp!_LEiZcThY42g3XruMPYMlvczXQ21n4ziE3mLyiBDM5NFbuuI71RZliZE5hv9JNyUiw$.
Triage notifications on the go with GitHub Mobile for iOShttps://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!LQC6Cpwp!_LEiZcThY42g3XruMPYMlvczXQ21n4ziE3mLyiBDM5NFbuuI71RZliZE5huKKl84og$ or Androidhttps://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!LQC6Cpwp!_LEiZcThY42g3XruMPYMlvczXQ21n4ziE3mLyiBDM5NFbuuI71RZliZE5huZSUqDZw$.
You are receiving this because you were mentioned.

@magland. Kyu and I will be meeting shortly and we’ll discuss this, but one quick response: As far as I understand things, we can’t use the restrictions because we need to be able to flexibly take different combinations of the recordings, sorter parameters, and artifact lists, and the restriction operation assumes that you can code up that combination at the time of the make.

Would the following not work?
SpikeSortingRecording.populate({
    'nwb_file_name': ...,
    'sort_interval_name': ...,
    'sort_group_id': ...,
    'preproc_params_name': ...
})

It would, but if (as is almost guaranteed to happen) an inexperienced user calls SpikeSortingRecording.populate(), then it will automatically generate all possible combinations, which would be hard to clean up. I really want us to avoid those sorts of failure modes if at all possible.
On Mar 10, 2022, at 9:52 AM, Jeremy Magland<EMAIL_ADDRESS>wrote:
This Message Is From an External Sender
This message came from outside your organization.
@maglandhttps://urldefense.com/v3/__https://github.com/magland__;!!LQC6Cpwp!7cZYg9nDdou_L7D-SQkp0buQx3ngdZfAWWBg3vRA7x_Bh55zBfJ23Uaw1J9sOL1iMg$. Kyu and I will be meeting shortly and we’ll discuss this, but one quick response: As far as I understand things, we can’t use the restrictions because we need to be able to flexibly take different combinations of the recordings, sorter parameters, and artifact lists, and the restriction operation assumes that you can code up that combination at the time of the make.
Would the following not work?
SpikeSortingRecording.populate({
'nwb_file_name': ...,
'sort_interval_name': ...,
'sort_group_id': ...,
'preproc_params_name': ...
})
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/LorenFrankLab/nwb_datajoint/issues/158*issuecomment-1064335623__;Iw!!LQC6Cpwp!7cZYg9nDdou_L7D-SQkp0buQx3ngdZfAWWBg3vRA7x_Bh55zBfJ23Uaw1J_oFdeYmg$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ABV4PSI3T4DLIHQE6UJ5WSDU7IZFHANCNFSM5QNASV3Q__;!!LQC6Cpwp!7cZYg9nDdou_L7D-SQkp0buQx3ngdZfAWWBg3vRA7x_Bh55zBfJ23Uaw1J9KEDigww$.
Triage notifications on the go with GitHub Mobile for iOShttps://urldefense.com/v3/__https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!LQC6Cpwp!7cZYg9nDdou_L7D-SQkp0buQx3ngdZfAWWBg3vRA7x_Bh55zBfJ23Uaw1J_Vwpfblg$ or Androidhttps://urldefense.com/v3/__https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!LQC6Cpwp!7cZYg9nDdou_L7D-SQkp0buQx3ngdZfAWWBg3vRA7x_Bh55zBfJ23Uaw1J_6VUUygQ$.
You are receiving this because you were mentioned.

It would, but if (as is almost guaranteed to happen) an inexperienced user calls SpikeSortingRecording.populate(), then it will automatically generate all possible combinations, which would be hard to clean up. I really want us to avoid those sorts of failure modes if at all possible.

Yeah, that makes sense.

I have only three thoughts I would add to this discussion.

I notice the SpikeSortingRecordingSelection and SpikeSortingSelection tables both use a collection of several foreign keys for their (composite) primary key. This is fine, but if you envision any other tables that might have facts about individual SpikeSortingRecordingSelection or SpikeSortingSelection entries, the joins are much easier if you use a surrogate/synthetic key instead, and just use a unique constraint to enforce uniqueness on the set of FKs. I built a system once which had an important table keyed by (DocumentId, DefendantId) and I was kicking myself for years because I had to include both keys on every other table that stored facts about what a particular document said about a particular defendant. (This got especially rough because of the ORM involved, but... I'll spare you the full details.)

For class LabMember, currently keyed by lab member name as PK, sooner or later you may have a problem when multiple lab members have the same name (or when one lab member has two names, or needs to change names).

Class SpikeSorterParameters uses a composite natural key on sorter and sorter_params_name. If it were me, I'd probably make sorters their own table and have a SpikeSorterParameters reference that by key, to avoid data entry errors (or capitalization/character set wonkiness, etc.) that lead to having different parameter sets for MountainSort4 and Mountainsort4.

@magland

Would the following not work?
SpikeSortingRecording.populate({
    'nwb_file_name': ...,
    'sort_interval_name': ...,
    'sort_group_id': ...,
    'preproc_params_name': ...
})

But if you are going to write out all the attributes, then it's not that much more efficient than first inserting the dict in the Selection table and then calling populate from the downstream dj.Computed table. You also lose the flexibility of running populate with various options (e.g. reserve_jobs).
I didn't get your point about using restrictions to call populate without Selection tables. Could you provide an example of an argument to SpikeSortingRecording.populate to generate an entry in it? How would you bring together the information in Session, SortInterval, SortGroup etc?

@jsoules

I notice the SpikeSortingRecordingSelection and SpikeSortingSelection tables both use a collection of several foreign keys for their (composite) primary key. This is fine, but if you envision any other tables that might have facts about individual SpikeSortingRecordingSelection or SpikeSortingSelection entries, the joins are much easier if you use a surrogate/synthetic key instead, and just use a unique constraint to enforce uniqueness on the set of FKs. I built a system once which had an important table keyed by (DocumentId, DefendantId) and I was kicking myself for years because I had to include both keys on every other table that stored facts about what a particular document said about a particular defendant. (This got especially rough because of the ORM involved, but... I'll spare you the full details.)

I see. I'm not too concerned about the joins being difficult yet because I'm not sure how often we will use that operation on SpikeSortingRecordingSelection or SpikeSortingSelection - we would mostly try to keep the different entries separate than to generate new combinations of entries. Then again maybe we will do things that I haven't envisioned yet...

For class LabMember, currently keyed by lab member name as PK, sooner or later you may have a problem when multiple lab members have the same name (or when one lab member has two names, or needs to change names).

Yes, but the thing is, this table is populated directly from an NWB file when it is first ingested into the database (i.e. even though this is a dj.Manual table, entries are not inserted manually but via a function call). The NWB file has the name of the experimenter and it doesn't provide unique IDs. Do you have any suggestions?

Class SpikeSorterParameters uses a composite natural key on sorter and sorter_params_name. If it were me, I'd probably make sorters their own table and have a SpikeSorterParameters reference that by key, to avoid data entry errors (or capitalization/character set wonkiness, etc.) that lead to having different parameter sets for MountainSort4 and Mountainsort4.

That used to be the case (i.e. @lfrank originally made two separate tables: SpikeSorter and SpikeSorterParameters) and I had merged them because it felt unnecessary to have a SpikeSorter table that is just a single column and whose rows were names of different spike sorters. But your point about data entry error had not occurred to me - clearly, @lfrank had the foresight!  I will separate them again.

@jsoules Good points. A few responses

We don't expect to have any other tables referring to the Selection entries, so hopefully that will be okay.
You're right about the LabMember uniqueness, of course, but in practice that's unlikely to be a problem given the sizes of our labs. It may also be a bit late for us to change it given other dependencies, but I'm not certain about that.
Right now the sorters and the parameters are all inserted via a call to spikeinterface, so as long as that returns a single set of values, we're okay. That said, if they change the names of a sorter, it will be added as a new entry, but at that point I think the parameters may have changed as well, so perhaps that's okay.

@magland

For the Manual entry tables: I believe the main purpose is to be able to refer to the manually-inserted rows from other tables, especially Computed tables. I think that the primary keys for the Manual tables should therefore always be meaningful names that are specified by the user at the time of insertion. That way they can be referred to by those names in downstream tables.

I'm not sure that is the main purpose. dj.Manual tables are just tables that hold information that come from outside of the database. In fact we don't even need to enter information manually - using a function call is a totally valid use case. See https://docs.datajoint.org/python/definition/12-Example.html?highlight=manual
As such, I don't think we have to impose such discipline upon ourselves to always have the primary keys of dj.Manual tables to be meaningful names. As far as I can see, they just need to be valid primary keys. Of course, that doesn't mean that we shouldn't have such a rule: maybe it is a good idea.
I think you prefer meaningful names because the user has to refer to them downstream. But I actually think that a name is more confusing to a user than a set of composite keys. As @lfrank points out, I'm most definitely going to forget what I meant by good_sorting1 in 6 months. To make sense of it, I will have to inspect all the other keys. I will then realize that it refers to a particular spike sorting on a particular NWB file, using a particular set of parameters. In that case, isn't it more natural to just use those attributes as the primary key? One useful rule of thumb might be to imagine that a new graduate student comes into the lab and decides to pick up where someone left off in the analysis pipeline of our datajoint database. If that person will be confused by something, that shouldn't be used to uniquely define an entry.
That means the user will basically have to carry around a dict containing all the attributes that she needs to interact with the database (chances are, the user will first make a general query about a particular NWB file, and then use intersection to gradually narrow it down). That's not as easy as just using a name. But I think clarity and completeness should trump convenience for referencing in this case (or at least that was the impression that I got from @lfrank).
As for what attributes to include in the CuratedSpikeSorting table (yes, that's the name we're going to use!), @lfrank and I had a discussion today to improve the way one can use and refer to it without being forced to come up with a unique name. I will post a comment in #152.

Regarding the selection tables--it probably won't impact you if you don't intend to add additional tables that have foreign keys to them. Just want to make sure you're aware that the composite primary key sort of compounds--if you look at the __spike_sorting_recording table (the computed one), its PK is now a tuple of (nwb_file_name, sort_group_id, sort_interval_name, preproc_params_name, recording_id) with the first 4 fields automatically added because of the FK to SpikeSortingRecordingSelection. If you have tables describing recordings (like, say, a table that tracks which recordings are published; or annotations of recordings like "used in XYZ study", or "features significant drift," etc.) those tables will in turn pull in all five fields with a single FK to SpikeSortingRecording. You get the idea.
I mention only because DataJoint is effective at hiding this stuff, so it might not be obvious that it's happening. Though by the same token, you may not need to care, since DJ is taking care of it.
For LabMember, I imagine the more likely scenario is that someone's name changes, or they're referenced under different names (as someone who goes by my middle name, I'm particularly sensitive to this). But if you're importing from a file anyway, the file import won't know that different names refer to the same person, so you'd still wind up with duplicate records (which you then couldn't correct, since DataJoint doesn't believe in updates). So yes, no reason to mess with this now!
Just a note for @khl02007, I'd imagined the table of sorter names would have a surrogate key (so two columns). But it sounds like everybody's cool with how it works now, so it's a moot point anyway :)

@magland

Just one clarification -- I was proposing that the sorting name is only unique up to the SpikeSortingRecording. So if there was a sorting with name 'good_sorting1' you wouldn't have to wonder what nwb file it came from because the sorting name is not the entire key. It is just part of the key that distinguishes it from other sortings performed on the same SpikeSortingRecording. Without the name, you would need to just query to get a list of all the sortings performed and then inspect all the parameters by eye to see which is the one you wanted.

Oh I see, sorry I missed this important point (which I now see that you have made several times in this discussion - clearly I should read more carefully!). In that case I have absolutely no problem with it. I think in some cases (like your example of SpikeSortingRecording) we definitely need an extra attribute to identify a sorting, and the primary key could be FK from an upstream table + a unique name as you suggested.
I spent some time reading the Datajoint documentation about what they recommend for primary keys, and found this (quoting relevant parts below, full link here):

All integer types, dates, timestamps, and short character strings make good primary key attributes. Character strings are somewhat less suitable because they can be long and because they may have invisible trailing spaces... The primary key may be composite, i.e. comprising several attributes. In DataJoint, hierarchical designs often produce tables whose primary keys comprise many attributes...
A primary key comprising real-world attributes is a good choice when such real-world attributes are already properly and permanently assigned...
Your lab must maintain a system for uniquely identifying important entities. For example, experiment subjects and experiment protocols must have unique IDs. Use these as the primary keys in the corresponding tables in your DataJoint databases...

Then it goes on to discuss using hashes and smallint with auto_increment (which @jsoules has suggested previously) as PK.
Given this, I'm inclined to use as the PK for CuratedSpikeSorting table (#152) the FK from SpikeSorting and an integer ID that auto increments (sortings definitely count as 'important entities'). The ID obviously is not as descriptive as a name, but it conveys the order in which the entries for a given sorting has been added (it is unique up to a sorting as you say); e.g. the one with max ID would be the one that was added most recently, so the user can pick that out for downstream analysis. I will also add a column (maybe called notes) that the user can use to provide some more description about the sorting. How does that sound?

@khl02007 One snag; I believe you can only use auto_increment in a non-composite primary key (the bottom of https://docs.datajoint.org/python/v0.11/definition/07-Primary-Key.html is the reference there but I'm not sure if I'm looking at the most recent version). If you wish to have (system-managed) auto-increment behavior, you probably need to take the FK to SpikeSorting out of the PK section and make it part of the rest of the record. (The rest of the logic is unchanged.)
Otherwise I think this is a great solution.


del this

WIP example of https://github.com/equinix/terraform-provider-equinix/issues/365
PR only created for the GH view.

@ocobles this branch introduces too much change. We'd like to migrate resources one at a time (or establish the pattern first before moving all).
Could the necessary changes be made to a simpler Framework introducing PR, like https://github.com/equinix/terraform-provider-equinix/pull/406?


Vue 3 and Axios Loading State Issue

Vue version
3.4.31
Link to minimal reproduction
https://github.com/riz007/vuetify-3-6-13-issue
Steps to reproduce

Set Up the Project
Ensure your Vue 3 project is set up with Vuetify, Axios, and configured correctly with the provided Parent.vue, Child.vue, App.vue, and vite.config.js files.

Add Routing
Set up Vue Router to navigate to the Parent component. Ensure you can navigate to the Parent component using router.push('/parent').

Navigate to Parent Page
Use Vue Router to navigate to the Parent component by calling router.push('/parent').

Observe Loading State

When navigating to the Parent component, the isLoading state in the Parent component should be initially set to true.
The Child component should display a loading spinner (v-progress-circular) while isLoading is true.

Perform Data Fetch

The Parent component should make an HTTP request to fetch data using Axios when mounted.
After the data is successfully fetched, isLoading should be set to false.

Check Data Display

Once isLoading is false, the Child component should update to show the fetched data and display the message "Data loaded properly".

What is expected?

Navigation: When navigating to the Parent component using router.push, the Child component should display a loading spinner while data is being fetched.
Loading State: The loading spinner should be visible while isLoading is true.
Data Display: After the data is fetched, isLoading should be set to false, and the Child component should display the fetched data along with the message "Data loaded properly".

What is actually happening?

Navigation Issue: The Child component does not update the loading spinner correctly when navigating to the Parent component using router.push.
Loading State: The loading spinner may not be displayed as expected when navigating to the Parent component.
Data Display: The Child component might not show the fetched data correctly after isLoading is set to false, especially if the issue persists with router.push.

System Info
**Vuetify Version:** 3.6.13
**Vue Version:** 3.4.31
**Browsers:** Chrome <IP_ADDRESS>
**OS:** Mac OS 10.15.7

Any additional comments?

This behavior appeared only after bumping to Vuetify's latest version. Could be related to Vue 3's reactivity system but I am not sure.
Wrapping the child component in a <div> should not be necessary for reactivity to work correctly.
Further investigation is required to understand the root cause.

Let's track it in #11617 since it has a minimal reproduction without any 3rd party libs.

@rizypb btw it would have been nice if you included the feedback from https://github.com/vuetifyjs/vuetify/issues/20256 in your issue here instead of copy pasting the issue you submitted to vuetify

Already added the feedback @Disservin


Strange checkbox rendering in ActionList with shape-rendering: crispedges; in Chrome

Describe the bug
After upgrading to the latest version of primer/react in the new Projects experience, I noticed that the checkboxes look strange

I believe that this is due to the fact that the checkboxes are now using a <rect /> for the checkbox as of:
https://github.com/primer/react/commit/250e4b00f4d996b6125d381bae2487b57156687c#diff-008c41e7105eb2bb0be2768425e46a21944dcbffc988ca984f91d3d11d280efdR339-R348
Now that we're using a <rect /> there, in projects, which is hosted in github.com and will have all the css from github.com in its stylesheet, those icons are getting affected by a global style rule:
rect {
    shape-rendering: crispedges;
}

In MacOS + Chrome, on a non-retina display, the checkboxes are rendered like the screenshot above. In other environments (or if I move the browser window to my laptop's display), the checkboxes are rendered normally. Also, if I add a style rule of:
rect {
    shape-rendering: auto;
}

the checkboxes look how I would expect.
I can reproduce in the PRC storybook, by manually adding that rule (the bottom checkbox has crispedges the top does not`):

We could come up with a projects-specific fix, but that would mean that other consumers of PRC that are hosted in the github.com environment might have to come up with a similar fix, so I wasn't sure if it was worth it to add something like shape-rendering: auto to the component in PRC (if that is indeed the correct fix).

This is the global declaration in github.com in commit-acitivity.scss#L17:
rect {
  shape-rendering: crispedges;

  &.max {
    fill: var(--color-attention-fg);
  }
}

This feels like a global scope creep? I want to say this isn't intentional and probably needs to be scoped 🤔
If we can't move that rule, we can absorb that into primer with shape-rendering: auto in the component as a workaround/hot-fix.
cc: @simurai Can i get your thoughts on this?

@siddharthkp Based on the PR https://github.com/github/github/pull/2373 where it was added, I think initially it was meant for those Insights graphs? E.g. making those bars in https://github.com/primer/react/graphs/commit-activity look sharp:

Yeah, would be great to limit the scope a bit. Hard to say, but maybe to g.bar rect. Or the more generic .graphs rect. I'll add it to our backlog. 👍

@simurai Thanks! How do we test visual regressions in github .com that might result from this?

There were talks about visual regression testing in the past few years. But as of today it's still a manual process:

Deploy to review-lab
Click around to see if something looks off

I know, it sounds a bit tedious and risky... and it is.

We have considered various approaches to this in https://github.com/github/design-infrastructure/issues/29, and I've been doing some investigations into ways of snapshotting computed styles for parts of the DOM, albeit in a very experimental fashion.
@siddharthkp how do you think we might test for visual regressions?

@joelhawksley For primer libraries or applications like github.com?
For primer/react, I am adding chromatic which works by screenshotting each story in storybook and comparing it with the previous snapshot (https://github.com/primer/react/pull/1683)
A similar flow would work nicely for primer-css as well.


Getting Error and can't build

I keep getting this error from VS when I try to build it even after rebuilding the project.
Exception thrown at 0x000001F63219DE40 in hololens4.exe: 0xC0000005: Access violation executing location 0x000001F63219DE40.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 97b7f65b-2300-1e88-3072-5ecc28e5a8e5
Version Independent ID: 2089610b-9581-ea9b-11c5-7be97e53c584
Content: Getting started with Azure Spatial Anchors - Mixed Reality
Content Source: mixed-reality-docs/mr-dev-docs/develop/unity/tutorials/mr-learning-asa-02.md
Product: mixed-reality
Technology: mr-dev
GitHub Login: @jessemcculloch
Microsoft Alias: jemccull

@mr0ng Can you or the team assist?

@hferrone We tried reproducing this issue on our end and it is working fine for us.
We are looking Into other ways to reproduce the issue.
@jared-goering Could you please let me know which version of unity and VS you are using?

@jared-goering please use Unity 2019.4.16f, MRTK 2.5.1, and VS 2019.

Hello, yesterday  i noticed the usage of certain MRTK Prefabs is causing the same issue as well. For example, the Slate Prefab will break the Build, while the NearMenu does not.

@hferrone I removed the DebugWindow Prefab from the scene, now the deploy works.

@AvaThalheim hmmmm, that would fall under an MRTK issue then - could you file one here: https://github.com/microsoft/MixedRealityToolkit-Unity/issues


[19] Users can see a start page for the planning journey

Changes in this PR
The service throws away the home page that comes from the Rails Template and replaces it with most (see commit) of the copy from the alpha. The page on the prototype can be found here.
We create a new static page with HighVoltage rather than a controller since it seems a better fit for static content.
We have a card focused on addressing the styling so this work doesn't address styling considerations.
Screenshots of UI changes
Before

After

@jacksonj04 found another small thing on my way past https://github.com/DFE-Digital/buy-for-your-school/pull/4/commits/33bfa5b94abf7c65519186d528342f6a4296913d


没有mac 版本吗?

Checklist

[X] I've searched for similar issues and couldn't find anything matching
[X] I've discussed this feature request in the OpenIMSDK Slack and got positive feedback

Is this feature request related to a problem?
None
Problem Description

Solution Description
没有mac 版本吗?
Benefits
没有mac 版本吗?
Potential Drawbacks
No response
Additional Information
No response

Same question。


Add merge chance badge to README.md

Awesome stream!

I have just realized that I messed up the badge name, should be 'Merge chance' or something similar, but I left it as 'Custom badge'. I am now considering moving to the woods and living my life in solitude with my eternal shame as my only companion.
The words of a famous poet sum up my doings quite well:
I just came to f*** a b****
and skip over the dinner date.
I was trying to be first so bad, I messed up. But since the PR after mine fixes my mistake, you could make the day of two people instead of one and keep your Merge chance high.
The streams are really dope, keep 'em coming, we'll keep watching.
Thanks, bye!

I have just realized that I messed up the badge name, should be 'Merge chance' or something similar, but I left it as 'Custom badge'. I am now considering moving to the woods and living my life in solitude with my eternal shame as my only companion.
The words of a famous poet sum up my doings quite well:
I just came to f*** a b****
and skip over the dinner date.
I was trying to be first so bad, I messed up. But since the PR after mine fixes my mistake, you could make the day of two people instead of one and keep your Merge chance high.
The streams are really dope, keep 'em coming, we'll keep watching.
Thanks, bye!

See https://github.com/commaai/openpilot/pull/19713#issuecomment-757874285

See https://github.com/commaai/openpilot/pull/19713#issuecomment-757874285


Match Figma Design (User Profile)

Corrected some styles for the User Profile page.
Changed the p tag to a div tag because the global p tag styles font-weight is 500 and almost all elements that have 500 font-weight on Figma are 400 on the actual site.

I'll close this as I'm currently changing all p tags to not use that font weight


Removed limit for MouseHighlighter Animation Duration and Animation D…

…elay.
(If user sets these values to 0ms, it will actually be set to 1ms to avoid crashing the app)

Summary of the Pull Request

PR Checklist

[x] Closes: #14711
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

I made this a draft because I don't know if my hack to avoid the fader not working is allowed or not. When I tested this solution with both Fade Duration and Fade Delay set to 0, it worked as intended (except that it's actually 1ms instead of the displayed 0)

Why would it crash with zero in the first place?

Why would it crash with zero in the first place?

I haven't been able to figure that out yet. Looking into it now.

Why would it crash with zero in the first place?

Okay, so I'm not entirely sure what I'm looking at. This is from _msvc_chrono.hpp

And this is from the MouseHighlighter.cpp file. Does this mean (sorry if my question is dumb) that the duration can't be 0 because we use std::chrono?

"period negative or zero" seems to be the reason. An animation that takes no time, would technically not be an animation.

"period negative or zero" seems to be the reason. An animation that takes no time, would technically not be an animation.

That's my interpretation as well. Then the question becomes, should I keep my hack or set the lower limit to 1ms? I can't really see another way of resolving the issue.

"period negative or zero" seems to be the reason. An animation that takes no time, would technically not be an animation.

That's my interpretation as well. Then the question becomes, should I keep my hack or set the lower limit to 1ms? I can't really see another way of resolving the issue.

I think the best thing is setting it to 1. If we can't crash on a json value of zero or negative int you can remove the hack. Otherwise we should keep it.

With the value limited to 1, I don't crash when I test locally. Removed the hack and set the lower limits to 1. If everything looks good, If we all agree that this is the best course of action, I believe this one is ready.

I do agree the "101" issue isn't pretty. If it were me, I would go for the work-around in code. But that's just me, or us 3. Maybe another opinion would be good.

I do agree the "101" issue isn't pretty. If it were me, I would go for the work-around in code. But that's just me, or us 3. Maybe another opinion would be good.

I think it's confusing if for a user if he/she sets 0 and it acts as 1. I would mark it as ready and wait on feedback from the core team.

There is nobody who could possibly detect an animation of one millisecond.

Another option is to have the lower limit set to 1, and add a conditional that makes LargeChange and SmallChange 99 and 9 respectively if it's set to 1. What do you think about such a solution?

Another option is to have the lower limit set to 1, and add a conditional that makes LargeChange and SmallChange 99 and 9 respectively if it's set to 1. What do you think about such a solution?

Wayyy too complicated. I suggest to go with your first solution and (in code) treat zero as one. We're dealing with milliseconds here, not seconds...

Another option is to have the lower limit set to 1, and add a conditional that makes LargeChange and SmallChange 99 and 9 respectively if it's set to 1. What do you think about such a solution?

Wayyy too complicated. I suggest to go with your first solution and (in code) treat zero as one. We're dealing with milliseconds here, not seconds...

True. That would be overengineering a simple problem. Okay. I'll add the workaround again, and then let the core team have the final say.


how to compile a library project ?

if we describe a library project through a cproject.yml, how can we generate the binary today ?

Example:
---
# csolution.yml
solution:
  compiler: AC6
  packs:
     - pack: ARM::CMSIS
  projects:
    - project: library.cproject.yml
    - project: app.cproject.yml

---
# library.cproject.yml
project:
  device: ARMCM0
  output-type: lib
  components:
    - component: ARM::CMSIS:CORE
  groups:
    - group: Files
      files:
        - file: library.c
        - file: interface.h

---
# app.cproject.yml
project:
  device: ARMCM0
  output-type: exe
  groups:
    - group: Files
      files:
        - file: main.c
        - file: interface.h
        - file: $Output(library)$.lib

Command line to convert and build this solution:
csolution -s csolution.yml convert && cbuild library.cprj && cbuild app.cprj

@fred-r, does the above answer your question. Can this be closed?

no further activity. Hence closing


[DATA-850] Add Support for More Banks

This pull request updates the Bank Enums with the Banks currently supported by Decide

Banks Added: ALAT, ECOBANK, FCMB, FIDELITY,  GLOBUS, KEYSTONE, KUDA, PROVIDUS, POLARIS, STANBIC, STERLING, UBA, UNITY, UNION

Attempts to close
DATA-850
DATA-851


gdk4-wayland: Use wayland_client::Display instead of a display proxy

I can't figure out how this is supposed to work without this, the display proxy seems useless since you can't bind any globals on it?

Are the other wayland-crate related functions correct as well?

Yes, this is the only one that needs a special handling in wayland-client.

On a side note, I don't see how we can ever upgrade to wayland-client-0.30, the C API compatibility is gone from there

Thanks!


Suddenly have unknown device

I followed your guide and used your tool, but randomly I get this now under Windows device manager:

I also noticed this:

is this normal?

@micahmo There is all to see on the screenshots even if it s not English.
Unknown device. And the other information are non relevant in non English.

Unknown device

Thanks for the translation! I looked in my device manager, and I have the same entry. Actually, I have 5, most likely because I'm constantly uninstalling and reinstalling for testing. 😆

So to answer your original question, "is this normal?", I would say yes. Not being a developer of WireGuard itself, I can't say for sure what these entries represent, but they may correspond to the virtual adapters that WG creates. If you want to be sure that it's created by WireGuard and not WS4W, you can install just WireGuard on a clean system (although I'm guessing these entries may not appear until you create the tunnel service with wireguard /installtunnelservice server.conf). If you do confirm that it's solely from WireGuard, you're welcome to ask more details through any of their official channels.

how cant you know this?

Well, no one knows everything. 😆 Believe it or not, I'd neither seen that Device Manager entry nor navigated to the WireGuard about page via the system tray icon (interestingly, I couldn't locate the about page through the main UI window).

wg device windows device manager and wg systray?

Thank you, I found both screens with your help. Unfortunately, none of my device entries have a driver version.

But again, this kind of difference is not unheard of. The one in Device Manager looks like a Windows DLL version number, while the one in the app looks like semver.

"So to answer your original question, "is this normal?", I would say yes."
No. totally not normal. This is not normal. There is some problem going on that the WG creates broken devices. I dont see this issue though with normal WG installation just by using your tool. So it seems to be related.
"Thank you, I found both screens with your help. " of course not youre looking for the broken unknown device. Look under network adapters where the working WG device is.


TSQL has a declare keyword

https://msdn.microsoft.com/en-us/library/ms189822.aspx

Thanks! Merged as 7ea815d


Multicast source address affected by weave expose

I have a small demo program that prints the hostname and source address of other multicasters.
host1$ weave launch <IP_ADDRESS>
host2$ weave launch <IP_ADDRESS>
host1$ weave run --name=c1 bboreham/mweb
host2$ weave run --name=c2 bboreham/mweb
host1$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c1`:8080
c1.weave.local <IP_ADDRESS>:57206
c2.weave.local <IP_ADDRESS>:45872
host2$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c2`:8080
c1.weave.local <IP_ADDRESS>:57206
c2.weave.local <IP_ADDRESS>:45872

So far so good.  Run weave expose, and nothing changes:
host1$ weave expose
<IP_ADDRESS>
host1$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c1`:8080
c1.weave.local <IP_ADDRESS>:57206
c2.weave.local <IP_ADDRESS>:45872

But now run a new container:
host1$ weave run --name=c3 bboreham/mweb
266568a679e4252f75a9617ea67ecb2fab610f5e6ae139018ec1edf0e273cf2f
host1$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c1`:8080
c1.weave.local <IP_ADDRESS>:57206
c2.weave.local <IP_ADDRESS>:45872
c3.weave.local <IP_ADDRESS>:53622

so now c3 is being reported at the weave expose address.  Same on the other host:
host2$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c2`:8080
c2.weave.local <IP_ADDRESS>:45872
c3.weave.local <IP_ADDRESS>:53622
c1.weave.local <IP_ADDRESS>:57206

weave hide puts it back to normal again:
host1$ weave hide
<IP_ADDRESS>
host1$ curl `docker inspect -f {{.NetworkSettings.IPAddress}} c1`:8080
c1.weave.local <IP_ADDRESS>:57206
c2.weave.local <IP_ADDRESS>:45872
c3.weave.local <IP_ADDRESS>:53622

Compare #605

Fixed by #2158


Search on Mobile

I started typing in search on mobile. And got this
Browser metadata
Path:      /
Browser:   Mobile Safari 17.4.1 on iOS 17.4.1
Viewport:  393 x 659 @3x
Language:  en-US
Cookies:   Disabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved
Originally posted by @azadikoff in https://github.com/decentdao/fractal-interface/issues/1578#issuecomment-2101013660

@azadikoff your feedback here consisted only of the line "I started typing in search on mobile. And got this".
Is there a screenshot or video that goes along with this? If so, please recreate and update this issue.

Correct, merged and fixed


Feature/two mode sociogram

Enables protocol validation features for two-mode sociograms:

[x] Allows subject to be a collection on sociogram stages
[x] Adds a restrict object to prompts[].edges that constrains edge creation
[x] Extends sortOrder definition to allow sortOrder.property to be an object keyed by node type.
- [ ] TODO: validate types and variables of above not possible with JSON schema currently
[x] Extends prompt.layout.layoutVariable to support being an object keyed by node type

[ ] TODO: validate types and variables of above

See https://github.com/complexdatacollective/Interviewer/pull/1212#issuecomment-1310825024


Default minVersion: iOS => 8.3, watchOS => 2.0

Helps with avoiding #482

@ph1lb4 - this should help you avoid this problem in the future

Thanks! We did set it by hand in the meantime which also worked fine.

v0.6.0 of the plugin has been published, please try this out and report back any issues


videos of .avi format play unexpectedly fast.

I tested with master/examples/sample_player.py, and I am not sure what the problem is. Something about threads?
Python: 3.7.13
Package                   Version

altgraph                  0.17.2
astroid                   2.3.3
autopep8                  1.4.4
av                        9.2.0
certifi                   2022.6.15
colorama                  0.4.1
entrypoints               0.3
flake8                    3.7.9
future                    0.18.2
imageio                   2.19.3
imageio-ffmpeg            0.4.7
importlib-metadata        4.12.0
isort                     4.3.21
lazy-object-proxy         1.4.3
mccabe                    0.6.1
numpy                     1.21.6
pandas                    1.3.5
pefile                    2022.5.30
Pillow                    9.2.0
pip                       21.2.4
pycodestyle               2.5.0
pyflakes                  2.1.1
pyinstaller               5.2
pyinstaller-hooks-contrib 2022.8
pylint                    2.4.3
python-dateutil           2.8.2
pytz                      2022.1
pywin32-ctypes            0.2.0
setuptools                61.2.0
six                       1.16.0
tkvideoplayer             2.2
typed-ast                 1.4.0
typing_extensions         4.3.0
wheel                     0.37.1
wincertstore              0.2
wrapt                     1.11.2
zipp                      3.8.0
msvd-vid1.zip

Hi @hdchieh,  Can you provide me with more information on what error you get? copy paste the complete error traceback so I can tell you what is wrong. Thank you. (Note: if your working with python IDLE editor the editors mainloop might interfere with the programs mainloop sometimes causing errors. Its not really recommended to use the default IDLE editor, try vscode or some other)

In my project, it fixed with stopwatch.
Compare PyAV's Frame.time and stopwatch time.
And decide skip frame or wait or process normally.

@maru0123-2004 Would you mind testing the latest version from here: pip install -i https://test.pypi.org/simple/ tkvideoplayer==2.3 . it's currently uploaded to test pypi so we can test. Can you let me know the results?

I test that.
I can play mp4 file.(but I think it may be fast.)

Hi @hdchieh, Can you check this other issue out #9 (comment), and let me know if its the same issue. Thank you.

It's working. Thanks.


[RFE] Support to optionally add watches during the testing

Is your feature request related to a problem? Please describe.
Kubernetes supports efficient change notifications on resources via watches. Several k8s applications leverage them, i.e.: ArgoCD, Knative, etc. Watches are known to add load to KAPI in some scenarios.
Describe the solution you'd like
While kube-burner creates a watch for all the pods that are created during the testing, it would be nice to be able to optionally create additional watches for a number of resources (i.e.: namespaces with certain labels).
cc @williamcaban @smalleni @Noreen21

Hey @josecastillolema , can you provide an example of what exactly are you going to get with this feature? is this related to create load in the API by adding watchers to some subset of objects?

Exactly, @williamcaban was mentioning that some watchers are known to cause a severe overhead on KAPI resource consumption.

For more context, two actions are known to stress the K8s API: WATCH and LIST. In both cases, any K8s with a version < 1.30 (where we should see some fixes with API streaming). In the case of many LIST requests (which is what an application like Argo, or an audit tool does), it forces the API server to allocate enough memory to build the structure in memory to represent all the objects requested by the LIST action, which can be equivalent to all objects in etcd when is a LIST of all the objects in the cluster, to generate the answer to that request. Because of this, when a cluster has multiple applications or agents with regular large LIST requests, it tries to allocate all the available memory to the point where the control plane node resources are exhausted. There are features like APF that can indirectly help. The intent is to be able to replicate these unfavorable conditions to determine scalability, recoverability, and stability, which we can maintain in the control plane under stress.
In the case of WATCH, it directly impacts the scalability of how many Operators or custom controllers the system can handle. The intent of generating a WATCH load condition is to measure operator scalability, and stability under stressed conditions, etc.
At the end, having both of these, WATCH and LIST, would also allow us to replicate conditions to the control plane that otherwise will require instantiating large number of workloads requiring large number of worker nodes (e.g., 8k Tekton pipelines, or 100 instances of Argo) when the fact is we need to generate the WATCH and LIST load, not to install the applications and create applications trying to achieve the same goal.


How to customize header and footer layout ?

@marcus02219 Closing this for now. If you have any specific issue, feel free to reopen.


Auto-indent on paste misbehaviour (javascript): next line after "if" statement w/o braces

if (true)
  a = b
  return

"Return" should have the same indent as "if"

I believe this is a duplicate of https://github.com/atom/language-javascript/issues/51

Thanks!


Co549 fix ldap connection

Merging into 3.12.X branch. I'll open the master PR in a second.
@gfiorav CR this, please.
@azamorano, try this at the "staging" environment, please.
cc @javisantana

Tests are ok in the "staging" environment.

📦 it!

Retest this, please.

FYI I'll merge this and #7166 as soon as I get positive feedback from the users needing the change.

Can one of the admins verify this patch?

@danicarrion This is the branch where you can commit the final patch. Great work BTW! 💪

please review, my ruby skills are quite limited. also, I guess part of the existing code on that file can be removed / updated based on the changes I made. is it worth checking?

@azamorano it'd be great if you could test this with an ActiveRecord instance. If you can't, let me know and I'll test it with the OpenLDAP server I have.

I've stopped the Onpremises test task, because it was hanged after 5 hours (sorry).

Retest this, please.

Tests are now passing for the master branch (#7166) and I've tested this locally with ActiveDirectory 2012 and it works. Closing as soon as I get your +1, @azamorano .

Retest this, please.

Retest this, please.

Retest this please.

retest this please

Retest this, please.

:+1:

Closing this and CartoDB/cartodb#7166 after talking to @azamorano and checking that this also works for OpenLDAP.


Luci-mod-status : port status doesn't display all eth ports (x86/64)

Steps to reproduce:
Use an x86/64 mini PC with 4 eth ports
go to: Status → Overview → Port status
Actual behavior:
Only eth0 and eth1 are displayed.
Expected behavior:
4 eth ports should be displayed (eth0 to eth3)
Additional Information:
Brand : Qotom
Model | INTEL Corporation Q3XXG4-P
Architecture | Intel(R) Core(TM) i3-5005U CPU @ 2.00GHz
Target Platform | x86/64
Firmware Version | OpenWrt SNAPSHOT r23659-e6b72de703 / LuCI Master git-23.158.78004-23a246e
Kernel Version | 5.15.123
Luci-mod-status  | git-23.210.72211-00a941e
NICs are Intel I211 gigabit network

Known issue, it only enumerates ports in /etc/board.json, add them there and they will appear.

Understood.
So I assume that /etc/board.json is fed by default with only eth0 and eth1, the strict minimum for a router to operate.

Understood.
So I assume that /etc/board.json is fed by default with only eth0 and eth1, the strict minimum for a router to operate.

I manage to add extra eth ports to /etc/board.json
"network": {
		"lan": {
			"ports": ["eth0", "eth1", "eth2"],
			"protocol": "static"
		},
		"wan": {
			"device": "eth3",
			"protocol": "dhcp"
		}
	}


feat(notification): Add clicked status when user open notification

:tada: This PR is included in version 1.34.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add License template

Add license template to add to new repositories

Since it is added by default, a template is not needed! Closing :D


broken link in java tutorial

Java tutorial: "Build a Spring Boot App with User Authentication" is no longer available
Current Behavior
The link https://scotch.io/tutorials/build-a-spring-boot-app-with-user-authentication is currently unavailable.
It looks like the author no longer maintains the website.
Possible Solution
found some kind of placeholder site for the tutorials in that domain.
http://<IP_ADDRESS>/tutorials/build-an-ionic-app-with-user-authentication

If this is not assigned to anyone, I would like to work on it.

Found something here: Morioh

Here is a good example app: OAuth 2.0 Java Guide

In both link none of them are working correctly.

Can I please work on this

Keen to contribute and learn, feel free to assign to me. Thanks!


Get identity properties from data source

Enabling system-assigned identity on already existing automation account gives the following error:
╷
│ Error: Provider produced inconsistent final plan
│
│ When expanding the plan for
│ module.monitor.azurerm_role_assignment.automation_account to include new
│ values learned so far during apply, provider
│ "registry.terraform.io/hashicorp/azurerm" produced an invalid new value for
│ .principal_id: was cty.StringVal(""), but now
│ cty.StringVal("01fb0ecf-62ea-47a6-b3cc-e73b9966bd9c").
│
│ This is a bug in the provider, which should be reported in the provider's
│ own issue tracker.
╵

Similar to in SQL module: https://github.com/equinor/terraform-azurerm-sql/blob/0202c48f358a8f31165995bbb1583d03361d1ffc/main.tf#L132

@hknutsen Add link in code to documentation.


The problem about ./detector/main.py

@wentaozhu
When I ran./detector/main.py, the following error was reported:
Traceback (most recent call last):
File "main.py", line 390, in
main()
File "main.py", line 70, in main
model = import_module(args.model)
File "/home/user/anaconda3/envs/mhqtf/lib/python3.5/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 985, in _gcd_import
File "", line 968, in _find_and_load
File "", line 955, in _find_and_load_unlocked
ImportError: No module named 'base'
My cudn version is 7.5, is it related to the cudn version？

I used Python 2. Maybe you can have a try.

Ok, thanks for your advice！

@wentaozhu
Dear teacher,
When I replaced python2.7 and ran./detector/main.py, the following error was reported:
Traceback (most recent call last):
File "main.py", line 391, in
main()
File "main.py", line 71, in main
config, net, loss, get_pbb = model.get_model()
AttributeError: 'module' object has no attribute 'get_model'
Is the problem caused by a build error in the running environment？

You should run the ./run_training.sh file


fatal error: 'fst/log.h' file not found when building android binary

Hi,
I was trying to build the android binary and apk following the instruction here WeNet On-device ASR Android Demo.
When I executed the following scripts,
cd runtime/device/android/wenet
./gradlew build

I got the missing fst/log.h errors as follows.

Can someone help on this?

I have the same problem.

I have the same problem too.

@yh8899 @wangbq18 The issue has been fixed in branch zhendong-android-openfst. I have tested it and it works well.

@yh8899 @wangbq18 The issue has been fixed in branch zhendong-android-openfst. I have tested it and it works well.

Thanks.


Implement dense retrieval

Currently done on tsne projections of flavourgraph - euclidian distance has to be used, i am pretty sure one can train it and get better results


Document when a session gets removed from cache

Document the fact that if a session is not closed down cleanly then the
session gets removed from the cache and marked as non-resumable.
Fixes #4720

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Pushed. Thanks.


Update input_binding_get_name.gml

more keycodes

Thanks for your contribution!
Looking at renaming "windows" to "left meta", it occurs to me that there should be some way for users to limit what keyboard keys are considered valid inputs. It's possible to do this with a post-hoc check against the generating binding but that's a pain.

at some point i dumped you a bunch of keyboard-quirks specific workaround code for the runtime on each pc platform.. if it's in scope i'll think about investigating if/where it belongs in input. mostly to do with os conditions that result in stuck and/or buffered keys given particular keyboard combos and window operations


Direct query fetching the Stored procedures with parameters in power BI

[Enter feedback here]
---Can you tell us how to get the Stored procedures using parameters in SQL server. How to get those Stored Procedures in the PowerBI using Direct Query?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 563a1b09-bcdc-2638-d9a0-6801b44d3cb0
Version Independent ID: dea2c705-c2f7-3f2d-798b-ee41857e0ca2
Content: Use DirectQuery in Power BI Desktop - Power BI
Content Source: powerbi-docs/connect-data/desktop-use-directquery.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @ArunNitin. This issue has been assigned to the doc author for review.

Thanks for your comment. This looks like a support request rather than documentation feedback. You might find a solution in the Power BI Community, found at https://community.powerbi.com. If not, you can get support by going to https://support.powerbi.com.


MM-19966 Fixed Notification Settings

####Summary
Fixed the save functionality for props. There was a change to combine notification settings that then did a deep comparison on two like objects. This change makes the comparison of the newly changed notification props and the previous props.
####Ticket Link
https://mattermost.atlassian.net/browse/MM-19966
####Device Information
This PR was tested on:
iPhone X 12.4 (Simulator)
Android Pixel API 29 (Simulator)

Can you please add a unit test for this function?

@enahum there is already a test for this function, "should include previous notification props when saving new ones" which covers the test case this fix resolves.

Clearly the test was not appropriate as it wasn’t failing before, so I don’t trust the current test

Clearly the test was not appropriate as it wasn’t failing before, so I don’t trust the current test

Got it, I'm looking into how to better write this unit test, thanks @enahum!

@imisshtml any progress on this one? we need to have it fixed by today


Can't multiple chrome use the same user-data-dir at the same time?

What versions are you running?
$ go list -m github.com/chromedp/chromedp
github.com/chromedp/chromedp v0.9.5
$ google-chrome --version
121.0.6167.161 (正式版本) （64 位） (cohort: Stable)
$ go version
go version go1.21.3 windows/amd64

What did you do? Include clear steps.

       opts := buildOptions(ChromiumOptions{
		Url:         "http://www.google.com",
		UserDataDir: GetCurrentBrowserFlagDir("default"),
	})

	ctx, cancel := chromedp.NewExecAllocator(context.Background(), opts...)
	defer cancel()

	// log the protocol messages to understand how it works.
	ctx, cancel = chromedp.NewContext(ctx)
	defer cancel()

	// create a timeout
	ctx, cancel = context.WithCancel(ctx)
	defer cancel()

	// navigate to a page, wait for an element, click
	err := chromedp.Run(ctx)

	if err != nil {
		log.Fatal(err)
	}

	err2 := chromedp.Run(ctx)

	if err2 != nil {
		log.Fatal(err2)
	}

	select {}

What did you expect to see?
I want to use the same user-data-dir
What did you see instead?
When I started the second window when I used the same user data directory, I found that he made a error.
chrome failed to start:
�������е��������Ự�д򿪡�

@imblowsnow No, you would not be able to start two separate parent processes using the same data dir. You can use chromedp, however to open additional tabs or windows from the primary chromedp.Context returned from chromedp.NewContext. This is a limitation of Chrome, and not of chromedp.


Publish not trimming for -final packages

The -final .All package includes both versioned and final manifest files. E.g. aspnetcore-store-2.0.0-preview2-25756-linux-x64.xml and aspnetcore-store-2.0.0-preview2-final-linux-x64.xml.
The PublishWithAspNetCoreTargetManifest.targets file references the versioned manifests. These all reference versioned packages, which do not match the -final packages referenced by your app, so nothing gets trimmed.
@muratg @Eilon Preview2 blocking

Moving to RTM milestone because we did the workaround for Preview2.

This issue is masked in 2.0.0 by https://github.com/aspnet/MetaPackages/pull/143 which means even without any changes, trimming should work correctly for the -final package. However, we still need to fix this to remove the redundant manifests in the package. Also, this will break new builds of preview2. Note that the issue actually lies with the build scripts in Coherence-Signed, there won't be changes in this directory.

The trimming issue has been fixed as part of https://github.com/aspnet/MetaPackages/pull/167 in preview2. The duplication is fixed by https://github.com/aspnet/Coherence-Signed/pull/588 in dev.