brainscore try to install environment every time I run a benchmark even when the environment is good

After the update to 2.0, I found that every time I ran a benchmark on a model, it tried to install the environment, so I always get a lengthy console message like the following.
When trying to score multiple models on multiple benchmarks, it seems that brain score will attempt to install the dependencies for every run on each model-benchmark combination, even when I am already scoring in an environment that satisfies all the models and benchmarks. This makes the console feedback a little messy and could be slow when I am scoring multiple models on multiple benchmarks. I am wondering if there is a way to bypass environment installation?
miniconda3/envs/brainscore/lib/python3.7/site-packages/brainscore_core/metrics/__init__.py:16: FutureWarning: xarray subclass Score should explicitly define __slots__
  class Score(DataAssembly):
Loaded model from /weka/scratch/weka/dicarlo/yu_xie/projects/multitask-vision/experiments/multi_task_tdw_1m20240206_nopret_0206/run_0000/model.pth
multi_task_tdw_1m20240206_nopret_0206-resnet18-0 on FreemanZiemba2013public.V1-pls score: 0.251 +- 0.015
Scoring time: 0:00:00.003061
Requirement already satisfied: numpy in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from -r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 1)) (1.21.6)
Requirement already satisfied: scipy in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from -r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 2)) (1.7.3)
Requirement already satisfied: scikit-learn in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from -r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 3)) (1.0.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from scikit-learn->-r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 3)) (3.1.0)
Requirement already satisfied: joblib>=0.11 in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from scikit-learn->-r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 3)) (1.3.2)
Requirement already satisfied: scipy in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from -r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/internal_consistency/requirements.txt (line 1)) (1.7.3)
Requirement already satisfied: numpy<1.23.0,>=1.16.5 in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from scipy->-r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/internal_consistency/requirements.txt (line 1)) (1.21.6)
cross-validation: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [02:06<00:00, 12.63s/it]
multi_task_tdw_1m20240206_nopret_0206-resnet18-0 on FreemanZiemba2013public.V2-pls score: 0.266 +- 0.019
Scoring time: 0:02:10.332256
Requirement already satisfied: numpy in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from -r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 1)) (1.21.6)
Requirement already satisfied: scipy in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from -r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 2)) (1.7.3)
Requirement already satisfied: scikit-learn in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from -r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 3)) (1.0.2)
Requirement already satisfied: joblib>=0.11 in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from scikit-learn->-r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 3)) (1.3.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from scikit-learn->-r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/regression_correlation/requirements.txt (line 3)) (3.1.0)
Requirement already satisfied: scipy in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from -r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/internal_consistency/requirements.txt (line 1)) (1.7.3)
Requirement already satisfied: numpy<1.23.0,>=1.16.5 in /weka/scratch/weka/dicarlo/yu_xie/miniconda3/envs/brainscore/lib/python3.7/site-packages (from scipy->-r /weka/scratch/weka/dicarlo/yu_xie/projects/brain-score/brainscore_vision/metrics/internal_consistency/requirements.txt (line 1)) (1.21.6)
cross-validation:  10%|████████████████████▍                                                                                | 1/10 [06:35<59:20, 395.64s/it]

Hi Yudi!
You can specify the environment variable BS_INSTALL_DEPENDENCIES='no' to turn off dependency installation (see here for details).

Got it, thank you so much for pointing me to this!


feat: create venv from rust

Create python venv directly from rust.
Implementation based on built-in venv module.
I've changed a little system_python_executable implementation. which does not return original interpreter but a shim path when using pyenv. This does not work well when we later create pyenv.cfg and set home =
Closes: #83

I'll want to test the branch a bit tomorrow and will look at te rest of the changes, but from what I am seeing it looks pretty good!

I'll want to test the branch a bit tomorrow and will look at te rest of the changes, but from what I am seeing it looks pretty good!

Thank you very much! Let me know if there is anything I can help with

Okay looks good, merging!


ADTs defined using S functions are compatible only with types known to S

In resolving conflicts between #216 and #232 I discovered a problem. Consider this example:
//# Identity#fantasy-land/traverse :: Applicative f => Identity a ~> (a -> f b, c -> f c) -> f (Identity b)
Identity.prototype['fantasy-land/traverse'] = function(f, of) {
  return S.map(Identity, f(this.value));
};

Seems fine, doesn't it? Yes, but for the fact that by using S.map we're limiting the types with which this method is compatible to the types known to S.
This is very much related to sanctuary-js/sanctuary-def#74.
As things stand, I see two workarounds:

use S.create({checkTypes: false, env: []}).map in place of S.map; or
provide a create :: { checkTypes :: Boolean, env :: Array Type } -> Module function which returns an Identity constructor compatible with the desired set of types.

Another option would be to use Z.map, which does not perform type checking.

Using Z.map is perhaps the best work-around for this case, but there are plenty of Sanctuary functions one might use that don't have unchecked equivalents available out of the box. I have several thoughts on the matter:

Is this really an issue? By using sanctuary you opt in to using a set environment outside of which nothing can exist. This is just a consequence of that choice.
Why does S.create take two options? Doesn't the provision of an environment imply that types should be checked? What else are we providing the environment for? To continue that thought: Why did we ever move away from S.unchecked? An API like this would be easier to use: S = S.safe(S.env), S.unsafe needs no environment. Un-checked map would be available as S.unsafe.map(...).
I think we will never be able to provide a convenient way to define an environment which can then be used across multiple modules that build on top of Sanctuary, unless we consider object mutation as a way to extend the environment. We would not even need S.safe(S.env). We would just have S.env.push(MyType) and S would include the type everywhere it's being used (even across multiple modules using compatible Sanctuary versions).

Is this really an issue? By using sanctuary you opt in to using a set environment outside of which nothing can exist. This is just a consequence of that choice.

This is a perfectly reasonable decision to make at the application level. An algebraic data type, though, should be usable in applications which do not use Sanctuary (in addition to those which do). Were I to use several FL-compatible ADTs in an application I would expect them to work together without first introducing them to one another. This suggests to me that methods of ADTs should not perform type checking.

Why does S.create take two options? Doesn't the provision of an environment imply that types should be checked?

We could certainly change the type from
create :: { checkTypes :: Boolean, env :: Array Type } -> Module

to
create :: Maybe (Array Type) -> Module

which is undoubtedly more elegant. It may be less convenient, though:
-const S = create({
-  checkTypes: process.env.NODE_ENV !== 'production',
-  env: env.concat([IdentityType]),
-});
+const S = create(process.env.NODE_ENV === 'production' ?
+                   Nothing :
+                   Just(env.concat([IdentityType])));

Why did we ever move away from S.unchecked?

Prior to #206 we supported require('sanctuary') and require('sanctuary').unchecked. The problem was that the environment was fixed by Sanctuary, so S.I(Future.of(1)) was a type error.

An API like this would be easier to use: S = S.safe(S.env), S.unsafe needs no environment.

I don't think we considered this API. We decided the behaviour of require('sanctuary') should remain unchanged (i.e. it should evaluate to a Sanctuary module with type checking enabled).
I'm happy to reconsider the API.

I think we will never be able to provide a convenient way to define an environment which can then be used across multiple modules that build on top of Sanctuary, unless we consider object mutation as a way to extend the environment.

This option scares me, I must admit. :stuck_out_tongue_winking_eye:

I would expect [third-party algebraic types] to work together without first introducing them to one another

I see your point. That's rather painful. Disabling type-checking was a feature intended to increases performance. It would be a shame to need it elsewhere. Would it be possible to reintroduce "allowing foreign types" as an option?
const {create, env} = require('sanctuary');
const {map} = create({
  env: env.concat(myTypes), //I have some custom types
  checkTypes: process.env.NODE_ENV === 'development', //My user-base likes this ;)
  allowForeign: true //Since I'm making a lib, I should expect types outside of my env
});

This would allow library authors to build on top of Sanctuary, providing its fantastic type-checking for known types, without having to burden users with the creation of an environment or the concept of unknown types.
AMENDMENT: I just realized I'm looking at it from my own perspective as a library author. The question from Sanctuary's perspective would be: "Would Sanctuary allowForeign by default?". If the answer is "yes", then we're back to https://github.com/sanctuary-js/sanctuary-def/pull/77, if the answer is "no", then we haven't solved the problem. As it stands I think your proposed workaround (taking type-checking away from specific functions for the benefit of interoperability) is a better trade-off.

We decided the behaviour of require('sanctuary') should remain unchanged

It would, in my proposal. S.safe() would only exist to provide a customized environment (in the absence of mutation), and S is defined by S.safe(S.env).

[Mutation of environment] scares me, I must admit

Me too. And I think the ideas presented in https://github.com/sanctuary-js/sanctuary-def/issues/74 are much more elegant. However, I think the complexity of wiring up the Sanctuary env is quite daunting and it keeps bothering me that library authors have to pass along the env if they wish to make meaningful use of Sanctuary. Though using mutation might give us more problems than it solves. :\

Would it be possible to reintroduce "allowing foreign types" as an option?

Actually, this might be a bad idea. It's going to enforce developers to "cut off access" to extending the internal env they are using in favor of a simple API. Disabling "power users" to extend the env with environments from other modules and have better type-checking.

So to conclude:

I have no better ideas than your proposed work-around
It's probably better to leave foreign types support out
The only question that remains is whether to expose a more convenient way to access unsafe Sanctuary functions, eg. S.unsafe.map. I think that should be possible, since unsafe function don't need an env, nor to know whether to check types.

We decided the behaviour of require('sanctuary') should remain unchanged

It would, in my proposal. S.safe() would only exist to provide a customized environment (in the absence of mutation), and S is defined by S.safe(S.env).

Oh, I see. :)

The only question that remains is whether to expose a more convenient way to access unsafe Sanctuary functions, eg. S.unsafe.map. I think that should be possible, since unsafe functions don't need an env, nor to know whether to check types. Essentially we're adding a second preconfigured Sanctuary, the first being S itself.

I do like the idea of reinstating S.unchecked—I prefer "unchecked" to "unsafe"—for ergonomics:
const S = require('sanctuary').unchecked;

const S = require('sanctuary').create({checkTypes: false, env: []});

Were we to do so, the checkTypes member of the { checkTypes :: Boolean, env :: Array Type } record would become redundant, as you noted. S.create would only be necessary for creating type-checked modules with custom environments, so we could change its type to Array Type -> Module. There are two minor drawbacks of this approach: S.create would no longer mirror $.create, and switching based on process.env.NODE_ENV or similar would be slightly messier.
I'm keen to reinstate S.unchecked if you think it's a good idea. We may or may not decide to change S.create while we're at it.

Using sanctuary-type-classes is absolutely the right approach. ADT libraries are foundational so should not depend on high-level libraries such as Sanctuary. Sanctuary is large and has many dependencies.
+---------------------------------------------------------+
|                                                         |
|                       application                       |
|                                                         |
+---------------------------------------------------------+

+---------------------------------------------------------+
|                        sanctuary                        |
+---------------------------------------------------------+

+---------------+   +-----------------+   +---------------+
| sanctuary-map |   | sanctuary-maybe |   | sanctuary-set |
+---------------+   +-----------------+   +---------------+

+---------------------------------------------------------+
|                 sanctuary-type-classes                  |
+---------------------------------------------------------+

+---------------------------------------------------------+
|                                                         |
|                                                         |
|        JavaScript's built-in types and functions        |
|                                                         |
|                                                         |
+---------------------------------------------------------+


Add code of reverse linked list in k pattern

It is already in main
On Sun, 9 Oct 2022, 11:31 pm Nishant Sharma, @.***>
wrote:

Merged #46 https://github.com/nishant-ai/DSA-Help/pull/46 into main.
—
Reply to this email directly, view it on GitHub
https://github.com/nishant-ai/DSA-Help/pull/46#event-7549723546, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A26NYA4FOGU5XKGDGRLPSQ3WCMB65ANCNFSM6AAAAAARAYK26Y
.
You are receiving this because you authored the thread.Message ID:
@.***>


Fix getting PR branch tip SHA for comment triggered workflows

Fixes #1119
Also updates version of workflow-application-token-action action used to avoid warning about using deprecated set-output API.

Have tested changes on repository at https://github.com/matt-graham/pr-comment-workflows and correct commit seems to now be getting checked out on both issue and pull request comments.


Test markdown project wide header completions

Test for #172977

[x] Mac @isidorn
[ ] Linux @karthiknadig
[x] Windows @joyceerhl

Complexity: 4
Create Issue

Summary
Markdown workspace header completions let you create a link to a specific header in another markdown file just using the header's name. For example, for two files:
<!-- a.md -->
# A

[text](##|

<!-- B.md -->
# B

Triggering suggestions in a.md after the ## will show suggestions for both header A in the current file and header B in b.md. Accepting the completion for b.md will insert the full path to that file + header: [text](b.md##b)
Testing
By default, workspace wide header completions are shown when you type ## in a markdown link. Some example links:
[text link](##|

[link def]: ##

Confirm that typing a single # only shows suggestions for headers in the current file
Confirm that typing two ## shows suggestions for headers in the entire workspace
Confirm that workspace wide suggestions take a moment to load in workspaces with lots of md files (such as vscode-docs), but then should load relatively quickly

You can also use the markdown.suggest.paths.includeWorkspaceHeaderCompletions setting to control this feature. Try:

Set "markdown.suggest.paths.includeWorkspaceHeaderCompletions": "never" and confirm workspace header completions never show up
set "markdown.suggest.paths.includeWorkspaceHeaderCompletions": "onSingleOrDoubleHash" and confirm that you now see workspace header completions on both # and ##

Some other things to check:

Look at the completion docs for workspace headers vs headers in the current file. Can you understand what will be inserted when you accept?
Try completing files with spaces in their name. These spaces should be percent encoded
However also confirm that you can use angle brackets in the link to avoid needing encoding: [text link](<##|. IN this case, a path such as [text link](<file name.md#header should be valid (note the literal space)

Works great.

Does not seem to be working for me:

Logs with Debug log level:
[Trace 20:15:39.521] VsCodeClientWorkspace: TextDocument.onDidOpen: untitled:Untitled-1
[Trace 20:15:39.523] VsCodeClientWorkspace: TextDocument.onDidChanceContent: untitled:Untitled-1
[Trace 20:15:39.524] VsCodeClientWorkspace: TextDocument.onDidOpen: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Trace 20:15:39.525] VsCodeClientWorkspace: TextDocument.onDidChanceContent: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Trace 20:15:39.529] Server: connection.languages.diagnostics.on: untitled:Untitled-1
[Trace 20:15:39.529] Server: connection.languages.diagnostics.on: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Trace 20:15:39.531] Server: connection.languages.diagnostics.on: untitled:Untitled-1
[Trace 20:15:39.533] Server: connection.languages.diagnostics.on: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Debug 20:15:39.699] LinkProvider: compute - untitled:Untitled-1
[Debug 20:15:39.700] LinkProvider: compute - file:///home/kanadig/TPI/23feb/mdtest/a.md
[Trace 20:15:39.741] Server: connection.languages.diagnostics.on: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Debug 20:15:41.676] MdFoldingProvider: provideFoldingRanges — untitled:Untitled-1 1
[Debug 20:15:41.677] TableOfContentsProvider: create - untitled:Untitled-1
[Debug 20:15:41.677] MdFoldingProvider: provideFoldingRanges — file:///home/kanadig/TPI/23feb/mdtest/a.md 1
[Debug 20:15:41.678] TableOfContentsProvider: create - file:///home/kanadig/TPI/23feb/mdtest/a.md
[Trace 20:15:41.716] DocumentSymbolProvider: provideDocumentSymbols — file:///home/kanadig/TPI/23feb/mdtest/a.md 1
[Trace 20:15:44.894] Server: connection.languages.diagnostics.on: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Trace 20:15:45.095] Server: connection.languages.diagnostics.on: untitled:Untitled-1
[Trace 20:15:54.063] Server: connection.languages.diagnostics.on: untitled:Untitled-1
[Trace 20:15:55.190] VsCodeClientWorkspace: TextDocument.onDidChanceContent: untitled:Untitled-1
[Trace 20:15:55.191] Server: connection.languages.diagnostics.on: untitled:Untitled-1
[Trace 20:15:55.396] Server: connection.languages.diagnostics.on: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Debug 20:15:55.449] LinkProvider: compute - untitled:Untitled-1
[Trace 20:15:55.561] VsCodeClientWorkspace: TextDocument.onDidChanceContent: untitled:Untitled-1
[Trace 20:15:55.561] Server: connection.languages.diagnostics.on: untitled:Untitled-1
[Trace 20:15:55.764] Server: connection.languages.diagnostics.on: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Debug 20:15:55.815] LinkProvider: compute - untitled:Untitled-1
[Debug 20:15:57.549] MdFoldingProvider: provideFoldingRanges — untitled:Untitled-1 3
[Debug 20:15:57.549] TableOfContentsProvider: create - untitled:Untitled-1
[Trace 20:16:05.892] VsCodeClientWorkspace: TextDocument.onDidChanceContent: untitled:Untitled-1
[Trace 20:16:05.893] Server: connection.languages.diagnostics.on: untitled:Untitled-1
[Trace 20:16:06.100] Server: connection.languages.diagnostics.on: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Debug 20:16:06.145] LinkProvider: compute - untitled:Untitled-1
[Debug 20:16:06.904] MdFoldingProvider: provideFoldingRanges — untitled:Untitled-1 4
[Debug 20:16:06.904] TableOfContentsProvider: create - untitled:Untitled-1
[Trace 20:16:08.584] VsCodeClientWorkspace: TextDocument.onDidChanceContent: untitled:Untitled-1
[Trace 20:16:08.584] Server: connection.languages.diagnostics.on: untitled:Untitled-1
[Debug 20:16:08.629] TableOfContentsProvider: create - untitled:Untitled-1
[Trace 20:16:08.788] Server: connection.languages.diagnostics.on: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Debug 20:16:08.841] LinkProvider: compute - untitled:Untitled-1
[Debug 20:16:09.263] MdFoldingProvider: provideFoldingRanges — untitled:Untitled-1 5
[Trace 20:16:20.224] Server: connection.languages.diagnostics.on: file:///home/kanadig/TPI/23feb/mdtest/a.md
[Trace 20:16:20.424] Server: connection.languages.diagnostics.on: untitled:Untitled-1

@karthiknadig This feature won’t work in untitled files since they don’t have real paths. Try making sure all the relevant files are saved to disk

Ah yes! That worked.


Default value for pagespeed MaxCombinedCssBytes

Default value for pagespeed MaxCombinedCssBytes MaxBytes; is not -1 as manual at https://developers.google.com/speed/pagespeed/module/filter-css-combine states.
I had configure it to -1 for PSM to combine CSS.
It said that "Contents is too big" before.

PSM <IP_ADDRESS>
nginx 1.6.2-5

It looks to me like the default really is -1:
rewrite_options.cc:
  const int64 RewriteOptions::kDefaultMaxCombinedCssBytes = -1;  // No size limit
  ...
  AddBaseProperty(
      kDefaultMaxCombinedCssBytes,
      &RewriteOptions::max_combined_css_bytes_, "xcc",
      kMaxCombinedCssBytes,
      kQueryScope,
      "Maximum size allowed for the combined CSS resource.", true);

The "combined contents too big" error should only be triggered if MaxCombinedCssBytes >= 0, so it's weird that you would get it with a default-configured server.
Testing myself on jefftk.com/css-combine-test I see it successfully creating a 400kB css file, and I don't get the "combined contents too big" error.
Are you sure you hadn't previously set MaxCombinedCssBytes to something else?  If you remove the line where you set MaxCombinedCssBytes to -1 and load your page with ?PageSpeedFilters=+debug you should see something at the bottom listing what options you've turned on:
mod_pagespeed on
Filters:
cc	Combine Css
db	Debug
hw	Flushes html

Options:
AnalyticsID (ig) UA-27645543-1
AvoidRenamingIntrospectiveJavascript (aris) True
EnableRewriting (e) 1
FileCacheInodeLimit (afcl) 500000
RewriteLevel (l) Pass Through
Statistics (ase) True
StatisticsLogging (asle) True

#NumFlushes            0
#EndDocument after     434us
#Total Parse duration  358us
#Total Render duration 1962us
#Total Idle duration   76us
The following filters were disabled for this request:
	SupportNoscript
-->```

Does that list `MaxCombinedCssBytes`?

Hi
I removed the line pagespeed MaxCombinedCssBytes -1; . MaxCombinedCssBytes does not show up at the end of the page.
It was 2 weeks ago and I spotted the message in pagespeed_admin/message_history . I recompiled PSM with the latest version from trunk, changed the page source code in meantime and I can't reproduce it now.


HTTP/2 ConnectionHandler close cleanup

Motiviation:
The connection handler stream close operation is unconditionally adding a listener object to a future. We may not have to add a listener at all because the future has already been completed.
Modifications:

If the future is done, directly invoke the logic without creating/adding a new listener.

Result:
No need to create/add listener if the future is already done in close logic.

@nmittler PTAL.

@Scottmitch looks good

@Scottmitch LGTM

Cherry-picked 4.1 (49b0d6e) master (2449760)


refactor: removed unused secrets in release job

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


Invalid syntax error when pushing

Gitea version (or commit ref): 1.1.2
Git version: 2.11.0
Operating system: OS X Client / Ubuntu 64 Server
Database (use [x]):

[ ] PostgreSQL
[ X] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[ X] Not relevant

Log gist:

Hi, I am experiencing an unexpected error when pushing to Gitea from local to remote.
This seems to be related to a commit comment.
The error is:
remote: 2017/06/20 21:58:55 [...tea/models/update.go:147 PushUpdate()] [E] updateIssuesCommit: strconv.ParseInt: parsing "ITOM-9100": invalid syntax
$ git push
Counting objects: 469427, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (123252/123252), done.
Writing objects: 100% (469427/469427), 120.48 MiB | 556.00 KiB/s, done.
Total 469427 (delta 299793), reused 441750 (delta 272388)
remote: 2017/06/20 21:58:55 [...tea/models/update.go:147 PushUpdate()] [E] updateIssuesCommit: strconv.ParseInt: parsing "ITOM-9100": invalid syntax
To https://<IP_ADDRESS>:3000/abc/repo1

[new branch]            master -> master

Thanks,
MK

can you give exact commit message?

Not sure if this is the cause, but here an extract from xorm.log that has that string:
...
,"Message":"#ITOM-9100 i.e To reflect availability changes done to fix status showing wrong for devices with agent status monitor and no availability metric into Discrepancy Report\n\ngit-svn-id: https://svn501.myhost.com/svn/itom/trunk@42563 86a4919b-b3e0-4e62-bec7-4511e7be0dea\n"
...


Rename store-balance-rate to default-store-limit

Signed-off-by: Shafreeck Sea<EMAIL_ADDRESS>
What problem does this PR solve?
Rename store-balance-rate to default-store-limit which is more friendly to users.
What is changed and how it works?

Rename the configration option
Rename the related function names

Check List
Tests

Unit test
Manual test (add detailed scripts or steps below)

Code changes

Has configuration change

Related changes

Need to update the documentation

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@543309d). Click here to learn what that means.
The diff coverage is 88.23%.

@@            Coverage Diff            @@
##             master    #1810   +/-   ##
=========================================
  Coverage          ?   77.89%
=========================================
  Files             ?      167
  Lines             ?    16477
  Branches          ?        0
=========================================
  Hits              ?    12835
  Misses            ?     2590
  Partials          ?     1052

Impacted Files
Coverage Δ

pkg/mock/mockoption/mockoption.go
92.3% <100%> (ø)

server/config/config.go
83.14% <100%> (ø)

server/cluster.go
85.12% <100%> (ø)

server/config/option.go
91.79% <100%> (ø)

server/schedule/operator_controller.go
90.99% <100%> (ø)

server/statistics/store_collection.go
88.88% <100%> (ø)

server/api/store.go
61.04% <33.33%> (ø)

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 543309d...6e60d7f. Read the comment docs.

@nolouch @lhy1024 PTAL

/run-all-tests

@nolouch @lhy1024 PTAL
Do worry about the conflicts, I am going to rebase the master and resolve the conflicts when it is ready to merge.

/run-all-tests

Maybe use default-store-limit-rate to distinguish between the previous limit and the current rate limit.

Maybe use default-store-limit-rate to distinguish between the previous limit and the current rate limit.

I really don't think so. We should keep the concept consistent. If we use limit-rate, we call all related things limit-rate, for example, set or get store-limit-rate for a store.

Maybe use default-store-limit-rate to distinguish between the previous limit and the current rate limit.

I really don't think so. We should keep the concept consistent. If we use limit-rate, we call all related things limit-rate, for example, set or get store-limit-rate for a store.
But, xxx-schedule-limit is different from store-limit, users will confuse them.

I am wondering if we should abandon this PR. Is it really important to cost so much time and make so many code changes to just rename an option? store-balance-rate seems OK to me.


feat(physics): add optional range to raycasts

This is a fairly uncontroversial change, except for the part where it doesn't actually work - the physics example doesn't produce any raycast results with a set distance, even when the cube is obviously within 5 -Z units of the ground.
I tried chucking in a dbg! to see what the range being passed into the raycast was:

but that results in the runtime crashing on startup:
[2023-09-05T16:55:26Z INFO  ambient_audio::stream] Audio stream config: StreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Default }
[2023-09-05T16:55:26Z INFO  minidumper::ipc::server] captured minidump

@FredrikNoren did you use f32::MAX for a specific reason? Any FFI nasal demons I should be aware of?

@philpax Hm strange. Don't think there's any FFI thing, think the c++ physx examples just use MAX too

@philpax Wait I think I get the minidump thing on all startups, even without this change


Blocks & kwargs are not valid in index assignments

This PR is replicating the changes made in ruby/ruby#12343 and ruby/ruby#12342 in order to sync them to the upstream Prism repo.
I was under the impression that Prism was set up with a bi-directional sync, so that changes made to Prism inside the ruby repo would be mirrored here - but that doesn't seem to be the case?

It's only 1 way unfortunately.


Setup skeleton for birdhouse recipes

@drouba Commit messages should be in the present tense and in the imperative mood, i.e. instead of saying Added xxx you should say Add xxx. If you manage to get Git working in the command line let me know, I will teach you how to alter commit messages (I'm not sure if this is possible in the GUI, I have a feeling that it isn't)

it'd be also nice to reference the relevant jira issue in the title of the pull request by adding the task name e.g. [OLB-12312]

I closed it because there were a bunch of issues that I wasn't able to resolve (especially with the merging with the stuff you did for circle ci) I had to start over from the beginning. This pull request was not really relevant anymore (also it was broken)


Bump krkn-lib version

I see there's a 1.2.0 krkn-lib version. should we set to that version?

Looks like 1.2.0 tag exists but the release is missing.

I see there's a 1.2.0 krkn-lib version. should we set to that version?

Looks like 1.2.0 tag exists but the release is missing.

Maybe we should cut a new release in krkn-lib? Krkn should be able to pick up the latest given that we have set the minimum version in the requirements to v1.1.1. Thoughts? cc: @tsebastiani

folks if you can quickly review https://github.com/redhat-chaos/krkn-lib/pull/46 I can cut a new release and we can point the requirements to it.

I see there's a 1.2.0 krkn-lib version. should we set to that version?

Looks like 1.2.0 tag exists but the release is missing.

Maybe we should cut a new release in krkn-lib? Krkn should be able to pick up the latest given that we have set the minimum version in the requirements to v1.1.1. Thoughts? cc: @tsebastiani
1.2.0 is on pypi as latest version https://pypi.org/project/krkn-lib/ .
If you  could give a look to  https://github.com/redhat-chaos/krkn-lib/pull/46 we can cut a new release containing the log collection piece and we can point the requirements to it.


Correcting text for tracking token

Learn Build status updates of commit ce47c54:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

power-platform/admin/email-message-filtering-correlation.md
:white_check_mark:Succeeded

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


Docs.MS Release Updates for azure-spring-cloud-starter-eventhubs-kafka

Update docs metadata and targeting for release of azure-spring-cloud-starter-eventhubs-kafka

Docs Build status updates of commit 080ab4c:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/latest/spring-cloud-starter-eventhubs-kafka-readme.md
:warning:Warning
View (azure-java-stable)
Details

docs-ref-services/latest/spring-cloud-starter-eventhubs-kafka-readme.md

Line 2, Column 1: [Warning-ms-prod-and-service] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.
Line 9, Column 16: [Warning-ms-prod-technology-invalid] Invalid value for 'ms.technology': 'azure' is not valid with 'ms.prod' value 'azure'.
Line 11, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'springcloud'.
Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add signature computation support for arbitrary logical plans

What changes were proposed in this pull request?
Currently, Hyperspace has one signature provider: FileBasedSignatureProvider, which only covers LogicalRelation nodes in a plan to compute the plan signature.
This limits the DataFrames that could potentially be indexed to only those whose plans consist of only logical relation nodes.
Moving forward, Hyperspace needs to support generating signature for DataFrames with arbitrary logical plans.
Below changes address issue #76
1- Adds new signature provider which computes a signature for arbitrary logical plans.
2- Changes existing Hyperspace rules to comply with changes in the signature provider.
3- Changes the API for signature() in Signature provider to return an Option (instead of a default value) to avoid potential issues due to using a default signature.
4- It adds test cases for the new signature provider and refactors existing test code.
Below change addresses Issue #31
5- It refactors the test code in JoinIndex and FilterIndex rules tests.
Why are the changes needed?
Supporting signature computation for arbitrary logical plans.
Refactoring and cleaning up test code.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Test cases are added under new files: IndexSignatureProviderTest and RulesHelperTest.

Under How was this patch tested? in the description, can you add a comment whether you checked the backward compatibility?

@imback82 I verified backward compatibility and updated PR description to reflect that with details.

@imback82 I verified backward compatibility and updated PR description to reflect that with details.

Thanks!

@apoorvedave1 Any other comments?


[DRAFT] feat: Add One-Click Light Bridge deployment

Paused as per Discussion with Ino on 13 Nov (Slack)

Overview
Note: This PR is subject to change as it will need to be approved by DevOps.
Changes

Add GH Action to deploy to EC2
Refactoring

Testing
WIP

moving over to this repo:
https://github.com/bobanetwork/light-bridge


[doc] expectation is expected to be a compiled template

Good find, stumbled on this as well a few weeks back but forgot to do this work :) thanks for doing it


Lib cannot find libsass bindings

When installing a gulp-sass library it fails to find node-sass lib and shows error libsass bindings not found in /code/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node.
Issue: node-sass is located in /code/node-modules/node-sass/lib/index.js but code still tries to find it under gulp-sass/node_modules directory.
Application is located under /code directory, all commands are executed as a root user (docker env)
node-sass is already installed :
root@5733d9c55f83:/code# node -e "console.log(require.resolve('node-sass'))"
/code/node_modules/node-sass/lib/index.js

Environment: Debian Jessie@Boot2Docker
Versions:
root@5733d9c55f83:/code# node --version
v0.12.7
root@5733d9c55f83:/code# npm --version
2.11.3
root@5733d9c55f83:/code# node -p "console.log(require('node-sass').info)"
node-sass	3.2.0	(Wrapper)	[JavaScript]
libsass  	3.2.5	(Sass Compiler)	[C/C++]
undefined

packages.json file:
{
  "name": "MyProject",
  "private": "true",
  "version": "0.0.1",
  "repository": {
    "type": "git",
    "url": "........."
  },
  "dependencies": {
    "angular": "1.4.3",
    "body-parser": "1.10.2",
    "boom": "2.8.0",
    "colors": "1.1.2",
    "debug": "~2.1.1",
    "del": "^1.2.0",
    "errorhandler": "1.3.2",
    "expect.js": "0.3.1",
    "express": "4.13.1",
    "hapi": "8.8.0",
    "method-override": "2.3.1",
    "node-statsd": "0.1.1",
    "q": "1.2.0",
    "request-promise": "0.4.3",
    "run-sequence": "1.0.2",
    "source-map-support": "0.3.1",
    "traverson": "2 .0.1",
    "winston": "1.0.0"
  },
  "devDependencies": {
    "tsd": "0.6.3",
    "gulp": "3.9.0",
    "bower": "^1.4.1",
    "gulp-filter": "2.0.2",
    "gulp-insert": "0.4.0",
    "gulp-livereload": "^3.8.0",
    "gulp-replace": "0.5.3",
    "gulp-sass": "^2.0.4",
    "gulp-sourcemaps": "^1.5.2",
    "gulp-strip-comments": "^1.0.1",
    "gulp-tsc": "0.9.2",
    "gulp-tslint": "^3.1.2",
    "gulp-typedoc": "^1.1.0",
    "mocha": "2.2.5",
    "tslint": "^2.4.2",
    "typedoc": "^0.3.5"
  }
}

Sample output:
root@5733d9c55f83:/code# gulp compile
/code/node_modules/gulp-sass/node_modules/node-sass/lib/extensions.js:148
    throw new Error(['`libsass` bindings not found in ', binaryPath, '. Try re
          ^
Error: `libsass` bindings not found in /code/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node. Try reinstalling `node-sass`?
    at Object.sass.getBinaryPath (/code/node_modules/gulp-sass/node_modules/node-sass/lib/extensions.js:148:11)
    at Object.<anonymous> (/code/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:16:36)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/code/node_modules/gulp-sass/index.js:163:21)
    at Module._compile (module.js:460:26)
root@5733d9c55f83:/code# npm install node-sass
-
><EMAIL_ADDRESS>install /code/node_modules/node-sass
> node scripts/install.js

Binary downloaded and installed at /code/node_modules/node-sass/vendor/linux-x64-14/binding.node

><EMAIL_ADDRESS>postinstall /code/node_modules/node-sass
> node scripts/build.js

` /code/node_modules/node-sass/vendor/linux-x64-14/binding.node ` exists.
 testing binary.
Binary is fine; exiting.
<EMAIL_ADDRESS>node_modules/node-sass
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>root@5733d9c55f83:/code# gulp compile
/code/node_modules/gulp-sass/node_modules/node-sass/lib/extensions.js:148
    throw new Error(['`libsass` bindings not found in ', binaryPath, '. Try re
          ^
Error: `libsass` bindings not found in /code/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node. Try reinstalling `node-sass`?
    at Object.sass.getBinaryPath (/code/node_modules/gulp-sass/node_modules/node-sass/lib/extensions.js:148:11)
    at Object.<anonymous> (/code/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:16:36)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/code/node_modules/gulp-sass/index.js:163:21)
    at Module._compile (module.js:460:26)

I also tried to install node-sass package as a dependency in packages.json file but it also doesn't work

and one extra information, on nodejs 0.10.38~dfsg-1 (the default that comes from Debian:sid distro) it worked perfectly, but we switched Debian:jessie and started using nodejs. 0.12.x using nodesource installation guide and it stopped working.

Same here, bindings not found.
Cannot download "https://github.com/sass/node-sass/releases/download/v3.2.0/darwin-x64-45_binding.node": HTTP error 404 Not Found

@timomeh - your issue is different, you're trying to download file that doesn't exists, verify your paths/versions. My issue is that I already have file on file ssytem but somehow it didn't pick it up

@timomeh if you look at the page https://github.com/sass/node-sass/releases/ you can notice that there is indeed no binding for x64-44 so report the issue there.
@polishdeveloper gulp-sass doesn't do anything with the binary or its installation, it just passes args to node-sass so that's likely to be a node-sass issue.

@Keats yes, it doesn't do anything, even find it ;p. Why if I type in console it's able to find node-sass library. ah, ok, my bad...
Sorry for bothering you guys

@Keats Yeah, sorry. It happened just now while gulp was running. Suddenly it wanted an rebuild of node-sass, but it can't load the bindings, and it was just such a coincidence that in this moment there was this bugreport here.

@Keats one question if I can ask : why do I have to node-sass libs ??
one is located under ./node-modules/node-sass and second one is ./node-modules/gulp-sass/node-modules/node-sass. Both are at same version (3.2.0+libsass 3.2.5), bindings are only in the first one (./node-modules/node-sass) but gulp-sass uses the second-one

Must be related to how node loads packages (order etc).
gulp-sass should use the one in its own node_modules in theory

@polishdeveloper how did you resolve the problem? I'm getting the same error on two separate machines and no idea how to fix it

My error was really stupid, it was related to docker container. I'm working on OSX+Boot2Docker and I was getting this error when I was trying to compile sass on wrong machine, for example:
a) when I did npm install in docker and tried to do gulp compile-sass in OSX it was complaining that darwin bindigs were missing
b) when I did npm install in osx and tried to do gulp compile-sass in docker it was complaining that linux bindings were missing
And each npm install was overriding previous binding. THere are two fixes for that @xmakina
a) do npm install on one machine and download bindings manually
b) do everything only on one machine (we went this way), our whole development cycle is done only in docker


Add languages support for website "carbon.now.sh"

Is your feature request related to a problem? Please describe.
Some people like to use their native language on websites so I suggest adding support for languages on the site.
I would like to do the Arabic translation since I am a native speaker if this suggestion is accepted.
Translators:

[ ] Arabic translation: Yazeed AlKhalaf

If you want to do a language mention me in this issue and will add your name.
So our goals:

Decide which method of translation to use
Do the translation, people say they want to do it and we mention their names above.

Hey @YazeedAlKhalaf,
While that would be super cool, the core maintainer team does not have the bandwidth to support a feature like this long term. If we grow the contributor team, and have a straightforward solution for making translations, I would be open to reconsider.
Sorry if this is a disappointment for you.


@field() annotation should through a warning if used without the parentheses

The @field() annotation must be used with parentheses for it to work as intended.
Specifying the annotation as '@field' without parentheses results in nothing happening.
Most other Hoist-React or Mobx annotations do not need parentheses to work as intended.
We should cause '@field' to throw a console warning reminding the user to add parentheses.

Just for the record, it's a parameterized decorator - one that takes params and returns a curried version of the decorator itself - vs. the others which are not / no longer do. For a while we had some decorators parameterized () form - even through we didn't have current params - for consistency, but then we were able to drop that (consistently) for all the class-level decorators. But taking params here is still important.
I am not sure though that there's really any place we could add such a dev-time aid.  It's kind of the equivalent to accidentally calling a function you are passing as a callback instead of passing the function itself. And both the field decorator function and its return are functions, and the point at which it is actually called/applied happens in the babel transpiled version....

I have a fix for this in https://github.com/exhi/hoist-react/pull/754


Fake client fixes

Fix ID lookup to work for typed objects without GVK set. Use the scheme to look up the GVK by struct type.
Add support for auto-incrementing Generation when the spec changes (technically any change that isn't status or metadata, not just the spec field)
Fix status update to log the diff correctly
Fix Update to copy UID, ResourceVersion, and Generation changes back to the input object.
Make fake.Client.Check ignore Timestamps, so conditions can be easily compared.
Fix Update to error if the specified UID or ResourceVersion is no longer current.
Update impacted test expectations.

/lgtm
/approve

/hold
minor change inc

/unhold
Pushed some minor changes to comment the config map hash as requested, fix a few comments, and make Delete more like the other methods (copies UID, RV, & Gen from the cached obj back to the input object).

/lgtm


can't compile on Apple Silicon

Hi again!
I am back yet again to bring a compilation error, got a new laptop to replace my beatup 10yr old laptop, to be faced with a new issue with compiling nifs..

21:08:29.647 [warn]  The on_load function for module Elixir.Vix.Nif returned:
{:error,
 {:load_failed,
  'Failed to load NIF library: \'dlopen(/Users/dev-m/code/elixir/venus/_build/dev/lib/vix/priv/vix.so, 0x0002): tried: \'/Users/dev-m/code/elixir/venus/_build/dev/lib/vix/priv/vix.so\' (mach-o file, but is an incompatible architecture (have \'x86_64\', need \'arm64e\')), \'/usr/local/lib/vix.so\' (no such file), \'/usr/lib/vix.so\' (no such file), \'/Users/dev-m/code/elixir/venus/deps/vix/priv/vix.so\' (mach-o file, but is an incompatible architecture (have \'x86_64\', need \'arm64e\')), \'/usr/local/lib/vix.so\' (no such file), \'/usr/lib/vix.so\' (no such file)\''}}

let me know how I can help get things running! love all the new stuff in vix!!
> uname -m
arm64

> uname -s
Darwin

> make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0

> vips --version
vips-8.11.4-Thu Sep 23 09:40:01 UTC 2021

Hi @ringofhealth,
This looks like compiler flag issue, can you try mac-m1-fix branch?
{:vix, git: "https://github.com/akash-akya/vix.git", branch: "mac-m1-fix"}

Thanks again for reporting the issue

Hi @akash-akya!
that branch allowed me to compile on my m1 macbook! Thanks for the quick response!!


Add OR logic to NodeHasTerm and kin

Right now it allows multiple and assumes AND, you want all of the terms or fail.  You should be able to select AND or OR and have it evaluate appropriately.

Right now it allows multiple

In the UI, how you add multiples?

Clicking on "Add condition" shows a list that doesn't include "Node has term". Also, the autocomplete doesn't allow multiple entries.

After the first one autocompletes, typing , should trigger it to start auto completing another.  This PR came from me untangling a bunch of tweaks I made working on quicker upload forms, and I may not have extracted it out correctly.  I'll circle back to this soon.

Awesome, thanks, I'll give this a test this evening.

https://github.com/Islandora/islandora/pull/745 merged. Nice work @dannylamb !


zenazn/goji or goji/goji ?

Hi! On this current project it's stated

This project has been superseded by a new version of Goji by the same author

But goji/goji latest release is on 2018 while zenazn/goji latest release is on 2020
Which one of them should I pick?

I'd still pick goji/goji! The inactivity is because we ran out of bugs to fix :)


fix: generator unexpected file by entry has ext

I find that if you write a extension name in your entry ,this waring will appear ,but can build successfully

and this will generator error file, I think  that should  be compatible  with write extension name in entry

Hi. Thanks for PR and sorry it took long to review. I have made a rework in #279 with slightly simpler approach


Add update checker to launcher

To prevent players from running into issues due to using older versions of the client, Northstar launcher should do an update check every time it is launched.
A possible setup would having a file called VERSION.txt inside the release zip that contains the current version. That value is then compared to and endpoint on master server (like /client-version) and a warning is displayed if the versions don't match up.
Warning should however be skippable.
A failed connection to master server should also display a warning but that too should be skippable (to prevent DoSing all clients by just taking down server).
Additionally by exposing the newest/desired client version via master server, 3rd party master servers could also request older clients if they themselves are not up to date (due to breaking changes).

As I mentioned in the Northstar/#45 issue, I am working on a launcher/updater for Northstar, adding some way to know the versions of the zip would be very helpful on my end, currently I've no real way to determine the various versions compared to checking md5sums or similar.
Rather dumb, and not ideal...

For reference, since the other issue had a screenshot of the other Northstar updater, here's one from mine, I of course named it Viper, I thought that was pretty clever.

Looks sick!
Where can we contribute to your code?

Currently nowhere, it's a private repo (soon to be public ofc), it'll be over on 0neGal/viper
Another thing I'd love to maybe do in the future, that being an easy to way VPK mod, auto backup of files, GUI for r1_english etc, the only thing missing for that to be truly easy to use is a CLI VPK extractor, I don't know of one for that, as for repacking there's RSPNVPK, which works on both Linux and Windows.

I also threw together a quick Inno Setup 6 script when it was released: https://gist.github.com/pg9182/38180ce6064ebcec283b4b62b29b3cd7.

As for the shell script, it's quite simple and I put the below together in literal minutes
#!/bin/sh

ZIPURI="$(curl --silent \
	"https://api.github.com/repos/R2Northstar/Northstar/releases/latest" |
	grep '"browser_download":' |
	sed -E 's/.*"([^"]+)".*/\1/')"

wget "$ZIPURI" -O "northstar.zip"
tar xfz "northstar.zip" "$GAMEPATH"
rm "northstar.zip"

I've not tested the script, but if I made it properly in the first try, running it with $GAMEPATH as an env variable equal to your games path it should download the latest zip and extract it, keep in mind this'd replace your ns_startup_args.txt as well. But you can just add --exclude="ns_startup_args.txt" to the tar command.
Of course this is only for Linux/Nix system unless you're running Bash/Bourne Shell on Windows, which isn't completely unlikely considering how niche this whole thing is to begin with...

I'd say that it should automatically check for updates every launch. Github API is just one GET request and it could just automatically download and install updates. I've already written one over at wozniak/ns-updater

A couple months back I had tinkered with this idea. The plan was to use a simple portrait form app to pull the latest files from the repo and add some URI stuff for one-click mod installs, whilst mod updates could feasibly still be done from the frontend vpk.
Here is what I drafted back around September/October

just getting to this issue, would love to do this

As I mentioned in the Northstar/#45 issue, I am working on a launcher/updater for Northstar, adding some way to know the versions of the zip would be very helpful on my end, currently I've no real way to determine the various versions compared to checking md5sums or similar.
Rather dumb, and not ideal...

specifically i'd be against taking md5s and stuff since it could limit modding, realistically just need to store version information with each release and only try to update if new version is available
i also think servers individually need to store version info so we can mark outdated ones as being outdated, and stuff like that too, overall really not sure how to handle servers updating especially since it'll really always require a restart, clients are much easier to handle

If you could somehow build the applicable Git tag into the program, you could add a simple -version parameter to the launcher exe that just spits out the version and exits.
Run that in the updater app, compare to available GitHub releases, and you're all set.

Could https://github.com/R2Northstar/NorthstarLauncher/issues/9 help to get one's server version?

[...] overall really not sure how to handle servers updating especially since it'll really always require a restart, clients are much easier to handle

I'd argue dedicated server updating should be obligation of the person hosting it. Expose some endpoint for them they can use to see current version. Then they could add their own scripts on top that polls Github for new releases, upon which it shuts down the current server and spins up new version with the update.
No need to overthink things :P

ok so, my current thoughts on this are that updating shouldn't be an entirely automated process, it'd likely be easier to have masterserver tell clients/servers on auth/heartbeat respectively that they're running an old version and possibly fail auth if they're down a non-patch version, and then give users the option to update through an updating program that'd be shipped alongside main files
this is mainly just because of the potential to overwrite modified files and stuff, it's hard to know what people are going to change so i think it'd be best to just let them choose when to update
the other thing is that any kind of updater will either need to be exclusively commandline, or have both gui and commandline versions, so headless servers can be supported

this is mainly just because of the potential to overwrite modified files and stuff

I was considering this being an issue of an in-game updater...

the other thing is that any kind of updater will either need to be exclusively commandline, or have both gui and commandline versions

Viper would have both of course. Whether or not Northstar will have an official updater decides the fate of my program really, lol. I'm all for an official updater however...

this is mainly just because of the potential to overwrite modified files and stuff

I was considering this being an issue of an in-game updater...

the other thing is that any kind of updater will either need to be exclusively commandline, or have both gui and commandline versions

Viper would have both of course. Whether or not Northstar will have an official updater decides the fate of my program really, lol. I'm all for an official updater however...

if it's no trouble could you give me access to the viper repo or make it public? would love to give it a look if it's something that's already somewhat functional

if it's something that's already somewhat functional

It literally only has the UI and is able to extract the zip in the path of your game, since I've been busy lately... But then again I only really need to add an option of excluding files, and then everything else is smooth sailing... I'll keep you updated on the repo visibility, unless of course you wanna experiment with the few things it can do at the moment...

If there's a manifest with version information, clients could have a graphical launcher that notifies them when there's an update available. The user could then skip the update and launch Northstar normally, or run the update, which would:

Download the zip
Extract the zip to AppData or something (non-destructive)
Compare hashes of new files to existing ones
Notify the user that they have a modified installation, or otherwise start the update
Copy files from the update zip to the installation dir

If done this way you could also have an advanced mode where you can select granularly what files you want overwritten by the update zip.
Imo this will give clients the most flexibility in choosing how and when to update. I can try putting something together if anyone's interested in seeing this as a proof of concept.
For servers, you could just have an update CLI that, when run, warns server operators that it's about to nuke their install. I imagine most server ops would be able to write post-install scripts that restore their modded game if need be.

Compare hashes of new files to existing ones

Version numbers would be far better... We wouldn't be able to easily tell if one version is outdated or not, just that it's not the same.

you could also have an advanced mode where you can select granularly what files you want overwritten

And by default client ns_args shouldn't be overwritten, in my opinion.

Compare hashes of new files to existing ones
Version numbers would be far better... We wouldn't be able to easily tell if one version is outdated or not, just that it's not the same.

I agree, version numbers should be the primary method of comparing two versions. I was referring to using hashes to identify which files were modified since a clean install. You could ship an md5sums.txt with releases so that later update passes could compare what the hashes should be to what they actually are. If there are any mismatches, the user has modified files, and you show a warning in the interface.

I was referring to using hashes to identify which files were modified since a clean install. You could ship an md5sums.txt

Actually not a bad idea... Layout of such could just be a space separated file,
MD_SUM_HERE FILE_NAME_HERE
ANOTHER_SUM ANOTHER_FILE_NAME

and so on, so it'd be something like:
e350f497f88705d4adf776dec695b538 NorthstarLauncher.exe
9c26d7ca3de888076e6025b23d300b4b Titanfall2-unpacked.exe
.....

that snippet isn't from the latest release but you get the gist...

Exactly! I think that format is pretty standard among hashing tools, so it'd be preferable to home-rolling a format.
I guess the bigger question here is: what sort of launcher experience should end users get?

I guess the bigger question here is: what sort of launcher experience should end users get?

In my opinion something that's similar to the screenshot of my WIP launcher would be easy enough to use, perhaps a few tiny easy to follow messages when some things aren't set right etc...

For reference, since the other issue had a screenshot of the other Northstar updater, here's one from mine, I of course named it Viper, I thought that was pretty clever.

As for dealing with overwriting files, I'm not sure much more than having a "Overwrite startup arguments on update" is needed, most users who need a GUI probably won't be having many things that could be overwritten.
However an advanced settings panel for ignoring specific files could also be considered... As for the CLI part of my launcher I'll just have --update, --setpath, --gamepath (for overwriting the saved path once), and --launch which could be followed up with --launch=vanilla/--launch=northstar but it would default to Northstar.
The point of --setpath is that it sets the path saved in your config folder (AppData on Windows, .config/XDG_CONFIG_HOME by default on Linux) within a file called viper.json so that you don't have to specify it each time your launch Viper or run the CLI, albeit for automating things you may still just want to use --gamepath

I've written the code for checking updates from github. I think the best way is the version.txt file but we can also do it through the master server

I've gotten to a point where I'm comfortable making Viper's repo public, and hence it is now as such, it's missing a few things, such as a nice looking icon, the ability to not overwrite certain files (i.e ns_args) and given I've only tested it on my system who knows what kind of jank might occur.
Which is all why I've yet to make release builds available, unless you want to build them yourself that is. Feel free to test it however.
It's also missing documentation/comments and I need to clean up some of the code as well, but besides that it's working quite well and looks quite neat if I do say so myself (definitely not biased...)

If this is implemented, there needs to be a way to disable it for the headless servers (especially the containers).

On Viper (with GUI and CLI), update process is not automatic and must be triggered manually.

Between Viper and VTOL auto-updating Northstar and the planned integration with r2modman I think it makes more sense to put an auto-update feature into a 3rd or 1st party manager, rather than doing it directly from within Northstar.
Since the creation of this issue, Northstar now has version fields for core mods and launcher which those managers in turn can use to accurately determine the installed version and update it if necessary.
As such I'm closing this issue now.


Say Yes to rpi-update

I've noticed since the latest firmware updates, I have to say YES to do the firmware update.
I wrote a script that is triggered by a cronjob to run once a month to do firmware updates...
I've tried sudo rpi-update -y but that fails!
Is there a way to auto say Yes?

sudo SKIP_WARNING=1 rpi-update

Oh thank you ever so much!


NVRTC_ERROR_COMPILATION

Hi, I tried to run the 'main' branch of this repo, but cannot run successfully:
git clone --recursive git@github.com:shacklettbp/madrona_escape_room.git
cd ./madrona_escape_room/
mkdir build
cmake ..
make -j 60
cd ..
pip install -e .
python scripts/train.py --num-worlds 8192 --num-updates 5000 --profile-report --fp16 --gpu-sim --ckpt-dir build/checkpoints/

NVRTC_ERROR_COMPILATION happened as following:

Any guidance on how to resolve this would be appreciated.

It's a CUDA bug: https://github.com/shacklettbp/madrona/issues/39
You need to downgrade to CUDA 12.5. We've been told by NVIDIA that they've fixed this issue in CUDA 12.8, coming in January.

I switch to CUDA 12.5, but still failed:
CUDA 12.5, NVIDIA driver 560.35.05.
The Torch version is as follows ():

The error info is as follows:

Those errors indicate Madrona is pulling in CUDA 12.6 or newer. You probably have CUDA 12.6 installed somewhere on your machine and CMake is building against it. Or some other library is pulling it in at runtime.

thx, I fixed it.
but a small new problem occurred:

Weird, I don't think there's enough information in that screenshot for me to help though. Where in Madrona code is that error happening?

Sorry for the lack of context.
There are no errors occurring during the compilation phase.
The error happened when I run the command "python scripts/train.py --num-worlds 1 --num-updates 10 --ckpt-dir build/ckpts (--gpu-sim)"

More detail context info: CUDA 12.5, NVIDIA driver 560.35.05,  python 3.12.8,  cmake 3.27.6
torch:

I can't help without a full backtrace that shows where in the training script this crash is happening. You could try launching the train script under pdb (python debugger) if you're not getting a full backtrace printed to the console for some reason.

It seems a warning, not an error.

I see, I'm not sure what's causing this, sorry. It looks like it only happens at the end of the training run because something on the python side isn't cleaning up a temporary directory when the process exits. If you can track down the issue I'd be happy to accept a PR to fix it, but I'm not actively using the training code in this repo anymore, so I don't have time to debug this if it's not a correctness issue.


Clean up unnecessary HTML

The docs build team is cracking down on HTML in Markdown files (and possibly XML files). This issue tracks any work related to removing unnecessary HTML from our docs.

I don't see any more HTML tag warnings in this repo.


Add .azure/azureProfile.json and Azure environment variable support

Ok, I've had a go at testing various scenarios with this and have uncovered some issues that probably need addressing.  Will try and table the results once I've finished the testing and identify what/where needs to be fixed...
Testing azure_profile changes
Clean machine state - PASS

with an empty ~/.azure directory

OUTPUT:
  * machine[pendev01app99] action converge

    ================================================================================
    Error executing action `converge` on resource 'machine[pendev01app99]'
    ================================================================================

    RuntimeError
    ------------
    Driver azure did not specify a subscription ID, and no default subscription was found.  Have you downloaded the Azure CLI and used `azure account download` and `azure account import` to set up Azure?  Alternately, you can set azure_subscriptions to [ { subscription_id: '...', management_credentials: ... }] in your Chef configuration.

Subscription specified but no credentials - PASS

with subscription specified in the driver URL in the recipe (with_driver 'azure:9c117323-1f20-444d-82a9-9ee430723ba3')
and an empty ~/.azure directory

OUTPUT:
  * machine[pendev01app99] action converge

    ================================================================================
    Error executing action `converge` on resource 'machine[pendev01app99]'
    ================================================================================

    RuntimeError
    ------------
    Driver azure did not specify a subscription ID, and no default subscription was found.  Have you downloaded the Azure CLI and used `azure account download` and `azure account import` to set up Azure?  Alternately, you can set azure_subscriptions to [ { subscription_id: '...', management_credentials: ... }] in your Chef configuration.

Subscription specified in driver and azureProfile.json used - PASS

with subscription specified in the driver URL in the recipe (with_driver 'azure:9c117323-1f20-444d-82a9-9ee430723ba3')
and after importing the subscription and keys (azure_profile method)

SPMBP:~ SP$ azure account download
info:    Executing command account download
info:    Launching browser to http://go.microsoft.com/fwlink/?LinkId=254432
help:    Save the downloaded file, then execute the command
help:      account import <file>
info:    account download command OK

SPMBP:~ SP$ azure account import ~/Downloads/Microsoft\ Partner\ Network-Pendrica\ Production-3-29-2015-credentials.publishsettings
info:    Executing command account import
info:    account import command OK

OUTPUT:
  * machine[pendev01app99] action converge
    - Creating pendev01app99 with image b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140927-en-us-30GB in North Europe...Creating deployment...
Creating cloud service pendricacloud01.
Storage Account pendricastore01 already exists. Skipped...
Deployment in progress...
# # etc.

Subscription not specified in driver and azureProfile.json used - FAIL

with subscription not specified in the driver URL in the recipe (i.e. with_driver 'azure')
and after importing the subscription and keys (azure_profile method)

    ================================================================================
    Error executing action `converge` on resource 'machine[pendev01app99]'
    ================================================================================

    RuntimeError
    ------------
    Driver azure did not specify a subscription ID, and no default subscription was found.  Have you downloaded the Azure CLI and used `azure account download` and `azure account import` to set up Azure?  Alternately, you can set azure_subscriptions to [ { subscription_id: '...', management_credentials: ... }] in your Chef configuration.

I think we need to support this scenario, otherwise we force users to duplicate a subscription_id we can already find ourselves.
Subscription not specified in driver and management_credentials used via .chef/knife.rb - FAIL (not caught)

with subscription not specified in the driver URL in the recipe (i.e. with_driver 'azure')
renaming ~/.azure/azureProfile.json to azureProfile.json.old
copy my.publishsettings to ~/azure/my.publishsettings
setup .chef/knife.rb with additional line like so:

azure_subscriptions      [ { management_credentials: '/users/SP/.azure/my.publishsettings' } ]

OUTPUT:
NoMethodError: machine[pendev01app99] (@recipe_files::/Users/SP/destroy-temp.rb line 5) had an error: NoMethodError: undefined method `[]' for nil:NilClass
/Users/SP/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-azure-0.2.1/lib/chef/provisioning/azure_driver/driver.rb:44:in `canonicalize_url'

Needs further investigation

Subscription not specified in driver, and subscription_id and management_credentials used via .chef/knife.rb (.publishsettings) - FAIL (not caught)

with subscription not specified in the driver URL in the recipe (i.e. with_driver 'azure')
copy my.publishsettings to ~/azure/my.publishsettings
setup .chef/knife.rb with additional line like so:

azure_subscriptions      [ { subscription_id: '9c117323-1f20-444d-82a9-9ee430723ba3', management_credentials: '/users/SP/.azure/my.publishsettings' } ]

OUTPUT:
2015-03-29T22:12:00+01:00] INFO: Picked first subscription found as default:  (9c117323-1f20-444d-82a9-9ee430723ba3) from Chef configuration
    ================================================================================
    Error executing action `converge` on resource 'machine[pendev01app99]'
    ================================================================================

    NoMethodError
    -------------
    undefined method `ext' for File:Class

STACK (highlights possible issue in Azure-Ruby SDK)
SPMBP:chef-repo.pendev SP$ cat /Users/SP/.chef/cache/chef-stacktrace.out
Generated at 2015-03-29 22:12:00 +0100
NoMethodError: machine[pendev01app99] (@recipe_files::/Users/SP/destroy-temp.rb line 5) had an error: NoMethodError: undefined method `ext' for File:Class
/Users/SP/.chefdk/gem/ruby/2.1.0/gems/stuartpreston-azure-sdk-for-ruby-0.6.8/lib/azure/base_management/base_management_service.rb:80:in `validate_configuration'
/Users/SP/.chefdk/gem/ruby/2.1.0/gems/stuartpreston-azure-sdk-for-ruby-0.6.8/lib/azure/base_management/base_management_service.rb:33:in `initialize'
/Users/SP/.chefdk/gem/ruby/2.1.0/gems/stuartpreston-azure-sdk-for-ruby-0.6.8/lib/azure/cloud_service_management/cloud_service_management_service.rb:21:in `initialize'

Subscription not specified in driver, and subscription_id and management_credentials used via .chef/knife.rb (.pfx)
UNTESTED

Subscription not specified in driver, and subscription_id and management_credentials used via .chef/knife.rb (.pem)
UNTESTED

Strange. I tested almost entirely with not specifying the subscription id in the driver url, and that was working for me. I'm curious about the differences in our json ...

So it urns out I had specified management_credentials by accident (should be management_certificate) in my Chef config.  Also uncovered an issue with filename handling in the SDK for the non-in-memory certificates.  Having another go at testing this today.

Manual testing using stuartpreston-azure-sdk-for-ruby-0.6.9
Recipe used:
require 'chef/provisioning/azure_driver'
with_driver 'azure'

machine 'pendev01app99' do
  machine_options :bootstrap_options => {
   :cloud_service_name => 'pendricacloud01',
      :storage_account_name => 'pendricastore01',
      :vm_size => 'Standard_D1',
      :location => 'North Europe'
    },
    :password => 'P2ssw0rd',
    :image_id => 'b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140927-en-us-30GB' #optional
end

Results

Approach (credentials source)
Result: recipe with no subscription specified in driver
Result: recipe with correct subscription specified in driver

~/.azure/azureProfile.json only
PASS
FAIL (see 1)

my.publishsettings (azure_subscriptions set in client.rb)
PASS
FAIL (see 1)

my.pfx (azure_subscriptions set in client.rb)
PASS
FAIL (see 1)

my.pem (azure_subscriptions set in client.rb)
PASS
FAIL (see 1)

ref 1
Recipe used:
require 'chef/provisioning/azure_driver'
with_driver 'azure:b6e7eee9-e4cd-41ae-8432-03ab624df016'
# with_driver 'azure'

machine 'pendev01app99' do
  machine_options :bootstrap_options => {
   :cloud_service_name => 'pendricacloud01',
      :storage_account_name => 'pendricastore01',
      :vm_size => 'Standard_D1',
      :location => 'North Europe'
    },
    :password => 'P2ssw0rd',
    :image_id => 'b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140927-en-us-30GB' #optional
end

Stack:
Generated at 2015-03-30 15:22:46 +0100
NoMethodError: machine[pendev01app99] (@recipe_files::/Users/SP/destroy-temp.rb line 5) had an error: NoMethodError: undefined method `[]' for nil:NilClass
/Users/SP/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-azure-0.2.1/lib/chef/provisioning/azure_driver/driver.rb:44:in `canonicalize_url'
/Users/SP/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provisioning.rb:71:in `driver_for_url'
/Users/SP/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provisioning/chef_run_data.rb:105:in `driver_for_url'
/Users/SP/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provisioning/chef_run_data.rb:84:in `driver_for'
/Users/SP/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provider/machine.rb:102:in `new_driver'

Comment:
Looking at the code, the subscription hash is only set when the account_id is nil or empty.  If we set one in the driver, then subscription will be nil.  I guess we need to return [ driver_url, config ] in this case.
Code:
    def self.canonicalize_url(driver_url, config)
      scheme, account_id = driver_url.split(':', 2)
      if account_id.nil? || account_id.empty?
        subscription = Subscriptions.default_subscription(config)
        if !subscription
          raise "Driver #{driver_url} did not specify a subscription ID, and no default subscription was found.  Have you downloaded the Azure CLI and used `azure account download` and `azure account import` to set up Azure?  Alternately, you can set azure_subscriptions to [ { subscription_id: '...', management_credentials: ... }] in your Chef configuration."
        end
        config = Cheffish::MergedConfig.new({ azure_subscriptions: subscription }, config)
      end
      [ "#{scheme}:#{subscription[:subscription_id]}", config ]
    end

This was merged as #25 from my fork with some fixes.


platform-app-server does not version manifests (Braking backwards compatibility)

When we move to v0.3.0 all the app and driver manifest will be updated as they all use the new core store.
If a user wishes to continue using version 0.2.0 it will no longer work. As the apps and drivers for version 0.2.0 will be installed with the manifests form version 0.3.0.
platform-app-server needs to be modified to hold previous versions of manifests. And the API needs to be updated to return these. For example:
platform-app-server/app/list/0.2.0 should return the manifests for 0.2.0
The container manager UI will also need to be updated to add the version into the manifest queries.
Older versions can still be used if you manually download the app/driver source and check out the tagged version. Then build the app/driver image and upload the manifest to your local app-server. (You can use the install component script but you will have to manually checkout the right code)

I think , at this stage, it is perfectly acceptable to be have backwards
compatibility!
==
Hamed        https://haddadi.github.io
On 8 December 2017 at 11:54, toshbrown<EMAIL_ADDRESS>wrote:

When we move to v0.3.0 all the app and driver manifest will be updated as
they all use the new core store.
If a user wishes to continue using version 0.2.0 it will no longer work.
As the apps and drivers for version 0.2.0 will be installed with the
manifests form version 0.3.0.
platform-app-server needs to be modified to hold previous versions of
manifests. And the API needs to be updated to return these. For example:
platform-app-server/app/list/0.2.0 should return the manifests for 0.2.0
The container manager UI will also need to be updated to add the version
into the manifest queries.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/me-box/databox/issues/209, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACy0r2FzTMWqY3vXNE-bFzDiJ67wbP7kks5s-SNlgaJpZM4Q6_dO
.


Action failed running with default settings for v1.51

Current behavior
The GitHub Action will fail with following error: Error: Cannot find module 'nconf' since the last releases.
I do not use any other settings than the defaults.
see full message in CI logs.
Expected behavior
Successful run
github-action-readme-generator version

CI environment
ubuntu-latest
github-action-readme-generator configuration i.e: .ghadocs.json
No configuration - used defaults with following workflow config:
name: readme
on:
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses<EMAIL_ADDRESS>
CI logs
Run<EMAIL_ADDRESS>
node:internal/modules/cjs/loader:1051
  throw err;
  ^

Error: Cannot find module 'nconf'
Require stack:
- /home/runner/work/_actions/bitflight-devops/github-action-readme-generator/v1.5.1/dist/index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
    at Module._load (node:internal/modules/cjs/loader:[9](https://github.com/fty4/test-action/actions/runs/6530965776/job/17731261722#step:3:9)01:27)
    at Module.require (node:internal/modules/cjs/loader:1115:1[9](https://github.com/fty4/test-action/actions/runs/6530965776/job/17731261722#step:3:10))
    at require (node:internal/modules/helpers:119:18)
    at Object.<anonymous> (/home/runner/work/_actions/bitflight-devops/github-action-readme-generator/v1.5.1/dist/index.js:2:545)
    at Module._compile (node:internal/modules/cjs/loader:1233:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1287:[10](https://github.com/fty4/test-action/actions/runs/6530965776/job/17731261722#step:3:11))
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:[12](https://github.com/fty4/test-action/actions/runs/6530965776/job/17731261722#step:3:13))
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/runner/work/_actions/bitflight-devops/github-action-readme-generator/v1.5.1/dist/index.js'
  ]
}

Node.js v[20](https://github.com/fty4/test-action/actions/runs/6530965776/job/17731261722#step:3:21).5.0

Try out version 1.6, i have just fixed up the nconf package stuff.

Still not possible - but other module:
Run<EMAIL_ADDRESS>node:internal/modules/cjs/loader:1051
  throw err;
  ^

Error: Cannot find module 'js-yaml'
Require stack:
- /home/runner/actions-runner/_work/_actions/bitflight-devops/github-action-readme-generator/v1.6.0/dist/index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
    at Module._load (node:internal/modules/cjs/loader:901:27)
    at Module.require (node:internal/modules/cjs/loader:[11](https://GHE.local/some/repo/actions/runs/1/jobs/1#step:4:12)15:19)
    at require (node:internal/modules/helpers:119:18)
    at Object.<anonymous> (/home/runner/actions-runner/_work/_actions/bitflight-devops/github-action-readme-generator/v1.6.0/dist/index.js:2:544)
    at Module._compile (node:internal/modules/cjs/loader:[12](https://GHE.local/some/repo/actions/runs/1/jobs/1#step:4:13)33:[14](https://GHE.local/some/repo/actions/runs/1/jobs/1#step:4:15))
    at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/runner/actions-runner/_work/_actions/bitflight-devops/github-action-readme-generator/v1.6.0/dist/index.js'
  ]
}

Node.js v[20](https://GHE.local/some/repo/actions/runs/1/jobs/1#step:4:21).5.0

https://github.com/bitflight-devops/github-action-readme-generator/pull/231
addresses this, there is an error caused by dynamic imports in esm modules that was messing this up.
II finally found a workaround while i was adding a feature that used other esm modules.

The issue is still present: Error: Cannot find module 'js-yaml'.


Purpose of workflow mini.yml

I'm migrating the repository's CI to use our centralized actions/workflows (see branch migrate_ci). This was mostly straight forward, I guess. With one workflow I did not really now what to do:
.github/workflows/mini.yml runs tests in a minimal conda environment on pushes and PRs to main. I tried to reconstruct this workflow with our centralized actions. What is actually the purpose of this workflow? On the same events, all those tests are run anyways (via push-pull-main.yml) using a slightly larger environment.

structuretoolkit uses extra_require in setup.py to minimise the dependencies which are installed by default and provides optional requirements when users are interested in specific functionality. The mini.yml only installs the minimalistic environment without the extra_require and tests if the package imports correctly and can be executed with the minimal environment. When we add new requirements to extra_require but the package is not able to be run without these requirements then the mini.yml test breaks.

Right, I had forgotten that! I think this will work with the centralized CI using something along the lines of
# This runs jobs which pyiron modules should run on pushes or PRs to main

name: Push-main-Pull-all

on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  pyiron:
    uses: pyiron/actions/.github/workflows/push-pull-main.yml@main
    secrets: inherit
    with:
      notebooks-env-files: .ci_support/environment-mini.yml .ci_support/environment-extras.yml
      tests-env-files: .ci_support/environment-mini.yml .ci_support/environment-extras.yml

  unit-tests:
    needs: pyiron  # To make sure any env updates are included from pyiron/commit-updated-env
    runs-on: whatever OS we want right now
    steps:
      - uses: actions/checkout@v3
      - uses: pyiron/actions/unit-tests@main
        with:
          python-version: whatever
          env-prefix: whatever
          env-label: mini or whatever
          env-files: .ci_support/environment-mini.yml   # only the core ones!
          test-dir: tests or tests/unit?


Ethnicity

We have an item called "IHMC ethnicity"
Definition = Ethnicity of the subject
Syntax = IHMC code or free text
I've been searching the web for a "IHMC" list of codes, but cannot find it. If we expect people to use a specific controlled vocabulary we need to provide a way to find it.
Whilst looking at this term do we want to rethink the preferred CV we suggest? is there one in an active ontology that would be more accessible?
Maybe the subset of "Race" within NCIT: http://purl.obolibrary.org/obo/NCIT_C17049 ?

Tracking down the origin of IHMC ethnicity.
--> International Human Microbiome Consortium, IHMC
https://www.hmpdacc.org/ihmp/
HMP catalog: https://www.hmpdacc.org/hmp/catalog/
         -- I could not find the IHMC list of ethnic groups.

I agree we should update these fields: - and to include a world perspective
Noting here a few options to explore.
-- Would be useful to define ethnicity and race in MIxS.
OLS ontologies that include ethnic groups/race:

NCI race: https://www.ebi.ac.uk/ols/ontologies/ncit/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FNCIT_C17049
NCI: ethnic groups
https://www.ebi.ac.uk/ols/ontologies/ncit/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FNCIT_C16564
OPMI: Ontology of Precision Medicine and Investigation
Ethnic groups: https://www.ebi.ac.uk/ols/ontologies/opmi/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FNCIT_C16564

I worked  on a NIH/NIAID team back in 2011, we developed an fairly exhaustive list,
looking at ethnicity and race categories:
google doc: https://docs.google.com/spreadsheets/d/1QiVsYKHSNTZSCi46GqAoz8s4HImIEZuKoMmVGhZ--_A/edit#gid=2
Ethnicity: https://en.wikipedia.org/wiki/Ethnic_group
An ethnic group or ethnicity is a category of people who identify with each other, usually on the basis of presumed similarities such as a common language, ancestry, history, society, culture, nation or social treatment within their residing area
Race: https://en.wikipedia.org/wiki/Race_(human_categorization)
A race is a grouping of humans based on shared physical or social qualities into categories generally viewed as distinct by society.
List of ethnic groups - UK
https://www.ethnicity-facts-figures.service.gov.uk/style-guide/ethnic-groups
White
English / Welsh / Scottish / Northern Irish / British
Irish
Gypsy or Irish Traveller
Any other White background
Mixed / Multiple ethnic groups
White and Black Caribbean
White and Black African
White and Asian
Any other Mixed / Multiple ethnic background
Asian / Asian British
Indian
Pakistani
Bangladeshi
Chinese
Any other Asian background
Black / African / Caribbean / Black British
African
Caribbean
Any other Black / African / Caribbean background
Other ethnic group
Arab
Any other ethnic group
 In Wales, the first option in the White broad category is changed so that Welsh appears first in the list,
followed by English, Scottish, Northern Irish and British.

Definitions for Racial and Ethnic Categories
from : The Revisions to OMB Directive 15 defines each racial and ethnic category as follows:
from NIH: https://grants.nih.gov/grants/guide/notice-files/not-od-15-089.html
American Indian or Alaska Native.
A person having origins in any of the original peoples of North and South America (including
Central America), and who maintains tribal affiliation or community attachment.
Asian.
A person having origins in any of the original peoples of the Far East, Southeast Asia, or the Indian
subcontinent including, for example, Cambodia, China, India, Japan, Korea, Malaysia, Pakistan, the
Philippine Islands, Thailand, and Vietnam.
Black or African American.
A person having origins in any of the black racial groups of Africa. Terms such as "Haitian" or
"Negro" can be used in addition to "Black or African American."
Hispanic or Latino.
A person of Cuban, Mexican, Puerto Rican, South or Central American, or other Spanish culture or
origin, regardless of race. The term, "Spanish origin," can be used in addition to "Hispanic or
Latino."
Native Hawaiian or Other Pacific Islander.
A person having origins in any of the original peoples of Hawaii, Guam, Samoa,
or other Pacific Islands.
White.
A person having origins in any of the original peoples of Europe, the Middle East, or North Africa.
Notes:
Looked at first MIXS paper, in the supplementary file,
we had IHMC medication code and IHMC ethnicity.
Google search for IHMC medication code, - one link was to TDWG page for MIxS:
https://terms.tdwg.org/wiki/mixs:ihmc_medication_code
and. https://terminology-sandbox.biowikifarm.net/wiki/mixs:ihmc_medication_code
https://www.ncbi.nlm.nih.gov/biosample/docs/attributes/
BioPortal, MIXS controlled vocabulary - published in 2012, has OBO foundry purls
http://bioportal.bioontology.org/ontologies/MIXSCV/?p=summary
-- Noting cites here, as we could provide these links
    And they may need updating after versions are released

Have you looked at hANCESTRO?
big problems with the root class name in NCIT
On Fri, Jun 26, 2020, 01:14 Chris Hunter<EMAIL_ADDRESS>wrote:

We have an item called "IHMC ethnicity"
Definition = Ethnicity of the subject
Syntax = IHMC code or free text
I've been searching the web for a "IHMC" list of codes, but cannot find
it. If we expect people to use a specific controlled vocabulary we need to
provide a way to find it.
Whilst looking at this term do we want to rethink the preferred CV we
suggest? is there one in an active ontology that would be more accessible?
Maybe the subset of "Race" within NCIT:
http://purl.obolibrary.org/obo/NCIT_C17049 ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GenomicsStandardsConsortium/mixs/issues/59, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAMMOPWXV4XTDVQW3PQ4BLRYRKGBANCNFSM4OJDH4VA
.

@lschriml are you suggesting it might be worthwhile splitting it into TWO fields, one for Ethnicity and one for Race, or just re-defining our ethnicity term to cover both aspects?
I'm no expert here, but my preference would be for keeping 1 term to cover both aspects, my reason is that if we split it up there will be users making their own interpretations of the meanings for each and probably just picking one at random to include either/or/both values, and the historic values would still be able to be included.
@cmungall I've not seen hANCESTRO before, but the "ancestry category HANCESTRO_0004" node looks perfect for use in MIxS and I think it would cover the entire range of things @lschriml brings up.
Currently the term in question looks like this:
Package item name: IHMC ethnicity
Structured comment name: ihmc_ethnicity
Definition: Ethnicity of the subject
Expected value: IHMC code or free text
Value syntax: {integer}\|{text}
Example: caucasian
Preferred unit: NA

How do we go aout making changes to Item names? Would it best to just deprecate the above term and create a new one like below?
How would that effect INSDC and their checklists? @josieburgin (can someone tag Ilene or Anji, I dont know their github names)
Package item name: Ethnicity or Race
Structured comment name: ethnicity_race
Definition: The ethnicity or race of the subject. An ethnic group or ethnicity is a category of people who identify with each other, usually on the basis of presumed similarities such as a common language, ancestry, history, society, culture, nation or social treatment within their residing area. A race is a grouping of humans based on shared physical or social qualities into categories generally viewed as distinct by society.
Expected value: term from "ancestry category [HANCESTRO_0004](https://www.ebi.ac.uk/ols/ontologies/hancestro/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FHANCESTRO_0004)"
Value syntax: {termLabel} {[termID]}
Example: African American [HANCESTRO:0568]
Preferred unit: NA

Agreed, we need to update this term (icmc_ethnicity)
Discussion for CIG:
(1) rename this term to: ethnicity OR 'ethnicity and race'
(1) do we want to add a new term for 'race'
Looking in BioSample, I see the field as: 'ethnicity'
Cheers,
Lynn

added to March 22nd CIG agenda.

It looks like BioSample also includes "race" but currently there is no description.  So it would not be a problem to have two terms: ethnicity and race

Hi all, I have raised this at the ENA and our concern is that, within Europe, 'race' is not a term often used and can be perceived as problematic:
https://en.wikipedia.org/wiki/Race_(human_categorization)#European_Union
Generally, the use of 'ethnicity' is more common. So within ENA, we would not plan to implement a term for 'race'. As MIxS is used globally, we would strongly discourage its use in the standards.

Action Items:

change the term name to : 'ethnicity'
Lynn: will put together a proposed definition and allowable CV for next months call.
Josie: will check with human biology database

Hi all, we checked with EMBL-EBI's EGA database (who work with personally identifiable nucleotide data). They say that 'ethnicity' is not included in their sample checklists so they don't have validation or a definition for this. Though if a submitter wants to provide it, they recommend to use a custom term called 'ethnicity' which is consistent with what we've proposed here.

Proposed update:
From:
"IHMC ethnicity"
Definition = Ethnicity of the subject
Syntax = IHMC code or free text
To:
Ethnicity: https://en.wikipedia.org/wiki/Ethnic_group
A category of people who identify with each other, usually on the basis of presumed similarities such as a common language, ancestry, history, society, culture, nation or social treatment within their residing area.
https://en.wikipedia.org/wiki/List_of_contemporary_ethnic_groups

hANCESTRO ontology:
does not have a term for 'ethnicity'
top node is: ancestry category
http://purl.obolibrary.org/obo/HANCESTRO_0004
Population category defined using ancestry informative markers (AIMs) based on genetic/genomic data

no comments, will implement.
Lynn


Add bclr instruction

Add bit clear instruction (RISC-V Bit-Manipulation ISA-extensions).
Opcode : 1100110.
This instruction returns rs1 with a single bit cleared at the index specified in rs2. The index is read from the lower log2(XLEN) bits of rs2.
let index = X(rs2) & (XLEN - 1);
X(rd) = X(rs1) & ~(1 << index)

@pavelkryukov I fixed all problems, can you check it please?