rbenv install --list-all doesn't show the latest ruby version after git update

I'm using AWS Codebuild.
AWS Codebuild uses ruby-build/install.sh for ruby-build installation.
And because of that, I can't see the latest version after git update.
Steps to reproduce the behavior
$ cd /usr/local/rbenv/plugins/ruby-build && git pull
$ rbenv install --list-all | grep 2.7

Expected vs. actual behavior
I expect to see recent 2.7.7 version, but I can't see it from the result of rbenv install --list-all
Logs
From https://github.com/rbenv/ruby-build
   55575fd..4f4f307  master     -> origin/master
 * [new tag]         v20221124  -> v20221124
 * [new tag]         v20221025  -> v20221025
 * [new tag]         v20221026  -> v20221026
 * [new tag]         v20221101  -> v20221101
 * [new tag]         v20221116  -> v20221116
 * [new tag]         v20221121  -> v20221121
 * [new tag]         v20221123  -> v20221123
Updating 55575fd..4f4f307
Fast-forward
 bin/ruby-build                              | 23 +----------------------
 script/update-truffleruby-graalvm           |  2 +-
 share/ruby-build/2.4.0                      |  2 +-
 share/ruby-build/2.4.0-dev                  |  2 +-
 share/ruby-build/2.4.1                      |  2 +-
 share/ruby-build/2.4.10                     |  2 +-
 share/ruby-build/2.4.2                      |  2 +-
 share/ruby-build/2.4.3                      |  2 +-
 share/ruby-build/2.4.4                      |  2 +-
 share/ruby-build/2.4.5                      |  2 +-
 share/ruby-build/2.4.6                      |  2 +-
 share/ruby-build/2.4.7                      |  2 +-
 share/ruby-build/2.4.8                      |  2 +-
 share/ruby-build/2.4.9                      |  2 +-
 share/ruby-build/2.5.0                      |  2 +-
 share/ruby-build/2.5.0-dev                  |  2 +-
 share/ruby-build/2.5.0-preview1             |  2 +-
 share/ruby-build/2.5.0-rc1                  |  2 +-
 share/ruby-build/2.5.1                      |  2 +-
 share/ruby-build/2.5.2                      |  2 +-
 share/ruby-build/2.5.3                      |  2 +-
 share/ruby-build/2.5.4                      |  2 +-
 share/ruby-build/2.5.5                      |  2 +-
 share/ruby-build/2.5.6                      |  2 +-
 share/ruby-build/2.5.7                      |  2 +-
 share/ruby-build/2.5.8                      |  2 +-
 share/ruby-build/2.5.9                      |  2 +-
 share/ruby-build/2.6.0                      |  4 ++--
 share/ruby-build/2.6.0-dev                  |  2 +-
 share/ruby-build/2.6.0-preview1             |  2 +-
 share/ruby-build/2.6.0-preview2             |  2 +-
 share/ruby-build/2.6.0-preview3             |  2 +-
 share/ruby-build/2.6.0-rc1                  |  2 +-
 share/ruby-build/2.6.0-rc2                  |  2 +-
 share/ruby-build/2.6.1                      |  4 ++--
 share/ruby-build/2.6.10                     |  4 ++--
 share/ruby-build/2.6.2                      |  4 ++--
 share/ruby-build/2.6.3                      |  4 ++--
 share/ruby-build/2.6.4                      |  4 ++--
 share/ruby-build/2.6.5                      |  4 ++--
 share/ruby-build/2.6.6                      |  4 ++--
 share/ruby-build/2.6.7                      |  4 ++--
 share/ruby-build/2.6.8                      |  4 ++--
 share/ruby-build/2.6.9                      |  4 ++--
 share/ruby-build/2.7.0                      |  4 ++--
 share/ruby-build/2.7.0-dev                  |  2 +-
 share/ruby-build/2.7.0-preview1             |  2 +-
 share/ruby-build/2.7.0-preview2             |  2 +-
 share/ruby-build/2.7.0-preview3             |  2 +-
 share/ruby-build/2.7.0-rc1                  |  2 +-
 share/ruby-build/2.7.0-rc2                  |  2 +-
 share/ruby-build/2.7.1                      |  4 ++--
 share/ruby-build/2.7.2                      |  4 ++--
 share/ruby-build/2.7.3                      |  4 ++--
 share/ruby-build/2.7.4                      |  4 ++--
 share/ruby-build/2.7.5                      |  4 ++--
 share/ruby-build/2.7.6                      |  4 ++--
 share/ruby-build/2.7.7                      |  2 ++
 share/ruby-build/3.0.0                      |  2 +-
 share/ruby-build/3.0.0-dev                  |  2 +-
 share/ruby-build/3.0.0-preview1             |  2 +-
 share/ruby-build/3.0.0-preview2             |  2 +-
 share/ruby-build/3.0.0-rc1                  |  2 +-
 share/ruby-build/3.0.1                      |  2 +-
 share/ruby-build/3.0.2                      |  2 +-
 share/ruby-build/3.0.3                      |  2 +-
 share/ruby-build/3.0.4                      |  2 +-
 share/ruby-build/3.0.5                      |  2 ++
 share/ruby-build/3.1.0                      |  2 +-
 share/ruby-build/3.1.0-dev                  |  2 +-
 share/ruby-build/3.1.0-preview1             |  2 +-
 share/ruby-build/3.1.1                      |  2 +-
 share/ruby-build/3.1.2                      |  2 +-
 share/ruby-build/3.1.3                      |  2 ++
 share/ruby-build/3.2.0-dev                  |  4 ++--
 share/ruby-build/3.2.0-preview1             |  2 +-
 share/ruby-build/3.2.0-preview2             |  4 ++--
 share/ruby-build/3.2.0-preview3             |  2 ++
 share/ruby-build/jruby-<IP_ADDRESS>              |  2 ++
 share/ruby-build/jruby-<IP_ADDRESS>              |  2 ++
 share/ruby-build/truffleruby+graalvm-22.3.0 | 21 +++++++++++++++++++++
 share/ruby-build/truffleruby+graalvm-dev    |  8 ++++----
 share/ruby-build/truffleruby-22.3.0         | 21 +++++++++++++++++++++
 83 files changed, 152 insertions(+), 119 deletions(-)
 create mode 100644 share/ruby-build/2.7.7
 create mode 100644 share/ruby-build/3.0.5
 create mode 100644 share/ruby-build/3.1.3
 create mode 100644 share/ruby-build/3.2.0-preview3
 create mode 100644 share/ruby-build/jruby-<IP_ADDRESS>
 create mode 100644 share/ruby-build/jruby-<IP_ADDRESS>
 create mode 100644 share/ruby-build/truffleruby+graalvm-22.3.0
 create mode 100644 share/ruby-build/truffleruby-22.3.0
1.8.6-p287
2.0.0-p247
2.2.7
2.7.0-dev
2.7.0-preview1
2.7.0-preview2
2.7.0-preview3
2.7.0-rc1
2.7.0-rc2
2.7.0
2.7.1
2.7.2
2.7.3
2.7.4
2.7.5
2.7.6
jruby-<IP_ADDRESS>
rbx-2.2.7
rbx-2.7
rbx-2.71828182

Hi, some questions:

Is /usr/local/rbenv/plugins/ruby-build the only installation of ruby-build on this system? You can check with which -a ruby-build
Does running rbenv root print /usr/local/rbenv?


[BUG] In Logic Pro 10.8.1. - selecting/loading  files doesn't work

Hi, My gear is:
Macbook air M1 2020
OS Sonoma 14.2.1
Logic 10.8.1
PROBLEM:
Inside Logic Pro, I simply can't load any file to the amp modeler, I open the plugin and click on the location path and It doesn't let me select a folder, browsing files I click "open" but it doesn't select a folder, instead It jumps inside folders, and then all that is left is to select a .nam file and when I do that, nothing gets selected.
Through the actual app I can choose a folder destination and it will work allowing me to change pick and change sounds.
is anybody having this crazy issue?
BIG thanks !!
v.

There's a bit of a difference between how the standalone and plugin work on macOS: on the standalone, you select a folder; in the plugins, you select the file directly.
Can you share an example model as well as the file path where it's saved on your computer?

MacBook Pro M1 Max / MacOS Sooma 14.1.2 // Logic Pro x 10.8.1
Hi Steven,
How are you?
I'm running into a similar issue.
The stand alone app allows me to load Amps and IR's.
Within Logic I can add the Plugin to a channel. I have control over the settings via the control knobs but I can't load any amps or IR's. I click the folder icon next the Amp symbol, access the folder located on my desktop and select the Vox30 V2.nam and it doesn't load. The same happens when attempting to load an IR. I  access the folder located on my desktop and select the Matchless 2x12 G12H30 sm57.wav and it doesn't load.
I used the NeuralAmpModeler-v0.7.7-mac.dmg installer.
I have also downloaded:
NeuralAmpModeler.app.dSYM
NeuralAmpModeler.component.dSYM
NeuralAmpModeler.vst3.dSYM
I haven't used these as I am unsure what to do with them and if I need to.
I would really appreciate some direction.
Many thanks
C


ARM64: Add support for label loading and relocation.

Also: Change EH_STACK_SAVE_REG from volatile x14 to non-volatile x27
And change ALT_LOCALS_PTR from volatile x13 to non-volatile x28

Hang on, this should use pc relative addressing instead.


Raise ValueError for missing CNV HMM

Re: issue #363
Alternative to PR #575
Regarding issue #555, this would still require manual filtering of sample sets that don't have CNV HMM.
The user might not know ahead of time which sample sets have or don't have CNV HMM.
Sibling PR: #576

Closing in favour of PR #575 , which is more consistent with haplotypes() and more convenient for the user.


avoid memory overflow on corrupted file

This is a copy of my PR against the original abandoned DAWG project: https://github.com/pytries/DAWG/pull/44
This fixes an issue that can cause the dawg to allocate a lot of memory on load in the case of a corrupted file.
Unfortunately, the original dawgdic library looks like it has long since ceased to be maintained, so I am opening a PR against the python wrapper.
To replicate the issue, use the following script:
from dawg import BytesDAWG as dawg

with open('corrupt.dawg', 'w') as f:
    f.write('corrupt!')

try:
    d = dawg().load('corrupt.dawg')
except:
    print('failed, as expected')

If you run this under gtime on OSX, you will see somewhere between 4 and 6GB of RAM being used.
$ gtime -v python load_corrupted_dawg
failed, as expected
	Command being timed: "python load_corrupted_dawg"
	User time (seconds): 2.94
	System time (seconds): 3.00
	Percent of CPU this job got: 84%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:07.04
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 6256108    <-------------- SIX GIGABYTES!!
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 258
	Minor (reclaiming a frame) page faults: 1890722
	Voluntary context switches: 338
	Involuntary context switches: 15360
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

After this PR, this number is greatly reduced
	Maximum resident set size (kbytes): 35152

I think I'll merge it, but actually this is a part of dawgdic code. I think we can adopt it too, but I'm not sure yet how to add it as a dependency without copy-pasting of its code.

@gmossessian can you please add the corresponding change here? https://github.com/pymorphy2-fork/dawgdic

@gmossessian if you don't mind, I'll import these changes to dawgdic

Thank you! Sorry I didn’t make time to do it quickly myself.
On Fri, Nov 24, 2023 at 06:54 insolor @.***> wrote:

@gmossessian https://github.com/gmossessian if you don't mind, I'll
import these changes to dawgdic
—
Reply to this email directly, view it on GitHub
https://github.com/pymorphy2-fork/DAWG/pull/20#issuecomment-1825783807,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVINE5VGXDHGVCD6DFE4DTYGCYL7AVCNFSM6AAAAAA64ZZDTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRVG44DGOBQG4
.
You are receiving this because you were mentioned.Message ID:
@.***>


feature idea: favicons

Is your feature request related to a problem? Please describe.
This is just a basic idea, but when using Obsidian, I really enjoyed using the favicon plugin. I was wondering whether render-markdown could maybe achieve a similar thing?
Describe the solution you'd like
fetching and displaying favicons inline could be tricky, but it appears that there are nerdfont icons for a lot of common websites (github, stackoverflow, slack, etc.). Just handling them should already cover a large number of links. The favicon could replace 🌐, and the globe icon is only used as fallback if the site does not have a nerdfont favicon.
Describe alternatives you've considered
not aware of any.
Additional information
No response

Links currently support custom lua patterns on the destination that let you use different icons under link.custom: https://github.com/MeanderingProgrammer/render-markdown.nvim?tab=readme-ov-file#links. The globe uses this for any http URL. You can add others for specific domains like youtube for example:
require('render-markdown').setup({
    link = {
        custom = {
            youtube = { pattern = 'www%.youtube%.com/', icon = ' ', highlight = 'RenderMarkdownLink' },
        },
    },
})

Is this the feature you're looking for? If you have suggestions for more out of the box domains (which I think is what you're getting at) LMK and I can expand the default configuration.

ah, yes indeed, seems I have missed that, my bad. And indeed, expanding some defaults would be a nice improvement.
However, it seems there is also some bug with the feature – when using this config (which I also would suggest as default):
link = {
	custom = {
		-- stylua: ignore start
		youtube = { pattern = "youtube%.com", icon = " ", highlight = "RenderMarkdownLink" },
		github = { pattern = "github%.com", icon = " ", highlight = "RenderMarkdownLink" },
		neovim = { pattern = "neovim%.io", icon = " ", highlight = "RenderMarkdownLink" },
		stackoverflow = { pattern = "stackoverflow%.com", icon = "󰓌 ", highlight = "RenderMarkdownLink" },
		discord = { pattern = "discord%.com", icon = "󰙯 ", highlight = "RenderMarkdownLink" },
		reddit = { pattern = "reddit%.com", icon = " ", highlight = "RenderMarkdownLink" },
		-- stylua: ignore end
	},
},

and this markdown:
## Some links
- [GitHub](https://github.com/chrisgrieser)
- [YouTube](https://www.youtube.com/aaaaaa)
- [Stackoverflow](https://stackoverflow.com/fsfsf)
- [Neovim Docs](https://neovim.io/doc/user/treesitter.html)
- [Discord](https://discord.com/channels/686053708261228577/1309959771863908532)
- [reddit](https://www.reddit.com/r/neovim/comments/1h43mjj/snacksprofiler_a_neovim_lua_profiler/)

Only 2 out of 6 get the correct icon:

Weirdly enough, using pattern = "youtube.com" instead of pattern = "youtube%.com" breaks the YouTube icon, even though . and %. in a lua pattern should both match a ., so I guess there is some issue with how the patterns are processed...

Added these here: https://github.com/MeanderingProgrammer/render-markdown.nvim/commit/61850bf7df4af8398e97559a35b62378ba8435b1, thanks!
Mostly the same as what you have, but I did change some of the icons to nf-md-* versions when they were available for internal consistency.
When multiple patterns match a custom link destination, like with https://www.youtube.com/aaaaaa both youtube.com and ^http[s]?:// match, we pick the pattern that is longer: https://github.com/MeanderingProgrammer/render-markdown.nvim/blob/main/lua/render-markdown/render/base.lua#L71-L73.
This is to make the behavior more likely to be consistent and will probably do the right thing in most cases, since longer patterns tend to be more specific. But in this case the shortened form of the youtube pattern is shorter than the base web pattern, as is the case for some of the other URLs. I went ahead and updated the default web pattern to the simpler ^http, which should function mostly the same as before but make it more likely to be overridden by other destinations.

Thank you!

When multiple patterns match a custom link destination, like with https://www.youtube.com/aaaaaa both youtube.com and ^http[s]?:// match, we pick the pattern that is longer

Just a minor nit: May I suggest changing this behavior, e.g. by using a priority field or by using the alphabetical order of the key? The length of a pattern feels off, resulting in unexpected behavior like I mentioned above with the %. instead of . changing behavior.
In any case, I think this issue can be closed, since it has been addressed. :)

I considered adding a more explicit priority field, but I think surfacing this behavior to users would be tricky, more of a consequence of how large the configuration is.
I liked the idea of having things work how you would expect out of the box. Like if you specify overlapping patterns you probably want the one with more overlap to be used, definitely some edge cases with this approach.
If it comes up as a problem again definitely LMK!

I liked the idea of having things work how you would expect out of the box.

Well, as I was trying to say, the current way does not work how I expected out of the fix, with the pattern behavior appearing buggy at first.

Like if you specify overlapping patterns you probably want the one with more overlap to be used, definitely some edge cases with this approach.

In general, this is actually reasonable, yeah. Maybe simply documenting this behavior in a short one-liner might be helpful, so that there is no confusion like I had?

Makes sense, added documentation: https://github.com/MeanderingProgrammer/render-markdown.nvim/commit/8790a384b3be4bfa6cd596d7c8b7f47a0e338a88


Editing Quantity States in Character Instances--lose quantity when edit

When you edit a quantity state in Character Instances, you lose the quantity. For example, I just wanted to edit the order number. When I saved it I realized I had also lost the quantity state. Please make it so the quantity value is retained when pulling up the edit window.

This is in paleobot/pbot-client@fa62877e989bc631e7053c8b7a999e8a6fc2c1e4


Handle unavailable files with no storage/peers better

If you try to open a valid documentId that wasn't saved anywhere (and you're not connected to anyone) it should fail gracefully instead of hanging on isReady().

Ah, that should be in already. There is a passing test in there right now, but maybe it's not actually testing what I think it is.

Just spotted it has a network adapter in that test. Will adjust and see what I can sort

OK, that passes too. What situation are you seeing this in?

In here: https://github.com/automerge/automerge.github.io/blob/repo-updates/docs/quickstart.md
I had a version with no StorageAdapter -- if you reload the page then the document no longer exists to load, but if you called change() you'd get the !isReady() error.
Maybe the issue is that if the document is no bueno, we should return null instead of the change function? Maybe it's just a matter of updating what error message is reported?

So in that situation, the unavailable event is firing and handle.doc() would return undefined. It's just that if you don't look for any of those signs, then you get a "not ready" error when you try to change?

Must be the change() yeah
On Thu, Aug 24, 2023 at 15:38 Alex Currie-Clark @.***>
wrote:

So in that situation, the unavailable event is firing and handle.doc()
would return undefined. It's just that if you don't look for any of those
signs, then you get a "not ready" error when you try to change?
—
Reply to this email directly, view it on GitHub
https://github.com/automerge/automerge-repo/issues/153#issuecomment-1692504004,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAWQCVRO5SE7AP73CCAI3XW7JVTANCNFSM6AAAAAA35HIA6U
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Peter van Hardenberg
"Everything was beautiful, and nothing hurt."—Kurt Vonnegut

Been thinking about this a little today. It kind of goes back to my initial argument about how a user might access a document.  There should always be a check done to make sure that the handle contains a valid document before you try to read from it or change it. At the moment that would be:
const handle = repo.find(id);

const doc = await handle.doc();

if (doc) {
  // do things with the handle
} else {
  // there is an error with the document
  console.log(handle.state)
}

There is also handle.whenReady() which at the moment will resolve or throw an error. It doesn't currently reject if the doc becomes unavailable, which it probably should do.
My instinct is that while reading a non-ready document shouldn't throw, changing a non-ready document probably should.
Essentially, the rule should always be "check the document is ready before doing anything with it".


[KYLIN-5128] optimize parallelism of global dict bucket resizing job

Proposed changes
The parallelism of the current global dict bucket resizing job is not clear, which may result in too small parallelism and long time running in some case. So i think force one bucket one task will be better.
Github Branch
As most of the development works are on Kylin 4, we need to switch it as main branch. Apache Kylin community changes the branch settings on Github since 2021-08-04 :

The original branch kylin-on-parquet-v2 for Kylin 4.X (Parquet Storage) has been renamed to branch main, and configured as the default branch;
The original branch master for Kylin 3.X (HBase Storage) has been renamed to branch kylin3 ;

Please check Intro to Kylin 4 architecture and INFRA-22166 if you are interested.
Types of changes
What types of changes does your code introduce to Kylin?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have create an issue on Kylin's jira, and have described the bug/feature there in detail
[x] Commit messages in my PR start with the related jira ID, like "KYLIN-0000 Make Kylin project open-source"
[x] Compiling and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged

Further comments
If this is a relatively large or complex change, kick off the discussion at user@kylin or dev@kylin by explaining why you chose the solution you did and what alternatives you considered, etc...

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@93b8295). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1772   +/-   ##
=======================================
  Coverage        ?   24.58%
  Complexity      ?     4429
=======================================
  Files           ?     1094
  Lines           ?    61851
  Branches        ?     8864
=======================================
  Hits            ?    15206
  Misses          ?    45036
  Partials        ?     1609

Continue to review full report at Codecov.

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

LGTM

LGTM


Add time test

as title.

Codecov Report

Merging #716 into master will increase coverage by 0.09%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #716      +/-   ##
==========================================
+ Coverage   52.26%   52.35%   +0.09%
==========================================
  Files          35       35
  Lines        8226     8226
==========================================
+ Hits         4299     4307       +8
+ Misses       3440     3433       -7
+ Partials      487      486       -1

Impacted Files
Coverage Δ

xorm.go
64.78% <0%> (-1.41%)
:arrow_down:

session.go
53.43% <0%> (+0.51%)
:arrow_up:

session_convert.go
20.62% <0%> (+0.52%)
:arrow_up:

tag.go
76.58% <0%> (+1.89%)
:arrow_up:

Continue to review full report at Codecov.

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


Library dates

for these timestamps we’ll probably need to backfill watched_at to equal updated_at, and backfill finished_at to equal updated_at for completed entries?

Oh wait, can I do that in a migration? 🤔

I should probably also change watched_at to consumed_at to be media-agnostic


[Question] MemoryFilter mixing conditions

Context / Scenario
This issue is kind of a continuation from here: https://github.com/microsoft/kernel-memory/issues/245
We fixed the issue and it’s fine, but we now have another scenario that cannot be addressed with the current way, and not sure how can be fixed.
Question
Thing is that when we need to apply the security trimming scenario described in the previous issue, and add another filter by a different tag, I’m not able to find a way to do it. What I want is a query like:
(tags/any(s: s search.in(t, 'Authorized:xxxxxx’,’Authorized:xxxxx’,’Authorized:xxxxx’,….))
AND
(tags/any(s: s eq ‘Department:Marketing’))

Any idea how this could be achieved?
I don’t know the possibilities for the other Vector DBs (Redis, Qdrant…), but for Azure Search, where queries can be quite complex, I think we could have some FilterQueryBuilder class that could be injected when adding WithAzureAISearchMemoryDb that return a string with the entire Filter value.
Ideally, I’d rather to have more control in MemoryFilter class with some FluentUI that allows me to build the query operators (this code is crap, but you get the point):
MemoryFilters
    .ByAnyTagValue("Authorized", ["group1", "group2", "group3"]) // translates to search.in()
    .And().ByTag("Department", "IT") // translates to: and department eq IT
    .And().ByTag("Department", "Marketing") // translates to: and department eq Marketing
    .Or().ByTag("Location", "London") // translates to: or location eq London

Thanks

MemoryFilters
/* 1 */    .ByAnyTagValue("Authorized", ["group1", "group2", "group3"]) // translates to search.in()
/* 2 */    .And().ByTag("Department", "IT") // translates to: and department eq IT
/* 3 */    .And().ByTag("Department", "Marketing") // translates to: and department eq Marketing
/* 4 */    .Or().ByTag("Location", "London") // translates to: or location eq London

From a quick look, that translates to two searches, merging the results:

search 1:  (Authorized == group1 OR Authorized == group2 OR Authorized == group3) AND (Department == IT) AND (Department == Marketing)
search 2: (Location == London)

then merge the two result sets, sorting by relevance.

btw, I looked into the option to provide a fluent language and custom filters. For instance, I would love having a "NOT" filter to exclude. For now I'm using the same approach, multiple searches and merging (or subtracting).
Finding a solution that works across all the engines is a major project on its own. E.g. porting all DBs to EF first, and using LINQ. A less expensive option could be allowing to pass query strings, but that is a security nightmare. Another options might be OData, but it would work only for some engines, and OData is kind of picky on allowed symbols.
Other options involve custom interfaces, dependency injection and so on. I think we could try generics, allowing to extend the filtering classes. If you want to give it a shot, without spending more than a couple of hours, we could try and see what the code looks like and how it affects on the rest of the project.

I'll take a deeper look to the Filtering classes and let you know.
Thanks!


MdListItem not hoverable and clickable

Steps to reproduce
Go to List section in docs.
Which browser?

Firefox 51.0.1
Chrome 56.0.2924.87
What is expected?
All mdListItem hoverable and clicable
What is actually happening?

Only Link, Button, Router View items are clickable. And expandable.
Reproduction Link

Link

I think it is intended that only Link, Button, and Router View items are clickable. Though, list items should all be hover-able. I also think that they should have mouseenter and mouseleave events (like in Google Inbox).

I think this is intended too. The inkRipple in md-list-items that were informational-only with no actions attached was causing me some huge performance problems, and for no purpose. Only the actionablelist-items should be actually clickable.

@d3radicated @fergardi  that make sense. thx.


What we do before a new employee's first day

See [Onboarding] (https://github.com/josephine/handbook/blob/master/Operations Documents/Onboarding.md)

What sort of background reading would be good for people to read?
still need to update background reading, gift for first day employees, and account set up.
What's a nice gift we can have ready for everyone when they arrive for day 1?
What are the accounts we need someone to set up day 1?
How can we get our accountants to do what Patricia is doing for Clef?

Love the bit about setting calendar invites for first day ahead of time.

What is Patricia doing for Clef?

@terrybetts24 Patricia is their contact at Kranz, who manages the zenefits and employee onboarding.

Re: 2) Gift
Nextdoor tied a balloon on my chair the first day I was there, and put a sign on my monitor that said "Welcome, Joy!". That made me feel great, like I was expected, and welcome, and allowed other people to know I was new. That said, obviously we know when someone is new, but I still like balloons (it feels like a party!)
The point of the gift (and of having a smooth onboarding) is so the person feels comforted, and welcome, during a day that they have more anxiety and nervousness about than most of the other people on the team. A new person comes in with a great feeling of excitement, too, and should feel the excitement on our end. It's like: after passing through the interview, gauntlet, let's celebrate your joining!

I think each team should be responsible for doing a gift for their new team member (e.g. aprons for cook team) and then there should be a lunch or EOD full-team thing. I personally haven't read Daring Greatly yet, but I like that it sets the precedent that we're investing in the whole person. Would also love if each team did a mini "hey this is what I do at Josephine" spiel.

@joyjding Activities that make a new employee feel comfortable and welcome are a good idea, it is a thoughtful practice. Clean space to work, detailed tour, all accounts set up--email, Slack.
Making sure the POC for the new employee has a game plan and time cleared to work with the new hire.
I like the apron idea but let's make it simple and give to all new staff. Formally giving meal credit and taking them to a meal on or near the first day.

I'd love to have an equipment for everyone:

Monitor
Keyboard / Mouse

As well as an admin checklist:

Access to email (and filters –– @sike13 you said you've done this?)
Access to Slack
Access to Github
Access to Trello
Invites to calendars
probably others... I have a (needs to be updated) Setting up a new employee document

I like the idea of a gift –– maybe something sweet from a recent Josephine meal? If it's doable...
Attending a Josephine meal, if not on the first day, then definitely within the first week (with 1-2 other employees).
Doing something with the whole team –– a lunch, a dinner, a something, would be really nice.

Computer offer - for technical/nontechnical candidates

@MattJorgensen Strengthfinder & MBTI

thinking for reading would be good to have:

our best press piece thus far (Atlantic article?)
article written by someone on the founding team
a specific chapter from Daring Greatly — if we're giving them a copy, requiring one chapter we think is most important could be a great way to get them to actually read the whole thing...which I didn't do :)

also really big fan of some sort of assessment (esp strengths finder); it's a great way to intro new employees to all the team members and can facilitate interesting/fruitful conversations early on.

+1 thanks Emily
ᐧ
On Sun, Mar 6, 2016 at 4:05 PM, Emily<EMAIL_ADDRESS>wrote:

thinking for reading would be good to have:

our best press piece thus far (Atlantic article?)
article written by someone on the founding team
a specific chapter from Daring Greatly — if we're giving them a
copy, requiring one chapter we think is most important could be a great way
to get them to actually read the whole thing...which I didn't do :)

also really big fan of some sort of assessment (esp strengths finder);
it's a great way to intro new employees to all the team members and can
facilitate interesting/fruitful conversations early on.
—
Reply to this email directly or view it on GitHub
https://github.com/josephine/handbook/issues/30#issuecomment-193019453.

--
Matt Jorgensen
Home Cooked Food in the Bay Area
<EMAIL_ADDRESS>860.614.3361

these are all chill.
how about other things to feel good –

take a head shot and add to website
give them josephine meal credit
listen to one of my jokes

announce their first day on social?


where to add token?

Line 42 in Hi-DokiForm.cs at string token
https://github.com/Hi-doki/Discord-RAT/blob/master/Hi-Doki RAT/Hi-DokiForm.cs


Oversized cursors in weston apps

Cursors seem to be scaled 2x. GNOME also has this bug.

Okay, turns out this is ridiculous. It turns out they have a config parameter for cursor size, by default set to 32 (https://github.com/wayland-project/weston/blob/323d4b37a09ae5c8800b390ab88a3b714aa21655/compositor/main.c#L1623). Of course, when the theme gets loaded, cursors are resized to 32x32 (https://github.com/wayland-project/weston/blob/323d4b37a09ae5c8800b390ab88a3b714aa21655/libweston/compositor-wayland.c#L2488).


Dataset download paths not working

Great work! I see that the urls path is not working http://imagine.enpc.fr/~ventural/covr/dataset/webvid8m-covr_paths-test.json. Can you please update that?

Hi @thechargedneutron, sorry for that. Can you try now?

Thanks, works now


[SwiftLexicalLookup] Add dollar identifier, better extension handling and more ASTScope related fixes

This PR brings more ASTScope related fixes to SwiftLexicalLookup. Those include:

Prompting clients to lookup generic parameters of extended types inside extensions with LookupResult.lookInGenericParametersOfExtendedType.
Dollar identifier handling through LookupResult.mightIntroduceDollarIdentifiers result kind when looking up for identifier = nil and more explicit LookupName.dollarIdentifier when looking up for a particular dollar identifier.
Remove member and file scope handling to avoid confusion and incomplete member lookup.
Fix behavior of lookup from where clauses.
And more fine grained fixes.

@swift-ci Please test

@swift-ci please test Windows

@swift-ci Please test

@swift-ci please test Windows

@swift-ci please test Windows


Add support for additional queries locations

Problem statement
When working on a tree-sitter grammar locally, I need to add the query file to the tree-sitter-langs folder. And I need to make sure I do that again when I upgrade the package or something.
Suggested solution
Just like tree-sitter-load-path  which is a list of directories to search for shared libraries that define languages, I suggest adding an evil-textobj-tree-sitter-load-path list to search for queries in.
Something like this would probably do.
(full-path (seq-some (lambda (base-name)
                               (locate-file base-name
                                            tree-sitter-load-path
                                            tree-sitter-load-suffixes))
                             files))

Hmm, this could be useful. Just trying to understand the usecase of this. If these are queries that could be used upstream, feel free to upstream it. But, if you just want to hack on it, I would just suggesting cloning it somewhere and using it from the cloned version. This way you can manage update as well.
Something like the following for use-package might come in handy if you decide to use from a local path.
(use-package evil-textobj-tree-sitter
  :load-path "/path/to/evil-textobj-tree-sitter/")

And if they are one off queries, you can use them as you have done in https://github.com/meain/evil-textobj-tree-sitter/issues/84#issue-1585648997 , but you knew that already.
If we decide to do this, we have to decide if we let users pass in a file for each grammar, or just a directory with a similar folder structure as we have currently(any new languages will still need edit in the evil-textobj-tree-sitter-major-mode-language-alist variable). If we have multiple files, do both get merged or the user specified one overrides the builtin one.

I see the main use case for grammar authors (like me) who are iterating on the grammar and the queries on their local machine.
I'm currently using a fork and it's working just fine :)

If we decide to do this, we have to decide if we let users pass in a file for each grammar, or just a directory with a similar folder structure as we have currently(any new languages will still need edit in the evil-textobj-tree-sitter-major-mode-language-alist variable). If we have multiple files, do both get merged or the user specified one overrides the builtin one.

It seems like a lot of decisions to be made. Maybe adding a portion of documentation for grammar authors to fork the repo and add their queries is more than enough.
In my opinion, that's a better option.

It seems like a lot of decisions to be made. Maybe adding a portion of documentation for grammar authors to fork the repo and add their queries is more than enough.
In my opinion, that's a better option.

I was thinking the same thing. Sounds good :D

Add a small note in https://github.com/meain/evil-textobj-tree-sitter/commit/71d9e288a89f254f9041c1781403316c0d21da51


Block table fix

Had some updates to the readme in an older commit, so I threw that in there, too.

Ref #33


fix missing header for newer versions of gcc (#94)

fix failing build for gcc versions >=11. Closes #94

Closing this in favor of the rewrite to python + pyside


new mapping for Java annotations

I passionately hate the inject__FIELD rubbish that we generate for Java annotations:

It doesn't look like Ceylon at all: we never use SHOUTY_CASE for anything, and we rarely use underscores, let alone two underscores.
It clogs up the root namespace of Java packages with ugly stuff.

Now that we have static, I propose:

we allow annotation constructors to be static functions (or even named constructors,
move the annotation__KIND stuff out of the toplevel package namespace, and into the namespace of the annotation type Annotation, and
rename them to something sensible like Annotation.annotationKind.

Thus, you would import what is currently called inject__FIELD, and would now be called Inject.injectField like this:
import javax.inject {
    Inject {
        injectField
    }
}

injectField late EntityManager em;

Sure, there is some small risk of collision with the name of an annotation member, but I think that's tiny enough to not be worth worrying about.
An objection would be that for some annotations, for example, JPA's @Table and @Column, the transformation doesn't read particularly well, tableField, columnField, but to me it's still an improvement on table__FIELD, table__COLUMN, and of course you can still use an import alias.

A competing proposal would be to add a _target member to the annotation type, so you would write:
import java.lang { AnnotationTarget { field } }
import javax.inject { inject }

inject { _target=field }
late EntityManager em;

This solution is more difficult to implement because would require the addition of the AnnotationTarget enum to java.base. And it's a lot noisier. You can't abstract away the { _target=field } bit in an import alias. So it seems objectively worse to me.

I like the second proposal (despite its wordiness): To someone with only a Java background, it is something familiar with some added decoration.  Plus, maybe one day { _target=field } will be removed after a, yet to be discovered, innovation.

@fwgreen

I like the second proposal (despite its wordiness)

I think it would get really old, really quick, after defining a few fields like this:
generatedValue { _target=field; }
id  { _target=field; }
column  { name="PERSON_ID"; _target=field; }
Integer id;

Multiply the above by the number of fields in your entity.

A third possible approach would be this:
field(inject) late EntityManager em;

Or, more complex example:
field(generatedValue, id, column { name="PERSON_ID"; })
Integer id;

We would have to add field(), setter(), getter(), local(), type(), and constructor() annotation constructors to java.lang.annotation.

Well, what's the problem actually? Why doesn't inject do what you want by default in this case?

Well, what's the problem actually?

The problem is mainly a warning that I don't want.

Why doesn't inject do what you want by default in this case?

It does, almost all of the time. The one I ran into where it doesn't is the produces annotation.

I thought we got rid of most warnings? What's the particular issue with produces?

@FroMage https://github.com/ceylon/ceylon/issues/5751#issuecomment-253546059

Another option is compiler annotations:
inject:setter
late Foo bar;

@FroMage well but I hate introducing syntax that is platform-specific.

The syntax is not platform-specific: compiler annotations work on all platforms. What they mean is different, but the meaning of imports is also platform-specific so it's the same.

Sorry, compiler annotations would be more like inject@setter, right?

Sorry, compiler annotations would be more like inject@setter, right?

Well we would need a totally new syntax. Compiler annotations as they exist today can't be used for this.

What's the particular issue with produces?

Actually it's not @Produces, which is correctly added to the field.
For some reason, which I don't understand at all, @PersistenceContext gets added to the setEntityManager$priv$() method, which it should not be, AFAICT. That seems to be a bug.

What's the particular issue with produces?

Hrm, I don't understand this at all.
For this code:
	produces persistenceContext
	late EntityManager entityManager;

I get:
   @.javax.enterprise.inject.Produces
    @.javax.persistence.PersistenceContext
    @.com.redhat.ceylon.compiler.java.metadata.Ignore
    private final void setEntityManager$priv$(@.com.redhat.ceylon.compiler.java.metadata.Name("entityManager")
    @.com.redhat.ceylon.compiler.java.metadata.NonNull
    @.com.redhat.ceylon.compiler.java.metadata.TypeInfo("javax.persistence::EntityManager")
    final .javax.persistence.EntityManager entityManager) { ... }

That is: it annotates the setter. That's not what we specified is it??

That is: it annotates the setter. That's not what we specified is it??

Seems to be a side-effect of the late annotation! Gotta be a bug, surely.


Update deno in brew

When you install deno with brew it doesn't install the latest version

https://formulae.brew.sh/formula/deno should install v0.42.0, the latest stable version.

@MarkTiedemann v0.42.0 is not the latest anymore. v1.0.0-rc1 was released yesterday: https://github.com/denoland/deno/releases/tag/v1.0.0-rc1.
@SantiMA10 The brew formula needs to be manually updated after every release. That can sometimes take a few days.

Any update on this?

Today brew install deno has installed<EMAIL_ADDRESS>for me on OSX
~/deno % brew info deno
deno: stable 1.0.0 (bottled)
Command-line JavaScript / TypeScript engine
https://deno.land/
/usr/local/Cellar/deno/1.0.0 (9 files, 42.0MB) *
  Poured from bottle on 2020-05-14 at 09:40:51
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/deno.rb
==> Dependencies
Build: llvm ✘, ninja ✘, rust ✘
==> Requirements
Build: xcode ✘
Required: macOS is required ✔
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions


[WIP] Ipythontesting

Added a python module to run an ipython notebook as a test and integrate it into travis

The last addition should also close issue #79 which was almost finished.

Also a little glich in visualization is fixed that could occur when one wants to plot zero samples.

This is ready for review and merge (if the travis passes). BUT! This also replaces Alanine Example.py by the ipython notebook. Depends, if we want this.

Last thing, before merging. I want to store the dynamics_engine only as an object and not separate in the storage. This makes is cleaner, but might require a little more testing. But other than that is should work.

This is great! I think it is much better to use the ipynb as the test script than to duplicate efforts in the ipynb and the .py. (However, let's keep the .py around until current branches are merged back in. I think I may have made changes in the .py which I have yet to make in the ipynb, so I'd like to be able to quickly diff it.)
Two questions:

I noticed that there's a timeout in the most recent Travis test (https://travis-ci.org/choderalab/opentis/builds/46941135, see line 1276). Should the timeout limit be increased? Should we mark a timeout as a failed test? I'm guessing this specific example is the find-first-TIS-path part. However, I'm not sure that the rest counts as a good test if that part fails due to timing out. Besides, with a timeout passing, an infinite loop would look like a passing test, which obviously we don't want.

Can you add some of the other ipynbs to the test suite? The toy_dynamics_tis.ipynb example should definitely be included. Probably wouldn't hurt to include the others, as well.

Adding other ipynbs to the Travis tests lets us guarantee that our ipynb-based documentation stays up-to-date (at least runnable). That's really useful!

I noticed that there's a timeout in the most recent Travis test (https://travis-ci.org/choderalab/opentis/builds/46941135, see line 1276). Should the timeout limit be increased?

The travis-ci timeout is 10 minutes (600 seconds), so it's best to not increase the timeout over the current 540 seconds unless you switch to a method that prints intermediate output more frequently than once every 10 minutes.

Yes, the time out issue.The problem is that the example runs a bootstrapping and in some rare cases this might take longer than the 9 minutes. The last run was unfortunately one of these. I would rather simplify the example because this also means that evaluating the cell for a potential user can take more than 10 minutes which is no fun. Or as David said: It could also be the initial run or the bootstrapping which can take so long. Especially since the travis build is done on a CPU. I am not sure if we should increase it over 9 minutes since this will break the whole testing and travis will stop or we output intermediate prints. This is easy since the cell execution is on a seperate thread and non-blocking. It would still defeat the purpose of illustrative examples if cells can run so long.
I also wanted to add the timeout time as an command line argument to make this adaptable to different examples. Third and a really nice option is. That I am checking the first line of a cell, if it starts with #! (which is rather arbitrary) then the string behind it is considered a testing command and we could include 1. timeout:10000
2. strict: a key word forces the output to match the one in the notebook.
3. skip : a key word meaning to not execute the cell
4. ignore : a key word meaning to ignore if a cell has an error
Of course other syntax would be acceptable. Similar to decorators in nose tests to skip or...
@dwhswenson I totally agree, let's keep the alanine example around for know. This is often a quick help to check if something is working. I will add the other notebooks too one by one.

I rewrote the python script and it is much easier to use now. Also two more notebooks are working.
The tool now supports some command-line options as the keywords in the first line.

--no-timeout set timeout to fail the test
--timeout int sets the default timeout time in seconds
--strict activates diff testing, so if the output differs the test fails

Those options will be useful additions. But maybe a different name for --no-timeout: I would normally assume that name means --timeout infinity. Perhaps something like --fail-if-timeout ... that specifically doesn't sound great to me, but the idea of using "fail" or "pass" in the option makes it more explicit.
To avoid hitting the timeout, I see three options:

Replace most of the AD-based tests with the toy model tests. The toy_dynamics_tis notebook should cover most of the same path sampling stuff I put into the alanine dipeptide example; it just has more text explanation and uses a simpler engine. It also doesn't use storage yet; my plan was to only have storage for it with the actual TIS sampling. So maybe a small test to show dynamics and storage with alanine dipeptide (using OpenMM) instead of the whole calculation for the Travis tests?

Consider the use of travis_wait to push the time limit out past 10 minutes (http://docs.travis-ci.com/user/build-timeouts/)

Push some logging output to Travis's stdout (PR #103 includes optional logging to report completion of every N frames; I've been using N=10 with the alanine dipeptide example). Every path move also has logging output.

I think a combination of 1 and 2 would probably be best. We don't want to do any really significant sampling using AD as a test, because it will slow our development cycle if we have to wait hours for the tests to run. However, it would be good to run some basic tests with it.

Yes, the option will be changed. This makes total sense, I actually thought about this problem when I wrote it, because I was thinking about a way to disable the timeout. I will change that.
I also agree that the testing of all the sampling could be done using the toy_dynamics. If it is meant for testing then the Alanine with all its additional complexity distracts from the real thing to test. I would like to keep most of the Alanine as a testing for the storage, since it creates almost everything that can be stored. Maybe first do integration testing using the toy_dynamics and if this works continue with storage testing using Alanine.
I can also add the travis_wait as an option to some cell so that in case we have something that really might take a long time, we mark it and the notebook tester then tells travis to wait
Number 3 seems not necessary if we do 1 and 2. We could also design the example in smaller steps to be below the 10min threshold. And again agreed we want this to test that the framework works and not run a whole simulation.

I also realized that the Visualization Example fails for some still unknown reason. My local installation runs fine. Strange the variable tree is missing. It get's set one or two cells before. I will check that

Apparently this has to do with the way the samples are loaded from the TreeBuilder. This can be easily fixed once #114 is done. In principle this case be merged and I will fix the visualization later.

Would it work to merge #114 first, so that this one can pass tests before we merge it in?

I wanted at least this to be separate from the mammut PR for storage. I will remove the Visualization notebook for now so that the test passes. Then we should be able to merge this in. I mean the fail is due to a problem in visualization.py not in the changes files in this PR.

I will repair the auto merge!


Detect shell type from $SHELL variable instead of .$SHELLrc files

As per commit message.
I am using zsh on Ubuntu, but I am keeping also the default .bashrc that gets shipped with Ubuntu in my home folder. As of now, the nvm "loading" configuration gets added to $HOME/.bashrc because the check on .bashrc is encountered before the check on .zshrc.
basename is part of the GNU coreutils so it should be widely available and this should work also on other OSes.
Testing the various shells
(sh is dash on my system)
Launch from zsh
[~/extra/nvm/nvm]$ cat ./install.sh | sh
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)

=> Appending source string to /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

Launch from bash
$ bash
cristian@wash:~/extra/nvm/nvm$ cat ./install.sh | sh
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

Launch from ksh
$ ksh
$ cat ./install.sh | sh
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 1.41 MiB/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

Launch from sh
$ sh
$ cat ./install.sh | sh
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

Thanks for the contribution!
I am all for improving profile file detection as there's a number of issues open about it. I'm concerned about changing this though, so I'll want to test it on as many configurations as possible before merging it.

(Note that install.sh must be piped to bash, not sh, and that this has to work correctly with all of zsh, bash, dash, sh, and ksh)

@ljharb, I had also tested that possibility, but omitted it before.
Anyway, I believe that even launching the script from dash (i.e. ... install.sh | sh) gets it executed in bash because of the #!/bin/bash line at the beginning of the script (but I may be wrong, this things are always more complicated than they seem).
Also note that since my $SHELL env variable remains the same even when I launch a different shell the profile detected remains .zshrc, which is the intended behaviour, IMHO.
Here's the test executing the script with bash.
Piping to bash
zsh
[~/extra/nvm/nvm]$ cat ./install.sh | bash
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

bash
$ bash
cristian@wash:~/extra/nvm/nvm$ cat ./install.sh | bash
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

ksh
$ ksh
$ cat ./install.sh | bash
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

sh (dash)
$ sh
$ cat ./install.sh | bash
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

What about on a Mac, where by default, bashrc isn't sourced, and bash_profile is? On a fresh Mac user account I suspect this will break. Perhaps you want to also check for the file's existence as well as the shell type?

@ljharb, I have changed my pull request and rebased.
Here's the test.
Piping to sh
zsh to sh
zsh -c "cat /home/cristian/extra/nvm/nvm/install.sh | sh; rm -rf "/home/cristian/.nvm";  exit;"
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 1.48 MiB/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

bash to sh
bash -c "cat /home/cristian/extra/nvm/nvm/install.sh | sh; rm -rf "/home/cristian/.nvm";  exit;"
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 1.27 MiB/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

ksh to sh
ksh -c "cat /home/cristian/extra/nvm/nvm/install.sh | sh; rm -rf "/home/cristian/.nvm";  exit;"
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 653.00 KiB/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

sh to sh
sh -c "cat /home/cristian/extra/nvm/nvm/install.sh | sh; rm -rf "/home/cristian/.nvm";  exit;"
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

Piping to bash
zsh to bash
zsh -c "cat /home/cristian/extra/nvm/nvm/install.sh | bash; rm -rf "/home/cristian/.nvm";  exit;"
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

bash to bash
bash -c "cat /home/cristian/extra/nvm/nvm/install.sh | bash; rm -rf "/home/cristian/.nvm";  exit;"
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

ksh to bash
ksh -c "cat /home/cristian/extra/nvm/nvm/install.sh | bash; rm -rf "/home/cristian/.nvm";  exit;"
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

sh to bash
sh -c "cat /home/cristian/extra/nvm/nvm/install.sh | bash; rm -rf "/home/cristian/.nvm";  exit;"
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 651.00 KiB/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.zshrc
=> Close and reopen your terminal to start using nvm

Why are "bash to bash" and "ksh to bash" both doing "Source string already in /home/cristian/.zshrc"?

@ljharb because the $SHELL env variable does not change if you launch the script with another shell. As I said above this is the intended behaviour otherwise when you do ... ./install.sh | bash it would use .bashrc which should not be the case.

Right but shouldn't "bash to bash", to be a useful test, have $SHELL set such that it's bash?

Setting the $SHELL variable to /bin/bash with export SHELL="/bin/bash";
Setting $SHELL to bash
zsh to bash
echo "My shell is: $SHELL"; zsh -c "cat /home/cristian/extra/nvm/nvm/install.sh | bash; rm -rf "/home/cristian/.nvm";  exit;"
My shell is: /bin/bash
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 1.17 MiB/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.bashrc
=> Close and reopen your terminal to start using nvm

bash to bash
echo "My shell is: $SHELL"; bash -c "cat /home/cristian/extra/nvm/nvm/install.sh | bash; rm -rf "/home/cristian/.nvm";  exit;"
My shell is: /bin/bash
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.bashrc
=> Close and reopen your terminal to start using nvm

ksh to bash
echo "My shell is: $SHELL"; ksh -c "cat /home/cristian/extra/nvm/nvm/install.sh | bash; rm -rf "/home/cristian/.nvm";  exit;"
My shell is: /bin/bash
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.bashrc
=> Close and reopen your terminal to start using nvm

sh to bash
echo "My shell is: $SHELL"; sh -c "cat /home/cristian/extra/nvm/nvm/install.sh | bash; rm -rf "/home/cristian/.nvm";  exit;"
My shell is: /bin/bash
=> Downloading nvm from git to '/home/cristian/.nvm'
=> Cloning into '/home/cristian/.nvm'...
remote: Counting objects: 3693, done.
remote: Total 3693 (delta 0), reused 0 (delta 0), pack-reused 3693
Receiving objects: 100% (3693/3693), 827.00 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2132/2132), done.
Checking connectivity... done.
* (detached from v0.25.4)
  master

=> Source string already in /home/cristian/.bashrc
=> Close and reopen your terminal to start using nvm

lol, now your zsh to bash test says "Source string already in /home/cristian/.bashrc"

Please do also add/modify the automated install_script tests for this new behavior.

@ljharb it was already there exactly because when I tried the first install it added the line in .bashrc! (and yes, if you change your SHELL variable that's exactly what it should happen).
Anyhow, the importanti thing is the shell interpreter that is on the right hand side of the pipe (and so far I have tested it with sh/dash and bash because the left part basically just concatenates the output. (also, I was wrong above, even if you specify #!/bin/bash at the beginning of the script it gets executed with the shell interpreter that you specify on the right hand side.

I'd love to see this change (or something similar) land. Is there anything I can do to help out in terms of verifying various shell combinations?

@dfreeman https://github.com/creationix/nvm/pull/765#issuecomment-111595305 and https://github.com/creationix/nvm/pull/765#issuecomment-111595219 are my latest comments. If @CristianCantoro is unavailable, unable, or unwilling to complete the PR, I'd say it's a great idea to cherry-pick his commits into your own branch, and complete it as a new PR! :-)

Oops! That's what I get for skimming up and down the comment thread too quickly :)
Next time I've got a little time free, I'll see about pulling @CristianCantoro's initial work over into a fresh PR and wrapping it up (if he doesn't get to it in the meantime). Thanks!

@dfreeman, @ljharb I am not 100% sure that the ksh install script is working 100%, I will double check that and see if I need to report an issue.

Thanks - I had to disable the ksh tests awhile back, so it's possible/likely there's an issue there.

Added the test and rebased the commit. Please note that I have also move .profile higher in the priority for seaching dotfiles because this is a more sensible setting for people that have a $SHELL different from bash or zsh. The latter enjoy the advantage of having their shell detected directly and so for bash users the setting goes directly to .bashrc or .bash_profile. Analogously for zsh users the setting goes to .zshrc.

I notice that when I start in bash, and then run zsh, $SHELL remains /bin/bash, but $0 is zsh.
Detecting the current shell is difficult, but I wonder if we could somehow use $0 (probably in the root of install.sh, not in a function) to more accurately detect the current shell?

@ljharb it seems the intended behaviour to me. If you want to change your shell you should use chsh. I want to detect the user default (favourite?) shell, not necessarily the current shell.

Both for testing, and expectations, I'd expect that if i run the install script in X, it installs in X, even if that's not my default.
The current behavior is definitely attempting to detect the default, but I don't think that's quite as useful - since "install into the current shell" will match the default in most cases anyways.

I am not sure of what would be the benefit in adding the configuration to a shell different from your default.
After all, after the installation if you want to use nvm you still need to (either):

fire up a new shell (the new shell will be your default $SHELL)
source your .$SHELLrc file (works only if you are using your default shell (and only for bash and zsh, since ksh does not have a .kshrc file)
source .profile (works for every shell)
Execute the following command export NVM_DIR="/home/vagrant/.nvm"; [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" (works for every shell)
the instructions also suggest to => Close and reopen your terminal to start using nvm

All in all it seems more useful to me that the configuration line gets added only to the default .$SHELLrc file (adding it in .profile would work for every shell, but I would rather have it added to a more specialized .$SHELLrc file if it is avaiable). If I am using bash as default and I am using zsh only for this session I may even have an empty .zshrc.
Finally, I also expect that people using a shell different from their default one know what they are doing. I do not see why or how one should expect the config to get added to the current shell and than lose that configuration when they launch a new shell/reboot/etc.

Fair point. When I run zsh from my default bash tho, it does source .zshrc, and thus loads nvm for me (because i'd manually added those lines previously). It'd be really convenient to do zsh && ./install.sh && dash && ./install.sh && bash && ./install.sh && sh && ./install.sh && ksh && ./install.sh etc to set up all my shells.

@ljharb, yes, also on ubuntu .zshrc get loaded when launch zsh, and similarly .bashrc gets loaded whrn launching bash (.bash_profile does not get loaded, nor .profile (this, at least on Ubuntu))
I see what you mean for the installation. What about adding a different profile detection function if the configuration is already detected in the profile file?

I'd be totally fine with two modes of profile detection, "default" and "current". We can do that in a separate PR tho.

Ok, so can we merge this PR? :)
Then I will look into implementing a nvm_detect_default_profile and a nvm_detect_current_profile.

Done, thanks!


feat: display faucet error message

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


Add an icon on status

Status is an important field, which should be obvious to notice. Show a red cross icon for failure status, and show a green tick for success status.
@lizthedoer

Closed in favor of #436


Route relations are broken by iD

When someone edits ways that are part of a route relation (like cutting a way in two, or to delete a piece and draw a new way instead), iD most often corrupts the order of relation members. Even though the order would be very important for routes. Both OSMI, Osmose and JOSM display a "relation contains a gap" error for such relations.
The situation with iD is so bad that you may check the history of FlixBus routes, for example. A great deal of the versions is about "fix the gap" or "correct order" - after someone's edits with iD. Here we are in a continuous daily work to check and fix public transport routes. And it's an endless job as they get corrupted again and again.
a.) When having a route of A->B->C and the middle way is split in two, the proper order could be A->B'->New->C, or A->New->B'->C. So far I could not deduce a sure way of telling which one will happen.

It might depend on the order of the nodes in the way: the first node stays in B', the last node gets into New.
It might depend on the number of nodes: most nodes stay in B', the less nodes get into New.
It might depend on distance: the longer part stays in B', the shorter one gets into New.
It might be completely random, depending on node IDs or some internal map/tree/hash.

Algorithm-wise it is a simple task to decide the correct order so that chain remains intact.
b.) When adding a new way to a (route) relation, it's often added to the end of the members. Even if that way was added to mend a gap.
iD should walk along the existing relation members and check if the new way is connected to one of them. Of course, things get much more complicated in case of multiple connections (when having loops in the graph, like the two sides of a roundabout) but iD doesn't have to solve all these tricky situations perfectly.
c.) iD could also check the order of route member ways and give the user a warning.

iD should walk along the existing relation members and check if the new way is connected to one of them. Of course, things get much more complicated in case of multiple connections (when having loops in the graph, like the two sides of a roundabout) but iD doesn't have to solve all these tricky situations perfectly.

Apparently iD does attempt to do this, as seen in some tests, but perhaps there are some cases that are being handled suboptimally.

Can you give example of changeset where breakage was caused by iD?

For example changeset #101007031.
If I see it right, the user split way 348179105 into two. The new way is 917172308.
Even though it's at the very beginning of a route, it got inserted between the first and the second members of relation 5189472.

There is relation 5189473. The new member is way 917172315. It became the second member instead of being the 3rd one, mixed up with its parent way 348179087. Same changeset.

Then, 32 minutes later, the same user made another edit to this relation in changeset #101007928. Somehow the 348179087 way got moved from the (incorrect) 3rd position to be the 8th member.

Another example might be https://www.openstreetmap.org/changeset/101433951, where
https://www.openstreetmap.org/way/920068254
and
https://www.openstreetmap.org/way/334914447
are wrongly sorted into
https://www.openstreetmap.org/relation/1732029
and
https://www.openstreetmap.org/relation/1732028

Maybe anyone knows how to solve this or where in the code the problem is? Unfortunately, I coulnd't find it because I'm not that knowledgeable in this...

When having a route of A->B->C and the middle way is split in two, the proper order could be A->B'->New->C, or A->New->B'->C. So far I could not deduce a sure way of telling which one will happen.

#8839 fixes a regression in how the two ways resulting from a split are inserted into a simple linear relation. It might address some of the examples given here, even if the trickier issue with nonlinear routes remains elusive.

This bug is very annoying. Just take a look at https://tools.geofabrik.de/osmi/ --> Public Transport - Routes view --> Invalid routes. I have no exact numbers, but in most cases the user changed something with iD editor. Same applied for other relations: iD breaks them. Can I ask to handle this bug with higher priority?

Here another example of broken route relations (of a public transport version 2).
This relation is a "special" case : the bus arrives at a roundabout, follows a loop, comes back to the roundabout and continue on another way. The roundabout is here : https://www.openstreetmap.org/edit#map=20/4.88977/-52.33256
Select the roundabout then select the relation "Bus 9 : Encre -> Lycée Balata" : the current version (27) of this relation is ok (I mean the order of the ways) : the roundabout is twice in the relation with ways between them (the loop).
Now select the way on the right of the roundanout (https://www.openstreetmap.org/way/362487805) and cut it.
Select the route relation and look at the order : the 2 roundabout ways are one after the other and the loop is broken (the first way of the loop in no more at the good place : there is a gap between the roundabout and the parking_aisle).
This issue was opened almost 3 years ago, same thing for the issue #8578 : could you please look at them quickly and fix (at least) this special case ?

This issue is certainly still not fixed.
Most recent example I've stumbled upon:
https://www.openstreetmap.org/changeset/147754096
Splitting ways in one area resulted in de-sorting already correctly sorted looping fragment in another area for relation
https://www.openstreetmap.org/relation/2879235
Unfortunately it is a commonly recurring annoyance, but I wonder whether providing more examples regularly would be of any help?

but I wonder whether providing more examples regularly would be of any help?

I do not think it is. At least unless there is work being done on the issue which I do not see happening any time soon.

this might be the same issue as #7653

This relation is a "special" case : the bus arrives at a roundabout, follows a loop, comes back to the roundabout and continue on another way.

This relation contains this entire roundabout twice, which makes the route non-linear. If we were to split the roundabout, modeling the actual path of the vehicle through it both times, then it would be linear and iD would be much less likely to scramble the member order.
#7653 compounds the problem, but as long as a full roundabout loop is part the relation, scrambling could occur even if the full relation is loaded.

this should be fixed with #10149


ESSNTL 5248 update mapped system with groups in archiver

ESSNTL-5248

chore: remove renaming of listener_metrics module
refactor: change name and signature of processing method in archiver
feat: calls baselines' update associated systems when system do check-in

Secure Coding Practices Checklist Link

https://github.com/RedHatInsights/secure-coding-checklist

Secure Coding Checklist

[ ] Input Validation
[ ] Output Encoding
[ ] Authentication and Password Management
[ ] Session Management
[x] Access Control
[ ] Cryptographic Practices
[ ] Error Handling and Logging
[ ] Data Protection
[ ] Communication Security
[ ] System Configuration
[ ] Database Security
[ ] File Management
[ ] Memory Management
[x] General Coding Practices

Needs https://github.com/RedHatInsights/kerlescan/pull/103 merged and new kerlescan tag updated here.

/retest

/retest


Improve Vagrant troubleshooting.

Since I don't have a Windows machine available, I can't test if the curl path is always /cygdrive/c/HashiCorp/Vagrant/embedded/bin/curl.exe.

@roberthoenig would you be up for testing this patched Vagrantfile on Windows?  Ideally, we'd quickly check with both Vagrant 1.8.7 and any other version.  It'd be helpful to be able to close this out.

@timabbott I moved from Windows to Ubuntu 16.04 a few weeks ago.

@akashnimare thanks you very much; you have to test these cases:

using Vagrant 1.8.7 before patching (i.e. remove Vagrant's vendored curl): vagrant up on Powershell or Cygwin or Git Bash should exit with the correct error message. Note that in this case, each of Powershell, Cygwin, and Git Bash case should be tested because the path of the vendored curl is slightly different.
using Vagrant 1.8.7 after patching: vagrant up on Powershell or Cygwin or Git Bash should run properly.

Rebased. Making sure that @akashnimare rebased this as well when testing this.

We've done most of the original version of this PR since then; I pushed one commit based on this here to merge.  Thanks @rht!


NTR: intracellular auxin homeostasis and multicellular organismal-level auxin homeostasis

To replace GO:0010252 auxin homeostasis, to be obsoleted, see #24541

+[Term]
+id: GO:0140963
+name: multicellular organismal-level auxin homeostasis
+namespace: biological_process
+def: "A chemical homeostatic process involved in the maintenance of a steady state level of auxin within extracellular body fluids, such as the xylem or phloem of a multicellular organism. This is distinct from maintenance of cellular homeostasis, which occurs within a cell." [PMID:31431773]
+synonym: "multicellular organismal auxin homeostasis" EXACT []
+intersection_of: GO:0048871 ! multicellular organismal-level homeostasis
+intersection_of: regulates_levels_of GOCHE:22676 ! substance with auxin role
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/24555 xsd:anyURI
+created_by: pg
+creation_date: 2022-12-12T10:35:54Z
+
+[Term]
+id: GO:0140964
+name: intracellular auxin homeostasis
+namespace: biological_process
+def: "A homeostatic process involved in the maintenance of a steady state level of auxin within a cell." [PMID:19955263]
+synonym: "auxin homeostasis" BROAD []
+synonym: "cellular auxin homeostasis" EXACT []
+intersection_of: GO:0055082 ! intracellular chemical homeostasis
+intersection_of: regulates_levels_of GOCHE:22676 ! substance with auxin role
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/24555 xsd:anyURI
+created_by: pg
+creation_date: 2022-12-12T10:37:56Z


Assay name

No additions?

Hmm.. "Files changed" says (0) but I do see commits, and those changes that I randomly checked are now in master, so it seems that something has happened here.


Inflation in GridMap

Hello
Is there any pre-build function to inflate the gridmap object?
Thanks

Hi @nitin5,
Do you mean inflating similar to what can be done for costmap_2d? You could achieve a similar effect by converting the grid map layer to an OpenCV image (with grid_map_cv) and then using the eroding and dilating commands from OpenCV.


How to use use-package preface along with straight.el

According to use-package document
https://github.com/jwiegley/use-package/blob/e6b4bf8458f94227ed64df6e8e873d147e42916f/use-package-core.el#L1560-L1562
Code defined in preface block can be seen by the byte-compiler.
I want to use some autoload function from doom repo, but I keep getting
error invalid function: quiet!
(use-package testtmux
  :preface
  (defun doom-project-root() (projectile-project-root))
  (defmacro quiet! (&rest forms)
    `(progn ,@forms))
  :straight (:type git :files ("modules/tools/tmux/autoload/tmux.el") :host github :repo "hlissner/doom-emacs"))

As I understand it, use-package's :preface keyword wraps its forms in eval-and-compile. You can verify this by using macroexpand on your example:
(progn
  (straight-use-package
   '(testtmux :type git :files
              ("modules/tools/tmux/autoload/tmux.el")
              :host github :repo "hlissner/doom-emacs"))
  (eval-and-compile
    (defun doom-project-root nil
      (projectile-project-root))
    (defmacro quiet!
        (&rest forms)
      `(progn ,@forms)))
  (require 'testtmux nil nil))

Notice that the :preface forms are evaluated after the call to staright-use-package in the expansion. Bear in mind that Doom modifies and builds off straight.el as well. I'm not too familiar with everything it does because I don't use Doom myself. What is it specifically you are trying to achieve? Can you provide an example using straight-bug-report that exhibits the same behavior?

Thanks for you response. This is actually not a bug report but a question.
For the record, this is an edge use case.
The problem here is that this is not real package(Not self contained or with dependencies declaration or with a provide ).
There are some undefined functions/macros(which I defined later).
I think straight byte compiled package files without knowledge which is a function and which is a function.
Which can be solved by disable byte-compile:build (:not compile :not native-compile) .
Customizing how packages are built  / #357
Feel free to close this issue though.

Is it also possible to solve your issue by moving the defun and defmacro above the use-package form, rather than inside it under :preface? The way use-package is written, it runs :preface after invoking the package manager, whereas you want to define some stuff beforehand.

Nah, just tried.
As far as I read straight.el source code
https://github.com/raxod502/straight.el/blob/develop/straight.el#L4837-L4838
straight.el starts a new emacs process for recipe byte-compilation.
And it can only see information defined in the recipe like dependencies.
Thanks for this awesome package. Liked.

Ah yes, good point. I had forgotten we made that change, which would indeed break this. I guess there could be a use case for providing to straight.el additional forms that should be evaluated inside the byte-compilation environment. But unless other people request the feature also, just disabling byte-compilation seems like a more practical workaround.


possessive/non-possessive stems should be presented in linguistInfo HTML tag

e.g. atimw- and -têm- in the field, not just atimw-

for example,

Nonposs	atimw-

Poss	-têm-

This issue should be addressed by generation of the importjson in UAlbertaALTLab/crk-db.  Presentation should already be implemented from the linguistInfo:analysis json key.

from toolbox, there's two cases at least:

no \poss: Show \fststem if available, otherwise \stm
\poss: Present table.  For possesive, show \poss, for nonpossessive, show \fststem if available, otherwise \stm


Radial gradients

Godot version:
3.0.2
OS/device including version:
Irrelevant.
Issue description:
Currently there seems to be no way to programmatically create radial gradients. Having to create them in an external tool and import them as textures is not only inconvenient, but also makes it impossible to effectively manipulate them at runtime.

It's possible to make them programmatically by generating a triangle strip polygon with appropriate vertex colors, or a shader with a GradientTexture as parameter and a bit of math magic.

This would still be really useful. Radial gradients would be perfect for 2D lights.
It is not very convenient to open up an image editor just to edit a gradient. Every image editor handles them differently, too. It would be easier if these could be edited in the editor

For all those looking for a temporary solution:
https://github.com/Maujoe/godot-custom-gradient-texture
I have created a custom resource script as temporary workaround to create different gradient types it's also in the asset library so you can access it inside godot.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


Mismatch between logging configuration in appsettings.json and appsettings.development.json

In a new ASP.NET Core web api application (created with dotnet new webapi with .NET CLI v. 2.1.4), running in development mode does not show informational/debug logs as expected.
The problem is that the logging configuration in appsettings.json is in a different format (Logging.[Debug|Console].LogLevel) than appsettings.Development.json (Logging.LogLevel.Default), so the settings in appsettings.Development.json don't effectively override the settings in appsettings.json as they're supposed to.
Expected Behavior: When running an ASP.NET Core web API from the new project template, more verbose logging should happen when in Development mode.
Actual Behavior: Enabling development mode for the ASP.NET Core web API does not increase logging verbosity.

@mjrousos thanks for the report, we will take a look.

@mjrousos I took a closer look at this and I'm not sure I see the behavior you're describing.
Here are the default files in the project template:
appsettings.json
{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

appsettings.Development.json
{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  }
}

The two files have the same format as best I can tell, but the Development one overrides the "Default" log level, and then sets a couple of other explicit log levels.
Can you share more info on what you're seeing?

Thanks, @Eilon, for taking a look. I agree those files look correct. Here's what I'm seeing after running dotnet new webapi:
appsettings.json
{
  "Logging": {
    "IncludeScopes": false,
    "Debug": {
      "LogLevel": {
        "Default": "Warning"
      }
    },
    "Console": {
      "LogLevel": {
        "Default": "Warning"
      }
    }
  }
}

appsettings.Development.json
{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  }
}

Experimenting some more, though, I get the same files as you if I run dotnet net mvc. I think there must be a difference between the webapi and mvc templates.

I dug around and it looks like this may be the offending file. It appears to be fixed in the dev branch, though, so perhaps that means the issue is already addressed going forward.

Ah, yes, indeed it appears to be fixed in 2.1, so closing this issue.


RBENV_ROOT not documented

I installed rbenv to $HOME/.apps/rbenv directory. Plugins were not working at all.
Set up everything in the profile.
The solution was: adding this to the profile:
export RBENV_ROOT="$HOME/.apps/rbenv"
Might worth mentioning it in the wiki or readme? Only reference I found was in the CHANGELOG.

Similarilly, RBENV_HOOK_PATH isn't documented either.


Revisited error reporting, fixed pedantic warnings

Closes #7
In the changelog, I proposed the next version to be <IP_ADDRESS> : the second digit is incremented because this is a breaking change, as the signature of API functions changes.
What I did is conform to the conventional way of returning errors using Either : real errors are in the Left constructor, successes in the Right one.  Since readEvents never returns a real error, it just returns the list of messages now, which can be empty.
Ane PMErrornow has 2 less constructors, I removed the constructors that correspond to non-errors. I checked in the implementation that the pmGotData is never returned at our level, it's used internally only.
Also along the way I simplified a bit some parts of the code, and fixed the warnings I saw while compiling with stack build --pedantic (mainly missing top level declarations, and variable name shadowings)
I also used UNPACK to have more optimal memory usage.

I'll also change the Changelog message to explain how the removed constructors are now mapped

I've got a better idea, where I'll create a type for successes ( I need it for Poll anyway) so that we can still reflect all different values of the internal PMError.

So in fact I split 'PMError' in 2 : 'PMError' for real errors, 'PMSuccess' for successes. I also added the poll function (which I tested on my project, it works!)

I think it's in a mergeable state now, what do you think?
if you prefer I can put the poll binding in a separate PR.

Looks good! I myself have not been using this package for a long time, would you mind taking over the maintainer role?

@ninegua why not, what does this involve exactly?

I think it is just adding yourself (your email address) to the maintainer field in cabal file.

One user of this library is Euterpea. Since this change is most related to API and not a bug fix, I'm not sure if Euterpea maintainer (Donya Quick) has time or would care much to upgrade. As it currently stands, Euterpea is fixing the exact version number so it won't be affected.

(I forced-push to squash my commits)


Commit message commands are unescaped

🐞 Describe the bug
Running a commit that contains backticks (`), cause the action to fail because the shell seems to try and run what is contained within the backticks.
📚 To Reproduce
Create a commit with e.g. the message: Switch to ESM format to remove need on dependency fsx
Deploy using this action using default config (no custom options), result:
Error: Command failed: vercel -t *** -m "githubCommitAuthorName=Selwyn" -m "githubCommitAuthorLogin=Siilwyn" -m "githubCommitMessage=Switch to ESM format to remove need on dependency `fsx`" -m "githubCommitOrg=voorhoede" -m "githubCommitRepo=life-terra-platform" -m "githubCommitRef=paginate-translations" -m "githubCommitSha=0aa1994f696737ebe462c6fab9931ce937382c5c" -m "githubOrg=voorhoede" -m "githubRepo=life-terra-platform" -m "githubDeployment=1"
/bin/sh: 1: fsx: not found

Hey @Siilwyn thanks for taking the time to open this Issue!

Running a commit that contains backticks (`), cause the action to fail because the shell seems to try and run what is contained within the backticks.

Looks like we need to escape backticks before running the command.
Would you be able to create a PR for this? No worries if not, I will work on this sometime this week!

I'm wondering how to fix this though,
seems like escaping the command should be done here:
https://github.com/BetaHuhn/deploy-to-vercel-action/blob/d74c7436176a2f1afc918217f6c3c112918fb604/src/helpers.js#L54-L56
Since the command is constructed a solution would be to use child_process.spawn which accepts arguments as an array, seems like that would escape the value for us:
const { spawn } = require('child_process');
const process = spawn('echo', ['`fsx`']);

process.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

process.stderr.on('data', (data) => {
  console.error(`stderr: ${data}`);
});

process.on('close', (code) => {
  console.log(`child process exited with code ${code}`);
});

Logs 'fsx' instead of executing it.

That seems like the best/safest solution as we don't have to handle escaping ourselfs.
How are multiple arguments and options handled with the array? Here's how the command is constructed right now:
https://github.com/BetaHuhn/deploy-to-vercel-action/blob/d74c7436176a2f1afc918217f6c3c112918fb604/src/vercel.js#L25-L51

Made a PR as a start, feel free to edit/merge and/or review. I haven't tested this yet, not sure how I would too. :thinking:

Great, will take a look!

I haven't tested this yet, not sure how I would too.

No worries, I will test it. There is not really an easy way to do it, I have a test repository where I am running the action from the develop branch of this repo.

:tada: This issue has been resolved in version 1.3.17 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

Thanks again @Siilwyn!

Cool thank you too for this super helpful action!

No problem, glad you find it useful!


Distribute each vendor as PHAR archive or local repo ?

Currently when we wants to share a project based on "Symfony Standard Edition" on SVN, there is 2 possibilities:

Add "vendors" on SVN
Don't add "vendors" (add svn:ignore property)

In the first case, it's very difficult to upgrade the vendors as the tree structure can change (creation and deletion of directories) and it can broke the SVN structure... (https://groups.google.com/forum/#!topic/symfony2/CURO_j_gWUY).
So the best practice seems to be make SVN ignore the vendors folders. It's not a problem if the project is incomplete when checkouting but we need to launch the script "./bin/vendors install" just after to create a release of the project. The task can take a lot of time (30 min). And if the project is on a continuous integration server, it can be bad to download vendors from GIT on daily taks to create a release.
If I compare with distribution of libraries in JAVA world, it's a little bit if we had a Maven deployment script to download libraries (jar) from the repositories (it can be long too) but libraries are set in a local repository (.m2) and there is no need to download each time the libraries from the remote repositories.
So maybe the same approche could be use: create a .sf2 to add the vendors localy, before adding them in the "vendors" of the project based on "Symfony Standard Edition" ?
And what about create a PHAR archive of each library to ease the upgrade if all the vendors are commited in SVN?
I think we must discuss about the best way to distribute and use the vendors.
An other solution would be to have a symfony pear channel with all installable vendors.

Closing this issue as we are now using Composer for dependencies.


common: Fix mixed tab/space in foundry_install.py

Python doesn't like mixing tab and space indentation.
Replaced every tab with 4 spaces.
Signed-off-by: Sylvain Munaut<EMAIL_ADDRESS>

How does this fail for you?  I have been using this script on many different systems without any problems.  I only have tabs on continuation lines and python never complains about it.

set -f ; ../common/foundry_install.py -std_format -source ~/gits/osu_130_pdk -target `pwd`/sky130A \
	-techlef char/techfiles/scs8.lef rename sky130_osu_sc.tlef \
	-spice lib/spice/*.spice compile-only \
	-lef outputs/s8_osu130.lef rename sky130_osu_sc.lef \
	-lib outputs/*.lib \
	-gds lib/gds/*.gds compile-only \
	-verilog outputs/VERILOG/*.v \
	-library digital sky130_osu_sc
  File "../common/foundry_install.py", line 617
    print('gds library', file=ofile)
                                   ^
TabError: inconsistent use of tabs and spaces in indentation

Looks like a commit from yesterday introduced that.

Yep, I really do know better than that. . .  Should not make and edit and commit without testing!  I am doing way too much multitasking.  Anyway, thanks for the fix.  I just fixed and pushed and then realized yours was a pull request and not an issue, so sorry for bypassing your pull request. . .

FYI, I just pushed to the opencircuitdesign.com repo and the github repo gets mirrored overnight.


[Bug]: Element doesn't render

Tempest Version
1.0-alpha1
PHP Version
8.3
Operating System
MacOS
Description
This element doesn't render. If the :href attribute is omitted, it does
Steps to Reproduce
        <a :if="($author ?? null) && ($href ?? null)" :href="$href">
            — {{ $author }}
        </a>

It also works when changing to
        <a :if="($author ?? null) && ($href ?? null)" href="{{ $href }}">
            — {{ $author }}
        </a>