Add empty ctrlc handler on Windows.

Fixes #6000.
When exec_replacing the cargo process, we want the new process to get any signals. This already works fine on Unix.
On Windows, pressing ctrlc kills the cargo process and doesn't pass the signal on to the child process. By adding an empty handler, we allow the child process to handle the signal instead.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @matklad (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Thanks for the PR here! I think this is a good solution, and I learned something new about Windows ctrl-c handlers today!
Could this perhaps just use winapi though? It looks like the ctrlc crate spawns a helper thread whenever it's called but we don't actually need that to execute because it's a noop function anyway. Additionally, a comment above the function be added along the lines of:

In exec_replace we ideally want to replace our current process with the target process, but on Windows this isn't technically possible. Instead we emulate it to the best of our ability.
One aspect we fix here is that we specify a handler for the ctrl-c handler. In doing so (and by effectively ignoring it) we should emulate proxying ctrl-c handling to the application at hand, which will either terminate or handle it itself. According to microsoft's documentation -- https://docs.microsoft.com/en-us/windows/console/ctrl-c-and-ctrl-break-signals -- the ctrl-c signal is sent to all processes attached to a terminal, which should include our child process. If the child terminates then we'll reap them in Cargo pretty quickly, and if the child handles the signal then we won't terminate (and we shouldn't!) until the process itself later exits.
Note that this should mirror behavior on Unix where Cargo literally uses exec so the way a ctrl-c is dealt with depends on the process that's running.

Oh also, could a test using GetConsoleCtrlEvent be added to test this?

I think you're probably right that ctrlc is overkill for this particular case. I'll take a poke at it and see if I can accomplish the same thing with just the winapi calls.

Going to close this PR in favor PR #6004 which does the same thing but without the ctrlc depdency.


LocalAdapter

Hi there!
How to set my model to work only with local data (hive)?
I'm doing this
mixin LocalBaseAdapter<T extends DataModel<T>> on LocalAdapter<T> {}
And my adapter:
mixin TodoAdapter on LocalAdapter<TodoModel > {}
builder error:

Unsupported operation: Adapter LocalBaseAdapter<dynamic> MUST have a constraint on RemoteAdapter

All models are always stored locally on Hive. You don't have to do anything. And no, you can't create a mixin on LocalAdapter.
Sorry for the delay in documentation, I was sick this week.

If you want to access the local instances, use remote: false on findOne, findAll, etc


Vocabulary needs to also be shortened in #removeNgramsWithCountsLessThan:

In the method we are deleting ngrams and reducing history counts, i think vocabulary needs to be cleaned up too (when word history becomes zero, for instance).
The main idea of this method is to get rid of tokens and their sequences that we find irrelevant, in order to speed up reading from file or lookup within the model. And in this case always keeping all the vocabulary entries defeats the purpose.

Am still not sure about a good solution for reducing vocabulary, but I think history needs to be additionally reduced too, perhaps using something like this:
historyCounts := historyCounts rejectWithOccurrences: [ :each :count |
		count < aNumber ]

Because technically, if we are reducing the ngrams using the same threshold, then those words we are "throwing out" of ngramCounts will have the same or even higher occurence in historyCounts and therefore should be safe to delete. Tell me what you think, @olekscode.


Fixes package.json fields

Version has to be three digits long to avoid npm warnings.
Changes

Updates changelog and package.json version to 3.6.0 from 3.6.
Adds additional description, homepage, and author fields to package.json.

Testing

npm uninstall sinon-chai should show no npm warnings in the console.

Review

@Scotchester
@sebworks
@virginiacc
@contolini
@rosskarchner

👍

👍


sudo: pass env variables without /usr/bin/env

Using /usr/bin/env as a frontend for the actual command prevents sudoers from restricting allowed commands and configuring detailed command environment.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Looks like this might break the case where envs are used but sudo is not used?

@Bo98 can you elaborate a bit with an example case?

My concerns were addressed in a later force push.

Thanks again @Kentzo!


UI implementation for Income Section

Is your feature request related to a problem? Please describe.
In the income section:

It was hard to gauge statistics concerning the streams of income (ie. Total Income, Percentages of Income within particular streams).
Users had no way to create notes regarding their streams of incomes
Users had no way to choose whether the frequency of their income
Users had no easy/user-friendly way to select the date in a calendar, rather than typing it.

Describe the solution you'd like
I want to create two Div Cards containing financial information about the sources of Income. I would also like to implement an area for users to enter important details about their income. Lastly, I would create a user-friendly solution for picking a date and choosing the frequency of their income streams.
Describe alternatives you've considered
These are core functionalities of an Income section of a Financial Planner, so there are no other viable alternatives I can think of.
Additional context

Approved

Approved


[ButtonBase] Document the type property

I have added some clarity to the ButtonBase documentation for the type property. Thanks!
Closes #11683.

@C-Rodg Thank you!


[Fixes #7515] Add RemoveContentDefinition recipe step

Add support for removal of content type and part definitions through recipes.
This addresses issue #7515 .

Beautiful PR. I like it. GTG as far as I'm concerned.


[Bug]: Module not found (in this case pytest)

What happened?
I have a complex project but I will try to capture the import parts.
requirements.txt contains pytest, among other things:
pytest==7.3.1

My Bazel target imports pytest:
load("@aspect_rules_py//py:defs.bzl", "py_binary", "py_pytest_main", "py_test")
load("@pypi//:requirements.bzl", "requirement")

# ...

py_test(
  name = "tests",
  srcs = [
    "tests/**/*.py",
  ],
  main = "test.py",
  python_version = "3.10.6",
  deps = [
    requirement("pytest"),
  ],
)

WORKSPACE parses the requirements:
load("@rules_python//python:pip.bzl", "pip_parse")

pip_parse(
  name = "pypi",
  requirements_lock = "//:requirements.txt",
  python_interpreter_target = python_3_10_6_interpreter,
)

load("@pypi//:requirements.bzl", pypi_install_deps = "install_deps")

pypi_install_deps()

By when I run the test, I get:
ModuleNotFoundError: No module named 'pytest'

Version
Development (host) and target OS/architectures:
Output of bazel --version: bazel 6.4.0
Version of the Aspect rules, or other relevant rules from your
WORKSPACE or MODULE.bazel file:
http_archive(
  name = "rules_python",
  sha256 = "d71d2c67e0bce986e1c5a7731b4693226867c45bfe0b7c5e0067228a536fc580",
  strip_prefix = "rules_python-0.29.0",
  url = "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.29.0.tar.gz",
)

http_archive(
  name = "aspect_rules_py",
  sha256 = "04278ce23cc5c91a24b62ea00ac04c553fe40ca390943acf6684d367a681a871",
  strip_prefix = "rules_py-0.7.4",
  url = "https://github.com/aspect-build/rules_py/releases/download/v0.7.4/rules_py-v0.7.4.tar.gz",
)

Language(s) and/or frameworks involved: -
How to reproduce
See above

Any other information?
No response

It appears that the order of my toolchains was wrong.
This order works:
python_register_toolchains(
  name = "python3_10_6",
  python_version = "3.10.6",
  set_python_version_constraint = True,
)

load("@python3_10_6//:defs.bzl", python_3_10_6_interpreter = "interpreter")

# Default toolchain must go last
python_register_toolchains(
  name = "python3_9_16",
  python_version = "3.9.16",
)

load("@python3_9_16//:defs.bzl", python_interpreter = "interpreter")

Perhaps this needs a better error message?

That error message is from Python itself, so I'm not sure what rules_py could have done here. However, the toolchain ordering looks like it might be related to https://github.com/aspect-build/rules_py/issues/363

It's generally quite hard to know which toolchain is being used and if you have configure things incorrectly.
From the usage, I was under the impression that 3.10.6 had been selected:
py_test(
  name = "tests",
  srcs = [
    "tests/**/*.py",
  ],
  main = "test.py",
  python_version = "3.10.6", # <----- Set here
  deps = [
    requirement("pytest"),
  ],
)

pip_parse(
  name = "pypi",
  requirements_lock = "//:requirements.txt",
  python_interpreter_target = python_3_10_6_interpreter, # <----- Matches here
)

But it actually depends on the order of toolchain registration.
If you declare a py_binary target that depends on a PIP package whose Python toolchain don't match, I think there should be an error or at least a warning.


remove pullRequestGateway

it has not been used in a long time: https://gitlab.cee.redhat.com/service/app-interface/-/merge_requests/8920

https://gitlab.cee.redhat.com/service/app-interface/-/merge_requests/52410


Can't get GUI started

Had to hard cycle laptop. Can't bring up GUI since
my log id: 97712c190c54c0edb6cf231c

I also cannot get the GUI to start on windows

you want a screenshot of a window that doesn't start 😕 okay... I'll see what I can do

Success! Your log ID is: 088234c4b631e00ad2e9301c

Well, I reinstalled for the 100th freaking time and it is finally working. Probably will be moving away from keybase. It's too unstable and inconsistent


Unnecessary production dependency of Snyk

Snyk is adding 3mb and 45 dependencies (and possibly much more transient deps) to the size of Snoostorm.

This was fixed here: https://github.com/MayorMonty/Snoostorm/pull/25
But Snyk has, for some reason, undone the fix and moved it back: https://github.com/MayorMonty/Snoostorm/commit/4151d0e9ea8db8527b309f4541db2892629e29b0#diff-b9cfc7f2cdf78a7f4b91a753d10865a2

Should be fixed in https://github.com/MayorMonty/Snoostorm/commit/812309242afc08c1a34cce9720341cd361c0704b. (npm version 1.5.1)


There are too many ways to toggle diagnostics

Why is there 3 different ways to disable diagnostics?
The Problem
Currently, there is:

Lua.diagnostics.disable

An array of strings where you specify each diagnostic to disable
Simple, but has no control for open/closed files

Lua.diagnostics.neededFileStatus

An object where the key is the name of the diagnostic and the value is how the diagnostic will be checked (not at all, only open files, all files)
Slow but precise, allows you to alter the most diagnostics but can be slow to get everything set up the way you like it. Good for long-term setup where you can get set up perfectly.

Lua.diagnostics.groupFileStatus

An object where the key is the name of the group and the value is how the group of diagnostics will be checked (not at all, only open files, all files)
Quick but not precise, allows the user to quickly turn off entire categories of diagnostics but does not allow for disabling individual diagnostics. Good for short-term setup.

This can get very confusing very quickly.
The solution
I think going with just Lua.diagnostics.neededFileStatus would make the most sense.
It allows for the user to completely customize how the server runs, which is more important than the user quickly being able to get things working sort of how they like it in the short-term.
To still help get users up and running as fast as possible, we can offer "presets" or "popular configs" on the discussions page. This can help satisfy those that want just the basics or full strict mode.
This would definitely be a breaking change but I think it is a very important one to make!
Originally posted by @carsakiller in https://github.com/sumneko/lua-language-server/discussions/1362#discussioncomment-3194851

Lua.diagnostics.disable needs to remain compatible and is used for quick fixes.
Lua.diagnostics.neededFileStatus for advanced users to customize diagnostics. And some diagnostics with side effects will use this setting to be turned off by default (disable as an array can't do that).

Is there a reason why Lua.diagnostics.disable has to remain compatible? I think the naming is poor too as there is a Lua.diagnostics.enable that is not for enabling each diagnostic but for toggling all diagnostics at once, which makes more sense.
I wouldn't consider Lua.diagnostics.neededFileStatus an advanced feature (although a rename may be needed), but rather the best way to toggle diagnostics as you have the most control over them. It is not really any slower than Lua.diagnostics.disable either, as instead of adding the diagnostic to an array as a string, you are just adding it to an object with the value of "None".
If Lua.diagnostics.neededFileStatus can do everything the other settings can do with no drawback other than maybe it is a bit slower, I see no reason to keep the others. If a user wants to quickly disable a certain diagnostic everywhere, then they could perform a "quick fix" that adds "<diagnostic>": "None" to Lua.diagnostics.neededFileStatus.

Is there a reason why Lua.diagnostics.disable has to remain compatible? I think the naming is poor too as there is a Lua.diagnostics.enable that is not for enabling each diagnostic but for toggling all diagnostics at once, which makes more sense.

Lua.diagnostics.disable is one of the earliest settings. Lua.diagnostics.enable is to keep it consistent with other similar settings like Lua.hover.enable.
For me, all the two settings can be accepted. I did not modify it just to keep compatible.

I understand that you want to keep it backwards compatible, but I think having three settings to enable/disable diagnostics (Lua.diagnostics.disable, Lua.diagnostics.groupFileStatus, Lua.diagnostics.neededFileStatus) severely hinders the usability of the settings.
For example, I have used this extension in VS Code for over a year at this point and I had no idea that the await group was disabled by default. I didn't know it was a feature, and when I did, I didn't know how to enable it until reading the default value for Lua.diagnostics.neededFileStatus. Part of this problem can be fixed with better documentation in the wiki, but the main root of the problem is that there are 3 settings with different names that all accomplish something very similar.
I think it is needlessly complex and is very confusing to new users.
Having one setting called Lua.diagnostics.config or something similar that functions like Lua.diagnostics.neededFileStatus would be a lot easier to understand and document.

I think I can remove disable and rename neededFileStatus to config, rename groupFileStatus to groupConfig

I still think the groups add extra complexity for both developers and users.

Developers have to always remember to add new diagnostics to a fitting group or create a new group for just one setting (see redefined, strong).
Users have to understand which diagnostics fall under which group, and to enable something they have to still check 2 settings (groupConfig and config).

This added complexity only serves to make configuring a little faster, assuming that changing an entire group of settings is actually what you want to do. Personally, I would never use the groups setting and only enable/disable the diagnostic I actually want to change, but maybe we get some more opinions?

@Nexela @FlashHit @Rouneq @sewbacca @flrgh @lua-rocks
Sorry for the mass mention if you are not interested, but I noticed you guys are pretty active on this repository and I think your opinions would be very valuable here as this is a pretty substantial change.
Please take a read through to get an understanding of the issue and then, if you could, provide your opinion on the situation. I just want to make sure I am not suggesting a major change that does not resonate with a lot of the community.
Thank you 🙂.

If I understand both sides of the discussion correctly, my main question would be: Is there a benefit to having so many different means of accomplishing the same task? For example, what's the driving use case for groupFileStatus? I think I understand what it does. Why what it put in to do what it does? Was there a call to disable whole groups of diagnostics at some point?
As for diagnostic vs needFileStatus, do I understand correctly it's just a matter of specifying
"Lua.diagnostics.disable": [
    "<diagnostic.1>",
    "<diagnostic.2>"
]

or
"Lua.diagnostics.neededFileStatus": {
    "<diagnostic.1>": "None",
    "<diagnostic.2>": "None",
}

@Rouneq I believe that diagnostics.groupFileStatus was meant to make it faster to disable many diagnostics. For example, disable all type checking by setting the type group to "None".
diagnostics.disable is short and simple, you enter the name of the diagnostic, it is disabled.
diagnostics.neededFileStatus allows you to set when each diagnostic is in effect. So if you only want to be warned about lowercase-global in files that are opened, you set lowercase-global to "Opened". If you want to disable undefined-global (which is in the same "group" as lowercase-global) you set it to "None". This functionality is not available through the other two settings.
My point is that diagnostics.neededFileStatus provides the most control, so it should be the only necessary setting, the others are just causing confusion and should be removed. For those that don't want to go through each individual setting, they could maybe find a configuration that works for them on the discussions page or wiki, or just stick with the default.

Right. groupFileStatus seems like a convenience mechanism for internal development of the server. Making available to end-users feels like a bonus. Sure, I could disable all type diagnostics, but is there a need for someone to do so? (Please don't fixate on the type group specifically. This is a general question.) I can't think of a driving need for the capability other than convenience. But I'll admit I doubt I'm the intended audience for it.

My main concern with the groups is that you now have the toggling of diagnostics spread out across two settings. The group can also be specified as a "Fallback", which means its true state is set by diagnostics.neededFileStatus. This can lead to confusion, like in the example I provided where the async group isn't actually disabled by diagnostics.groupFileStatus, but because it is set to "Fallback", is actually disabled by diagnostics.neededFileStatus.
I haven't even gotten into the fact that diagnostics.neededFileStatus can override diagnostics.groupFileStatus by appending a ! to the end of the value specified.

I think the groups can still be made to work, if there is a need for it, however, I don't see much of a need for it in the first place. It would also make sharing configs a bit harder as you would be sharing two settings instead of just one object.
I think it could work like this:

Set the state for a group

"Lua.diagnostics.groupFileStatus": {
    "global": "None"
}

Anything not defined in Lua.diagnostics.groupFileStatus automatically falls back to Lua.diagnostics.neededFileStatus
Set the state for lowercase-global because I want that enabled, but not the other global diagnostics

"Lua.diagnostics.neededFileStatus": {
    "lowercase-global": "Any"
}

global-in-nil-env, undefined-env-child, undefined-global are disabled, lowercase-global is the only diagnostic from the global group that is enabled.

I think it could work like this:
I also think this is the best way. With the removal of the ! which just adds confusion to new users.

I don't have a very strong opinion about this myself, but I have a couple [probably naive] ideas around making the config more expressive and succinct by combining diagnostic groups with diagnostic names/identifiers, as well as allowing simple operator syntax like globbing  and numeric.
Note: I'm staying away from commenting on config names like Lua.diagnostics.neededFileStatus for now, so just read diagnostics as a placeholder in the examples below. I'm also not commenting on the setting enum (None/Any/Opened/Fallback) for the moment, so don't read into that too much either.
diagnostics = {
  -- groups and individual diagnostics both go in the same table using some
  -- notation to separate them (probably "." or ":")

  -- disabling a diagnostic using the fully-qualified (includes the group name) identifier
  ["type-check:need-check-nil"] = "None",

  -- although groups _look like_ namespaces, they're just tags/labels, so diagnostic names
  -- must be globally unique such that this is equivalent to the previous line
  ["need-check-nil"] = "None",

  -- disabling all checks in a group by using globbing syntax
  ["ambiguity:*"] = "None",

  -- setting an entire group's semantics using globbing syntax
  ["luadoc:*"] = "Opened",

  -- disabling an entire group except for one specific diagnostic
  --
  -- requires some sort of formalized resolution order to work properly
   -- (i.e. "Any" is resolved _after_ "None")
  ["duplicate:*"] = "None",
  ["duplicate:duplicate-set-field"] = "Any",
}

Resolution order can be a problem with expressing intent succinctly, and I don't have a good solution for that. Older applications often allow the user to specify the resolution order (i.e. Apache's mod_access "Order" option, which is very useful, but that does introduce another configuration field (though maybe it would replace several others).
Assigning and exposing diagnostic codes to diagnostics (this might even be the case already in the code--I haven't looked at it) would open up the door for more expressive syntax using ranges or numeric filters. The luacheck warnings are laid out like this. The first digit of the error code is a group/class of error, which feels intuitive to me, similar to HTTP codes (HTTP 4xx are client errors, HTTP 5xx are server errors).
diagnostics = {
  -- disable all 0xx, 1xx, and 2xx diagnostics
  ["<300"] = "None",

  -- alternatively, using range notation
  ["0..299"] = "None",

  -- disable diagnostic with code 412
  ["412"] = "None",

  -- disable all 5xx diagnostics except 554
  ["500..599"] = "None",
  ["554"] = "Any",
}

I think it would be good to look at luacheck for further inspiration, as most of what I've presented here is copied from it (i.e. globbing/pattern-matching errors). It's likely that a users lua-language-server is also familiar with luacheck, so using a configuration scheme that is similar would make things intuitive.

I do like that glob pattern idea, that way we can keep the groups but only need one setting - best of both worlds! That is the kind of solution I was looking for 😁.
As for resolution order, I think something like this could do:
local config = {
	["type-check:*"] = "None",
	["need-check-nil"] = "Opened",

	["duplicate:duplicate-set-field"] = "Any",
	["duplicate:*"] = "None",
}

local keys = {}

for k, v in pairs(config) do
	table.insert(keys, k)
end

table.sort(keys, function(a, b)
	return (string.find(a, "*")) and not (string.find(b, "*"))
end)

-- keys are now sorted so all glob patterns are at the front
-- {type-check:*, duplicate:*, duplicate:duplicate-set-field, need-check-nil}

This way all glob patterns are applied first and and then more specific settings are applied afterwards. We start broad and narrow in, allowing people to override group settings for an individual diagnostic.

Not really a fan of the numerical codes though, it goes from a system where the diagnostic "IDs" go from pretty intuitive names like diagnostics.disable to something that would require a lot of experience using and a cheat sheet... rather than just being able to read.

I do like the idea suggested by flrgh  As well as sorting idea by carsakiller
"*":  opened does seem a lot easier than my current way of opening another workspace so I can copy a massive block of settings

As an amendment to my earlier comment, I think the groups concept could be made irrelevant if diagnostic/error names were consistently named with a prefix.
I.E. instead of this:
{
  duplicate = {
    "global-in-nil-env",
    "lowercase-global",
    -- ...
  },
  global = {
    "circle-doc-class",
    "doc-field-no-class",
    -- ...
  },
}

...this:
{
  "duplicate-global-in-nil-env",
  -- alternatively, with `:` as a separator instead of `-`
  "duplicate:lowercase-global",
  -- ...
  "global-circle-doc-class",
  "global-doc-field-no-class",
  -- ...
}

This still jives with being able to use glob syntax to enable/disable one or many diagnostics easily, and I think it's more intuitive than having to look up which "group" a diagnostic belongs to. The config parser need not to be aware of the group concept either. It's just handling strings and glob patterns, so duplicate-* is valid, but duplicate-global-* is also valid even though it might only match one diagnostic name.
Also, no added confusion about type-check:need-check-nil and need-check-nil being equivalent references to the same thing. The new name would simply be type-check-need-check-nil/type-check:need-check-nil.


similarity.df does not work! "Error: Can't rename columns that don't exist. x Column similarity doesn't exist."

Hi there,
I was trying to get on side effect similarities between pairs of drug but similarity.df gives me this error.
Error: Can't rename columns that don't exist. x Column '`similarity`' doesn't exist.

I was trying to dig into and i realized that GetSimilarityDF only returns 2 dimensional vector compound_1 and compound_2 therefore, there is no 3rd column to name as 'similarity'.
Therefore, I fixed the code as
GetSimilarityDF <- function(mat, w) {
  mat %>%
    proxy::simil(
      method = SiderSimilarity, w = w,
      by_rows = TRUE, upper = FALSE, diag = FALSE) %>%
    as.matrix() %>%
    reshape2::melt(na.rm = TRUE, value.name = 'similarity', varnames = c('compound_1', 'compound_2')) %>%
    dplyr::filter(compound_1 != compound_2) %>% # remove self-similarity (for safety, since `diag = FALSE` in proxy::simil)
    dplyr::distinct(compound_1, compound_2 ,similarity) # proxy::simil returning a non-NA upper half, so duplicate rows exist
}

Thanks for the sharing the code,

Thanks for the report and solution!
Here is the source code in question:
https://github.com/dhimmel/SIDER2/blob/9d585685dbeaba3bbac58024c814ac87521122ad/similarity/index.Rmd#L216-L225
Looks like dplyr 0.5.0 from 2016-06-24 changed the behavior of dplyr::distinct:

distinct() now only keeps the distinct variables. If you want to return all variables (using the first row for non-distinct values) use .keep_all = TRUE (#1110).

I think the best solution might be to add .keep_all = TRUE, which should replicate the pre-0.5.0 behavior.
Do you want to submit a pull request that adds this argument?

No, I would just fix it in my end. I was wondering if your sider4 can compute side effect similarity? I looked at the code but I did not see anything to attempt for computing. Just wondering. Maybe I should email for this, do you plan to compute other similarities  between pairs of drug such as protein. enzyme so on ?

I was wondering if your sider4 can compute side effect similarity?

It doesn't look like https://github.com/dhimmel/SIDER4 computes side effect similarity.

Maybe I should email for this

I prefer GitHub Issues.

do you plan to compute other similarities between pairs of drug such as protein. enzyme so on ?

No. I am not currently working on or maintaining the SIDER2 and SIDER4 projects. My most recent work in the area is described at https://greenelab.github.io/connectivity-search-manuscript/ (still a work in progress). But this research does not directly compute similarity based on side effects.
Still happy to answer questions and receive bug reports like this on existing code.


Set timeout to 10s

The goal is to verify the fix on infra side works. We can either keep it 10s if everything is fine, or change back to 60s if we prefer.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


placeholder SSN ideas

This is the test case;
# Sample dataframe
df <- data.frame(
  AssociateID = c(1, 2, 2, 3, 4, 5, 5, 5),
  EmployeeSSN = c(NA, "123-45-6789", NA, NA, "987-65-4321", NA, NA, NA),
  stringsAsFactors = FALSE
)
df <- generateSSNPlaceholders(df, "AssociateID", "EmployeeSSN")
print(df)

# Main function in mind; pending implementation to the main package;

generateSSNPlaceholders <- function(data, associate_id_column, ssn_column) {
  associate_ids_with_missing_ssn <- data %>%
    filter(is.na(!!sym(ssn_column))) %>%
    distinct(!!sym(associate_id_column)) %>%
    mutate(placeholder_ssn = sprintf("999-99-%05d", seq_len(n())))

  data <- data %>%
    left_join(associate_ids_with_missing_ssn, by = associate_id_column) %>%
    mutate(!!ssn_column := ifelse(is.na(!!sym(ssn_column)), placeholder_ssn, !!sym(ssn_column))) %>%
    select(-placeholder_ssn)

  return(data)
}

In the context of the dplyr package in R, the sym function and the !! operator work together to enable non-standard evaluation (NSE), which is a way of programming where expressions are evaluated in a specific context rather than in the standard R manner. This technique is particularly useful when writing functions that manipulate data frames using column names specified as strings or variables.

In the context of the dplyr package in R, the sym function and the !! operator work together to enable non-standard evaluation (NSE), which is a way of programming where expressions are evaluated in a specific context rather than in the standard R manner. This technique is particularly useful when writing functions that manipulate data frames using column names specified as strings or variables.
Let's break down what's happening in this part of the code:
filter(is.na(!!sym(ssn_column))) %>%
    distinct(!!sym(associate_id_column))

The sym function

sym is short for "symbol" and is a function in the rlang package (which dplyr relies on for NSE). rlang is a toolbox for programming with the tidyverse.
sym() takes a string as input and turns it into a symbol, which dplyr can then use to refer to a column within a data frame.
For example, if ssn_column is "EmployeeSSN", sym(ssn_column) converts the string "EmployeeSSN" into a symbol that dplyr functions can use to refer to the EmployeeSSN column in the data frame.

The !! operator (bang-bang)

The !! operator is used to force the evaluation of the expression that follows it. This technique is called "unquoting" in the context of tidy evaluation (part of non-standard evaluation).
When combined with sym(), !! tells dplyr to use the value of the symbol as a column name in the data frame. This allows you to programmatically specify which column to operate on based on a string variable.
In essence, !!sym(ssn_column) tells dplyr to "look at the string value stored in ssn_column, convert it to a symbol, and then use that symbol as if it were a direct reference to a column in the data frame."

Practical Example
Suppose you have a function that accepts a data frame and the name of a column to filter on as a string. Inside this function, you want to use dplyr to filter rows based on this column. Using sym and !! together allows your function to work with the column name specified as a string argument.
This approach is powerful for writing general-purpose data manipulation functions where the specific columns to operate on are not known in advance but are passed to the function as parameters.
In summary, !!sym(ssn_column) dynamically refers to a column in a data frame, where the name of the column is stored in the ssn_column variable. This technique is particularly useful for writing tidyverse-friendly functions that need to operate on columns specified at runtime.

Certainly! Let's dive into a more detailed example using the := operator for dynamic assignment within a dplyr pipeline, especially useful for programmatically naming and mutating columns in a dataframe.
Scenario:
Imagine you're working with a dataset of sales data, and you want to write a function that dynamically calculates the total sales amount by multiplying the number of units sold (UnitsSold) by the unit price (UnitPrice). The catch is that both the name of the new column to store the total sales and the names of the columns to use in the calculation are provided as strings at runtime.
Here's how you can accomplish this using := for dynamic assignment:
Sample Data
First, let's create a sample dataframe:
library(dplyr)

# Sample dataframe
sales_data <- tibble(
  ProductID = c(1, 2, 3),
  UnitsSold = c(10, 15, 20),
  UnitPrice = c(2.50, 5.00, 7.50)
)

Function Definition
Next, define a function that takes the dataframe and column names as arguments and adds a new column with the calculated total sales:
calculate_total_sales <- function(data, units_column, price_column, new_column_name) {
  # Using dynamic column names and assignment with `:=`
  data <- data %>%
    mutate(!!new_column_name := !!sym(units_column) * !!sym(price_column))

  return(data)
}

Usage
Now, use this function to calculate the total sales and store it in a new column called "TotalSales":
# Calculate total sales
updated_sales_data <- calculate_total_sales(sales_data, "UnitsSold", "UnitPrice", "TotalSales")

# View the updated dataframe
print(updated_sales_data)

Expected Output
This will produce an output where each product's total sales amount is calculated and stored in the new TotalSales column:
# A tibble: 3 x 4
  ProductID UnitsSold UnitPrice TotalSales
       <dbl>     <dbl>     <dbl>      <dbl>
1          1        10       2.5       25.0
2          2        15       5.0       75.0
3          3        20       7.5      150.0

Explanation

!!sym(units_column) and !!sym(price_column) dynamically convert the column name strings into symbols and then unquote them for evaluation within mutate(), effectively referencing the actual columns in the data.
!!new_column_name := dynamically assigns the calculated values to a new column whose name is determined by the new_column_name string variable. The use of := enables you to specify the column name programmatically.

This example illustrates the power and flexibility of dplyr's tidy evaluation system, allowing for dynamic data manipulation that adapts to varying column names and requirements.


when tokenizing text, added a progress bar and improved speed

I have been trying to load about 300M of text using BertLMDataBunch.from_raw_corpus(). After more than 10 hours at 100% CPU usage, I was still stuck with a progress bar at 100%.
So, I thought that there was a bug.
After digging in the code, I activated INFO logging and found where the code got stuck : tokenization of the text.
I simply decided to add a progress bar, so that I would at least get some feedback during all these hours. And it turned out that not only I now have a progress bar, but the tokenization now only takes a few minutes.

I had forgotten to remove the last incomplete batch. I have fixed it.

merged


issues with new_usertype with std::bind and std::mem_fn

This is my first github post, so sorry if I'm posting at the wrong area, or posting wrongly.
Hi, today I was hit with a rather frustrating bug that took quite a bit of my time. I managed to fix it on my side so I thought I should post it here so that you might perhaps give a more elegant bug-proof solution, or perhaps allow others googling with the same problem to see this.
so I wanted to add in a member function(GameObjectManager) to a different class (GameObject) as a static lua function but I got into some issues.
I have my function as follows:
std::size_t GameObjectManager::Create()
This is my initial approach:
m_pLuaState->new_usertype<GameObject>("GameObject", 			"Create", std::bind(std::mem_fn(&GameObjectManager::CreateGameObject), std::ref(*pGameObjectManager)) );
So the issue is that this function returns a nil, probably due to the return type of std::bind having issues with the binder. The expected return type is an std::size_t
This is my fix:
m_pLuaState->new_usertype<GameObject>("GameObject", 			"Create", std::function<std::size_t()>(std::bind(std::mem_fn(&GameObjectManager::CreateGameObject), std::ref(*pGameObjectManager))) );
I basically encapsulates everything into an std::function so it returns the correct thing, which in this case is std::size_t

std::bind and std::mem_fn are terrible tools for an outdated age. They also don't work very well with most systems due to their unspecified return type, making it impossible for me to anticipate what they are and how to properly get into its machinery.
Bind as follows:
m_pLuaState->new_usertype<GameObject>("GameObject",
     "Create", []() { return pGameObjectManager->CreateGameObject(); }
);

The above syntax created a closure called a lambda. It's an exceedingly improved version of std::bind, and in all honesty std::mem_fn and std::bind should be deprecated in favor of lambda usage.
I might look into why this is not behaving properly later, but honestly I would suggest using a lambda for now.
Have fun!

So it's impossible to figure out the result_type properly from a std::bind because (according to C++17) that member type definition has been deprecated. This means that I can't properly figure out how to infer the return type for the called function, since there's no way it will give it to me even if I use std::is_bind_object to detect that you're using std::bind.
Sure, I could use it and depend on broken stuff, but it's not exactly a good idea to rely on stuff that we know is going to be thrown out at some point in C++ history.
Again, I would recommend the Lambda approach. It is superior in binding, argument rearrangement, and formatting as compared to std::bind. If you'd really want me to, I can attempt to work out a way to dig into std::bind and std::mem_fn, but it's not going to be a pleasant or pretty patch to the library.

Ahh okay. I wasn't aware that std::bind is depreciated. I've been so used to using it for all kinds of situations that lambda didn't even come to mind when I was looking for a solution. Thanks for the info. I guess I'll start using more lambda, and avoid using std::bind in my codes from now on.


theme is also not unified

that all the things are for the temporary work update those soon and if can
and please
On Fri, 23 Aug 2024 at 18:55, Mukesh Bishnoi @.***>
wrote:

—
Reply to this email directly, view it on GitHub
https://github.com/rajputdivyanshu81/TheWebDevby100xdevs/issues/2, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BIQ342S5IU5ZD5X7XZB5JQTZS4Z6LAVCNFSM6AAAAABNAF7I76VHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ4DGMJVGAZDMMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Passing times of interest to time-frequency functions

What do you think about adding the ability to specify timepoints of interest in high-level time-frequency functions (like tfr_morlet)?
Currently one would have to use for example epochs.time_as_index(times_of_interest) and then create a slice to pass to decim. It's works ok for me but is not very intuitive for newcomers.
If you are :+1: then the API could be:

passing a slice constructed from floats to decim would be interpreted as time in seconds and translated to relevant integer slice
a separate parameter, for example times or toi (after fieldtrip from times of interest) that would take an array-like of floats (or float slice)

I prefer option 2 because it is more intuitive to use times than decim to select relevant timepoints.

decim could accept a slice of floats, in which case it looks for the data tmin sfreq etc.

you want to compute/visualize TFRs with irregular time instants?

No, just allow to use time values instead of samples.

then I am not sure about the use case. You want time instants that are not
subsamples of times array? like do some interpolation?

No, just translate float slices to int slices (seconds -> samples). This may lead to accumulating offsets due to rounding, so might be better to translate float slice to an array of indices (similar to time_as_index) etc.
This could be separate from decim however, similar to the way foi works in fieldtrip: time=np.arange(-0.25, 0.501, 0.05). I think it would be more convenient for newcomers.

I am not convinced :) but I can be wrong...
to me it would open the API too much
your TFRs does not depend much on fine grained time selection
due to limited time resolution. You can do a pretty good job
with crop and proper decim.
any thoughts from others?

your TFRs does not depend much on fine grained time selection
due to limited time resolution. You can do a pretty good job
with crop and proper decim.

My line of thought was a bit different: let's say I have a pretty long signal (long epochs or raw) and I want to decimate the tfr so that I have time like 0.:15.:0.05. If I translate that to int slice (timesamples) in some cases the rounding will lead to for example the step that should be at 10s (along the logic of the float slice) be at 9.5s.
Anyway - I am fine with crafting decim slice myself and being aware of what I'm doing, but it's common to use time values (like toi in fieldtrip) and it is more intuitive than decim in samples.

I am willing to renegotiate next time pb shows up :)

Does it mean no to 1) time param, 2) float slice in decim or 3) translating float decim to array of ints (instead of slice of inst)? :)

I would say no indeed

ok :( / :)

you can close the issue ;)

Farewell my dear issue then... :snowman:


Automate release workflow

We need to publish to npm on release as well as bumping version numbers

@dwmkerr can you maybe do a npm publish now to push 0.6.0 until this issue is resolved? Thanks for your effort.

@benib done :smile:

thanks. I stumpled upon this package that seems to do a good job: https://github.com/boennemann/semantic-release

Ideal solution:

Use webpack for everything dev relating.
During dev, build to the build folder, not the dst folder.
All samples can use the webpack dev server (less code!)
One dedicated task to build to the dst folder.

This way PRs don't need to include dst changes and they'll be easier to merge.


can you please cut a point release with PR #922 included?

hey everyone,
PR #922 will most likely fix a major annoyance, where no rustc with a custom vendor target is able to compile crossbeam. librsvg makes use of crossbeam in their rust port, which is how I noticed this issue.
so, can you please push out a point release with the fix included?
thank you

Published in crossbeam-utils 0.8.13, crossbeam-queue 0.3.7, and crossbeam-epoch 0.9.12.


Prisma Client API reference - Minor fixes

Description
Just a couple of very minor fixes to the Prisma Client API Reference.

cc: @nikolasburk

Much appreciated! 🙏

Much appreciated! 🙏

Thanks @mhwelander ! 😄 Would you like me to cc you in all of my prisma2-docs Pull Requests?


Update metadata.json

LGTM.
Impartial on the question of version bump now or later.

Proposal: Merge as is. Postpone decision on version bump until the next feature release is being planned.

okay! thanks @nibalizer  / @ffrank.


How to get a single repo? e.g. call GET /repositories/foo/bar

Hi!
The only way I see to get a specific repository is to use the repositories list() method (while the API provides a way to call a GET request on /repositories/user/repo_slug). I'm wondering if I'm wrong - do I need to do something like this, or is there another way?
$repos = $client->repositories()
    ->users('fideloper')
    ->list(['q' => 'full_name="fideloper/my_repo"']);

return $repos['values'][0] ?? null;

Thanks!

Thanks for getting in touch. Does the show method not do what you want? :)
https://github.com/BitbucketAPI/Client/blob/v1.1.0/src/Api/Repositories/Users.php#L59-L72

return $client->repositories()
    ->users('fideloper')
    ->show('my_repo');

Thank you!
On Sun, Jun 2, 2019 at 06:14 Graham Campbell<EMAIL_ADDRESS>wrote:

return $client->repositories()    ->users('fideloper')    ->show('my_repo');
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/BitbucketAPI/Client/issues/21?email_source=notifications&email_token=AADSDU4HJIZ3AAHLW44ZOT3PYOTRFA5CNFSM4HSBUIMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWXTKBY#issuecomment-498021639,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADSDU4VO3SRGFC5XBCALLLPYOTRFANCNFSM4HSBUIMA
.

(Sorry I didn't see your first reply - I thought that would show the user itself, and not a user's repository).

No. The API design of this package is basically curried. At each point, you are providing one more piece of information. You choose the repositories class at the start, then you provide the user, then the repo name. Bitbucket doesn't distinguish between users and teams quite in the same way that GitLab does. :)

Gotcha - appreciate the explanation!


Add a documentation website

Proposed change

This PR adds documentation (to be hosted on readthedocs) as requested in #35. In its current state, the documentation imports the README and example notebooks. Additionally, compatibility information and the docstrings for the public parts of the API are included. The documentation is generated using Sphinx, and mainly written in markdown using MyST
In the future, we want to split the information in the README over different pages (e.g. "getting started" and multiple pages demonstrating the functionalities of ZOSPy). Furthermore, we would like to add several tutorials explaining how to add new analyses etc.
Other changes that are part of this PR:

GitHub pages has been disabled and the project website has been changed to https://zospy.readthedocs.io
Many missing docstrings were added (mainly in zpcore)
Module docstrings were added or extended, as these are very useful when automatically generating the API documentation. This is a work in progress, and several modules still need better documentation.

Type of change

[ ] Example (a notebook demonstrating how to use ZOSPy for a specific application)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New analysis (a wrapper around an OpticStudio analysis)
[ ] New feature (other than an analysis)
[ ] Breaking change (fix/feature causing existing functionality to break)
[ ] Code quality improvements to existing code or addition of tests
[x] Documentation

Additional information

Python version: ...
OpticStudio version: ...

Related issues

Closes #35
Checklist

[x] I have followed the contribution guidelines
[ ] The code has been linted, formatted and tested locally using tox.
[ ] Local tests pass. Please fix any problems before opening a PR. If this is not possible, specify what doesn't work and why you can't fix it.
[ ] I added new tests for any features contributed, or updated existing tests.
[ ] I updated CHANGELOG.md with my changes (except for refactorings and changes in the documentation).

If you contributed an analysis:

[ ] I did not use AttrDicts for the analysis result data (please use dataclasses instead).

If you contributed an example:

[ ] I contributed my example as a Jupyter notebook.

⚠ ReadTheDocs is currently building the documentation from this branch. Please do not merge it before ReadTheDocs has been instructed to build the documentation from main.

If we change it to built the docs from main, merging should be fine!


ENYO-6130: Pass spotlightDisabled prop from list or scroller to scroll buttons

Checklist

[X] I have read and understand the contribution guide
[X] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[X] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
Even though a list or a scroller has a spotlightDisabled prop, the scroll buttons in it has spotlight when holding them.
Resolution
Pass spotlightDisabled prop from a list or a scroller to scroll buttons
Links
ENYO-6130

Maybe there would be a better name for the new prop, but I don't have any better idea. :)
So, looks good to me.

@ybsung - Can you elaborate on the root cause and why this is the appropriate solution? Why are the scroll buttons focusable but items are not?

Hello @ryanjduffy

Can you elaborate on the root cause and why this is the appropriate solution? Why are the scroll buttons focusable but items are not?

I had to find the root cause. But it was very hard to me. According to my analysis, if spotlightDisabled prop was applied to Scroller, then Spottable.handleFocus() in the item was not called when clicking it. But Spottable.handleFocus() is the Scroll Button was called when clicking. So it would be the start point to debug more.
If I add Scrollbars as the content in Scroller, Spottable.handleFocus() in the Scroll Button of the scrollbars is not called. So there might no problem with item or scrollbars.
So I just passed spotlightDisabled prop to the Scroll button to blur in Spottable.handleFocus() to solve the problem simply.

Hello @germboy
Do you have any hint for my comment above to know why Spottable.handleFocus() in the Scroll Button was called when clicking?

I think the reason items are not focusable is due to the onMouseDown handler in moonstone/Scrollable:
https://github.com/enactjs/enact/blob/develop/packages/moonstone/Scrollable/Scrollable.js#L378-L382
For some reason, that handler is attached to the internal container and not the root node so it isn't able to suppress focus on the scroll buttons.

Closing in favor of #2468


updated samsung backend

Updating samsung backend to support older S21 devices along with current S22 ones.

@AhmedTElthakeb Please resolve the conflict first before I build the app for testing.

@AhmedTElthakeb Here is the APK as requested:
2022-06-30_PR413_mlperf_app_6111f202.apk.zip

@AhmedTElthakeb Please feel free to merge this PR if there is no further commit.


Preserves the saved whitespace setting on toggle

Associated with #12451
This enhances the Toggle Render Whitespace command to utilize the saved configuration setting if there is one that isn't none.

@alexandrudima I just resync'd this branch to fix the conflicts

This has now been implemented by writing the new setting to the user settings


Wierd readings on the solar production bar chart

The problem
There are brown bars signifying something on the solar production forecasts.  Seems to relate to the solcast integration.

What version of Solcast Integration has the issue?
V4.0.31
What version of Home Assistant are you using?
No response
Diagnostics information
No response
Logs debug/info/error output
No error message just error in chart

Additional information
No response

Looks like a case of weird config, and you're going to get a weird outcome.

I have the solar sensor getting production from my Powerwall...

OK, be happy if the config was incorrect but what's wierd?  This was working and I haven't changed anything other than updating the integration...

The sensor you have specified to measure solar production is measuring FORECASTED prouction today. Of COURSE that is going to introduce weirdness.
That sensor has to be for ACTUAL solar production.
I take it you have one solar production config for GivTCP, and have created a second one for Solcast. I have one, and that single one has the forecast option enabled for Solcast.

Show me that the config of the GivTCP has the option to enable forecast via Solcast.
I'm hovering over the close issue button...

Out of interest, do you still have long-term forecast detail shown in the energy dashboard after upgrading to 4.0.31? Like go to a month view and check this month and last month to see if the forecast history is still there...

Oh ok, I'll have a look and see what I can find in the GivTCP setup.  It's always been set up this way, been using this integration (originally from Oozie now switched to yours) for quite a while now and never saw these bars.  But let me see if I can find something in the GivTCP setup.
By the way, this integration saved me as I lost all this when Oozie deleted his account so kudos for keeping yours going.. I'm certainly not having a go at it just wondered if I was doing something wrong.
Please feel free to close was just looking for some advice

It interests me that no config changed and it didn't do this with Oziee's.
We may have inadvertantly fixed something that might be causing another issue that I'm chasing, so out of interest, do you still have long-term forecast detail shown in the energy dashboard after upgrading to 4.0.31? Like go to a month view and check this month and last month to see if the forecast history is still there...

(And do that before changing any existing config, please.)

I don't think so. This is what I can see on the month view.  Not sure if I don't have any forecast prior to last week though because I switched to your repository?
[Image]
Sent from Outlook for Androidhttps://aka.ms/AAb9ysg

From: Steve Saunders @.>
Sent: Saturday, June 22, 2024 8:05:41 AM
To: BJReplay/ha-solcast-solar @.>
Cc: RILEYBATES @.>; Author @.>
Subject: Re: [BJReplay/ha-solcast-solar] Wierd readings on the solar production bar chart (Issue #50)
(And do that before changing any existing config, please.)
—
Reply to this email directly, view it on GitHubhttps://github.com/BJReplay/ha-solcast-solar/issues/50#issuecomment-2183874873, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFDYYJK4RF2OZNVV67DMD7DZIUO4LAVCNFSM6AAAAABJXFZ5E6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTHA3TIOBXGM.
You are receiving this because you authored the thread.Message ID: @.***>

Umm. can't see any image.

By the way don't know if it helps but I seem to get the bars either at the start of a new day or when I poll new information but not in between
Sent from Outlook for Androidhttps://aka.ms/AAb9ysg

From: JUSTIN BATE @.>
Sent: Saturday, June 22, 2024 8:09:01 AM
To: BJReplay/ha-solcast-solar @.>; BJReplay/ha-solcast-solar @.>
Cc: Author @.>
Subject: Re: [BJReplay/ha-solcast-solar] Wierd readings on the solar production bar chart (Issue #50)
I don't think so. This is what I can see on the month view.  Not sure if I don't have any forecast prior to last week though because I switched to your repository?
[Image]
Sent from Outlook for Androidhttps://aka.ms/AAb9ysg

From: Steve Saunders @.>
Sent: Saturday, June 22, 2024 8:05:41 AM
To: BJReplay/ha-solcast-solar @.>
Cc: RILEYBATES @.>; Author @.>
Subject: Re: [BJReplay/ha-solcast-solar] Wierd readings on the solar production bar chart (Issue #50)
(And do that before changing any existing config, please.)
—
Reply to this email directly, view it on GitHubhttps://github.com/BJReplay/ha-solcast-solar/issues/50#issuecomment-2183874873, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFDYYJK4RF2OZNVV67DMD7DZIUO4LAVCNFSM6AAAAABJXFZ5E6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTHA3TIOBXGM.
You are receiving this because you authored the thread.Message ID: @.***>

I seem to get the bars either at the start of a new day or when I poll

Makes sense. This sensor gets its value from a variable called 'tally', which is updated midnight/forecast get.

Sorry I replied on the email it didn't seem to send the image...

Yep. That's the issue. Thanks for looking and providing another data point.
At this stage I don't know whether the history has been purged, or whether it is just not showing.
Thanks. Now fix your config!


Specify ManifestBranch in PushToBlobFeed steps

Specify the ManifestBranch (e.g. release/2.1) when running the PushToBlobFeed, so that the output manifest has the right info for maestro uptake into CLI.

Fixed in https://github.com/aspnet/Universe/commit/18a15435e943a63fda26c2f7c6b51374f63ecbcc


Arch Linux support (CLA req. for issue #49).

Express merge much appreciated :)

If you want to rebase this I'll merge it in.

Ok I think that should be good now thanks @tas50.

Was there something else for me to do before merge?

I cherry picked the single commit over to master


Use side type everywhere

The rebase looks a bit more involved :/

@fb55 I'll rebase any PRs that don't merge cleanly and do any conflict resolution. I'll ping you when they are done.

@fb55 Rebase completed. PTAL.

Great change, thanks a lot!


[Task] Dashboard TOP n display

Description
希望仪表盘增加TOP n显示面板，如cpu 使用top 10、内存使用top10、磁盘top 10等
Task List

[ ] 仪表盘增加TOP n显示面板

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿

Description
It is hoped that the dashboard will add a TOP n display panel, such as cpu usage top 10, memory usage top 10, disk top 10, etc.
Task List

[ ] Dashboard adds TOP n display panel

plz assign to me

We can not add this sir, it will looks strange @YxYL6125

strange

got it


Cam Controller camera distance (zooming) not working properly while client side movement is ON

When client side movement is ON in Cam Controller changing camera distance (zooming) stop working properly. If client side zooming is enabled - scrolling with mouse wheel does nothing. If disabled - camera distance is not refreshing upon changing Distance input, only when disabling and enabling Cam Controller.
Steps to replicate:

Spawn Cam Controller with client side movement ON (optionally client side zooming ON)
a. If client side zooming is enabled - try to scroll while Cam Controller is activated
b. If client side zooming is disabled - try to change Distance input while Cam Controller is activated

2022-09-04_11-2.webm

It does work, it's just barely noticeable until you scroll down for a while. I think whatever zoom math is being done needs to be reworked though.

What you really want is FOV. The clientside 'zoom' is actually just pushing/pulling the camera back/forward.

I think i found the culprit. For some reason unknown number of wiremod updates ago "Smooth speed" value in Cam Controller settings reset itself to 0 and i didn't notice that. I never set it to 0. After i returned it to recommended range everything started to work again.

What you really want is FOV. The clientside 'zoom' is actually just pushing/pulling the camera back/forward.

Moving camera back/forward from specified position is exactly what i wanted.

It does work, it's just barely noticeable until you scroll down for a while.

With client side zooming "ON" mode nothing worked until i fixed "Smooth speed" value. With client side zooming "OFF" change in distance was noticeable and correct only when i re-entered attached vehicle (seat), which was also fixed when i set a proper "Smooth speed" value.

Or maybe it works in singleplayer and not multiplayer? I only tried in singleplayer.

Checked both in singleplayer and multiplayer on newly built contraptions and my previously built things which used those features.

seems like the only change that could be done in wiremod to help against this is to check if the smooth speed value is 0, and if it is, reset it to the default again


Update title for ClickHouse JDBC

What changed, and why it matters
I think we should change the title, the current one look like it's about connecting from ClickHouse to something else, over JDBC.
The ClickHouse JDBC driver is the opposite, it's to connect from a Java app to ClickHouse (and the Java app is not really a source).
Though, since we have the "Connect with Java" article maybe this article is now redundant ?

Appreciate the idea on this one, but we are going to stick to the current naming.


[Feature] Simple 4-Quadrant XY Scatter Plot

What problem does this feature solve?
I need a simple 4-quadrant XY scatter plot to overlay an image on. I need to graph outputs onto a target. There is no simple way that I can see to create this simple graph.
What does the proposed API look like?
Should be allowed as a setting option to snap the x and y axis to create the typical 4 quadrant scatter meeting at the origin

Have you tried this example?


[BUG] Leaving out updatedDate breaks posts

First, thank you for this project - it's fantastic. Fun to use and the output is beautiful.
Bug description:
Two issues here, regarding the updatedDate property on posts. If it's not included, I'm seeing the following error:
`TemplateWriterWriteError` was thrown
> (./src/includes/layouts/post.njk) [Line 3, Column 3]
  TypeError: Cannot read property 'toString' of undefined

`Template render error` was thrown:
    Template render error: (./src/includes/layouts/post.njk) [Line 3, Column 3]
      TypeError: Cannot read property 'toString' of undefined

It appears to be related to this line: {% if updatedDate | string in date | string %}, in which the | string in date | string doesn't appear to be needed (but I could be mistaken).
Removing that filter then results in the second issue - the post template outputting: Last updated on Invalid Date.
This appears to be because the logic on the Nunjucks if statement is backwards, checking for updatedDate but then only displaying the created date, and then the template tries to use updatedDate when it's not defined.
Bug reproduction:
Steps to reproduce the behavior:

Remove the updatedDate from a post in the project
npx @11ty/eleventy

Expected behavior:
The project to build without a problem.
Describe alternatives or workarounds you've considered:
Reversing the Nunjucks logic and removing the filter resolves the issue:
{% if updatedDate %}

Last updated on
        {{ updatedDate | dateDisplay }}. Created on
        {{ date | dateDisplay }}.

{% else %}

Created on
        {{ date | dateDisplay }}.

{% endif %}

Happy to put in a PR to fix this if you like.

@mjclemente thanks for the detailed bug report. Sounds like your resolution should work fine. Yep, if you don't mind, please submit a PR, mainly so you'll get credit as a contributor to this project. I appreciate your help.

Awesome. Thanks, appreciate that! 😄
PR submitted #8


Release/0.9.0

Coverage decreased (-0.8%) to 68.626% when pulling 030a089926dd6a62563536fbc0c8ed62dbb9ffc5 on release/0.9.0 into 33ebd007b0e58d3408cbeab3cbd49a5d74764f28 on master.


Add the options to compile and execute for various architectures

Options for various architecture and various test cases will eliminate the need for having a CMake regressions
to see all the options:
GCC
gcc --target-help

Clang
clang ???

For the configurations
//....
        with:
          gcc-targets: |
             -m32
             -m64
             -m16
            -march=??

Each target should reports it regressions separately and then report a general regression.
Should also have it own graph image separately and a general one

Done in https://github.com/exoticlibraries/exotic-action/pull/13


Lambda runtime no longer supported for creating or updating

Issue:
The runtime parameter of nodejs12.x is no longer supported for creating or updating AWS Lambda functions.
We recommend you use the new runtime (nodejs18.x) while creating or updating functions.
Full Error:
CREATE_FAILED      LambdaFunction                                                                     AWS::Lambda::Function      Thu Jun 08 2023 08:53:20 GMT+0000 (Coordinated Universal Time) Resource handler returned message: "The runtime parameter of nodejs12.x is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs18.x) while creating or updating functions. (Service: Lambda, Status Code: 400, Request ID: 3f67c4fd-2a0d-4dec-83ce-50108668c80d)" (RequestToken: 559bc6ca-92a7-300f-7825-7195acd152c0, HandlerErrorCode: InvalidRequest)

I may have run into this today attempting to deploy.
Log
The following resources failed to deploy:
Resource Name: LambdaFunction (AWS::Lambda::Function)
Event Type: create
Reason: Resource handler returned message: "The runtime parameter of nodejs12.x is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs18.x) while creating or updating functions. (Service: Lambda, Status Code: 400, Request ID: *****, HandlerErrorCode: InvalidRequest)

Same error here, due to the depreciation of nodejs12.x earlier this year.
The following resources failed to deploy:
      Resource Name: LambdaFunction (AWS::Lambda::Function)
      Event Type: create
      Reason: Resource handler returned message: "The runtime parameter of nodejs12.x is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs18.x) while creating or updating functions. (Service: Lambda, Status Code: 400, Request ID: XXX)" (RequestToken: XXX, HandlerErrorCode: InvalidRequest)

Will this project be updated to a newer Lambda runtime to address this issue?


[Windows] Dynamic fd_set in CFSocket

This makes fd_set on Windows growable by adding additional space to the storing buffer, which effectively extends fd_set.fd_array capacity.
With this change fixed FD_SETSIZE 1024 becomes unnecessarily large (every such fd_set takes more than 8Kb of memory), so it seems reasonable to reduce it to lower value. I guess 128 will do (which is twice as big as default 64).
Also, I removed some unused defines left from old bit-field implementation and tossed local vars in __CFSocketManager function to make them available according to their usage per platform.
Follow-up for #4954. Resolves #4958.

cc @tristanlabelle

Rebased on latest main

@swift-ci test

Not sure if I am reading CI output correctly, but
/Users/ec2-user/jenkins/workspace/swift-corelibs-foundation-PR-macOS/branch-main/swift-corelibs-xctest/Sources/XCTest/Public/XCTestMain.swift:21:23: error: no such module 'SwiftFoundation'
    @_exported import SwiftFoundation

seems to be unrelated to the changes.

We need to disable the macOS build here, it's not actually supported in SCL-F any longer.


Bio Weekly - Adjust X-Axis of Figures 12-15

Adjust the x-axis of Figures 12, 13, 14, and 15 to start at 1/16/2023.
Requestor(s): Domonique
Table or Figure title:

Figure 12. Weekly Biospecimen Collections at Kaiser Permanente Colorado
Figure 13. Weekly Biospecimen Collections at Kaiser Permanente Georgia
Figure 14. Weekly Biospecimen Collections at Kaiser Permanente Hawaii
Figure 15. Weekly Biospecimen Collections at Kaiser Permanente Northwest

Metrics to be updated or created: N/A
Variables needed (include variable name and Concept ID): N/A
Specify numerator and denominator by variable name where applicable: N/A
Mock-up table if applicable: N/A
Notes: N/A
Approved by:

@HopkinsDC  All set!

@KELSEYDOWLING7 Looks good, thanks!

Update successfully implemented in 1/8 weekly biospecimen metrics report.


Question: Find unused indexes in a collection

Is there any way to find unused indexes in a collection  in ArangoDB ?
This is something possible in most of the database engines (MongoDB, PostgresSQL, MySQL, ...) and I didn't find any information about it in ArangoDB.

Hi @Darkheir,
this isn't directly possible to my best knowledge. But I'm interested to hear from you how it works in other database systems. Do they track index access, like a single timestamp when it was last accessed?
Whether an index gets utilized or not is determined by the optimizer before query execution. Not every index usage shows in the query explain however. AQL functions might use an index internally and ArangoSearch uses its own indexes but doesn't report back which parts of them it actually used. That and the schema-free nature make it challenging to determine whether an index is truly unused without causing bad performance surprises when it's gone.

I'm afraid I can't specifically explain how it works internally.
I just know that postgres is using its statistics collector to do so ( https://www.postgresql.org/docs/12/monitoring-stats.html ) and mongodb has the $indexStats aggregation ( https://docs.mongodb.com/manual/reference/operator/aggregation/indexStats/#pipe._S_indexStats )

Thanks!

Postgres counts how often an index scan was started, how many index entries were returned and "live table rows fetched", but there is also a secondary metric for index I/O. It writes the information into files on disk.
Mongo counts the number of accesses and the time since it started counting. Not sure if the information is volatile, i.e. only held in memory.

In their documentation they state

Statistics for an index will be reset on mongod restart or index drop and recreation.

Si I guess it is not persisted

Could you tell me if this is in your road map or if this kind of feature is not planned for a near future ?
I'm sure we have a lot of "dead" indexes eating up RAM, but we have no easy way of finding which ones so we cannot take the risk of removing any.

Hi,
we see that this is a useful feature. However, this is not hot on the roadmap.
If you want to have an automated process to do this, you could use the explain API to get the indices that will be used by a list of your queries. Comparing these to the total list of indices would give you the wanted information.


webpack-dev-middleware options

Just added a info screen to add that the stats should be in the webpack-dev-middleware options when using webpack-dev-middleware.

CLA is now signed.

The options in  webpack-dev-middleware is an anonymous object given in
parameters as described in their doc.
On Sunday, July 22, 2018, Fernando Montoya<EMAIL_ADDRESS>wrote:

@montogeek commented on this pull request.
In src/content/configuration/stats.md
https://github.com/webpack/webpack.js.org/pull/2373#discussion_r204237507
:

@@ -15,6 +15,8 @@ The stats option lets you precisely control what bundle information gets displ

T> For webpack-dev-server, this property needs to be in the devServer object.
B
+T> For webpack-dev-middleware, this property needs to be in the webpack-dev-middleware options object.
What is exactly the name of the option?
webpack-dev-middleware options?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/webpack/webpack.js.org/pull/2373#pullrequestreview-139284697,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACtfTkoF4lBpRCRsJ6ugr8XuPi1XtWs1ks5uJGcQgaJpZM4VWsRL
.

--
Envoyé avec Gmail Mobile

@jlguenego Any update on this?

@jlguenego Friendly ping

Thanks!


Another question about compactMode

Describe the bug
This might just be my inability to find the option, but how do you toggle "Compact mode"? I have some browsers that the view is "compact" and others that are not. For the life of me I cannot figure out how to toggle it through any of the settings dialogs. Surely I am missing something?

I've figured out how to change it (use browser's "Inspect" tool, look at "Storage" -> "Local storage" and add the following key)
CapacitorStorage.compactMode = true

But I guess my question still stands, is there an option to toggle this in the GUI as this is not really possible with mobile devices? Thanks!

But I guess my question still stands, is there an option to toggle this in the GUI as this is not really possible with mobile devices? Thanks!

To my knowledge its been in the settings menu the whole time?
This is the settings on the desktop, I have not checked the phone. Since they are the same interface, I presume they would be the same?

Oh for Pete's sake, yep, I just missed that in the settings. I think my settings panel was scrolled down and I didn't notice because those options were scrolled up out of view. Not a bug, user error on me. Thank you!


[Feature] Add custom cursor to the website

Description
Addition of Custom Cursor.
Which gives enhancement to the cursor pointer.
Screenshots

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

@Rakesh9100

@Rakesh9100 please assign me this issue under GSSOC

Do you want to add it as a component or implement on the main website @Anjaliavv51

@Rakesh9100 implement on main website

Go ahead and make sure to match the color with UI @Anjaliavv51

https://github.com/Rakesh9100/Beautiify/assets/154777864/be375570-267b-4e3b-8dd7-1142b90a977b
@Rakesh9100 please view the output in the above screen recording

@Rakesh9100 please view the Changes

@Rakesh9100 if the changes are okay i will create the PR.

@Rakesh9100 if the changes are okay i will create the PR.

Proceed and create your PR @Anjaliavv51


eval batch_size?

Hello, is it necessary to set batch_size to 1 in the process of eval? Because I found that if batch_size!=1, the resulting blocks will not be merged. Does this have something to do with post-processing?

Hello, is it necessary to set batch_size to 1 in the process of eval? Because I found that if batch_size!=1, the resulting blocks will not be merged. Does this have something to do with post-processing?

Hi! Yes, the batch_size should be 1. It is the block_merging algorithm which is presented in the original paper and you could find the pseudocode in our paper. Hope it will answer your question. :)


Crash on iOS 11.0

Notes from the Apple Engineering team:

[AVAudioPlayerNode stop] cannot be called directly from within the completion handler. The client can dispatch_async this operation onto its own queue.
The header AVAudioPlayerNode.h has been updated in iOS 11, macOS 10.13 with this documentation.

BUFFER/FILE COMPLETION HANDLERS  … Note that a player should not be stopped from within a completion handler callback because it can deadlock while trying to unschedule previously scheduled buffers.
Thread 1 name: Dispatch queue: AVAudioPlayerNodeImpl.CompletionHandlerQueue Thread 1 Crashed: 0 libdispatch.dylib 0x000000018392ccb0 _dispatch_sync_wait + 608 1 AVFAudio 0x00000001a16acd34 AVAudioPlayerNodeImpl::StopImpl+ 650548 () + 204 2 AVFAudio 0x00000001a16acd34 AVAudioPlayerNodeImpl::StopImpl+ 650548 () + 204 3 AVFAudio 0x00000001a16abaf8 -[AVAudioPlayerNode stop] + 96 4 AudioKit 0x0000000102f17278 0x102be8000 + 3338872 5 AudioKit 0x0000000102f1adb0 0x102be8000 + 3354032 6 AudioKit 0x0000000102f1c700 0x102be8000 + 3360512 7 AudioKit 0x0000000102ec82e8 0x102be8000 + 3015400 8 libdispatch.dylib 0x000000018391e418 _dispatch_client_callout + 16 9 libdispatch.dylib 0x0000000183927414 _dispatch_queue_barrier_sync_invoke_and_complete + 56 10 AVFAudio 0x00000001a16adaec CallCompletionHandler(NSObject<OS_dispatch_queue>*, AVAudioPlayerNodeCompletionCallbackType, void + 654060 (AVAudioPlayerNodeCompletionCallbackType) block_pointer) + 140 11 AVFAudio 0x00000001a16ad6e8 AVAudioPlayerNodeImpl::Command::~Command+ 653032 () + 68 12 AVFAudio 0x00000001a16ad814 non-virtual thunk to AVAudioPlayerNodeImpl::BufferCommand:: ~BufferCommand+ 653332 () + 16 13 AVFAudio 0x00000001a16babd4 RealtimeMessenger::_PerformPendingMessages+ 707540 () + 68 14 AVFAudio 0x00000001a16baae8 RealtimeMessenger::ReceivePing+ 707304 () + 96 15 libdispatch.dylib 0x000000018391e418 _dispatch_client_callout + 16 16

Thanks for the note.  I had actually heard about this, but iOS11 isn't out yet, so its not really supported by us yet. Soon we'll have a branch for it where this will be addressed so I'll leave the issue open till then.

While this may not be officially supported by you guys, many of your developers are testing/developing their apps to support iOS 11 when it gets out.  Would be nice to have a working library!

Fair enough, but I would counter by saying its open source and if you're a good enough developer to be working in beta OSes, you're probably good enough to also fix it and make a pull request! :)

To be fair, this warning seems to be pointing at a bad practice that Xcode was probably just pointing it out before Xcode 9. I doubt the semantics of the API have changed per se. We should probably fix it and I bet it might explain some of the weird crashes I have been seeing in my apps.

@megastep the API has changed for the player, check out my WWDC Blog Post http://audiokit.io/blog/2017/06/13/wwdc/


Friendly hello - pingback

Hello!
I was inspired by your project and created simplified alternative. I cited you in the readme: https://github.com/vackosar/keras-punctuator
Let me know if you find this interesting.
Vaclav

WOW! I never would have thought to try a Conv1D model. 92% precision is impressive. Although you are using binary punctuation (yes or no) verses 8 categories. I'll try this model out in addition to my other experiments (such as using POS tags).
How many epochs did it take to get those results?

This is very promising. I plugged this rough architecture into EuroParl with 8 punctuation categories and am getting 83% precision, 48% recall after just 5 epochs. It is training 50x faster than @ottokart's model -- which gives me freedom to experiment and get results much faster. I'll post the results after some experimenting.

Hi!
that's definitely very interesting, thanks for sharing! 50x speedup is really impressive.
Do you include the no-punct category in your precision/recall/f-score computations?
If so, then what are the scores without no-punct?
Best,
Ottokar

Hi Ottokar,
I am using the TensorFlow Estimator API since it is very efficient and designed to take models into large-scale distributed production.
It works well with large volumes of static data. Training went perfectly. But I am running into an issue since predicting punctuation needs to be done one line at a time since we are using EOS tokens from the previous results to partition.
I need to figure out how to create an input_fn for estimator.predict which will accept one line at a time asynchronously.
I've done some manual testing and results are very promising...

i hope the commission and the council will come forward with proposals on this matter .PERIOD mr president ,COMMA like so many others ,COMMA i want to congratulate the irish presidency on the success of its term of office and to say that ,COMMA because smaller countries have fewer resources ,COMMA the success which they achieve ,COMMA therefore deserves greater commendation .PERIOD i want to compliment mr bruton ,COMMA the taoiseach ,COMMA mr spring ,COMMA the tánaiste and mr mitchell ,COMMA all of whom worked extremely hard and contributed immensely to that success .PERIOD i want also to acknowledge today that it was not just while mr bruton was president-in-office ,COMMA that he was dedicated to the european ideal .PERIOD

This looks very nice indeed.

I didn't measure f-scores without no-punct. I am very sceptical regarding the precision of the app.
BTW, if you like the project you can link back to it in your readme.

I got it working (after hacking the TensorFlow prediction function)!!!

PUNCTUATION
PRECISION
RECALL
F-SCORE

,COMMA
58.2
62.1
60.1

.PERIOD
73.0
59.4
65.5

?QUESTIONMARK
58.9
11.2
18.9

!EXCLAMATIONMARK
75.0
8.8
15.7

:COLON
53.4
25.0
34.1

;SEMICOLON
46.1
10.7
17.4

-DASH
56.9
9.7
16.6

Overall
63.7
57.6
60.5

It doesn't reach the full accuracy of your model, but still quite impressive for training 40-50x faster. It peaked at about 17 epochs (a few hours on my CPU) but I didn't have early stopping on and lost the checkpoint (peak precision was a few percent higher). There's also definite room for improvement by tuning hyper-parameters.

@vackosar There's and alternatives section in the readme now that refers to your work as well.

The problem is that the precision/recall calculation in keras-puctuator is simply wrong. The real numbers are much lower and thats why you get impression it trains faster. The overall approach with CNN is about the same as CNN-2A from X. Che, C. Wang, H. Yang, and C. Meinel, “Punctuation predic- tion for unsegmented transcript based on word vector" paper also referenced in punctuator2 paper and the numbers match the results in the punctuator2 paper table 2 (about 54% overall f-score instead of 64% for punctuator2)

I would definitely like to fix the precision/recall calculation. I agree that there is obviously something wrong with it.
On the other hand the model does seem to converge faster to it's best possible result - which is worse than with the other network.

@nshmyrev interesting article about RNN vs Feed Forward http://www.offconvex.org/2018/07/27/approximating-recurrent/

@vackosar this article has multiple factual mistakes and misinterpretations. For example take:

Upon publication, the feed-forward, autoregressive WaveNet was a substantial improvement over LSTM-RNN parametric models.

Wavenet is a different codec operated on sample-by-sample basis thats why it got more quality than previous vocoder-based architectures, they do not compare apples to apples here.

On the Billion Word Benchmark, an intriguing Google Technical Report suggests an LSTM n-gram model with n=13 words of memory is as good as an LSTM with arbitrary context.

Actually perplexity difference is significant. 46 vs 43 is a meaningful difference in many applications.
And so forth.


Document that it also replaces OpenStruct

Re #25

@tcrayford -- don't need to wait for Travis to merge this, it is changes to README.md only


file paths too long for windows

this causes problems in the zip of the electron version, and also when building the installer for the windows verison, you have to make sure the path to your build directory is very short.
We should be able to fix by moving to npm version 3:
http://www.felixrieseberg.com/npm-v3-is-out-and-its-a-really-big-deal-for-windows/

Long Path Tool is a best software to solve this issue. 5++ Rating.  Long Path Tool is a best software
it is a free software. You can Try it

I had this problem for a long time.
My friend recommended me a tool for fixing this.
I am skeptic with this king of tool but I was wrong.
This tool can do anything.

For deletion or handling of long name i check that "Long Path Tool" software should be try, many articles refer this for such solutions.

locked because this seems to be a spam magnet

https://github.com/twosigma/beaker-notebook/issues/3971
we are using npm v3 now.


Upadte admin credential in integration test

Issue #, if available:
#1064
Description of changes:

upadte admin credential in integration test

CheckList:

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@Hailong-am can you manual backport when you got time, thanks!

git worktree remove ../.worktrees/index-management/backport-2.x

sure, here is the PR https://github.com/opensearch-project/index-management/pull/1084


Quotation mark missing in /wiki/Environment-Variables

Quotation mark missing in front of $OLROOT/protocol/node/setup" >> ~/.bash_profile https://github.com/Oneledger/protocol/wiki/Environment-Variables#setting-up-oneledger-protocol-environment-variables

Thanks!
I've updated it now.


Specify the name of a new swarm cluster

Add an option to specify the name of a swarm cluster.
Currently, if I'm using docker-machine to create a cluster of say 2 nodes plus Consul, I will get something like this:
vmw-consul    -           vmwarefusion   Running   tcp://<IP_ADDRESS>:2376                          v1.10.3
vmw-node01    * (swarm)   vmwarefusion   Running   tcp://<IP_ADDRESS>:2376   vmw-node02 (master)    v1.10.3
vmw-node02    -           vmwarefusion   Running   tcp://<IP_ADDRESS>:2376   vmw-node02 (master)    v1.10.3

The name of the swarm cluster is vmw-node02, which I haven't specified anywhere. I'd need to be able to specify that name instead of having to discover (parse) it from the docker-machine commands.
I need to know the name of the cluster for some commands. For instance to get the list of nodes:
docker-machine ls --filter swarm=vmw-node02

I feel like I'm missing something obvious but I have not found any option to specify the name of a swarm cluster from the options listed for swarm or docker-machine

@gittycat AFAIK Swarm doesn't have a defined name. I'm afraid you need to parse it. For your specific tasks, there should be way to work around it. For example, you can label your nodes in a cluster then docker-machine can filter them based on label.

@dongluochen  A swarm cluster must have some name at least internally, which is what is being used to filter the docker-machine ls --filter swarm=<swarm-name>
The listing output also seems to use some automatically picked swarm name (vmw-node02 in this case).
NAME          ACTIVE      DRIVER         STATE     URL                         SWARM                  DOCKER    ERRORS
vmw-consul    -           vmwarefusion   Running   tcp://<IP_ADDRESS>:2376                          v1.10.3
vmw-node01    * (swarm)   vmwarefusion   Running   tcp://<IP_ADDRESS>:2376   vmw-node02 (master)    v1.10.3
vmw-node02    -           vmwarefusion   Running   tcp://<IP_ADDRESS>:2376   vmw-node02 (master)    v1.10.3

I guess this is a feature request then.
Add an api to specify the swarm name at creation (docker-machine create), and get it later on (when pointing -H to any active node in the cluster)

@gittycat Swarm itself doesn't have a name for a cluster. Here docker-machine is using the Swarm master to identify a cluster. It's part of the swarm plugin from docker-machine.
From Swarm side, you can use docker -H any_manager:port info to list swarm nodes in a cluster. The output to any manager is the same as the request is routed to master. Also you can list the nodes from your discovery by running swarm list #discovery#.

Closing due to lack of activity. Please reopen if you wish to continue discussing it.


Throw an error when an attachment is larger than 100 mb

No content

Issue created by BlueBubbles Bot in the BlueBubbles commnity on behalf of @zach in #nightly-bugs.

I've taken care of this client side now, but might still be good for REST API endpoints

we dont need to do this as imessage can send larger videos (compresses them)


[T6A3][W09-C4]Ng Yong Sheng

In reference to #281, branching issues has created some problems when trying to push my code; had to pull from the master branch to reset everything before committing and pushing my work again, therefore some of the past changes might be reflected here as such.

Good job!


"Flood stage disk watermark [95%] exceeded" happens quickly when running on Docker

Hi there,
when evaluating CrateDB using Docker, like, invoking it per docker run -it --rm --publish=4200:4200 --publish=5432:5432 crate:4.5.1, I quickly see log messages like
[2021-06-07T18:55:21,690][WARN ][o.e.c.r.a.DiskThresholdMonitor] [Piz Üertsch] flood stage disk watermark [95%] exceeded on [mwjo6RotTMS1lf2-Bx8oNw][Piz Üertsch][/data/data/nodes/0] free: 3gb[4.3%], all indices on this node will be marked read-only

In turn, all operations needing write access will get blocked, like:
[FORBIDDEN/12/index read-only / allow delete (api)]

With kind regards,
Andreas.

When investigating into this by invoking
docker run -it --rm --publish=4200:4200 --publish=5432:5432 crate:4.5.1 bash

[root@2798824f6523 data]# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          71G   64G  3.1G  96% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/vda1        71G   64G  3.1G  96% /data
tmpfs           3.9G     0  3.9G   0% /proc/acpi
tmpfs           3.9G     0  3.9G   0% /sys/firmware

it quickly becomes obvious that the reason is that there are "only" 5% of disk space free on the overall disk space available to be allocated to all Docker machines/images.

Hi again,
this feature is inherited from Elasticsearch, see also [1,2]. However, the respective settings to adjust the default behaviour [3] can be modified both at startup time [4] and runtime [5].
So, in order to get rid of this quickly, I am now invoking CrateDB on Docker like
docker run -it --rm --publish=4200:4200 --publish=5432:5432 crate:4.5.1 -Ccluster.routing.allocation.disk.threshold_enabled=false

With kind regards,
Andreas.
[1] https://stackoverflow.com/questions/33369955/low-disk-watermark-exceeded-on
[2] https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cluster.html#disk-based-shard-allocation
[3] https://crate.io/docs/crate/reference/en/4.5/config/cluster.html#disk-based-shard-allocation
[4] https://crate.io/docs/crate/reference/en/4.5/config/index.html
[5] https://crate.io/docs/crate/reference/en/4.5/admin/runtime-config.html


BUG Latitude and Longitude are reversed when storing results

Currently with the latest version of this module, when addresses are geocoded from google, you are storing the Longitude into the Latitude, and the Latitude into the Longitude.
Steps to reproduce the behavior:

Add a new location, example - 7303 Marietta Ave, Saint Louis MO, 63143 US

When geocoded from google the result from the api is -
 Array
 (
     [type] => Feature
     [geometry] => Array
         (
             [type] => Point
             [coordinates] => Array
                 (
                     [0] => -90.3170937
                     [1] => 38.6126069
                 )

         )

     [properties] => Array
         (
             [providedBy] => google_maps
             [streetNumber] => 7303
             [streetName] => Marietta Avenue
             [postalCode] => 63143
             [locality] => Maplewood
             [adminLevels] => Array
                 (
                     [1] => Array
                         (
                             [name] => Missouri
                             [code] => MO
                             [level] => 1
                         )

                     [2] => Array
                         (
                             [name] => St. Louis County
                             [code] => St Louis County
                             [level] => 2
                         )

                     [3] => Array
                         (
                             [name] => Hadley Township
                             [code] => Hadley Township
                             [level] => 3
                         )

                 )

             [country] => United States
             [countryCode] => US
         )

     [bounds] => Array
         (
             [south] => 38.6124418
             [west] => -90.3172328
             [north] => 38.6127996
             [east] => -90.3169649
         )

 )'

You then store the results geometry->coordinates->0 into Latitude but that is actually the Longitude for the location and vice versa

Expected behavior
Simply need to reverse which you are storing. Update src/AddressDataExtension.php lines 305 and 306

Actually when looking at the code, there is a more proper way to get the Latitude/Longitude from geocoder using their default methods.  Will submit a PR for this.

closed via #65


Status Overview free memory

The used memory is the white area?

I think it is backwards, the blue should be how much memory is in use.
"Free" should say "Free/In Use" and then have the blue bar be a gauge. :slight_smile:
I don't see a need for "Total Available", one bar can do the job of both.

Feel free to open a pullrequest for this change

Does a pull request mean I change it and then submit it?
How do I test the changes on anything other than my router?

Does a pull request mean I change it and then submit it?

Yes

Does a pull request mean I change it and then submit it? How do I test the changes on anything other than my router?

Thats the way to go or you could also build a vmdk for virtualbox


NNID unlink?

First at all, thx for this awesome guide!
everything went fine, currently i'm on CakesFW and everything runs smooth.
My only problem is that i've bought a used O3DS from some random guy, is there a save way to unlink the old NNID? is it save to do a factory reset or does it destroy everything?? (dont know if this formats the sd card :D
Or is the id fixed to my console?
greetings...

NNID is unliked when formatting, yes.
But you will not be able to use software who are in the SD card.

So formatting is the way to go, recopy sd backup and my CFW is still fine?
Then just create a new NNID and that's it? Or did i missed something...
thx for the help!

Yes, that's it


When using parameter offline=1, "File - Export as - PDF" doesn't hide

According to https://desk.draw.io/support/solutions/articles/16000042546-what-url-parameters-are-supported- you can use offline=1 to disable features which require external servers - which also includes PDF export, as this requires a call to exp.draw.io.
However - even this parameter set, the menu item for "File - Export as - PDF" is still there, but it is in fact just calling the print dialog, but with "PDF" as title, which is quite confusing.
See as an example (in both cases I could reproduce this behaviour):
https://www.draw.io/?offline=1&demo=1
https://www.draw.io/?offline=1
It would be better, if "PDF" would be removed from the "Export as" menu when using offline=1.

"Print to PDF" is not "Export to PDF" because it depends what features your browser and/or local printer setup supports. So there should not be a menu item called "Export as - PDF" if this is just invoking a print dialog.
At least in Firefox the functionality of "Export to PDF" in offline/stealth mode is exactly the same to "File - Print" - both commands behaves exactly identical. If I would like to use "Print to PDF" I would just use the "File - Print" and then choose the respective feature of my computer.

We have a large non-technical audience, if you don't point them at print to PDF when the remote service isn't available, they won't know the feature is available.

Hmm... but many other features are also not available in this mode:
File - Export As - Advanced
File - Embed - Google Sites
File - Embed - Google Docs
File - Open Library from - Google Drive
File - Open Library from - Github
etc...
Shouldn't these menu items not also be available then with a dialog "sorry, this feature is not available because stealth mode is active" or something similar (or shown as disabled menu items), so people know that these features generally exist, but are just disabled?
And I doubt that a non-technical audience knows how to do "Print to PDF" after pressing "Print" in that dialog - because this will just open the normal print dialog of the browser:

It depends on your local setup, if there is a "PDF printer" on the computer available or not.

Since the desktop version replaces the offline browser version and that deals with this issue correctly, I'm marking issue as resolved.


[CI] Enable Github Actions for pull requests

Superseded by https://github.com/json-path/JsonPath/commit/dfe7f49d54e119015e78f07b2d33a014969ca6fa (#764)


Type coverage

This PR improves type coverage from 95.89 to 99.85%
It enable totallyTyped config and put the remaining errors in the baseline.
It also bump psalm version in composer.json to reflect what's in composer.lock
The remaining baseline errors are due to:

Yaml input that is supposed to be array but webmozart/assert still lacks psalm assertions on All* methods that could check this
thecodingmachine/safe lacks generics for native function (for example, usort returns a list with T[] as a first param)
If I'm correct, Psalm is missing generics stubs for RecursiveDirectoryIterator and RecursiveIteratorIterator

@orklah pipeline is failing because builder needs github token to make calls to API.
I think you can ignore this : )

@slash3b Yeah, I saw that on #112 when you added psalm. Good job on that btw!

Dat commit message tho :S

:D I will rebase later, once everything is fixed

Yes please, new composer.json changes will allow for dependabot to upgrade
everything too 👍
On Fri, Feb 28, 2020, 23:39 orklah<EMAIL_ADDRESS>wrote:

@orklah commented on this pull request.
In composer.json
https://github.com/Roave/SecurityAdvisoriesBuilder/pull/113#discussion_r385955005
:

@@ -32,7 +32,7 @@
"phpunit/phpunit": "^8.5.2",
"roave/no-leaks": "^1.1",
"squizlabs/php_codesniffer": "^3.5.4",

   "vimeo/psalm": "^3.8"

   "vimeo/psalm": "^3.9"

It worked for regenerating the lock. Should I also commit the
composer.json without platform?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/Roave/SecurityAdvisoriesBuilder/pull/113?email_source=notifications&email_token=AABFVEE7J6O3SMBIG2LBHXTRFGHANA5CNFSM4K52KXK2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCXN45CY#discussion_r385955005,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABFVEGGXA4TK44QJU4RP6LRFGHANANCNFSM4K52KXKQ
.

FILE: src/Roave/SecurityAdvisories/Version.php

-------------------------------------------------------------------------

FOUND 1 ERROR AND 1 WARNING AFFECTING 2 LINES

-------------------------------------------------------------------------

 50 | ERROR   | [x] Use early exit to reduce code nesting.

 51 | WARNING | [ ] Line exceeds 120 characters; contains 134 characters

-------------------------------------------------------------------------

PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY

-------------------------------------------------------------------------

https://travis-ci.org/Roave/SecurityAdvisoriesBuilder/builds/656590642#L323
I found no acceptable position for the docblock. It complains everywhere. The only solution I found was to assign $matches to [] before preg_match and put the docblock above. But when I do that, it's too early for Psalm and it fails again.
I'd recommend dropping this particular sniff

Note: will need to adjust CS on merge

Adjusted and merged locally: thanks @orklah!


[WIP] Fix broken n_step_rnn with Chainer's master

Combined with Chainer's master branch,  the model parallel feature for NStepRNN is broken.
This is because the code depended on Chainer's internal class hierarchy, which was changed in a code refactoring https://github.com/chainer/chainer/commit/f8e99052b84 .
This PR fixes the broken parts.

Thanks!
Let me revamp this PR to use n_cells.