rename table commands

This PR fixes #23219
these commands were introduced to address accessibility bugs recently, it's unlikely being used by users. I am changing the command name from table.xxx to grid.xxx to make it consistent with the other commands.
other grid commands:

created an issue to track it so that Erin won't miss it in the release notes.


Imports comp changes to ateam_msgs.

Adds new fields to multiple message types
Adds SetIgnoredFieldSide and SendSimulatorControlPacket service types

Depends on #260

Merged without review after 2 weeks.


Add styled-components ThemeProvider to styleguide

See: https://github.com/styleguidist/react-styleguidist/blob/master/docs/Thirdparties.md#adding-styled-components-themeprovider

Closed in https://github.com/jaakmusic/primitives/pull/37


[Refactor] mark -u as deprecated

Describe the current issue
The tos -u option is no longer revelant as it depends on an old implementation of the architecture.

Issue is now resolved


help me eerror

Traceback (most recent call last):
File "c:\Users\crsg2\Downloads\Discord-Status-Rotator-main\main.py", line 58, in
config = load_config()
^^^^^^^^^^^^^
File "c:\Users\crsg2\Downloads\Discord-Status-Rotator-main\main.py", line 50, in load_config
with open("config.json", "r") as file:
^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'config.json'

It seems that you do not have the config.json file with the other files, you can create it and put the content there:
{
"token": "discord-account-token",
"status_sequence": ["online", "idle", "dnd"],
"clear_enabled": true,
"clear_interval": 15,
"speed_rotator": 5
}


Liquidbase change-set #23 deadlocks when skills-service upgraded during usage

Reason: liquibase.exception.DatabaseException: ERROR: deadlock detected

  Detail: Process 13098 waits for ShareLock on relation 20694 of database 16396; blocked by process 14209.

Process 14209 waits for RowExclusiveLock on relation 19759 of database 16396; blocked by process 13098.

  Hint: See server log for query details. [Failed SQL: (0) create index index_user_events_project_id_lower on user_events (lower(project_id))

PR: https://github.com/NationalSecurityAgency/skills-service/pull/1248


Highlighting issue when function has a comment

// Generate True with probability k/n
fun gen-bool(k: int, n: int) : random bool
  rnd-int32(0, n) < k

I can't seem to reproduce this on the latest commit (96d070c3700692858035f3524cc0ad944cef2594). Is it possible there's whitespace in the text where the parsing error appears?

I do run on the latest version that was included with https://github.com/helix-editor/helix/pull/10379
There is no invisible whitespace, I can just copy the text from here into a new koka buffer in helix and it reproduces right away for me. It also reproduces on helix master without config

Hmm, that's strange... Running helix from master at https://github.com/helix-editor/helix/commit/dbacaaddcaa4a9dd39c73d0102d03ea7c24ca647, it looks like this for me:

Just double checking: the issue is that the fun keyword's first letter is highlighted incorrectly, right? Is there any chance you haven't run hx --grammar fetch and hx --grammar build since the update?

I did not, is that necessary? The helix docs suggest that is not needed for pre-packaged grammars.

Whether it's necessary very much depends on how you've installed Helix/how you're running it with Cargo. You can try checking hx --health to figure out what runtime directory it's using (which is where the compiled grammars are located). If you want to be certain that you're running the exact same version of Helix (and the grammars) that I'm testing with, you can use the Nix package manager and run nix run github:helix-editor/helix/dbacaaddcaa4a9dd39c73d0102d03ea7c24ca647#.

I don't believe nix runs on windows, which is where I'm running helix.
I build from source using cargo install --path helix-term --locked. According to the docs this will "construct the tree-sitter grammars in the local runtime folder.". And I set HELIX_RUNTIME to the local runtime folder, ~/prj/helix/runtime in my case.
(If I were to -g fetch manually, it would write the grammars in %AppData%, which I don't want, because then I'd have to copy the queries etc also manually to %AppData%)

I found something strange, I noticed the same thing in a nushell script, also with an if statement prepended with a comment:
# Nushell Environment Config File
if 1 == 1 {
}

This, and the fact that you cannot reproduce, suggests to me that something else is going on. Though I have no clue what that could be 🤔

Oh yeah, it's a line ending issue. Setting them to lf removes the artifact in both cases. Now the question is, is that a generic helix problem, or do the queries/grammars of both languages happen to have the same incorrect logic. I'm going to update my helix installation to the latest, to see if the issue persists.

Yeah, it seems the issue persists. Can you reproduce the issue too, with CRLF line endings?

Actually it looks like the problem might be on Helix's end, not the grammar's. If you check :tree-sitter-subtree with the whole document highlighted, there don't appear to be any errors in the tree and I think it looks correct... Given that it happens with Nushell too this should probably be reported to the Helix people. I'm going to keep this open until we've confirmed that it's for sure a Helix problem though.

Issue created at the Helix repo

Closing as this appears to be fixed now that https://github.com/helix-editor/helix/pull/6417 has been merged. Thanks for creating that issue.


Addition of "--shm-size" not working with Docker 1.11.0 and Debian 8 Jessie

--shm-size=512m is not working for me as build args, either as run args.
            docker run -it --shm-size=102400 ubuntu:14.04.4
	root@141a66888d0a:/# cat /proc/mounts | grep shm
	shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=100k 0 0
	root@141a66888d0a:/# ipcs -lm

	------ Shared Memory Limits --------
	max number of segments = 4096
	max seg size (kbytes) = 32768
	max total shared memory (kbytes) = 8388608
	min seg size (bytes) = 1

Install details
	docker version
	Client:
	 Version:      1.11.0
	 API version:  1.23
	 Go version:   go1.5.4
	 Git commit:   4dc5990
	 Built:        Wed Apr 13 18:17:17 2016
	 OS/Arch:      linux/amd64

	Server:
	 Version:      1.11.0
	 API version:  1.23
	 Go version:   go1.5.4
	 Git commit:   4dc5990
	 Built:        Wed Apr 13 18:17:17 2016
	 OS/Arch:      linux/amd64

	uname -a
	Linux master-bhs-01 3.14.32-xxxx-grs-ipv6-64 #7 SMP Wed Jan 27 18:05:09 CET 2016 x86_64 GNU/Linux

I was trying to configure multiple postgresql < 9.3 database at once. issue
For reference https://github.com/docker/docker/pull/16168

The --shm-size only affects the size of the /dev/shm mount, which is used for the posix shared memory APIs, not the sysv shared memory that ipcs shows. These limits need to be set with sysctl. In docker 1.12 there is a --sysctl parameter to docker run that can be used to set these, eg docker run --sysctl kernel.shmmni=8192 ubuntu ipcs -lm. However for recent Postgres you do want to set the posix shm size, which works fine, as this is what it uses, not the sysv shared memory:
whale:cpp justin$ docker run -it --shm-size=512K ubuntu cat /proc/mounts | grep shm
shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=512k 0 0
whale:cpp justin$ docker run -it --shm-size=100K ubuntu cat /proc/mounts | grep shm
shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=100k 0 0
whale:cpp justin$ docker run -it --shm-size=102400 ubuntu cat /proc/mounts | grep shm
shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=100k 0 0

I'll close this issue, as it looks there's no bug here, but feel free to continue the discussion


bpf: Support JumpIf on RegX instead of K

Add a JumpIfX instruction which implements conditional jumps using
RegA and RegX. This is in addition to the pre-existing JumpIf
instruction which uses RegA and K.
This instruction / addressing mode is not mentioned in either the
kernel's 'filter.txt' or the original BPF paper, but are supported
by tools like 'bpf_asm'.
Simplify some of the parsing logic, and add a separate helper for
checking for "fake" JumpIfs.
Add JumpIfX support to the BPF vm.
Update testdata with JumpIfX instructions, and add tests
for both the assembler/disassembler and vm.
Fixes golang/go#27814

CLA signed

Any update on this? Happy to address any concerns.

@arthurfabre, the "bpf" package is not a core part of Go and is maintained by two volunteers who aren't on the Go team. You'll need to wait for @mdlayher or @danderson to find time.

Thanks for taking a look!
I copied all the JumpIf tests and adapted them for JumpIfX (which I should have done from the start really, I was being lazy..).
Updating filter.txt is a good idea, I'll send a patch

filter.txt has been updated to document JumpIfX: https://patchwork.ozlabs.org/patch/980025/


ManagedBalancedConsumer compacted_topic default value

From Carl GIeringer on the mailing list:

I am learning Kafka and PyKafka. I am wondering why ManagedBalancedConsumer uses a default of True for compacted_topic while both SimpleConsumer and BalancedConsumer use False as the default for this parameter.  I would think that strictly from an API design perspective, consistency between these defaults would have been preferable.  Is there a reason that the default differs for ManagedBalancedConsumer?

This is a bug. The default of compacted_topic on ManagedBalancedConsumer should be False.

Thanks for creating this bug, Emmett.

No problem. Please feel free to pull request this change if you're interested.

Since there's no PR yet, I'll do it.


CDAP-13558 Support CDC pipelines on Spark version 2.x

JIRA - https://issues.cask.co/browse/CDAP-13558
WIKI - https://wiki.cask.co/display/CE/CDC+Solution+Enhancements
In scope of this PR:

added apache-rat-plugin to maven
fixed copyrights

@albertshau, could you please take a look.


tower_of_hanoi improved

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes #2500
improved styling of the game
resolved glitch of positioning of discs when bigger disc is placed on a smaller one
resolved moves count after alerts
specified minimum number of moves for the given number of discs

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] My changes generates no new warnings.
[x] I have specified the respective issue number for which I have requested the enhancement.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @invigorzz313 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Thank you  @invigorzz313 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


urgent : gestures are not working in left side menu ??

Hello
I run the sample code normally, using xcode 7.2
but the problem i'm facing is :-
when i open the left side menu (using the button) it opens normally, but i'm unable to grab it and move it back and forth, also, i can't bring it using a gesture, the only way to close it is to click outside, please help...
more info : i was using an old version of xcode 6, and things were normal, now i upgraded to xcode 7.2 and this problem appeared!  (help is really appreciated, if i find the solution i will paste it here)
**edit 2 :- **
wait, gestures only works in the first screen, in the others it doesn't work
I add this to all screens
func addGR()
{
    self.slideMenuController()?.removeLeftGestures()
    self.slideMenuController()?.removeRightGestures()
    self.slideMenuController()?.addLeftGestures()
    self.slideMenuController()?.addRightGestures()
}

Even if I go to the first screen back, Gesture Recognizer is not working, so it only works until i leave the first screen..
brief : gestures works normally until i change the view controller into another one, why? :(

Solved, I forgot to add some of the UIViewControllers in ExSlideMenuController.


Doesn't work on my vscode instance (renaming has no effect)

Hello,
Nothing happens when I rename a tab, even after a restart.
It does not work for all tabs (file, untitled, etc.)
How can I help to fix it ?
I use MacOS Sonoma
Version : 1.95.3
Validation : f1a4fb101478ce6ec82fe9627c43efbf9e98c813
Date : 2024-11-13T14:50:04.152Z (il y a 4 jours)
Electron : 32.2.1
ElectronBuildId : 10427718
Chromium : 128.0.6613.186
Node.js : 20.18.0
V8 : 12.8.374.38-electron.0
Système d’exploitation : Darwin arm64 23.6.0

Just found related logs :
2024-11-18 14:07:21.961 [error] CodeExpectedError: Impossible d’écrire dans Paramètres de l'espace de travail car aucun espace de travail n’est ouvert. Veuillez ouvrir un espace de travail et essayer à nouveau.
    at knt.y (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:11662)
    at knt.E (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:14140)
    at knt.n (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:8882)
    at Object.factory (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:8782)
    at pw.j (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:31:74318)
    at vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:31:74230
    at new Promise (<anonymous>)
    at pw.queue (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:31:74172)
    at knt.writeConfiguration (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:8751)
    at YNs.Hb (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:47110)
2024-11-18 14:07:24.426 [error] CodeExpectedError: Impossible d’écrire dans Paramètres de l'espace de travail car aucun espace de travail n’est ouvert. Veuillez ouvrir un espace de travail et essayer à nouveau.
    at knt.y (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:11662)
    at knt.E (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:14140)
    at knt.n (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:8882)
    at Object.factory (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:8782)
    at pw.j (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:31:74318)
    at vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:31:74230
    at new Promise (<anonymous>)
    at pw.queue (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:31:74172)
    at knt.writeConfiguration (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:8751)
    at YNs.Hb (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3088:47110) rename-tabs.tabLabels.rename {"value":"luke-callaghan.rename-tabs","_lower":"luke-callaghan.rename-tabs"}

Hi, @thibaud-sanchez can you confirm you were using this outside of a VS Code Workspace?  I was able to reproduce this error by trying to set a tab name while I was not in a Workspace.    I just wanted to confirm that this was the root cause.
rename-tabs was intended for use only inside of a workspace -- I did this because I could use workspace configurations to share tab renames with a team or with other devices by including ".vscode" in my git.  But it does also seem useful to allow global file renames, so I added support for this in version 0.0.3.  Now files with tab renames inside of a workspace will be added to the workspace configuration while all other files are added to global VS Code config as absolute paths.  Please try upgrading to 0.0.3 and tell me if it works for you.

Awesome, thank you very much !
I confirm I don't use workspace and now it works well :) 🥇
Last thing but I think it will be difficult to do:
It does not work for Untitled file/not saved (I double click on the tab bar to create a new temporary file) and it could help to tag it by renaming the tab without having to save it.
Thanks again !

Unfortunately the VS Code API for setting custom tab names is quite limited at the moment.  It only works for text documents (not webviews) who have a permanent location on disk.  Unfortunately this does not apply to untitled documents, as they are stored in a "Backups" folder under a strange hashed type directory.  Even if you manage to locate the path of the untitled document on disk and provide that path to the patterns configuration, VS Code will not update the tab name of the untitled document.
The only way to control the tab name of untitled is to change the first line of the document, it seems.


Stage empty manifest if a staging session is given.

This allows us to run jobs on the Flink runner until we actually hook up the staging flags.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.

R: @axelmagn

LGTM once tests are green.


Qualifying Jazz chords

MEI seems insufficient for the moment for qualifying accurately the harmonic analysis of jazz chords.
For instance, the harm element has a label that was foreseen to qualify the kind of chord, but using that label for harmonic analysis may be delicate, not to say impossible.
As an example, the chords in Jazz can be written in many different ways, for example the half diminished chord D-7b5 can be written Mmin7b5 or DMin7b5, but CMinMaj can also written with C-diamond, etc… Jazz chord labels are not standardized.
Perry pointed that the inth attribute on the harm element can capture the intervals of the chord. Ex
<harm inth="m3 d5 m7">
is a substitute for "half-diminished".
This is true and is a first step.
But eventually, there is no way to capture:

The root of the chord
The bass of the chord

That's why we saw that attributes @root and @bass could be added to the harm element so as to be able to represent accurately jazz chords.
Doing so, a Dm7/G chord could be completely represented by the element:
<harm xml:id="harm-0000000018277068" tstamp="1.400000" root="d" bass="g" inth="m3 m7">Dm7/G</harm>
At last this information could also be used to generate a SVG for displaying the chord kind above/below the chord with a specific rendering. Example the chord label placed directly over the bass note, delimited by a / character, and not a simple horizontal labeling like Dm7/G.
Thanks

Been a while since this was brought up, and I'm finding that I need this now.
@root and @bass, definitely.
@inth="m3 m7" is good, too, as long as the format for these strings is clearly documented.  Any "omitted" notes in the chord can be encoded in the <chordDef> by leaving out those <chordMember>s.

@efreja, I'm not sure I understand your comment about rendering.  I assume you mean that given content of "Dm7/G" in the <harm> element, you want to render the "Dm7" part of the label differently/separately from the "G" part.  If that's what you want to do, then you'll either have to use "Dm7" as the label, use markup in the label to position the individual parts, such as
<harm><stack delim="/" align="center">Dm/G</stack></harm>, which would center "Dm" above "G", or rely on the renderer to parse the label into component parts.  I think that building the "smarts" into rendering software like Verovio to intelligently and consistently break apart labels and/or render things like a horizontal line between the stacked components will be difficult.  At the very least, it would require additional attributes on <stack>.
I'm fine with adding @bass and @root as attributes with Boolean values on <chordMember> or with pitch name values on <harm>, but not both since it's generally a bad idea to have attributes with different values in different contexts.  (Even though it exists in MEI.) Adding these attributes to <harm> may make it easier to create different renderings based on the contents of <harm> when it's compared with values in these attributes.  For instance, the part of the label starting with "/" can be dropped if it matches the value of @bass.  But adding them to <chordMember> will make it easier to identify the function of particular pitches in a chord diagram (in order to make the line that represents the root tone red, for example). So, some choices need to be made based on the goal of the encoding.
It's important to note that @root and @bass values are only partially useful for comparing chord content across different repertoires.  For example, a Dm chord with a G in the bass, a G11 chord with a missing 3rd, and a chord on F with added 6th and 9th all have the same pitch content with different values for @root and @bass.  What's required to compare interval content across repertoires is a standard way of indicating interval content, such as "normal form", borrowed from atonal theory. See https://musictheory.pugetsound.edu/mt21c/NormalForm.html for details.
@gregchapman-dev, there's no explicit way to indicate omitted notes in <chordDef> other than to not encode them, in which case they're not encoded at all so there's no way to know that they're missing.  If we wanted to encode notes that should appear but don't, then we'd need another attribute, something like @omitted.
I also noticed that the description of @inth at https://music-encoding.org/guidelines/dev/elements/chordMember.html

The inth (harmonic interval) attribute may be used to facilitate automated performance of a chord. It gives the number of 1/2 steps above the bass. Of course, for the bass note itself, inth should be set to 0.

is out-of-date.  It should be modified to state that @inth takes the data.INTERVAL.HARMONIC data type.

FYI, here's what I'm currently doing (as of this afternoon) in my MEI 4 and 5 reader/writer for music21: When writing MEI, I am adding harm@type="my own standardized name for chord", and no harm@inth at all (I was writing harm@inth for a while with interval names but it didn't actually end up being very useful). When reading MEI, I look for harm@type, and if it can be parsed as a standard chord name, yay! (the <harm> text will be what is printed in the music, but the produced music21 ChordSymbol object will be fully fleshed out).  If it cannot be parsed, I make an attempt at parsing the harm text (without much hope, but it often works).
If you're curious, "my own standardized name for chord" is actually "music21's own standardized name for chord" with all spaces removed (because NMTOKEN).  They look like "Cm7add#9/A" et al (and yes, music21 makes some choices I wouldn't, but what the heck).  I'm assuming if MEI took a modified version of this path there would be a whole long and crazy discussion about what the standard names should be.  I think it would be better to encode root and bass separately, and have the standard name just be "m7add#9", but since I don't have a way to encode root and bass, I'm throwing it all in harm@type.

The universe of documents that MEI aims to represent is much larger than what Music21 will allow, so limiting chord labels to a set of so-called "standard names" probably won't happen in MEI.  One is always free to use/abuse @type -- that's it's purpose.

Well, I'm certainly abusing @type with wild abandon(!) for now, but in a future version of MEI, maybe if there was some way of specifying jazz chords like there is a way of specifying figured bass, with jazz-specific sub-elements?  Instead of harm/fb/f,f,f we could have harm/jazz/root,bass,form,add,add,omit,omit,alter,alter, where form is some limited set of well-known chord types, and the rest could be had via add/omit/alter (alter is things like "sharp the 11th" or "double-flat the 13th").

I absolutely understand MEI's need for "put this chord notation here, with no interpretation/analysis".  But when the interpretation is known (jazz, figured bass, alfabeto, roman), there needs to be a way to encode it (without resorting to "here are the notes in the chord", which is also useful, but not sufficient).  Perhaps what we really need is harm@kind = "fb" or "jazz" or "alfabeto" or "roman"...  And then, if necessary, @kind-specific sub-elements.
harm@kind would be helpful by itself, so one could know how to (attempt to) interpret the <harm> text in the absence of @kind-specific anything.  For example: alfabeto harmony in MEI (imported from Humdrum, which knows it's alfabeto, but MEI doesn't have a way to encode that).  Alfabeto is single capital letters (A-Q or so) that map to guitar chords (not related in any way to scale degrees: 'A' is a G major chord, for example).  So 'A'-'G' look like jazz chords, and the rest do not.  So it would be great if Verovio's Humdrum importer had a way to mark in the <harm> element that this is 'alfabeto' harmony, so I could ignore it (or even interpret it correctly!) when looking for jazz chords.

@gregchapman-dev, MEI provides the @class attribute for such situations.  @class holds a reference to a <category> element, stored in the header, which in turn records a term in a taxonomy. You can use this to "classify" virtually anything in MEI since @class is almost universally available.

@class is a more restrictive version of @type since it requires one to provide a taxonomy of types/classes.

There is a **jazz interpretation in Humdrum which functions more or less as your idea for <jazz>, although I do not implement it yet.   However with **jazz, I wonder why specifically "jazz" as opposed to "pop" or something else, which would also apply to an MEI element name.

Can you provide a more concrete example of what you're describing?  Just make up some markup and we can discuss it.
Here's an example of the use of @class.
Step 1 -- create a taxonomy in the header. It can consist of just a textual description, but it may also provide a hierarchical set of categories.
<classDecls>
  <taxonomy>
    <category xml:id="agn">
      <desc>Description of alfabeto here.</desc>
    </category>
  </taxonomy>
</classDecls>

Step 2 -- refer to a category ID in @class.
<harm class="#agn" tstamp="1">A</harm>

This simply says that this <harm> element is of kind "agn" for which a description is provided in a taxonomy.
Another way to use @class is to use a URL as its value ala linked data.  A URL that you control or that is otherwise stable/not likely to go away is best.
<harm class="http://my.url.me" tstamp="1">A</harm>

Now, using a URL or an internally-defined taxonomy is still only labeling the thing you're talking about.  It doesn't force software to actually do anything.  As I said before, in that sense it's just a glorified version of @type.

I have maybe seen one example of **jazz (and not the 1000 scores), and it is briefly mentioned in this paper:
https://www.researchgate.net/publication/259731551_Diachronic_Changes_in_Jazz_Harmony_A_Cognitive_Perspective
Claire Arthur created **harte for her research which is based on a system of Chris Harte (probably from a specific paper).
I use **mxhm which is also related to the above two, mostly used as a placeholder for import/extport to MusicXML's harmony representation.

Something concrete to sink our teeth into...
A relatively simple example first: C major seventh (Cmaj7 or CM7 or...)
<harm>
    <jazz root="c" form="major-seventh"/>
    Cmaj7
</harm>

How about C dominant 9th with augmented 5th (bass E)?  (C9#5/E or Cdom9aug5/E or...)
<harm>
    <jazz root="c" bass="e" form="dominant-ninth">
        <alter degree="5" alter="1"/>
    </jazz>
    C9#5/E
</harm>

Let's go crazy: G7omit5b9#9#11b13  (I can't type the SMUFL flat here, so I use 'b' incorrectly).  And yes, I have seen this chord in a MusicXML lead sheet of Coltrane's "Lonnie's Lament".
<harm>
    <jazz root="g" form="dominant-seventh">
        <omit degree="5"/>
        <add degree="9" alter="-1"/>
        <add degree="9" alter="1"/>
        <add degree="11" alter="1"/>
        <add degree="13" alter="-1"/>
    </jazz>
    G7omit5b9#9#11b13                    <--- 'b' should be SMUFL flat, again
</harm>

Some notes:
I use alter="1" and alter="-1" instead of accid="s" and accid="f" because the operation being requested is not really about accidentals (even though that is often how they are printed).  The resulting note in the chord after alter="1" may have a flat or a natural.  We're asking that the note that would normally be in this chord (based on @form) be raised by one semitone.
@form names are a standardized list of names for often-used chords (and chords that are a good basis for alteration to make other chords).  I have used music21's names here, which are (mostly) the same as MusicXML's names (e.g. MusicXML calls G7 a 'dominant' chord, and music21 chooses to call it a 'dominant-seventh' chord).  Obviously, I don't care a lot about (1) how we standardize the spellings of these names or even (2) how long the list is. The list should probably have at a minimum the chords you might find in a simple folk song.  major, minor, dominant seventh, minor seventh, major seventh.  At a maximum, I would think adding the rest of the seventh  chords and then the dominant and major and minor variants of 9th, 11th, and 13th chords should suffice.  You can alter/add/omit to make everything else.
And yes, <jazz> isn't a great element name, but the only other name I can think of for these kinds of chords is "guitar", and that's not great either.  For reference, the other names (besides the existing <fb> might be <alfabeto>, and <roman>.

@gregchapman-dev, your proposal is simple -- in this particular case.  The problem is that, despite your short list of chord labeling systems, the number of elements needed to accommodate everyone's favorite way of writing chord labels is very large.
Before proceeding, I'd also like to explore a more generic solution -- adding a @normal attribute (name not important now) that captures the "standard" form of the textual content of <harm> --
<harm normal="G7-5b9#9#11b13">G7omit5b9#9#11b13</harm> or
<harm type="alfabeto" normal="Gmaj">A</harm> for an arbitrary definition of "standard".  This is the way dates, which also come in a dizzying array of forms, are often handled.
If we want to go further, we could record a datatype/regex somewhere in the header, similar to what's currently done with @class and <category> now, that can be referenced from things like <harm> --
<harm normal="G7-5b9#9#11b13" datatype="#gregsFavoriteFormat">G7omit5b9#9#11b13</harm>, where "gregsFavoriteFormat" is the ID of an element that holds the definition of the format used in @normal. This is still just "labeling", but it provides for (potentially) non-standard content, a standardized version of that content, and a way to say exactly how the standardized content should behave.

I'm into it. This is very similar to what I'm doing with harm@type just now.

There are two aspects that are needed (1) a computer-readable description of the pitch-classes that belong to the chord, and (2) a graphical representation when printing.   In other words there is typically a single semantic way that the (1) can be expressed, and there are multiple rending systems (2) that describe that set of notes.
<harm>
    <jazz root="g" form="dominant-seventh">
        <omit degree="5"/>
        <add degree="9" alter="-1"/>
        <add degree="9" alter="1"/>
        <add degree="11" alter="1"/>
        <add degree="13" alter="-1"/>
    </jazz>
    G7omit5b9#9#11b13                    <--- 'b' should be SMUFL flat, again
</harm>

Some comments:

'b' should not be a SMUFL flat, as having an exotic character encoding will cause problems (particularly for hand encoding as your example illustrates the complexity involved in typing in a SMUFL character in the issuse; there is also a Unicode flat sign, so adding a character encoding authority attribute would probably be required).   Using "b" to represent a flat would be better, provided that all pitches (such as "G") are upper case.
Using "omit" is contrary to the aesthetic of the chord descriptor of a minimal number of characters.  Using "x" or "X" (as in "eXclude") would probably be better:   G7x5b9#9#11b13.  @pe-ro suggests - (meaning subtract) which is also OK (but Humdrum users would not like that since - means flat in **kern).
There have been complains in another music-encoding issue related specifically <harm> children elements having plain text as a sibling to actual elements (such as in this case "G7...." being a sibling of <jazz>.

This is good:
    <jazz root="g" form="dominant-seventh">
        <omit degree="5"/>
        <add degree="9" alter="-1"/>
        <add degree="9" alter="1"/>
        <add degree="11" alter="1"/>
        <add degree="13" alter="-1"/>
    </jazz>

Although there is a potential for abuse:
    <jazz root="g" form="dominant-seventh">
        <omit degree="7"/>
    </jazz>

which is equivalent to:
    <jazz root="g" form="major" >

You are doing the opposite: the chord is not a dominant 7th but rather a 13th chord of some sort.
The problem with the use of <jazz> for the semantic content is that this is more closer:
<harm>
    <pitches root="g" form="dominant-seventh" bass="b">
        <omit degree="5"/>
        <add degree="9" alter="-1"/>
        <add degree="9" alter="1"/>
        <add degree="11" alter="1"/>
        <add degree="13" alter="-1"/>
    </pitches>
    <jazz> G7x5b9#9#11b13 </jazz>
</harm>

<jazz> is the visually oriented version of the chord, and <pitches> is the more structured version.   In this case there is a one-to-one mapping so one could be derived from the other (but that will not always be the case I suspect).
Another possibility to think about:
<harm>
    <dir type="jazz"> G7x5b9#9#11b13/B </dir>
    <pitchClass root="g" form="dominant-seventh" bass="b">
        <omit degree="5"/>
        <add degree="9" alter="-1"/>
        <add degree="9" alter="1"/>
        <add degree="11" alter="1"/>
        <add degree="13" alter="-1"/>
    </pitchClass>
</harm>

For notation rendering the <dir> would be preferentially processed, and if there is no <dir> then the  <pitches> (or whatever this should be called :-) would be processed to generate the desired visual format (which would be left to the renderer, probably with some option about what visual syntax to render in).   there could also be a <choice> if there are multiple visual formats possible.
There is also a complication with relative / absolute intervals.  "Degrees" are relative to a specific key, while "dominant-seventh" is an absolute description of the intervals.  For example, what is the interval described by "9"?  presumably it is a major 9th above the root, of course.  But for cases where major and minor scales to not share a common pitch classes, what happens?.   For example if you have the above G7 chord with an added 9th, the added 9th is some sort of "A".   If you have a G7 chord in F-minor (or four+ flat key signatures), should that "9" be A-flat or A-natural?  The @alter would be in reference to A-flat or A-natural, or rather always from the natural A?
Another question is how would you describe this set of notes visually when there is no alteration?
<harm>
    <jazz root="g" form="dominant-seventh">
        <omit degree="5"/>
        <add degree="9" alter="0"/>
        <add degree="9" alter="1"/>
        <add degree="11" alter="0"/>
        <add degree="13" alter="0"/>
    </jazz>
    G7x5+9#9+11+13
</harm>

This is so far related to triadic chords, but there are others such as augmented 6th chords (German: C E G A#; Italian: C E A#, and French: C E F$ A#).  Pop/jazz chords labeled C6, for example, is "C E G A" which is not completely fitting the system.   (could be called @form=major with <add degree="6">, so not too bad).
How would you handle non-triad based chords which are also not necessarily in major/minor scales:
https://en.wikipedia.org/wiki/Mystic_chord
Probably @form="mystic" would be a good way to handle it, with @form giving the starting point for degrees and alterations that can be amended in the children elements of the <jazz> chord description.
Augmented 6th chords are a form of functional chord.  The German augmented 6th chord: C E G A# has the same pitches but enharmonic to the dominant seventh: C E F B-flat, but they have different functions: the aug6th chord is expected to resolve to B D# F#, while the dominant 7th to F A C in these two cases. (This is mostly outside of Jazz/Pop chord syntax).   There is also the Neapolitan chord:
https://en.wikipedia.org/wiki/Neapolitan_chord
which is a major chord on the flat second degree of the tonic degree of a major(minor) scale, typically in first inversion (with degree 3 of the chord being the bass).   It is usually called a Neapolitan 6th chord, not because it has an added 6th, but rather because it is in first inversion (so there is an interval of a 6th from the bass to the root of the chord when describing in terms of basso continuo).   This is also a functional name, and in <jazz> it could be described perhaps (in C major) as Db/F.

I'm inclined to stick with adding @normal, although perhaps a better name would be @pitches, @pitchcontent, etc.  As long as a place is provided to record the pitch content, I think we're good since we don't have to involve ourselves in the war of semantics over the actual labels.  Of course, it will be up to users to record the pitch data in some computer-readable way and document what they're doing, whether that's with a chunk of text in <editorialDecl>, using @class to reference a taxonomy, a value in @type, or some other way.
BTW, mixed content models aren't the horror some make them out to be.  In the following example
<harm>
  <element1>foo</element1>
  <element2>bar</element2>
  <element3>beef</element3> some text <element4><element5>more text</element5></element4>
  some text 2
</harm>

the "bare text" directly within <harm> can be found/isolated using the XPath expression //harm/text(), which includes the space in/around/between the elements; that is "   some text   some text 2".  The space-only nodes can be excluded using normalize-space(string-join(//harm/text())), resulting in "some text some text 2".  In other words, the text directly inside an element can be addressed and handled differently from the text found in other parts of a tree fragment.

It may be a good idea to recommend, though not require, some possible methods for recording the pitch content / labels, such as that of Harte, et al (https://archives.ismir.net/ismir2005/paper/000080.pdf) or the Annotated Beethoven Corpus (https://www.frontiersin.org/articles/10.3389/fdigh.2018.00016/full), or the MusicXML and Music21 names/labels.

Harte looks awesome. I'm going to switch my current hackery with harm@type over to use that instead of music21's ChordSymbol.figure with spaces removed (which is weird, but was convenient).

harm@normal might need to be an element <normal> so we can use more characters than NMTOKEN allows. Harte uses commas, music21 uses spaces, etc....
<harm>
    <normal form="harte">
        C:(3,5,b7,#11)/3
    </normal>
    C7#11no9/E
</harm>

normal seems OK to me, although "normal form" is a serial music theory term (and unfortunately "form" is the attribute immediately following "normal" :-), so a bit confusing related to that system for harmony analysis.

I think reg (regular, -ization) is a better choice than normal.  This name describes its function the same way as normal, but isn't as confusing.
MEI often uses NMTOKEN to constrain attribute values, but there's no requirement to make the content of reg conform to NMTOKEN. Unless constrained in some way, an attribute can contain any text (except an un-escaped <, of course).

Attributes also can't contain un-escaped ampersands.  Quotes are sometimes problematic as well in that double quotes (") can't occur when the attribute value is enclosed in double quotes, and single quotes (') can't occur when the attribute value is enclosed in single quotes.

Gotcha.  I was distracted by my @type hackery, where I have to use NMTOKEN.
I do like harm@reg as an attribute name instead of harm@normal.

I do like harm@reg as an attribute name instead of harm@normal.

Sounds good to me as well.

Wait, <reg> is a sub-element of <harm>, not an attribute (with reg@form telling you which regular form it is).
In any case, I like it.

<reg> and @reg have the same function; i.e., to provide the regularized/normalized form of something, so either one can be used.  Usually <reg> is paired with another element, such as <orig>, so using the example we've been discussing, one possibility is
<harm>
  <orig>non-standard label here</orig>
  <reg>standardized label here</reg>
</harm>

With the addition of harm/@reg, this also becomes possible:
<harm reg="standardized label here">
  non-standard label here
</harm>

I try not to speak for @lpugin , but I think he'd prefer to support the 2nd option in Verovio for now, and put the 1st option in the hopper for later. @craigsapp, as a contributor to Verovio, do you have any thoughts regarding which approach is preferable?
FWIW, this is a "return to the future" since @reg was once available on <orig> but removed in favor of the two element solution some time ago.  All things old become new again.  :-)

Got it.  Makes sense.  In either option (<reg> or @reg), how would I specify which standard was used for the standardized label (e.g. "harte", or "music21", or "ABC", or...).  I mean I could always prefix the standardized label itself with ="harte:" or "music21:", but that's a little ugly.

Would it make sense to add @analog to harm? Then you could could have <harm analog="music21">.
Or you use the descriptive way:
<harm @class="https://web.mit.edu/music21/doc/moduleReference/moduleHarmony.html#chordsymbol">

I've used @analog quite a bit in metadata, and I think it's not appropriate for specifying what is essentially a namespace.  @analog generally has the form "ns:value" to say that the piece of data described by the element is the same as "value" in the namespace "ns".  For example, we could do: <harm analog="harte:C:maj7(*5)/3">CM7-5/E</harm>.
Which actually, I might like better than @reg, but I'm happy leaving that choice to @pe-ro.

Hello everyone!
This discussion has been pretty active, thus I wanted to mention that we will be presenting at the Music Encoding Conference 2024 a short work titled: Towards a standardization of lead sheet encoding: an experience in OMR (Patricia García-Iasci, Juan Carlos Martínez-Sevilla, David Rizo, and Jorge Calvo-Zaragoza). In this paper we expose, among other things, the difficulties of using current Optical Music Recognition (OMR) techniques with the existent jazz lead sheet encoding formats.
Hope we can discuss about this topic sooner than later.

@JuanCarlosMartinezSevilla can you point me at that paper?  All I can find on-line is the final abstract.


Add another signer for the minting

Would be good to have a back up signer just in case, so we don't have to annoy people during holidays or things like that.
I suggest to add Peter vd Henst
@LeeSmet pls help Peter install js, after this he can be added to the signers.

@sabrinasadik this repo is for the actual logic of V3 minting, higher lvl issues such as this one (adding a signer) should probably go to either the repo containing the actual implementation of TFT on stellar (https://github.com/threefoldfoundation/tft), or a general repo (such as home). As for the installation of js, that is definitely out of scope of this repo.

Ok my bad! Closing this one


Some improvements for v4.20.2p1

Issue #212, Sisimai->make and Sisimai::Message->new methods check "field" argument more strictly.
Improved Sisimai::SMTP::Status->find(). The method checks whether a found value as D.S.N. is IPv4 address or not.
Improved code for getting error messages, D.S.N. values, and SMTP reply codes in Sisimai::MTA::Postfix->scan() method.

Coverage decreased (-0.06%) to 95.086% when pulling 8dbeed5e1b97b80a9b1f004a87944cddb54de06d on v4202p1 into 45b37f28e4604fff2f5729096129e0d0bc945b59 on master.


The ability to compare two branches

During development it's often super useful to compare before and after results. It would be great if the harness allowed that. Here is how I imagine the basic scenario:

Switch to "before" git branch
Run benchmarks with a flag --baseline
Switch to "after" git branch
Run the same benchmarks with a flag --compare
The harness outputs results (both detailed files and summary table) showing the deltas between baseline and the second run.

Closing prior to archive.

Closing prior to archive.


listen() not working again

Using 0.8.1, but I'm receiving empty data from Bittrex again. The fix here still seems to work fine though: https://github.com/dparlevliet/node.bittrex.api/issues/67#issuecomment-346277723

Uh, thanks for the tip with the workaround!
Can confirm, i'm also getting empty data object (since a while actually, i think ~2 months?)


2.1: Re-query albums result is slow.

https://github.com/couchbase/couchbase-lite-core/wiki/TuneMark-Benchmark#android
Need to investigate

The root cause of this problem was #1700 and #1702.
After fixed issue, query latency is expected number


Feature/symmetric 101

Just like BORDER_REFLECT_101 in OpenCV

yeah, this looks great! some docs in either the pad function documentation or the enum itself would be great. maybe a short note in the enum, and a long one in the function description.

Thanks @zYeoman !
By looking again to NumPy's documentation it seems that mode='reflect' is exactly symmetric_101, or maybe I'm missing something? If I'm correct I would be in favour of the name reflect since in xtensor we tend to stay close to NumPy. For the documentation I would propose:
    /**
     * @brief Defines different algorithms to be used in ``xt::pad``:
     * - ``constant``: Pads with a constant value.
     * - ``symmetric``: Pads with the reflection of the vector mirrored along the edge of the array.
     * - ``reflect``: Pads with the reflection of the vector mirrored on the first and last values
     *   of the vector along each axis.
     * - ``periodic`` : Pads with periodic repetitions of the vector.
     */
    enum class pad_mode
    {
        ...
    }

(I wanted amend it to you PR, but maybe you can first confirm that reflect == symmetric_101)

By looking again to NumPy's documentation it seems that mode='reflect' is exactly symmetric_101, or maybe I'm missing something?

You are correct, reflect == symmetric_101.
In fact, I named it symmetric_101 just because of that the pad modes of OpenCV are BORDER_REFLECT(equal to symmetric) and BORDER_REFLECT_101.
PS. Some other pad mode:

BORDER_CONSTANT (equal to constant)
BORDER_REPLICATE(need implementation, edge in NumPy)
BORDER_WRAP (equal to periodic. Its name in NumPy is wrap.)

yeah so I would prefer to keep the naming consistent with NumPy. But we could totally add the OpenCV mapping to a docs page. Is that OK with you @zYeoman?

@zYeoman
I missed NumPy's wrap at the time.
My proposal is to:

Rename symmetric_101 to reflect.
Add wrap to be the same as periodic (which we can consider deprecating in the future).
Add an OpenCV to xtensor conversion table to the doc-entry of enum class pad_mode.

What do you think? (If wanted/needed I can also push to your PR.)

@wolfv It's OK.
@tdegeus Sounds good. And it's all up to you, I just pull my requests (because I need the mode reflect to implement OpenCV's Filter2D)

@zYeoman
Alright. I wanted to push to your PR, but because of the the / in your branch name I don't know how to... I will add the changes as a review, maybe you can commit them? Thanks!

@zYeoman Alright, I've edited the PR.


x/pkgsite: remove mariusor/littr.go

What is the URL of the page with the issue?
https://pkg.go.dev/github.com/mariusor/littr.go
What did you expect to see?
I am the owner of mariusor/littr.go, which underwent a rename (to mariusor/go-littr) because the default go tooling has issues with packages whose names end in .go.
I expected that the package gets removed when it dissapears from github.
What did you see instead?
I can still view the version of the package before the rename even though no external packages are importing it.

Done.


Fix docs reference

The external MapConfig docs filename is going to be changed

Hey @jgoizueta,
This PR is still alive? Or the new developer center supersedes these changes?

Sorry, I had missed this. Yes this should be done.

Shall we merge it?

Closed by https://github.com/CartoDB/Windshaft-cartodb/pull/879


PSDEVOPS-3814: Try to fix deadlock when creating ProductComponentRelations

@RedHatProductSecurity/corgi-devs Review appreciated. Without a traceback it's hard to know what the dependent code / transaction was waiting for. CONTEXT below indicates that inserting fails:
OperationalError('deadlock detected
DETAIL: Process 3580 waits for ShareLock on transaction 834584; blocked by process 3616.
Process 3616 waits for ShareLock on transaction 833789; blocked by process 3580.
HINT: See server log for query details.
CONTEXT: while inserting index tuple (5740,87) in relation "unique_productcomponentrelation"
')
There are only two places in the code where ProductComponentRelations get created, as far as I can tell. I've changed these to use defaults= inside the get_or_create, so that insert is fully atomic.
I then cleaned up logic that tries to access or read from ProductComponentRelations, to avoid evaluating a queryset multiple times or making many calls to the DB when only one is needed. In other words, all reads of PCR data should be atomic as well, so there should be no more race conditions or deadlocks.
I don't see any place where PCRs get updated or deleted. Did I miss these, or are we only inserting this data and never changing it after it's been created?

can confirm we are only inserting data and never changing it


Generate POJOs from unreferenced types doesn't work

Hi.
We've specified a type to model an Error entity. And this type is used when we specify the error response body in API spec (for 400, 500, etc.) But the corresponding POJO is not being generated. We tried also using the configuration param "generateUnreferencedSchemas" without success. So, the question is, can be unreferenced types be generated? (or referenced in error response bodies)
Rule used: Spring4ControllerInterfaceRule
Regards.

@sasagonz , what version are you using? We had exact same problem, and I fixed it for the plugin.
My config looks as follows:
            <plugin>                 <groupId>com.phoenixnap.oss</groupId>                 <artifactId>springmvc-raml-plugin</artifactId>                 <version>0.10.13</version>                 <configuration>                     <ramlPath>src/main/resources/static/api.raml</ramlPath>                     <outputRelativePath>target/generated-sources</outputRelativePath>                     <addTimestampFolder>false</addTimestampFolder>                     <basePackage>com.yuranos.documented.api</basePackage>                     <generateUnreferencedSchemas>true</generateUnreferencedSchemas>                     <seperateMethodsByContentType>false</seperateMethodsByContentType>                     <rule>com.phoenixnap.oss.ramlapisync.generation.rules.Spring4ControllerInterfaceRule</rule>                     <ruleConfiguration>                         <simpleReturnTypes>true</simpleReturnTypes>                         <useShortcutMethodMappings>true</useShortcutMethodMappings>                     </ruleConfiguration>                     <generationConfig>                         <includeJsr303Annotations>true</includeJsr303Annotations>                     </generationConfig>                 </configuration>                 <executions>                     <execution>                         <id>generate-springmvc-endpoints</id>                         <phase>generate-sources</phase>                         <goals>                             <goal>generate-springmvc-endpoints</goal>                         </goals>                     </execution>                 </executions>             </plugin>

https://github.com/phoenixnap/springmvc-raml-plugin/issues/203

I'm using same version than you and configuration is basically the same. Differences:

I'm not using ruleConfiguration, so simpleReturnTypes and useShortcutMethodMappings are false
In generationConfig, I set to false includeAdditionalProperties and includeHashcodeAndEquals

I'll try to change these values and I'll let you know if I get success.

Hi, after my lastests checks, I cannot reproduce this issue. I mean, Error model is not referenced by any other one and it is used only in error response bodies and now I see Error class generated successfully. So I think this bug can be closed as not reproducible.


how to use GrokAssembly with DependencyCheck cli?

How can i use GrokAssembly with DependencyCheck cli on windows 10?

GrokAssembly is an internal tool used by ODC to inspect assembly files. You need to have dotnet 3.1 installed and you should be able to analyze dotnet DLLs and EXEs.

of course i have installed them, and then?


Use llvm-config to find the LLVM binary directory

llvm-config is able to provide the directory that the system places the LLVM binaries in.
We should also make the llvm-config binary configurable on the command-line, which would provide a way to use the compiler on systems like Ubuntu where the LLVM-binaries on the PATH have their versions appended (e.g. opt-5.0, see discussion in #9). They can then use e.g. sixten compile --llvm-config=llvm-config-5.0. We might also want to consider just trying e.g. llvm-config-5.0 if llvm-config doesn't exist.

For automatically trying different options, should the logic look like

List all binaries named llvm-config-* under PATH. Return an error if this list is empty.
Use the latest version for which all binaries are available (check inside folder llvm-config-X.Y --bindir). Return an error if there is no version with all binaries.

On that note, we should add a small setup/installation thing to the Readme or somewhere else. Is Windows a target?

I think we should stick to versions that we know that we support, so either option 1 with a whitelist or just a list of names to try. Users can then use the --llvm-config flag to override the default behavior. What do you think?
Those are good ideas. I'll make issues about them, cheers!

That works too. What LLVM versions do you want to support before 5.0? Just 4.0 or earlier as well? This page says that a new major version will appear every 6 months. LLVM 5 came out in Sept 2017 and LLVM 4 released in Mar 2017. As an example, Ubuntu's default repositories aren't updated as frequently as Arch and so the virtual package llvm currently refers to llvm-4.0.

It sounds like a good idea to try to include LLVM 4 too to get more convenient Ubuntu support, provided it works. :)


[ Feature ]

Hello i want to ask if its possible to add to scoreboard which dragon team killed like in lec

Possible yes, but it's not implemented yet. This will be something to be added as part of #157 once we get around to it.


Content publishing - Expressive theme proxy

Objective
We need to surf the Expressive theme proxy information on the website so IBM.com Library adopters know how to adopter.
Tasks

[ ] Review the finalized content with Olivia via #494
[ ] Publish the content via markdowns to the website.

Acceptance criteria

[ ] Expressive theme proxy information is published and live on the Cupcake website.

#495 is done and the content is published. This task issue is no longer relevant.


Question on the MOSEI Annotation Procedure and Alignment With Text

Hi All!
Background
I'm currently looking at the data in MOSEI, but finding a fair number of instances where the transcripts provided by the SDK don't overlap with the audio for that particular video and timestamp.
For example, for video y9FyTEyGy5Y (still available here: https://www.youtube.com/watch?v=y9FyTEyGy5Y), the transcript provided by the SDK for the first 10 seconds of the video is
"""
sp welcome back sp everybody sp the sp number of students foreign exchange sp grows sp every year sp last year sp it was up sp from the previous year sp while sp they sp receive sp financial scholarships most restrict them what sp is sp the sp appeal sp of sp studying sp abroad sp we have a student
"""
If I normalize that by hand and remove the "sp"s, I get this.
"""
Welcome back everybody, the number of students foreign exchange grows every year. Last year it was up from the previous year. While they receive financial scholarships, most restrict them. What is the appeal of studying abroad? We have a student...
"""
But in actuality, this is what is said in the first 10 seconds (with me transcribing by hand).
"""
Welcome back everybody, the number of international students attending a US college or university continues to grow every year,  but the financial aid options available to those undergraduates varies amongst schools.
"""
My best guess is that the transcription in the dataset is one that was created live for the show, which captures the gist of the content but is significantly different from what was said exactly and has some big gaps in the timestamps.
Question
In cases such as this, where the provided transcription isn't well aligned, I'm trying to figure out whether it is reasonable to re-transcribe directly from the audio or whether there may be some misalignment in the label itself.
Were these transcripts provided to the annotators when the labeled the emotion and sentiment? Or did they annotate purely by watching the video?
If the latter, re-transcription seems a reasonable path forward for my usage, but if annotators saw the transcript I'm not quite sure how to proceed!

I found this to happen quite often also. It seems to happen in videos that are more than 2 minutes long. I wonder if they crop a section of the video and the timestamps given in the labeling is relative to that cropped section of the video.
Here is an example of an 11 minute video ([https://www.youtube.com/watch?v=-9YyBTjo1zo]). ID = -9YyBTjo1zo. From the parsing of the labeling, I interpret from 43 seconds to 48 seconds he should be saying "Republicans are pushing a new bill that is in many ways more radical than previous bills. The new bill".  But he does not say this until timestamp 7:19.  I guess if we want to find the original audio/video segment we have to sync it up with the transcript that YouTube provides.

@abwilf @lpmorency Is there any way these offsets could be added to the SDK?
I totally get why you can't distribute the audio itself. However, providing offsets would be invaluable to using MOSEI to test new Speech & Audio models that use audio directly, rather than the features distributed at present!
If there's any way I can help in this, I'd be happy to!

I don't know if what I'm seeing is fully explainable by just offsets, since the transcript from the SDK doesn't seem to match what I get from YouTube

I found this to happen quite often also. It seems to happen in videos that are more than 2 minutes long. I wonder if they crop a section of the video and the timestamps given in the labeling is relative to that cropped section of the video.
Here is an example of an 11 minute video ([https://www.youtube.com/watch?v=-9YyBTjo1zo]). ID = -9YyBTjo1zo. From the parsing of the labeling, I interpret from 43 seconds to 48 seconds he should be saying "Republicans are pushing a new bill that is in many ways more radical than previous bills. The new bill".  But he does not say this until timestamp 7:19.  I guess if we want to find the original audio/video segment we have to sync it up with the transcript that YouTube provides.


New Crowdin translations

Coverage remained the same at 22.131% when pulling 10340378f985c9ff81259aaa8243482c90fed239 on l10n_master into bfafa3c674d9693bb410fcdc2005f65d3a98a49d on master.


Archived Providers

How should Archived Providers that have been transferred be handled?
For example:
https://github.com/hashicorp/terraform-provider-avi has been archived and transferred to https://github.com/vmware/terraform-provider-avi
I'm looking to better understand how this should be handled in the providers.base.json? Should the new repository be put into the "avi" key, or should something like "avi-vmware" be created?

Yeah, fixed path to almost all of them recently.


Update listed env_logger and log versions in Readme

Update listed env_logger version to latest release and update log to version required in Cargo.toml.

Doesn't really make a difference for semver-compatible versions, Cargo will automatically use the latest.


feat(DataStore): Use Int instead of UInt for QueryPaginationInput

Is your feature request related to a problem? Please describe.
Int is the type used mostly and auto inferred by complier, QueryPaginationInput.page(_ page: UInt, limit: UInt) takes in UInt, user need to cast it as Int which is superfluous
Describe the solution you'd like
Instead of doing:
var pageNumber = 0
_ = Amplify.DataStore.query(paginate: .page(UInt(pageNumber), limit: 10)) { // handle result }

Anyone should just do
var pageNumber = 0
_ = Amplify.DataStore.query(paginate: .page(pageNumber, limit: 10)) { // handle result }

Added this to milestone 2.0.0 since this will be a breaking change.

Is there a way to add the second one without then type compiling issues? like having both .page(Int) and .page(UInt) and then:
QueryPaginationInput.page(10, limit: 10) // does this complain about the ambiguous for type lookup problem?
let value: Int = 10
QueryPaginationInput.page(value, limit: 10) // does this complain about the ambiguous for type lookup problem?
let value2: UInt = 10
QueryPaginationInput.page(value2, limit: 10) // does this complain about the ambiguous for type lookup problem?

As @lawmicha points out, adding an additional type signature override shouldn't be a breaking change, since this is a static functions, as opposed to enum cases.
    /// Creates a `QueryPaginationInput` in an expressive way, enabling a short
    /// and developer friendly access to an instance of `QueryPaginationInput`.
    ///
    /// - Parameters:
    ///   - page: the page number (starting at 0)
    ///   - limit: the page size (defaults to `QueryPaginationInput.defaultLimit`)
    /// - Returns: a new instance of `QueryPaginationInput`
    public static func page(_ page: Int,
                            limit: Int = QueryPaginationInput.defaultLimit) -> QueryPaginationInput {
        return QueryPaginationInput(page: UInt(page), limit: UInt(limit))
    }

After discussion, we decided that the risks associated with making this change are too great for the minor dx improvement. A couple of points discussed:
This changes moves a potential crash from the call site to within Amplify.
var page: UInt = 0
page -= 1 // ❌ crashes here

var page = 0
page -= 1
.page(page) // ❌ crashes in Amplify when casting to UInt

Explicit > implicit (at least in this case). The most likely cause of accidentally assigning a negative value to a page comes from blindly decrementing past 0 based on an external action.
var page = 0
var currentPosts = [Post]()

func nextPageTapped() {
  page += 1
  fetchPosts()
}

func previousPageTapped() {
  page -= 1
  fetchPosts()
}

func fetchPosts() {
  Task {
    posts = try await Amplify.DataStore.query(
      Post.self,
      paginate: .page(page)
    )
  }
}

By forcing the callsite to explicitly define the type as UInt (var page: UInt8 = 0), we're providing a point to consider the repercussions of blindly decrementing. This additional context disappears when allowing the compiler to infer page to be of type Int.
We explored allowing negative numbers and throwing from the query API. This appears to be the path taken by Android and Flutter (on Android). However, due to the existing...
public struct QueryPaginationInput {
    public static let defaultLimit: UInt = 100
    public let page: UInt
    public let limit: UInt
}

...doing so would be either a breaking change or it would require introducing a new query overload. Neither of which are worth doing considering the very minor benefit this overload introduces. This is an option that we would like to revisit with vNext though.


How to use my own keyboard shortcuts when coding with notebook?

I set some user shortcuts in the VSCode,but when I coding with notebook I found the shortcuts did not work. How to user my own keyboard shortcuts when coding with notebook ?
And, I set '"editor.mouseWheelZoom": true' in 'setting.json',it also doesn't work. How should I do?

Any progress on this? Without keybinding makes this project not much meaningful since people could do almost everything in a browser.

Any progress on this? Without keybinding makes this project not much meaningful since people could do almost everything in a browser.

@0liu this is actually happening soon in the VS code insiders version. See these two items:
https://github.com/microsoft/vscode-jupyter/issues/4438
https://github.com/microsoft/vscode-jupyter/issues/4233

@0liu this is actually happening soon in the VS code insiders version. See these two items:
https://github.com/microsoft/vscode-jupyter/issues/4438
https://github.com/microsoft/vscode-jupyter/issues/4233

Closing in favor of https://github.com/microsoft/vscode-jupyter/issues/4376

Closing in favor of https://github.com/microsoft/vscode-jupyter/issues/4376


BigQuery: Updates snippets for BigQuery Beta 2 changes

Thanks! Reviewing now.
Looks like the current failures are for google-cloud-storage which don't appear to be caused by this PR.

Now the test error is on core. Seems like it might be caused by an update to flake8.


Optimized collection posts fetching

refs https://github.com/TryGhost/Arch/issues/86

Creating bookshelf models for each collection_post relation created a massive overhead. On a dataset with 500k collections_posts records the timing was roughly 7s comparing to 810ms after the optimization.

🤖 Generated by Copilot at 66d4782
Optimize memory and performance of collections fetching by querying post ids only. Refactor BookshelfCollectionsRepository to use a new private method and modify existing methods.

The query counts have changed (exciting!!) - do those numbers make sense to you?

Yes they did! And they did check out. We basically introduce 1 extra call for each collection fetch. When it's getAll - 2 extra calls for the built-in collections.
We will have to optimize these calls at some point, but for now it seems like "good enough" of a solution to get us going.


Docs: fix wrong characters in npm init example with specific template

Describe the bug
I just noticed that the example has wrong characters in flag template  on https://vitejs.dev/guide/#scaffolding-your-first-vite-project .

I notice that too yesterday its added by Evan himself so I thought it's done by purpose but I don't know
as in 3dd1187ffe03103046e1a05a165a1c59f641bd53

I notice that too yesterday its added by Evan himself so I thought it's done by purpose but I don't know
as in 3dd1187ffe03103046e1a05a165a1c59f641bd53

Just double checked - the extra -- is required for npm 7+ but is not needed for npm 6.

Just double checked - the extra -- is required for npm 7+ but is not needed for npm 6.


FCDS draining logic

Title: Filter-Chain Discovery Service: configure draining granularity
Description:
Hello All, I am trying to implement FCDS, where I will be having a bunch of access policies inside a filter chain.
Requirement 1:
When a filter-chain update is received through FCDS, for the connection under HTTP connection manager filter, I dont want them to drain at all. Can I turn off the draining somehow? Is there a setting?
Requirement 2:
I want more granular draining, meaning within a filter chain I will check which policy rule config is updated (much like doing filter chain only update in LDS) and just drain the connections which did hit that modified policy.
Need implementation suggestion.

cc @kyessenov

For requirement 1: I think ECDS for RBAC would avoid draining and just apply to new requests.
For requirement 2: filter chain "owns" all its connections. So if you want something more granular (e.g. something decided by an individual filter) you have to look inside the filter chain. One idea would be to allow ECDS apply retro-actively in some cases. That sounds useful for long-living TCP connections, for example, if only a subset of them need to be denied. Another idea is not to reload xDS filter config at all, and manage policies internally within the filter via a separate subscription model.


Hub - Partner profile creation - Redirect to blank screen

A Partner builds profile with the invite link generated by Hub or Admin
After the build profile is completed, user is redirected to a blank page.
The redirect must be to the hub url but showing the login.

ok working fine.


Can not run terraform code to create queue subscription

We could successfully create solace queue by Terraform using this provider.
However, we got below error when try to create solace queue subscription.

Setup failed: Failed terraform init (exit 1):
Output:
Initializing modules...

first-queue in ../../modules/solace-queue
first-queue-subscription in ../../modules/solace-queue-subscription

Initializing Terraform Cloud...
Initializing provider plugins...

Finding solaceproducts/solacebroker versions matching "0.9.0"...
Finding latest version of hashicorp/solace...
Installing solaceproducts/solacebroker v0.9.0...
Installed solaceproducts/solacebroker v0.9.0 (self-signed, key ID F28E4961FF5F7418)

Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html
╷
│ Error: Failed to query available provider packages
│
│ Could not retrieve the list of available versions for provider
│ hashicorp/solace: provider registry registry.terraform.io does not have a
│ provider named registry.terraform.io/hashicorp/solace
│
│ All modules should specify their required_providers so that external
│ consumers will get the correct providers when using a module. To see which
│ modules are currently depending on hashicorp/solace, run the following
│ command:
│     terraform providers
╵

Below is how I config my provider, and I place it the same in terraform job folder as well as modules folder.
terraform {
required_providers {
solacebroker = {
source = "registry.terraform.io/solaceproducts/solacebroker"
version = "0.9.0"
}
}
}
Can you help to take a look why got this error?

Hi @diwangcanada , you seemed to be successful creating a solace queue. terraform init must have worked on that config. What is different in your setup when you are trying to create a queue subscription?
Using the setup where you could create a solace queue you could try to add a subscription based on this example, adjusted to your case:
...
resource "solacebroker_msg_vpn" "test" {
  msg_vpn_name = "test"
}

resource "solacebroker_msg_vpn_queue" "q" {
  msg_vpn_name    = solacebroker_msg_vpn.test.msg_vpn_name
  queue_name      = "testQ"
}

resource "solacebroker_msg_vpn_queue_subscription" "testsub" {
  msg_vpn_name       = solacebroker_msg_vpn_queue.q.msg_vpn_name
  queue_name         = solacebroker_msg_vpn_queue.q.queue_name
  subscription_topic = "foo/bar"
}

Here is my "queue.tf":
module "first-queue" {
  source = "../../modules/solace-queue"

  queue_name          = "first-queue"
  msg_vpn_name        = "terraform-test"
  ingress_enabled     = true
  egress_enabled      = true
  permission          = "consume"
  access_type         = "exclusive"
  max_msg_spool_usage = 5000
  owner               = " "
  max_bind_count      = 1000
}

Here is my "queue-subscription.tf":
module "first-queue-subscription" {
  source = "../../modules/solace-queue-subscription"

  queue_name         = "first-queue"
  msg_vpn_name       = "terraform-test"
  subscription_topic = "test-topic"
}

And, I have provider.tf in the same folder as "queue.tf" and "queue-subscription.tf"
terraform {
  required_providers {
    solacebroker = {
      source = "registry.terraform.io/solaceproducts/solacebroker"
      version = "0.9.0"
    }
  }
}

# Configure the   provider
provider "solacebroker" {
  username = var.broker_admin_username
  password = var.broker_admin_password
  url      = var.hostname
}

In the module "solace-queue" and "solace-queue-subscription" folder, I have the same provider.tf setup
terraform {
  required_providers {
    solacebroker = {
      source = "registry.terraform.io/solaceproducts/solacebroker"
      version = "0.9.0"
    }
  }
}

Really wired that the provider works fine for creating queue, but as long as I use solace-queue-subscription module, I got the error.

I did another test, instead of calling module, I directly create queue subscription with resource block, but failed with same error.
# module "first-queue-subscription" {
#   source = "../../modules/solace-queue-subscription"

#   queue_name         = "first-queue"
#   msg_vpn_name       = "terraform-test"
#   subscription_topic = "test-topic"
# }

resource "solace_queue_subscription" "queue-subscription" {
  queue_name         = "first-queue"
  msg_vpn_name       = "terraform-test"
  subscription_topic = "test-topic"
}

sorry, my mistake. The resource name for queue subscription is wrong. I got this resolved. Thank you!


Refactor

Rough draft PR to investigate whether we can abstract some implementational details of Scan and Kymo. The idea is to make them more agnostic to where the data is coming from and contain everything related to reconstruction in its own class. This will hopefully allow us to make WIT kymos and treat them through the same API.
Note it's very rough. It's more an exploration to see what would happen if we put the abstraction at this level.
Aims:

Make it clear what data we expect from an image, see ScannedImage. Essentially new "images" should implement this interface (we could formalize this by a base class).
Being able to provide another class providing image data would make testing new functionalities easier.
Being able to generate Kymos from other data sources.

Questions:

Is the abstraction desirable to be at this level? The advantage is that Scan and Kymo are treated more uniformly and that Scan could also benefit from easier testing.
Is BaseScan still worth it given that it actually doesn't deduplicate that much, but makes the hierarchy more complex.
Do we really want Kymo deriving from a method that collects Scan API calls? This introduces coupling that may be hard to get rid of later (An alternative could be to have Kymo construct a Scan, and "hold" a Scan internally)?

Closing this for now. Gonna change the design a little bit and then reopen.


malicious supply check - e2e fixes

Current status of this branch:
https://gist.github.com/levicook/1fa4e684a298398f06f96760505155c3

Closing because we decide to fork 0.42 instead of upgrading to 0.43 for now.


Changing the logic of the checkCredentials method

In my project I use two different guards for each filament panel.
As it is, the first access doesn't work, because I can only place one model.
This way I put it, it will get the default guard from the panel and it will get the provider table.
So there is no longer any need to decide which model to take.

Hey @leonardyrj,
Thank you for your PR. I didn't have the opportunity to try it in multi panel, so thank you for seeing this problem and providing a solution.


Update FIP based on changes to QUALITY rebroadcast

Update FIP-0086 to reflect the changes in the implementation as a result of:

https://github.com/filecoin-project/go-f3/pull/606
https://github.com/filecoin-project/go-f3/pull/597

Closing as https://github.com/filecoin-project/FIPs/pull/1063 has been merged.


Places365 dataset redundant path.join under _check_integrity

🐛 Bug
Redundant path.join at line 165 under _check_integrity in torchvision/datasets/places365.py
path.join is already called at line 116 and line 131 under load_categories and load_file_list
cc @pmeier

While I at first was under the impression that this is a serious bug, it turns out @YellowPig-zp was right and it is just redundant. The documentation of os.path.join states:

If a component is an absolute path, all previous components are thrown away and joining continues from the absolute path component.

Example:
import os

root = os.path.join(os.sep, "root")
filename = "file"
file = os.path.join(root, filename)

assert os.path.join(root, file) == file

Since file is an absolute path after
https://github.com/pytorch/vision/blob/7992eb5da9c2e67469734e43f3d07e242d4f5273/torchvision/datasets/places365.py#L115-L116
or
https://github.com/pytorch/vision/blob/7992eb5da9c2e67469734e43f3d07e242d4f5273/torchvision/datasets/places365.py#L130-L131
the path.join in
https://github.com/pytorch/vision/blob/7992eb5da9c2e67469734e43f3d07e242d4f5273/torchvision/datasets/places365.py#L165
is equal to file.

Thanks for fixing this! Just want to point out that I first encountered the issue when I used relative path rather than absolute path, and unfortunately it would cause an error if relative path is used.
For example if I want to download the dataset to the folder my_data/places365 under the current working directory I would call
data = Places365(root='./my_data/places365', split='train-standard', download=True)
However, once it's downloaded and if I want to use the dataset again, I would call
data = Places365(root='./my_data/places365', split='train-standard', download=False) with the download flag marked False.
This would throw me an error saying the path to some files doesn't exist. Removing the path.join in check_integrity would quickly fix the bug, as did in #3545 .


Revert "Updated Griddle columns to refresh on componentWillReceiveProps when …"

Reverts GriddleGriddle/Griddle#296

Undoing my revert.


Change filename highlighting depending on status

Hello, would it possible to add a different highlighting for the filename component, depending on its status ? For example, have the file name be gray when untouched (or saved), but turn white and italic when modified.
I find it's a nice way to tell quickly that the file was modified (moreso than the [+] symbol).
Thanks for your attention, this plugin is great!

Duplicate of https://github.com/hoob3rt/lualine.nvim/issues/315
You should search the issue tracker first.

Hi, thanks for the speedy answer!
You're right, I should've searched (I did but I wasn't thorough enough apparently!)
The snippet you shared with me has too many limitations, it breaks nearby components highlighting, and doesn't do enough as said in the issue you linked.
However the patched filename.lua works pretty well. I put it in  ~/.config/nvim/lua/lualine/components/filename.lua, but I don't really like having to overwrite specific parts of plugins in my nvim config.
I know I could make a fork, but it isn't worth it to me for such a small feature, and I feel that it doesn't really go with the 'easy to customize' philosophy of this plugin.
Now, I'm pretty noob at Lua still and the nvim api and how it all clicks, so if you happen to have some sort of inbetween solution for me that'd be great. Otherwise I guess you (or I) can close this issue.
Thanks again!

inspirit of OOP you can create a component by inheriting   from an existing component . That way you won't have to patch the existing component. Instead just extend the new and update_status method in your component .
All the components are built by inheriting from base component class you can just follow that pattern instead of base class inherit from the filename class.
You'll have access to the super/parrent class in your own components _parent key.
I guess that would be less hacky.

That's great, for this to work I would have to put the custom component in ~/.config/nvim/lua/lualine/components right ? Or can I put it somewhere else ? If so, how do I link it to my lualine config ?
Here's what I got so far but I think I am missing something (or being able to put it along the rest of my lualine config just might not be possible...)
Here's my config tree (shortened):
.config/nvim/
├── init.lua
├── lua
│   ├── keymappings.lua
│   ├── plugins
│   │   ├── plugin_conf.lua
│   │   ├── another_plugin_conf.lua
│   │   ├── init.lua
│   │   ├── ...
│   │   ├── lualine
│   │   │   ├── init.lua         <~~ My lualine setup function
│   │   │   └── filename.lua     <~~ Where I would like my custom filename to go
│   │   ├── ...
│   │   └── some_other_plugin.lua
│   ├── settings.lua
│   └── utils.lua
└── plugin
    └── packer_compiled.lua

My custom filename:
local hl = require('lualine.highlight')
local colors = require('starmatt.colors')

local FileName = require('lualine.components.filename'):new()

FileName.new = function(self, options, child)
    local new_instance = self._parent:new(options, child or FileName)

    new_instance.status_colors = {
        saved = hl.create_component_highlight_group(
            { fg = nil },
            'filename_status_saved',
            new_instance.options
        ),
        modified = hl.create_component_highlight_group(
            { fg = colors.fg },
            'filename_status_modified',
            new_instance.options
        ),
        readonly = hl.create_component_highlight_group(
            { fg = colors.red },
            'filename_status_readonly',
            new_instance.options
        ),
    }

    return new_instance
end

FileName.update_status = function(self)
    local data = self._parent:update_status()

    if self.options.file_status then
        if vim.bo.modified then
            data = hl.component_format_highlight(self.status_colors.modified) .. data
        elseif vim.bo.modifiable == false or vim.bo.readonly == true then
            data = hl.component_format_highlight(self.status_colors.readonly) .. data
        else
            data = hl.component_format_highlight(self.status_colors.saved) .. data
        end
    end

    return data
end

return FileName

My lualine setup function
local FileName = require('plugins.lualine.filename')

local sections = {
    lualine_a = { 'mode' },
    lualine_b = { 'branch' },
    lualine_c = { FileName:new() }, --      <~~ This isn't right...
    lualine_x = { 'encoding', 'fileformat', 'filetype' },
    lualine_y = { 'progress'},
    lualine_z = { 'location'}
}

require('lualine').setup({
    options = { theme = 'starmatt' },
    sections = vim.deepcopy(sections),
    inactive_sections = vim.deepcopy(sections),
})

I hope I'm being clear!
Again thanks, at least I'm learning some new stuff :grin:

You must have it on ~/.config/nvim/lua/lualine/components as that's where lualine will search for it .You could try placing a dummy file containing something like this to redirect it to your plugin folder'
return require'plugins.lualine.filename'

Also you need to just specify the component name in string like other components like.
lualine_c = { 'my_filename' },

I'm having trouble when instanciating the parent:
local FileName = require('lualine.components.filename'):new()

This fails silently (the component just doesn't show)
I tried return require('lualine.components.filename'):new(), to check if the issue could come from my custom code, but it has the same result.
I've also tried:
local FileName = require('lualine.components.filename')

which gives me this error:
E5108: Error executing lua .../.config/nvim/lua/lualine/components/filename_custom.lua:33: attempt to index field 'options' (a nil value)
Any idea ? Thanks again for your help!

Try this for now
local FileName = require('lualine.components.filename')
local MyFileName = FileName:new()

local highlight = require'lualine.highlight'
local default_status_colors = {
  saved = '#228B22',
  modified = '#C70039'
}

function MyFileName:new(options, child)
  local new_instance = self._parent:new(options, child or MyFileName)
  new_instance.status_colors = {
    saved = highlight.create_component_highlight_group(
      {bg = default_status_colors.saved}, 'filename_status_saved', new_instance.options),
    modified = highlight.create_component_highlight_group(
      {bg = default_status_colors.modified}, 'filename_status_modified', new_instance.options),
  }
  -- Hack to remove sep lualine should auto remove the sep
  if new_instance.options.color == nil then new_instance.options.color = '' end
  return new_instance
end

local parent_updater = FileName.update_status -- Hack to access parents
                                              -- updater. There's something wrong with _parent
                                              -- Inheritence should be done by separate function not new

function MyFileName:update_status()
  local data = parent_updater(MyFileName)
  data = highlight.component_format_highlight(vim.bo.modified
                                              and self.status_colors.modified
                                              or self.status_colors.saved) .. data
  return data
end

return MyFileName

There's a few thing that lualine should internally support to remove the hacky part in this implementation . Currently I'm too busy to hunt them down . But this should do the job.


Fix the Easing parameter implicit converter

the Func parameter needs to be set explicitly

@mshwf : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@davidbritch : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Fixed typo in Wamai.js

Changed "Thathcer" to "Thatcher" in first Wamai Counter

Thank you @AarnavSan for contributing to the repo!


[admin] merge to live

apply description metadata, where missing

Docs Build status updates of commit c656013:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/docfx.json
:bulb:Suggestion

Details

docs/docfx.json

Line 44, Column 99: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Simplify tasks in Office Word, Excel, and PowerPoint using the Open XML SDK.' is duplicated in 'docfx.json(44,99)', 'docfx.json(44,99)', 'docfx.json(44,99)', 'docfx.json(44,99)', 'docfx.json(44,99)'....

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit a3f5ad0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/docfx.json
:bulb:Suggestion

Details

docs/docfx.json

Line 44, Column 146: [Suggestion-duplicate-descriptions] Attribute 'description' with value 'Use the Open XML SDK to programmatically create Office Word, Excel, and PowerPoint documents, and manipulate their content.' is duplicated in 'docfx.json(44,146)', 'docfx.json(44,146)', 'docfx.json(44,146)', 'docfx.json(44,146)', 'docfx.json(44,146)'....

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


tunnel: introduce custom Duration for time fields

All Tunnel timeout values are based on seconds however, there isn't a great way to do this in a flexible way with Go due to time.Duration not having marshal/unmarshal support in Go 1. Instead, we introduce a custom TunnelDuration value here and ensure it always converts durations into seconds without impacting other users of time.Duration.

cc @obezuk

Codecov Report

Merging #1303 (81cb9bc) into master (5584c5b) will increase coverage by 0.00%.
The diff coverage is 66.66%.

@@           Coverage Diff           @@
##           master    #1303   +/-   ##
=======================================
  Coverage   49.07%   49.08%
=======================================
  Files         134      134
  Lines       13090    13099    +9
=======================================
+ Hits         6424     6429    +5
- Misses       5162     5165    +3
- Partials     1504     1505    +1

Impacted Files
Coverage Δ

access_application.go
76.52% <ø> (ø)

load_balancing.go
59.40% <ø> (ø)

stream.go
64.91% <ø> (ø)

tunnel.go
42.41% <66.66%> (+1.01%)
:arrow_up:

... and 1 file with indirect coverage changes


TypeError: Cannot convert a Symbol value to a string

I am not sure if the Symbol value would be ignored
const { stringify } = require('query-string');

stringify({ a: () => (1), b: Symbol('test') });

module.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);
                        ^

TypeError: Cannot convert a Symbol value to a string
    at encodeURIComponent (<anonymous>)
    at module.exports (/Users/jesse/workspace/iot-cloud-fe/iot-cloud-util/benchmark/node_modules/_strict-uri-encode@2.0.0@strict-uri-encode/index.js:2:25)
    at encode (/Users/jesse/workspace/iot-cloud-fe/iot-cloud-util/benchmark/node_modules/_query-string@7.0.0@query-string/index.js:188:27)
    at /Users/jesse/workspace/iot-cloud-fe/iot-cloud-util/benchmark/node_modules/_query-string@7.0.0@query-string/index.js:382:39
    at Array.map (<anonymous>)
    at exports.stringify (/Users/jesse/workspace/iot-cloud-fe/iot-cloud-util/benchmark/node_modules/_query-string@7.0.0@query-string/index.js:361:14)
    at Object.<anonymous> (/Users/jesse/workspace/iot-cloud-fe/iot-cloud-util/benchmark/query-string.js:12:1)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)

These are the supported values: https://github.com/sindresorhus/query-string/blob/20992772758fc74188db64e789535469adaf241f/index.d.ts#L398-L403
I guess we could improve the readme to mention those too, and also throw a more human-friendly error.

@sindresorhus I feel like the Symbol value being ignored that would be better

I disagree. That could hide bugs. I prefer strict type checking. This is also how the browser API works:
new URLSearchParams({foo: Symbol()})
//=> Uncaught TypeError: Cannot convert a Symbol value to a string

@sindresorhus but other packages like qs and querystringify work well if give a Symbol value.

That is not a good argument for doing it.

@sindresorhus anyway, it's up to you

@sindresorhus Yes you were right, Symbol should not be converted to string , from mdn  web docs

We are having a similar issue encodeURIComponent(...).replaceAll is not a function in:
TypeError: encodeURIComponent(...).replaceAll is not a function
  at strictUriEncode(../node_modules/query-string/base.js:8:62)
  at encode(../node_modules/query-string/base.js:256:27)
  at map(../node_modules/query-string/base.js:450:10)
  at Array.map(<anonymous>)
  at stringify(../node_modules/query-string/base.js:429:14)

It's only happening to users on Edge 122. A very strange errror.
The code is:
  const search = queryString.stringify({
    'redirect-to': `${location.pathname}${location.search}`,
  });


ZIP download on "release" page for cloudReader(Lite) + non-minified build needs missing version.json file

Hello @ryanackley
The issue arose here:
https://github.com/readium/readium-js-viewer/issues/266#issuecomment-70835088
I guess the zip archive download link on the "release" page is pretty much the same as the one available on the "tree" page (I assume that the Travis Continuous Integration script uses a standard "source code package" GitHub feature?):
https://github.com/readium/readium-js-viewer/releases
https://github.com/readium/readium-js-viewer/archive/0.16.0.zip
https://github.com/readium/readium-js-viewer/tree/develop
https://github.com/readium/readium-js-viewer/archive/develop.zip
Right now, there does not seem to be an easy way for a visitor / user to download a ready-to-use build artefact. They are forced to pull the source code using git, install npm, grunt via the command line etc. in order to (at least) generate the build/version.json file required by index.html and simpleviewer.html. Of course, if they are able do that, they can also easily invoke grunt cloudReader or grunt cloudReaderLite to generate a minified build...
...but for non-technical users, it would be nice to provide a ready-built package, perhaps on the release page alongside the green "Readium.crx" download button?
I would suggest that the new zip file contains everything the existing source-code archive already contains, plus a pre-built cloudReader and cloudReaderLite in the build folder. This way, users would have the option to use the non-minified index.html and simpleviewer.html, as well as the optimised deploy-friendly builds (build/cloud-reader/index.html and build/cloud-reader-lite/index.html).
UPDATE: as @ryanackley pointed out, no need for the readium-js > readium-shared-js submodules source code, as the lib/Readium.js file aggregates the whole tree in minified form.
What do you think?

It probably isn't too much work. What is the purpose of including the rest of the source code? Seems like technical people would go the normal route through git and initialize the tooling. I would also do separate artifacts for cloudReader and cloudReaderLite.
Does just cloning (without submodules) and running a web server not work anymore? If it doesn't, we should fix that first since this is a gotcha for technical people as well. Also, pre-packaging grunt cloudReader just increases performance. The same technical hurdles still exist:

Run webserver in a directory
open browser to correct page.

Ah yes sorry, I forgot about the giant lib/Readium.js pre-built readium-js artefact which is persistent in the git repository. There should indeed be no need for the readium-js readium-shared-js submodule(s).
However, the non-minified versions of readium-js-viewer (index.html and simpleviewer.html) require version.json in the build folder, which is generated by a simple grunt command ... but non-technical users will not go through the hassle of installing NodeJS, Grunt, etc. so we need to decide whether to include version.json in the git repository, or only in the zipped releases.
I agree about separating cloudReader(Lite) into two distinct build artefacts. We should probably offer  only these two downloads, excluding the non-minified version(s) of Readium which should only be used by developers (who therefore know how to setup git+Node+grunt, etc.).

Ah, @ryanackley reminded us of "UnpackagedVersioning" (I'll check this, to see if there's a bug there, potentially a regression bug):
https://github.com/readium/readium-js-viewer/blob/develop/lib/versioning/UnpackagedVersioning.js

(sorry about the verbosity of this message, that's for future reference when someone revisits the issue :) )
Thanks @ryanackley , UnpackagedVersioning is now correctly used, specifically in the case of the non-minified index.html and simpleviewer.html app launchers (only they include extend_require_config.js, the optimised/aggregated builds do not):
https://github.com/readium/readium-js-viewer/commit/f61c934f9a0ec2ac881f9344e2774f1fa99b1f7d
Thanks to the pre-generated lib/Readium.js single-file (Git-versioned) build of readium-js, and thanks to UnpackagedVersioning, Readium developers / testers do not need to initialise the submodules (deep dependencies readium-js -> readium-shared-js), they can just work directly from a shallow clone of the readium-js-viewer repository.
Note that the proper cloudReader, cloudReaderLite and chromeApp builds still use PackagedVersioning, via RequireJS configuration overrides in the Grunt scripts:
https://github.com/readium/readium-js-viewer/blob/develop/grunt/requirejs.js#L33

Still not being to open .zip file from cloud-reader with new build folder. It still doesnt contain lib folder, could it be from it?

Readium only supports the *.epub file extension, not *.zip.
That being said, I tested your HTTP server URL and it still does not work :(
Okay (expanded / uncompressed EPUB):
http://www.xxxxx.com/Readium_Build/cloud-reader/?epub=epub_content/dana
Fail (single-file / compressed EPUB):
http://www.xxxxx.com/Readium_Build/cloud-reader/?epub=epub_content/dana.epub
There are no messages in the console, and the minified code is quasi-impossible to debug/step-through. I wonder if the problem stems from your HTTP server configuration? (mime type? "application/epub+zip" ? I'm not sure...)

With the AMD-RequireJS refactoring and the NPM build workflow ('node_modules' dependencies), it is quite clear that the zipped Git source tree does not provide a runnable app. Only readium-shared-js contains pre-built libs (for use in native app launchers):
https://github.com/readium/readium-shared-js/tree/develop/build-output


Multiple subscriptions to effects

I'm submitting a...

[x] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

Current behavior
Effects get subscribed to multiple times
Expected behavior
There should only be one subsciption
Minimal reproduction of the problem with instructions
Stackblitz
What is the motivation / use case for changing the behavior?
There should only be 1 subscritpion, since that is what you want most of the time.

@yackinn