Standard and core library inline documentation

Description
Standardized documentation for the standard library and the core library. Following the inline documentation standard (src-2)
Closes #4812
Checklist

[x] I have linked to any relevant issues.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have updated the documentation where relevant (API docs, the reference, and the Sway book).
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
[x] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[x] I have requested a review from the relevant team or maintainers.

This will need to be updated for https://github.com/FuelLabs/sway-standards/pull/12

Currently reviewing, 31 files to go


integer arithmetic

TinyJS seems to treat integers differently from other numbers?
enno@erdbaer:~/src/tiny-js@master$ ./Script
> Interactive mode... Type quit(); to exit, or print(...); to print something, or dump() to dump the symbol table!
print(5/2);
> 2
print(5.0/2);
> 2.500000
print(123 === 123.0);
> 0

This doesn't match the behavior of other Javascript implementations, or indeed the wording at https://www.w3schools.com/js/js_numbers.asp:

Unlike many other programming languages, JavaScript does not define different types of numbers, like integers, short, long, floating-point etc.
JavaScript numbers are always stored as double precision floating point numbers, following the international IEEE 754 standard.

And the standard explicitly says:

ECMAScript does not perform integer division. The operands and result of all division operations are double-precision floating-point numbers.

Is this intentional? Is there a way to make TinyJS behave like the standard? Perhaps a compile-time option could be added?

Yes, unfortunately TinyJS isn't very spec compliant. It hasn't been maintained in ages - you may find that other engines like mjs do a better job for you?
Honestly the best bet would probably be to rip out all the integer maths stuff - it'd simplify the code quite a bit and would then be spec compliant.

I didn't know about mjs, but that looks like it will work. Thanks!


promtail ansible role improvements

I found the following improvements interesting for this role:

Make promtail installation dependant to the package manager of the OS
Only expose promtail port if firewalld is enabled

This role also includes an uninstall.yml file, which must be aligned correctly with these changes. However, let me explain why I believe it may not make sense:
Which OS are you trying to target with these changes? I am primarily focusing on RHEL-compatible distros, as stated in the README.
Debian or Ubuntu?

Hi, thanks for the feedback. This not specifically for other operating
systems like debian or Ubuntu, just to add backward compatibility to
systems that still uses yum as package manager. But I see in galaxy it's
only supported for EL 7 and 8.
Regarding the changes related to the firewall, do you agree?
I will remove the change to avoid using ansible.builtin.package.
Sorry if there was any misunderstanding.
El jue, 28 sept 2023 20:47, VoidQuark @.***> escribió:

This role also includes an uninstall.yml file, which must be aligned
correctly with these changes. However, let me explain why I believe it may
not make sense:
Which OS are you trying to target with these changes? I am primarily
focusing on RHEL-compatible distros, as stated in the README.
Debian or Ubuntu?
—
Reply to this email directly, view it on GitHub
https://github.com/voidquark/promtail/pull/1#issuecomment-1739839708,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQDCMWVXZAY4FNAQBPHMLDX4XA4FANCNFSM6AAAAAA5LJV7XI
.
You are receiving this because you authored the thread.Message ID:
@.***>

The meta file lists support for EL 8 and 9. EL 7 is already at EOL (full support has ended), and I have no plans to support EL 7. Regarding firewall changes, I agree that we should implement them. I intentionally set it up this way because I believe the firewall should be mandatory and not disabled in any environment. Please also update the uninstall play so that it only executes when firewalld is active, ensuring it aligns with the deploy changes.

I agree that firewall should be mandatory, but there certain cases it is disabled for various reasons.
I've updated the PR with the fw change you've suggested in uninstall.

In this role, all internally registered variables should have __ preceding them. Therefore, it should be __firewalld_service_state. Please update also this.

Do you plan to apply this, or should I close the PR?

Already implemented.


Issue ID transfer test

does not preserve issue ID when transferring issues, this will break the GitHub API references for issues/PRs IDs across repos


Reduce Number of generated Files

At the moment, every Track in the input MIDI file is split independently of each other.
Merge the tracks, either prior to splitting or afterwards.

Resolved, flag for merging is -m


Murisi/zip32 support

Added ZIP 32 support to the Ledger app by copying its implementation from the Zcash Ledger app. This could close https://github.com/Zondax/ledger-namada/issues/52. More specifically, the following changes have been made:

Modified the Ledger app and its Rust library to support HD paths of length 3
Added checks to ensure that the ZIP 32 paths have the correct prefix (32) and correct coin (877)
Obtain ZIP 32 seed by doing a SLIP 10 derivation on the path m/44'/877'/0'/0'/0' from the root seed
Copied and integrated ZIP 32 derivation code from Zcash Ledger app and applied MASP personalizations
Changed the app to respond to viewing key request with an extended full viewing key (instead of a full viewing key)
Modified the app to display the bech32 encoding of the full viewing key (like the Namada client)

The above changes were partly necessitated by the fact that the Namada client only supports the importation and usage of extended full viewing keys. Additional note: the behaviour of the app on non-hardened ZIP 32 paths is currently untested.

Hi @murisi , we've merged the ZIP32 work on main. I think we should close this one.


refactor: Docs && Commands

docs: 更新 React 组件开发辅助插件的文档
feat: 为状态栏按钮添加更多的命令

Codecov Report

Merging #431 into release/0.6.0 will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           release/0.6.0     #431   +/-   ##
==============================================
  Coverage          79.86%   79.86%
==============================================
  Files                  9        9
  Lines                432      432
  Branches              82       82
==============================================
  Hits                 345      345
  Misses                85       85
  Partials               2        2

Continue to review full report at Codecov.

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


Release new version

(Original issue 1007 created by nobbz on 2014-06-20T10:11:46.098017+00:00)
Hi!
There was a pullrequest about a year ago that has been merged, but pygments installed via pip seems not to contain this changeset.
So when is a new pygments release planned?
The pullrequest in question is #193.

(Original issue 1007 last updated on 2015-10-17T02:43:24.491135+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by mani95lisa on 2014-06-21T03:35:14.149066+00:00)
+1 Please release :)

(Original comment by nobbz on 2014-06-24T09:44:39.612273+00:00)
4 days and no response from official project coordinators? That's a pitty...

(Original comment by mani95lisa on 2014-06-24T09:48:27.827188+00:00)
Yes, I'm waiting for this too.
Hope god help us......

(Original comment by nobbz on 2014-06-24T10:06:37.337625+00:00)
I just discovered that this is a duplicate of #929, which is marked as resolved,  but actually there does not seem to be a new version available.

(Original comment by mani95lisa on 2014-06-24T10:24:40.646898+00:00)
Yes, I have found that, no new version is released.
I don't know how to do this, or I'll try to build :(

(Original comment by nobbz on 2014-06-24T10:28:00.095173+00:00)
Building myself is out of question for me, I'm working on a project for my university where I am allowed to depend only on released versions.

(Original comment by mani95lisa on 2014-06-24T10:32:13.158610+00:00)
:smile: So could you please build this for me? I can't build because I have no python. I just want to make this Node.js module work : https://github.com/rvagg/node-pygmentize-bundled  it needs python 2 and python 3 compiled version.
Thank you very much, you're my god :smile:

(Original comment by nobbz on 2014-06-24T10:42:21.422766+00:00)
Thats not that easy…

you need python anyway to use pygments (as mentioned in the FAQ of pygments):

What are the system requirements?
Pygments only needs a standard Python install, version 2.6 or higher or version 3.3 or higher for Python 3. No additional libraries are needed.

The project you mention comes with pygments bundled, so it doesn't matter what pygments is installed on your system, the version bundled with that module will be used.

Solution to your problem:

Install python
Fork that node-module and replace the pygments in the vendor folder with a current one. (Might work, but is not guaranteed to! I do not know about neither node.js nor the internals of that package in particular)

(Original comment by mani95lisa on 2014-06-24T10:46:48.401182+00:00)
@nobbz Thanks for your explain, I'll have a try later :smile:

(Original comment by jaingaurav2 on 2014-06-24T14:04:22.299338+00:00)
Putting out a new release takes time, which is something that the maintainers are short on. I'm sure that they are aware of the desire to have an official release. It's just a matter of finding the time to get it done.
Please be patient and I'm sure a new release will be put out soon. You should be able to still use pygments in your project. You could download the source an possibly do something like:
#!python

import sys
sys.path.append('DOWNLOAD_DIRECTORY/pygments')

(Original comment by mani95lisa on 2014-06-24T14:12:20.359104+00:00)
@coolgauravjain90 Thanks for your reply. I hope so. I'm not python developer, could you please give me any instruction about how to build 2.7 and 3.0 version?
Thanks!

(Original comment by nobbz on 2014-06-24T16:40:05.881230+00:00)
I can't because I neither have a python project nor would I be allowed to
have unreleased dependencys on third party projects. So it seems that I
have to look for an alternative way to get beautiful ebnf in my
latex-document.

(Original comment by dscorbett on 2014-06-25T13:12:07.450651+00:00)
@nobbz Version 0.6.0 of GitHub’s pygments.rb contains EbnfLexer; could you use that?

(Original comment by tshatch on 2014-10-07T05:00:20.989486+00:00)
New version coming Real Soon!

(Original comment by tshatch on 2015-10-17T02:43:24.500350+00:00)
2.0 was released ages ago; follow #1154 for 2.1


bilibili website is down

Ⅰ. Issue Description
bilibili web is down
Ⅱ. Describe what happened
Sorry for the inconvenience.Please report this message and include the following information to us.Thank you very much!

URL:
https://www.bilibili.com/video/BV11s411w7at?p=183&spm_id_from=pageDriver

Server:
cn-hk-eq-w-01

Date:
2021/07/13 23:38:50

Powered by Tengine
Ⅲ. Describe what you expected to happen
usinng normally
Ⅳ. How to reproduce it (as minimally and precisely as possible)

Ⅴ. Anything else we need to know?

If applicable, add nginx  debug log doc.

Ⅵ. Environment:

Tengine version (use sbin/nginx -V):
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Others:

看来大家对Tengine能做的事情还不甚了解

请不要把issues当聊天班或者贴吧，如有必要，项目维护者可以开启github讨论区功能，其他地方不要当贴吧刷，对国人，想聊的可以qq一下


vtgate: autocommit like MySQL

Issue #3041
This changes vtgate autocommit behavior to be very similar to
MySQL: if autocommit is off, a new transaction is always started
implicitly.
This breaks backward compatibility with old behavior: if a DML
was issued with autocommit=false, then it would have resulted in
an error. A new legacy_autocommit flag has been introduced for
those who still rely on the old behavior.

Reviewed 8 of 8 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

I'll need to rework this a bit. The fact that the default value for autocommit is false for a session is causing some tests to fail. I'm thinking of changing the behavior such that a default session will have the autocommit set to true, unless we're in legacy mode.
This affects only the deprecated python clients, but it may be a good idea in case future grpc drivers are built on this.


Icon fill

This PR only colors the pieces in solid so that the underlying square color is not shown through any piece

NICE!


pressing enter on search field empties it and looses search term

Steps to reproduce

Go to All Projects
Type a search term in the search box without pressing Enter
notice the project list being filtered
press Enter
search box is emptied
all project are shown

Steps 5, 6 are the bug.
Expected result:

After typing Enter project list should remain filtered

@amnonkhen should this ticket be assigned to you? If so, please update.

PR ready for Review.

[ ] @MightyAx to review.

@ofanobilbao did some user testing and feature is now in prod


Dropping database results in SQL compilation error during state refresh of resources

Provider Version
0.45.0
Terraform Version
1.3.0
Describe the bug
When a database managed by Terraform is dropped outside of Terraform, Terraform attempting to refresh the state of  resources inside the database triggers a SQL compilation error.
Expected behavior
Terraform re-creates the database and all resources inside.
Code samples and commands
As a MWE, apply the following resources:
resource "snowflake_database" "test" {
  name = "TEST"
}

resource "snowflake_schema" "test" {
  database = snowflake_database.test.name
  name     = "TEST"
}

Now, drop the database and apply Terraform again:
$ terraform apply
snowflake_database.test: Refreshing state... [id=TEST]
snowflake_schema.test: Refreshing state... [id=TEST|TEST]
╷
│ Error: 002043 (02000): SQL compilation error:
│ Object does not exist, or operation cannot be performed.
│
│   with snowflake_schema.test,
│   on modules.tf line 11, in resource "snowflake_schema" "test":
│   11: resource "snowflake_schema" "test" {
│

The seems to happen for almost any type of snowflake resource that gets deleted manually. This is a MAJOR fundamental flaw in the behavior of the provider. Terraform is supposed to be able to revert any changes that have occurred manually for resources that it manages. Including if they've been deleted, it should just recreate them. This should be fixed as a matter of priority. The whole point of IAC is to control configuration drift. But in this case, we see Terraform for Snowflake cannot cope when resources get deleted.
Until this is fixed, I would not recommend using Terraform for Snowflake as you have to manually edit your state file to remove the non-existent resources anytime something gets manually deleted.

What is going please, a major issue has been raised and still no response?

Hey @JonMerlevede @aclarkot. This issue should not be present in the current version of the provider (v0.97.0).

Closing due to inactivity. Please file a new issue if the problem persists in the newest provider version.


could not find bls12_381 in ark_test_curves

I am trying to use the ark_test_curves::bls12_381 for my project. However, it seems the cargo gives out an error saying it cannot find the module even though I have specified ark-test-curves = "0.4.0" as a dependency in the toml. Appreciate any help in dealing with this issue.

You need to enable the feature "bls12_381_curve": https://github.com/arkworks-rs/algebra/blob/master/test-curves/Cargo.toml#L34

Unless it's for testing purposes, it's recommended to use the curve from the arkworks-rs/curves repo, which will have more optimized operations implemented.

Thanks!


Simple ignore patterns are applied even for subfolders.

Example ignore:
sample

Will ignore not only root (in the project) file or directory with name sample, but also any file or directory with name sample in any level of subfolders in the project.
This is not how file/directory patterns work in  .gitignore and other commonly used tools.

https://stackoverflow.com/questions/13713101/rsync-exclude-according-to-gitignore-hgignore-svnignore-like-filter-c

Looks like it's not that easy to change this behavior, we could of course manually read ignore files and add leading / if path does not include it already and then pass it to --exclude as parameters.
Otherwise we can note that in documentation and live with it.

I think it is pretty safe just to reference rsync docs in our docs. I. e. we are using rsync file exclusion format for *ignore files. No need to reimplement what was already done for us.


split ovn-central and ovn-monitor

The ovn.yaml and ovn-ha.yaml should also be changed, some user do not use the install.sh scripts and prefer to use yaml directly


Remove border in editor right hand side over scrollbar

VSCode Version: 1.80
OS Version: macOS 10.12.2

@zhaomiing can you attach a screenshot of what you mean?

@bpasero thanks for your reply. of course
this is what scrollbar looks like in preview mode

and this in edit mode

as you can see the white border was distracting.

@zhaomiing what is the "preview mode"?

well forget about the 'preview mode'.
It seems like VSCode could remember files it ever opened or edited, and scrollbar will always like the 2nd screenshot on these files. But if you preview a new file VSCode has never known the scrollbar was like the 1st screenshot. I'm not sure if this's the actual logic but it behaves like this.

We seem to show the border as long as we have a marker to show there. I also agree that the border is distracting and wonder if we cannot just remove it always.

Any updates on this yet? This, along with the blue status bar (#1884) are the only things that keep this editor from looking really great.

Duplicate of #5099


Database Not Found

Can you upload the project's database?

I appreciate your response regarding the project's database. I've updated the SQL commands in the README.md to create the database and add dummy data.
If I encounter any issues with the database, I will be sure to continue the discussion in this thread or create a new issue as needed. Thank you for your assistance, and I will consider this issue closed for now.

Thanks!


docs: improve additional command line options by code-group

background
Consistent with the style above and more concise
before：

after：

@patak-dev ，Hi, I'm very interested in this project, can I join the maintenance of the Chinese site, I've been working on the vitest side for a long time to deal with synchronization conflicts. I'd appreciate it if I could, I hope I'm not disturbing you.
https://github.com/vitest-dev/docs-cn/commits?author=thinkasany

Hey @thinkasany! Thanks for jumping in. The Chinese docs are maintained in this repo https://github.com/vitejs/docs-cn, you can try to contact some of the folks there to get involved.


Fix Issue 16587 - split("", "x") should be ""

This reverts commit b438bf5a0653b616ef6debe2a0dfe247d8fc5928.
https://issues.dlang.org/show_bug.cgi?id=16587

I seriously cannot comprehend how all the reviewers of #4030 thought that breaking elementary code willy-nilly like this is OK at the point where we are today. D is no longer a toy language, please stop treating it like one!

First this is inconsistent with the documentation:
If the empty range is given, the result is a range with one empty element. If a range with one separator is given, the result is a range with two empty elements.

On the other hand with this PR these are not consistent:
split(",,", ",")     => ["", "", ""]
split(",", ",")     => ["", ""]
split("", ",")     => []

split("ab", ",")     => ["ab"]
split("a", ",")     => ["a"]
split("", ",")     => []

I think that the original problem is that under the same name, the first three overloads keep empty string parts, but the forth overload filters them out.
In other languages, Python uses the same trick and Qt spends an extra parameter for this.
I propose to not merge this PR and in your code fix it by simply adding .filter!(a => !a.empty) as documented.

First this is inconsistent with the documentation:

Then fix the documentation.

I think that the original problem is that under the same name, the first three overloads keep empty string parts, but the forth overload filters them out.

The argument of which one is more correct is irrelevant because we are not designing a new function, but changing the behavior of one that's been around for a decade.

I propose to not merge this PR and in your code fix it by simply adding .filter!(a => !a.empty) as documented.

I propose that everyone involved take a stronger stance against breaking code arbitrarily. This is not just about my or your code, but everyone's using D. This is silent breakage, these should not be tolerated.
CC @andralex

We can argue whether the code was not already broken by not following the documentation.
I think that there are more people writing code using the documentation of the library, that the ones knowing the actual implementation. Actually the former was the case when I found this inconsistency in my company's code base.
Moreover, the part documenting that and empty range returns a range containing an empty range dates to 2010 and at that time the implementation was as documentation. In 2014 (2.066.1) the implementation was still consistent (https://github.com/dlang/phobos/blob/v2.066.1/std/algorithm.d#L2731). Afterwards the unittest was removed and the implementation changed. So we are talking about silent breakage that happened two years ago.

We can argue whether the code was not already broken by not following the documentation.
I think that there are more people writing code using the documentation of the library, that the ones knowing the actual implementation. Actually the former was the case when I found this inconsistency in my company's code base.
Moreover, the part documenting that and empty range returns a range containing an empty range dates to 2010 and at that time the implementation was as documentation. In 2013 (2.064) the implementation was still consistent (https://github.com/dlang/phobos/blob/v2.064/std/algorithm.d#L2372). So we are talking about silent breakage that happened three years ago.

We can argue whether the code was not already broken by not following the documentation.

No. No, you can't. The documentation is complementary, the real contract is dictated by the unit tests foremost (which you've decided to disregard) and how the code is used in the real world second.

I think that there are more people writing code using the documentation of the library, that the ones knowing the actual implementation. Actually the former was the case when I found this inconsistency in my company's code base.

This is irrelevant. Just because your codebase contained a bug that was caused by wrong documentation is nowhere near an excuse of breaking the code for everyone else.

Moreover, the part documenting that and empty range returns a range containing an empty range dates to 2010 and at that time the implementation was as documentation. In 2013 (2.064) the implementation was still consistent (https://github.com/dlang/phobos/blob/v2.064/std/algorithm.d#L2372). So we are talking about silent breakage that happened three years ago.

Is there perhaps a misunderstanding of what "breakage" actually means here? Wrong documentation is not "breakage"! Silently breaking existing working, debugged programs is breakage!
split("", ",") returned [] since the earliest downloadable D version (0.50). You wanting to change that is the breakage.

split("",  ",") returned [] since the earliest downloadable D version (0.50). ....

Why is this then passing in 2.064?
a = null;
assert(equal(splitter(a, 0), [ (int[]).init ][]));

https://github.com/dlang/phobos/blob/v2.064/std/algorithm.d#L2372

Hmm, no idea. My concern is mainly about split specifically (not splitter). Perhaps the trouble started when split was reimplemented on top of splitter. Once this revert is in, I suppose we could look for a solution that doesn't break splitter, but this doesn't change everything I've already said.

Why is this then passing in 2.064?

Found it.
2.064's splitter was inconsistent depending on the type:
	assert("".splitter(",").walkLength == 0); // OK
	assert((int[]).init.splitter(0).walkLength == 0); // Assertion failure

It was fixed in this PR: https://github.com/dlang/phobos/pull/1502

The basic idea with splitter's definition is to generally not lose information, i.e. be able to join back a split range from its split form. If the given range is empty, it may be split two ways in such a way that the original is restored. So I'd say we're fine and the simplest way to go is change the documentation.

I never liked the idea that splitter was changed so that splitting an empty range could actually result in a non-empty range. That just seems totally illogical to me. So, it sure doesn't hurt my feelings any to see the old behavior restored.

PR #4030 was better in at least one common splitter use case - line-by-line processing typified by delimited files. In these files there is a table of rows and columns. Rows delimited by newline, columns by a separator character. If there are N columns, there are N-1 delimiters per line. Entries are typically allowed to be empty, this is designated by a consecutive separators or a separator at the beginning or end of a line. Example, using comma:
a,b,c
a,,c
,,

Running splitter on each line yields a range of three elements. The elements may be an empty string. However, there is a nasty special case, that of a 1-column file. For example:
a

c

This is also a three line file, but the second line is empty. Meaning, it should represent the empty element. However, running the pre PR #4030 split/splitter yields ranges that are either 0 or 1 element. This is an easy to miss difference from the 2+ column case, where the ranges are all the same length.
This sort of inconsistency is exactly what all the comments in PR #4030 are referring to. The PR ensures consistent behavior along these lines. I've used strings in the above example, but the same thing happens with other data types. However, the string case is the common case, and splitting on delimiters is a common use case.
Conceptually - The pre PR #4030 code was dropping valid content, zero length ranges, and dropping them in an inconsistent way, as it was dropping it them only if there is a single range.
@jmdavis - Note that splitter creates a range of ranges. The outer range holds the component ranges, this includes empty ranges. So, creating a range which holds a single element that is itself an empty range is not a case of creating something out of nothing. It's simply wrapping the original empty range in another.
Naturally, the reason I know about this is that I've had to test for this case specially in my programs. I would prefer to see the PR #4030 restored. Another possibility would be to add another option that determines whether to retain empty ranges. However, that's also problematic, because being consistent and dropping all empty ranges would be inconsistent with the previous behavior as well.

@jondegenhardt that's good evidence, though that's arguably less important than preserving existing behavior. Code that needs to handle things the other way may just insert an if.
@dcarp can you please submit a PR for the documentation and then mark https://issues.dlang.org/show_bug.cgi?id=15735 as closed? Thanks!

@jondegenhardt All good points, but this still ends up being a choice between:

Improving one function or overload at the expense of inconsistence with similar functions (see https://issues.dlang.org/show_bug.cgi?id=16587)
Changing even more functions and risk breaking even more code
Leaving things as they are and documenting the corner case.

If we were designing a new function or language, it would be a much easier choice; however, as I mentioned, split has been around for over a decade, and this change is very likely to affect code out there (see https://issues.dlang.org/show_bug.cgi?id=16587#c1).
Besides, if the code expects a split'd array to have at least 1 element and attempts to access it, it will crash with a range violation, which is much easier to debug than if the change had been made in the other direction.

@andralex @CyberShadow - Agreed, it's a tradeoff between preserving behavior of existing code vs avoiding unexpected behavior for new users. It's a judgement call. In this case it's even a bit trickier call, as the change may affect existing code with undetected bugs. e.g. a fragment like:
size_t c = 0;
foreach(line; stdin.byLine) line.splitter(',').each!(delegate(x) { c++; });

intended to count the number of fields in the input, contains a subtle bug that might never get detected by the author. Whether it's preferable to "fix" these cases in existing code, largely unannounced, is itself judgement call. For what's it's worth, I do appreciate that time has been taken to examine both sides in making a choice.

Just to balance the sides here.
Plenty of us have heavy investments in D code and would be unable to maintain it if we returned to pre 2.060 bitrotting rates.
The example @CyberShadow gave environment.get("LIBPATH", null).splitter(":") is fairly convincing, even though it incorrectly handles :: in LIBPATH. We also had similar tricky discussions about if (array) testing for null .ptr instead of zero .length.
OTOH working with splitter has many complex corner cases that make it error prone. Much like a for-loop w/ it's possible off-by-one errors, splitting/joining isn't such a simple tool as it might first appear.
Personally always get surprised by the empty trailing part a regex splitter can return https://github.com/MartinNowak/dlang-bot/commit/fe0707714a72b95c3b858d9a00e05bfced70f71f, where "a,".split(",") obviously contains 2 csv columns ;).

I think any code that processes splitter has to handle the case that there is an empty element anyway.

I couldn't have come up w/ such a good counterexample as Vladimir's myself, but this sentence should've raised an eye for being motivated reasoning. This is normal human behavior and often can't be seen by the reasoning person.
Recommended (short) talk on the topic Julia Galef: Why you think you're right -- even if you're wrong.
Any variation of "code that's broken by this was already incorrect" should raise a red flag.
We should probably program a bot to detect it ;).

@jondegenhardt that's good evidence, though that's arguably less important than preserving existing behavior. Code that needs to handle things the other way may just insert an if.

... then let's insert the if in the implementation of split. @CyberShadow complained about split, and not about splitter. With the time split will be probably used less and less.

@dcarp can you please submit a PR for the documentation and then mark https://issues.dlang.org/show_bug.cgi?id=15735 as closed? Thanks!

If this @PR stays like this, I'm ok with that, but don't expect me to document the choice that I don't like.


make ipython completely optional

It is only used in commands.  We can do this by either
a) making the import to IPython local to functions in commands
b) do not import commands in the top-level __init__.
I prefer b).

Will be addressed by #410.


HL-487: update backend translations

Description :sparkles:
Fix errors in backend translations and update translation files:

Add translation for the "application opened" message
Update other translations, too, after running "makemessages"
rename se -> sv in locale/

Issues :bug: HL-487
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

Codecov Report

Merging #920 (2ec485a) into develop (e413cad) will increase coverage by 32.63%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop     #920       +/-   ##
============================================
+ Coverage    62.94%   95.57%   +32.63%
============================================
  Files          868      179      -689
  Lines        23331     7760    -15571
  Branches      2333        0     -2333
============================================
- Hits         14685     7417     -7268
+ Misses        8246      343     -7903
+ Partials       400        0      -400

Impacted Files
Coverage Δ

...ackend/benefit/applications/benefit_aggregation.py
98.18% <ø> (ø)

...enefit/applications/tests/test_applications_api.py
99.30% <ø> (ø)

...fit/applications/tests/test_benefit_aggregation.py
98.52% <ø> (ø)

backend/benefit/messages/automatic_messages.py
100.00% <ø> (ø)

backend/shared/shared/azure_adfs/views.py
40.00% <0.00%> (-44.00%)
:arrow_down:

backend/shared/shared/common/tests/__init__.py
66.66% <0.00%> (-33.34%)
:arrow_down:

backend/shared/shared/common/tests/conftest.py
80.48% <0.00%> (-19.52%)
:arrow_down:

backend/shared/shared/audit_log/audit_logging.py
87.23% <0.00%> (-12.77%)
:arrow_down:

backend/shared/shared/oidc/auth.py
81.48% <0.00%> (-5.56%)
:arrow_down:

...benefit/applicant/src/context/FrontPageContext.tsx

... and 688 more

Continue to review full report at Codecov.

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


Had problem of dismiss floatingpanel controller in UITesting

Description
I just show on bottom sheet using XCUIApplication.
When bottomsheet show on, scrolling little.
And then i want to touch on view, view can't detect.
Is there any way to detect view for hiding bottom sheet?
Expected behavior
Actual behavior
Steps to reproduce
Code example that reproduces the issue
    func test_TermsAndService() {

       let app = XCUIApplication()
        let mainElement = app.windows.children(matching: .other).element.children(matching: .other).element
        let childElement = mainElement.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .other).element

//  touch right arrow button and show bottomsheet
        let termsAndServiceBtn = childElement.children(matching: .other).element.children(matching: .other).element(boundBy: 3).children(matching: .other).element(boundBy: 0).buttons["ic caretGrey"]
        termsAndServiceBtn.tap()
//        let webViewsQuery = app.webViews.webViews.webViews

        // Scroll view on half
        let relativeTouchPoint = app.coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.5))
        let relativeOffset = app.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: -1))
        relativeTouchPoint.press(forDuration: 0, thenDragTo: relativeOffset)

      // TODO: when touch view, hide bottom sheet

    }

How do you display panel(s)?
Present modally
How many panels do you displays?
1
Environment
Library version
2.5.2
Installation method

CocoaPods

iOS version(s)
15.2
Xcode version
13.2.1

Which view are not able to detect a touch?

Touch area is outside of bottomsheet.


As an HR advisor I want to view and employee's details so that the employee's promotion request can be supported.

SQL query so the employee's current (most recent) job title, salary, department, and manager to update


iOS bugsnag events - show the number of alive threads

Description

Describe the solution you'd like

In bugsnag events from iOS devices, I would like to know the number of threads that were alive when the event happened.
Describe alternatives you've considered

Looking at Apple crash reports in Xcode.
Write a native method to get number of threads, then leave a breadcrumb every 30 seconds stating the number of threads

Additional context

Grand Central Dispatch is limited to 64 threads. When this limit is reached, any code that tries to wait run on a DispatchQueue will cause the app to hang. This leads to events with varying stacktraces.
It's not obvious that such a crash is caused by the GCD thread pool limit. However, the number of threads is often 50+ more than normal when GCD is hitting the limit. For example, Apple crash reports showed 120+ threads for these app hangs, but only 70 threads for other crashes. So seeing the number of threads will help identify this specific issue.
If you guys can think of a better way to identity GCD thread pool exhaustion, I'd be open to that as well!

Hi @troy-lamerton - firstly, in terms of getting a thread count, we do have an item on our product roadmap to look at adding this information in the future. I've noted your use case with our product team and will keep you updated on that. In the meantime, you may be able to implement something similar yourself inside a callback that's run at crash time, adding this as metadata to the error event that you see in the Bugsnag dashboard. You can read about these callbacks in our docs, and the threads, including their state, is already exposed on the Event object that the callback receives.
In terms of GCD thread pool exhaustion - I'm going to have some internal discussions on that to see if there's anything we can do in that area in the future, and again will keep you updated.

Hi @troy-lamerton - just a quick update on this, we've added an item to our roadmap to look at showing when the GCD queue thread limit is reached, however I don't have an ETA for when we might work on that.
It is worth noting that GCD queue width is an implementation detail and not something that should necessarily be relied upon as part of your app design - there's a bit more discussion on this here.


fix(select): removed use of form element in toggle and menu

fixes https://github.com/patternfly/patternfly-next/issues/2379

PatternFly-Next preview: https://patternfly-next-pr-2430.surge.sh

@mattnolting ah good catch! Also, doesn't look like .pf-c-select__toggle-typeahead-form was ever added to the toggle <form> in react, so the typeahead input doesn't span full width in that component. It should now.

:tada: This PR is included in version 2.40.11 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


callout looks weird

please fix this, thanks :)
This is a really beautiful theme, thank you for your efforts (^_^)

Thank you :)
Actually, this is the default callout design:

Are you perhaps, using the incorrect markdown format for that? Or maybe you have other css snippets enabled that affected that?

Thank you :) Actually, this is the default callout design:  Are you perhaps, using the incorrect markdown format for that? Or maybe you have other css snippets enabled that affected that?

I did not use any css snippets and the callouts code was copied from the obsidian help page. Now that I have installed this plugin: Admonition, the callouts work fine. So, maybe there is some bug in my obsidian. Thanks for your reply!

You shouldn't really need a plugin to fix that. I think the code you copied was just slightly mispositioned like something below:

If you'd like, you can screenshot the markdown and I'll take a look at it.

At first I thought I had written the wrong code, so I went to obsidian help to copy the code, and it was the same. That's why I thought it was a bug.
I've just tested it after removing the admonition and it doesn't have that problem anymore.

Hey, it's alright, no worries! Glad everything turns out fine! 😄


Configuration consistency/sanity checks?

Often it is important that different parameters in a configuration are set consistently. These may be different but related parameters, or one parameter that needs to be set to the same value in multiple places (yuck, I know, but we're stuck with this unfortunately). There's an argument for including simple checks like these in Payu, to be run automatically as part of payu run. If you agree, where's the right place to do this:

in the setup step of a model driver (there are some checks in some drivers already)?
as a userscript?
something new, e.g. a driver check method (and subcommand)?
something else?

Sorry to equivocate, but all the options you've presented sound reasonable, depending on the specifics of the use case.
To my mind setup and check are close to the same thing. The setup option would have to call a check routine, or something similar. Creating check as a CLI argument would just be a case of making that internal command callable separately.
The question of setup or userscript probably comes down to how specific are these checks to a specific configuration? If they are something that would be applicable in all cases for a model, then adding it to the model driver makes sense. If the checks are more configuration specific, if there are cases where the checks might not be necessary, then userscript makes more sense.
The downside of userscript is you don't have access to all the internal payu information. If this was necessary there might be a case for a check routine, which isn't called by default, but could be specified as a userscript option for specific configs.
Perhaps some specific examples would help to elucidate this?
As an extension I'd like to see checks like this be part of CI when updating released configurations.

To my mind setup and check are close to the same thing. The setup option would have to call a check routine, or something similar. Creating check as a CLI argument would just be a case of making that internal command callable separately.

Agreed. I just wondered whether it might be cleanest to have the checks in their own method. It would make it clear to new driver developers, for example, that checks are a good idea and where they should live. But yes, it boils down to the same thing, and thinking about it more I can't see any value in having separate setup and check subcommands.
All of the checks I want to run at the moment make the most sense in the (access-om3) driver. But, I wanted to check there were no strong opinions about whether/where/how they should be included in Payu.

As an extension I'd like to see checks like this be part of CI when updating released configurations.

Yes! And if the checks are in Payu we could use Payu to do this

All of the checks I want to run at the moment make the most sense in the (access-om3) driver. But, I wanted to check there were no strong opinions about whether/where/how they should be included in Payu.

If these are checks that one would always want to run for all versions of access-om3 then yeah, sounds like the driver is the right place for them.
Agreed a checks method is clean, and can be exposed as a CLI at a later date, or added as a --checks option to setup if it isn't something that should always be run (which it may be).

We're implementing some QA checks in CI for the access-om2 configurations
https://github.com/ACCESS-NRI/access-om2-configs/pull/32
They're an example of checks we want to do for released configs, but not routinely when running the model. Just FYI.


Get window's width and height

A code piece to get window's height and width

Hi sir, thanks for your code, deployed here (with several small formatting fixes):
https://onelinerhub.com/javascript/window_width_height


Add functionality to automatically parse JSON to Mappable Swift classes.

I wrote a little method in my own project to add this functionality and figured it'd be useful in the main project. I can reformat it and/or unstage any unwanted changes to existing project files if it's a welcome addition. Thanks for taking a look.

Can you give an example of this being used?

Alamofire.request(.GET, "http://someurl.com/some.json").responseConvertedToMappableClass(withName: "MyObject")

Doesn't seem to work when the response is an Array, but I understand why.

If I recall correctly, it prints out what the first array item looks like and adds a message saying that it found an array.

I mean, consider the following.
[
  {
    "title": "test",
    "body": "test\n"
  },
  {
    "title": "Hello World2",
    "body": "How are you?2\n"
  }
]

Also, I tried this on a much more complex json structure.
class test: Mappable {

		// MARK: - Properties

		var title: [AnyObject]?
		var uuid: [AnyObject]?
		var revision_log: [AnyObject]?
		var default_langcode: [AnyObject]?
		var changed: [AnyObject]?
		var revision_uid: [AnyObject]?
		var vid: [AnyObject]?
		var revision_timestamp: [AnyObject]?
		var nid: [AnyObject]?
		var path: [AnyObject]?
		var promote: [AnyObject]?
		var field_image: [AnyObject]?
		var comment: [AnyObject]?
		var uid: [AnyObject]?
		var sticky: [AnyObject]?
		var type: [AnyObject]?
		var field_tags: [AnyObject]?
		var body: [AnyObject]?
		var langcode: [AnyObject]?
		var created: [AnyObject]?
		var status: [AnyObject]?
		var revision_translation_affected: [AnyObject]?

		// MARK: - Init

		required init?(_ map: Map) { }

		// MARK: - Mappable

		func mapping(map: Map) {
			title                          <- map["title"]
			uuid                           <- map["uuid"]
			revision_log                   <- map["revision_log"]
			default_langcode               <- map["default_langcode"]
			changed                        <- map["changed"]
			revision_uid                   <- map["revision_uid"]
			vid                            <- map["vid"]
			revision_timestamp             <- map["revision_timestamp"]
			nid                            <- map["nid"]
			path                           <- map["path"]
			promote                        <- map["promote"]
			field_image                    <- map["field_image"]
			comment                        <- map["comment"]
			uid                            <- map["uid"]
			sticky                         <- map["sticky"]
			type                           <- map["type"]
			field_tags                     <- map["field_tags"]
			body                           <- map["body"]
			langcode                       <- map["langcode"]
			created                        <- map["created"]
			status                         <- map["status"]
			revision_translation_affected  <- map["revision_translation_affected"]
		}
}

Considering the following
{
  "nid": [
    {
      "value": "17"
    }
  ],
  "uuid": [
    {
      "value": "f777e4cb-4f8d-47db-ac3a-1a9dbf5e6ffe"
    }
  ],
  "vid": [
    {
      "value": "17"
    }
  ],
  "langcode": [
    {
      "value": "en"
    }
  ],
  "type": [
    {
      "target_id": "article",
      "target_type": "node_type",
      "target_uuid": "0b12744b-1aeb-4450-8fc6-8376397943a6"
    }
  ],
  "title": [
    {
      "value": "test"
    }
  ],
  "uid": [
    {
      "target_id": "1",
      "target_type": "user",
      "target_uuid": "6e64b82c-7f91-4a69-8a53-672350f70758",
      "url": "/user/1"
    }
  ],
  "status": [
    {
      "value": "1"
    }
  ]
}

although these issues may not have to do your extensions, I think they may be reading things wrong with all the [AnyObject]'s

What is the debug output for that case? I will look into fixing it if I can, just want to know at what point its breaking.

"Could not convert String response to Dictionary ([String : AnyObject])"

I will try to add some functionality for array cases and to print all the individual components for complex structures, but right now it will only print a single JSON structure formatted as mappable class. For now you would have to make a request for each variable, i.e:
let request = Alamofire.request(.GET, "http://someurl.com/some.json")

request.responseConvertedToMappableClass(withName: "MyObject", forKeyPath: "nid")
request.responseConvertedToMappableClass(withName: "MyObject", forKeyPath: "uuid")

// etc.

@kylebrowning Added support for those features. Let me know if you hit any new bugs.

@tristanhimmelman thoughts?

@jacoblubecki sorry for the very slow response.
I think this addition is cool, however, I am hesitant to include it in the project as I would like to keep AlamofireObjectMapper as minimal as possible. This addition could potentially added a significant amount of maintenance work as ObjectMapper matures.
With that said, I still think this code is valuable. If you could set this up as an extension to AlamofireObjectMapper or even ObjectMapper, I would be happy to include a link to your project in the README.

That's an understandable concern. I will move the code to a standalone project and post an update here once it's setup for distribution via Cocoapods/Carthage. Thanks for taking a look!


Support newer android plugins

Newer versions of the Android plugin move the R.class files into a different folder. We support that new location here so that completion works properly
I made a separate merge request than #43 so that they could be independently evaluated but forgot to only include one commit. Let me know if this needs to be rebased to fix this :)
Fixes #7

Looks good, thanks.


USHIFT-1941: Services may fail due to restart limit in cleanup data tests

Implement a generic function for setting and restoring a service start limit override.
Set the limit to 10 in the cleanup-data test

/test metal-periodic-test microshift-metal-tests

/test metal-periodic-test

/test metal-periodic-test


Error highlighting causes some issues.

I am not entirely sure how does this work but there is an issue with Error higlihting.
I have found this in my application but later on I tried to narrow down this to SSCCE.
So I copied the default code from Ellie app (button increment/decrement) and then I splitted the code into modules. View.elm containing view function. Messages.elm containing type Msg, Update.elm containing update function and so on.
Then I added new message into Msg.elm and prese CTRL-S.
Next step was to compile my project using cmd line so elm make Main.elm and compiler was happy even though it should complain about new Msg not handled in the Update.elm.
Then I opened Update.elm in Atom and I could see highlighted error there. If I would just press CTRL-S and try to compile again then compiler will start complaining as it should.
If I have run elm make in settings set to on save then I am running into those kind of issues.
Running elm make from Atom probably causes changes in timestamps for elmi files. That could be a reason for compiler not seeing changes properly.
That is my guess only but setting run elm make to never then I don't have such problems however Error highlighting does not work.
I tried the same using Notepad and there I don't have this problem.
I hope above explanation is not too chaotic. Please let me know how can I troubleshoot further.

Hi. I have tried this new version in this simple example I made and in bigger application. Works perfectly.
Thanks a lot for quick response and for this great tool.


No longer need to adjust timestamps

Peter Salameh appears to have implemented his own adjustment to the start of sampling (I guess in some recent GCWerks update). We should check this more rigorously, but if it is true in all cases then we should remove the part of agage-archive that does this adjustment

I have changed my mind about this. While Peter's additional timestamp adjustment does reproduce the old start of sampling times (calculated by the acrg code from the .C files), at least for MHD and TAC this doesn't appear to be the start of sampling. Here are some things I found digging into this:
TAC Medusa:

Samples from 100 seconds to 1300 seconds on the stripchart
Chrommatogram timestamped at about 30 mins on the stripchart
Peter's .nc files are adjusted backwards from this by 20 mins
So to get to the start of sampling we need to go back another 9 mins
For example, the run<PHONE_NUMBER> started at 18:15:00, started sampling at 18:16:40, finished sampling at 18:36:40, and finished the run at 19:20:00

MHD Medusa:

Samples from 100 seconds to 1300 seconds on the stripchart
Chrommatogram timestamped at about 36 mins on the stripchart
Peter's .nc files are adjusted backwards from this by 20 mins
So to get to the start of sampling we need to go back another 15 mins
For example, the run<PHONE_NUMBER> started at about 19:31, started sampling at about 19:32, finished sampling at about 19:52, and finished the run at 20:36


assert_function Error Msg: Provide user with possible correct argument/syntax to the user what they are missing?

          Is there anyway to recommend to the user what they are missing?

For example, here I put in filter, but it should be filter_add?
Like a "Did you mean - filter_add" or if nothing else list out the possible arguments available to the function?
Originally posted by @bms63 in https://github.com/pharmaverse/admiraldev/pull/399#pullrequestreview-1954907043

@bms63 R allows for position matching for arguments and partial name matching. There are options a user can specify (or a company could set this) if they didn't want to allow for these "conveniences". But do we want to enforce a change to low-level R behavior?
In the example above filter would be a partial match for filter_add. I think this kind of change should happen at the user level, so users don't experience differential behavior even across admiral functions.

Yeah - we shouldn't enforce this at our level.  Thanks for looking into.  We can close this one out.


dev: add local tor to standalone

Closes #43.
Attention: This can only be merged when joinmarket-clientserver v0.9.7 is released (There is a workaround that can be applied to make it work with v0.9.6).
TBD.
This is still WIP.

Closing this in favor of https://github.com/joinmarket-webui/joinmarket-webui-docker/pull/47


Some ideas

I just tried morepath-cookiecutter. Really nice stuff!
Just some minor ideas:

Maybe we should use "@id" instead of "url" in the json response in tune with the json-ld syntax.
Adding global-exclude *.pyo to MANIFEST.in as in some systems they get created instead of *.pyc
For me it's a little strange to install the virtualenv directly in the project folder as you propose in README.md. I always use a subfolder (venv or env). Otherways the project get cluttered with folders from the virtualenv.

Beside this it's really a good starting point.

Glad you like it!

Maybe we should use "@id" instead of "url" in the json response in tune with the json-ld syntax.

Good idea. Done!

Adding global-exclude *.pyo to MANIFEST.in as in some systems they get created instead of *.pyc

That makes sense, done.

For me it's a little strange to install the virtualenv directly in the project folder as you propose in README.md. I always use a subfolder (venv or env). Otherways the project get cluttered with folders from the virtualenv.

Honestly, I wasn't even aware this was possible. I have been using virtualenvwrapper for years though, so I lost touch with plain virtualenv.
Anyway, I did that as well and I like the result.
Thank you for your feedback!

Anyway, I did that as well and I like the result.

If you activate the virtualenv you can use the commands in env/bin/ directly.
No need for env/bin/pip, just use pip and the same with the other commands.

If you activate the virtualenv you can use the commands in env/bin/ directly.
No need for env/bin/pip, just use pip and the same with the other commands.

I am aware of that. I like to refer to the whole path for beginners because it ensures that the correct binary is used in any case. It's easy to miss something during a tutorial or to have the PATH somehow jumbled up and refer to the wrong binary.

Yeah I'm agree. Like this its more transparent.

I just refactored morepath_cerebral_todomvc according to morepath-cookiecutter because I think it would be good to have some reference apps. which uses "best practices".
I'm really happy with it. So I get rid of the buildout setup process using the more lightweight pip - virtualenv setup. And everything works well.
I just have some more feedback and a few questions:

If we want flake8 to parse we should add a # flake8: noqa line on top of __index__.py.
Otherwise we get a 'App' imported but unused error.
Do reach coverage we should ignore run.run() as it make no sense to test it.
We can add # pragma: no cover after def run():.
In setup.py there is the line: packages=find_packages(exclude=['ez_setup']).
I actually don't understand exclude=['ez_setup'].
Just a question: The namespace_packages is used only if there is a dot in the package name.
So if there is no dot it doesn't harm?
Why you use an empty config.py instead of __index__.py in the test directory?
I would not exclude *.mo files from distribution in .gitignore and MANIFEST.in.
I always include them in my distributions, so the users have not to compile them themselves.
I think as we moved the virtual environment to env, in setup.cfg we can just use
norecursedirs = env.
I think it would be good to clean up .gitignore a bit.
Now we also don't need the directories from virtualenv as we have them in env.
Also we don't need the buildout stuff.
And I would not include something which is not related with our setup like Django and C stuff.
Everybody can add what he need (for me e.g. Javascript related).

My suggetion for .gitignore would be:
# Byte-compiled / optimized
__pycache__/
*.py[co]

# Distribution / packaging
env/
build/
dist/
*.egg-info/

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.cache
nosetests.xml
coverage.xml

# Sphinx documentation
docs/_build/

But this is just an example. I just would like to have it more lightweight.
But ok this is all minor stuff.
Really thanks for this great template creator!  :+1:

The recommendation for py.test says that inlined tests (which we use) can use an __init__.py. I think __init__.py allows the from .. import blah construct whereas without __init__.py that doesn't work, but I'm not sure.

The recommendation for py.test says that inlined tests (which we use) can use an init.py. I think init.py allows the from .. import blah construct whereas without init.py that doesn't work, but I'm not sure.

I personally always leave out the __init__.py file. That ensures that my tests are never accidentally imported by other parts of the code (or other tools scanning my directories). However we do it in Morepath proper, I think it's good practice to not use __init__.py in projects which use Morepath.

No problem for me. This issue is rather drifting, can we spin off more concrete issues and close this one?

Agreed.

@href
Just recover your answer here.
Actually you didn't answered, but edited my answer so I found it only by accident. :wink:
I just gonna adopt some samples to the cookiecutter template so had a look here.
For me it seems now everything fine. :smile:


PoC:real-time advertisement analysis during playback online tv

Required Info

Host Operating System & Version
{Ubuntu 20.04.2}

Kernel Version (Linux Only)
(5.x)

Branch
{ kantv }

Android Studio Version
4.2.1

NDK Version
NDK-r14b

Xcode Version
12.5

Language
{C/C++/Java }

Section
{ poc / ai }

PoC Description
real-time advertisement analysis during playback online tv

pls refer to:
#13

this PoC will be reopened in the future


[WebUI Forge] Cannot reload embeddings instantly

WebUI : forge - [f2.0.1v1.10.1-previous-222-g33187c26]
python: 3.11.9
torch: 2.4.0+cu124
gradio: 4.40.0
Tag Autocomplete: Cannot reload embeddings instantly: 'StableDiffusionModelHijack' object has no attribute 'embedding_db'
And, I have easynegative, but it's not added.

It seems webui forge had a pretty big backend rewrite which broke many extensions.
I tried my best to add fallbacks for its changes, and it should be partially fixed now, but some things are still different from before.
The main things to consider:

Like some other implementations (maybe also dependent on settings), the SD model now gets loaded not on startup, but on demand (i.e once you click generate)

TAC uses the webui's internal model database to fast-reload embeddings and figure out if they're SD1/SD2/SDXL, so before the model is loaded, embeddings will show up as "unknown". This is not fixable. Once the model was loaded for the first time, it should show the correct types.
This also means that newly added embeddings will only show up after a model switch/reload
In some cases, TAC might need a manual refresh (e.g. clicking the refresh button in the Extra networks gallery tabs)

With this update, forge doesn't include the full file path in the embedding object I access anymore

As a result, TAC's setting to sort extra networks by modification date won't work
And it also isn't possible anymore to prefix the folder name of the embedding (e.g. negative/...) to only show embeddings of that subfolder (this was possible before, even though the folder prefixes weren't shown in the completion UI)

There might be more changes in the future, as some things in forge still seem broken in general right now and the rewrite isn't finished yet. For example, multiple API endpoints don't work and the TI embeddings extra network tab also doesn't show only the embeddings matching currently loaded model, but all of them.
Depending on how these are fixed, my workaround might get broken again, so I'm leaving this issue open for the meantime.

I am having a very similar bug but with my UI itself not loading certain aspects like, checkpoints, loras, embeddings and even reloading the UI seems to to not work anymore, it just freezes and never finishes. I'll be making a separate bug report about this.

Interesting. This doesn't even work in forge for me and hasn't for a few months. Same with prompt-all-in-one... but not only them. They really dropped the ball I guess.

@DominikDoom Any idea why they dropped the filenames in the first place? It's still littered all over the code (eg sd_forge_lora/networks.load_networks refers to it on exception, backend/text_processing/textual_inversion.create_embedding_from_data taking a filepath it doesn't use), two months later.

Any idea why they dropped the filenames in the first place? It's still littered all over the production code (eg sd_forge_lora/networks.load_networks refers to it on exception, backend/text_processing/textual_inversion.create_embedding_from_data taking a filepath it doesn't use), two months later.

@Symbiomatrix All I can tell you is that it happened during the big backend rework where forge migrated away from all the hijack stuff used in base A1111, but I don't know if it was intentional. It might very well just be an oversight that got lost during the "move fast, break things" period of said rework.

You can access the new Forge embeddings database as:
embedding_db = modules.textual_inversion.textual_inversion.EmbeddingDatabase()
refresh: embedding_db.load_textual_inversion_embeddings(force_reload=True, sync_with_sd_model=False)
attributes seem to be as usual, filename contains full path.

@DenOfEquity That is from the base webui, and I use that in the code if it is set (by accessing it from the respective model, since I need the existing instance).
But as far as I'm aware, forge does not use this implementation for embeddings anymore.
In its main code, it calls from backend.text_processing.textual_inversion import EmbeddingDatabase, as @Symbiomatrix already mentioned. And that one has no filename / filepath property.

Den merged (thanks), should be good to go using the standard method.


AMD manifest: return meaningful errors for structures not found

The previous errors were the same for all cases and misleading.

closing this one, since this now lives in Fiano and came via https://github.com/linuxboot/fiano/pull/340


acceptance-yaml-cleanup

CLA signed by all contributors.

@MikaelSmith can you look? This is cosmetic but nice for cross-project diffs.

Looks good. :+1:


Most of the properties don't work - What could be the reason?

I have been trying to test and most of the properties don't work for me.
Below are the properties that I tested and don't work for me -
hadoopConfigMap:
driver/executer:
affinity
gpu
tolerations:
env:
I am using latest spark operator image - spark-operator:v1beta2-1.2.3-3.1.1 and have webhook enabled and service running.
I am still able to define all the configuration under sparkConf: section and all of them work the way expected
sparkConf:
"spark.kubernetes.kerberos.krb5.configMapName" : krb5.conf
"spark.kubernetes.hadoop.configMapName" : hadoop-gdap-np-mil
"spark.driver.resource.gpu.vendor" : nvidia.com
"spark.executor.resource.gpu.vendor" : nvidia.com
"spark.driver.resource.gpu.discoveryScript" : /opt/oss/spark/examples/src/main/scripts/getGpusResources.sh
"spark.executor.resource.gpu.discoveryScript" : /opt/oss/spark/examples/src/main/scripts/getGpusResources.sh
"spark.driver.resource.gpu.amount" : "1"
"spark.executor.resource.gpu.amount" : "1"
"spark.task.resource.gpu.amount" : "1"
They dont work when defined like this -
driver:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- host.domain.com
cores: 1
coreLimit: "1200m"
memory: "1024m"
gpu:
name: nvidia.com/gpu
quantity: 1
labels:
version: 3.1.1
serviceAccount: spark-job
env:
- name: NUMBA_CUDA_DRIVER
value: /usr/lib/x86_64-linux-gnu/libcuda.so
tolerations:
- effect: NoSchedule
key: nvidia.com/gpu
operator: Exists
executor:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- host.domain.com
# cores: 1
# coreLimit: "1200m"
instances: 1
memory: "1024m"
labels:
version: 3.1.1
serviceAccount: spark-job
gpu:
name: nvidia.com/gpu
quantity: 1
env:
- name: NUMBA_CUDA_DRIVER
value: /usr/lib/x86_64-linux-gnu/libcuda.so
tolerations:
- effect: NoSchedule
key: nvidia.com/gpu
operator: Exists

It seems that the webhook is not working in you cluster
See:
https://googlecloudplatform.github.io/spark-on-k8s-operator/docs/quick-start-guide.html#about-the-mutating-admission-webhook

Sounds like the webhook is not working in your cluster See: https://googlecloudplatform.github.io/spark-on-k8s-operator/docs/quick-start-guide.html#about-the-mutating-admission-webhook

Yes that's what I figured with my testing yesterday, none of the functionalities that are dependent on webhook are working. The webhook service is running. spark-operator logs show these messages as well.
I1108 20:28:11.016882       9 main.go:144] Starting the Spark Operator
I1108 20:28:11.018405       9 webhook.go:218] Starting the Spark admission webhook server
W1108 20:28:11.114090       9 warnings.go:67] admissionregistration.k8s.io/v1beta1 MutatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration
I1108 20:28:11.115066       9 webhook.go:412] Creating a MutatingWebhookConfiguration for the Spark pod admission webhook
W1108 20:28:11.123325       9 warnings.go:67] admissionregistration.k8s.io/v1beta1 MutatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration
I1108 20:28:11.210172       9 main.go:219] Starting application controller goroutines
I dont understand why it is not working. It doesn't show any errors anywhere.
I am looking into alternative ways of achieving the functionalities that are dependent on webhook.


PIXI.State.blend is reset to 'true' upon PIXI.Mesh creation

After playing around with meshes a bit, I noticed that I was only able to disable GL blending after creating a Mesh. However, the Mesh takes as a parameter a PIXI.State argument, in which one can already disable blending. This change is lost upon Mesh creation, which doesn't seem like good library ergonomics to me.

Expected Behavior
The mesh renders correctly with blending disabled.
Current Behavior
The mesh renders with blending enabled, despite disabling blending in the PIXI.State object.
Possible Solution

Steps to Reproduce
Here, I create a fiddle: https://jsfiddle.net/0b1nvrzt/51/
You'll need to scroll down a bit past all the setup preamble, to the part with a lot of whitespace at the bottom. There you will find more instructions in comments.
Environment

pixi.js version: 5.2.1
Browser & Version: Chrome 80.0.3987.163
OS & Version: Windows 10.0.18362 Build 18362
Running Example: _https://jsfiddle.net/0b1nvrzt/51/_

@GoodBoyDigital made this API.
Workaround:
state.blendMode = PIXI.BLEND_MODES.NONE;

Another workaround is to set the state after mesh creation.

Are you sure? i think renderer.state.set(this.state) will reset blend again.

Oh, idk... in the fiddle I made, it worked if I set it after creating the Mesh!


Doesn't work offline

Home Assistant
0.96.3
HACS
Version: 0.12.1

Seems like HACS component does not load without internet.
And as long as configuration uses not /local/ links, all custom cards and integrations are not loaded.
- url: /community_plugin/banner-card/banner-card.js
  type: module

However plugins configured using /local/community/ works fine.
  - url: /local/community/banner-card/banner-card.js
    type: module

Logs:
Error during setup of component hacs
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiohttp/connector.py", line 955, in _create_direct_connection
    traces=traces), loop=self._loop)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/connector.py", line 825, in _resolve_host
    self._resolver.resolve(host, port, family=self._family)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/resolver.py", line 30, in resolve
    host, port, type=socket.SOCK_STREAM, family=family)
  File "uvloop/loop.pyx", line 1464, in getaddrinfo
socket.gaierror: [Errno -3] Try again

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 153, in _async_setup_component
    hass, processed_config)
  File "/config/custom_components/hacs/__init__.py", line 69, in async_setup
    await configure_hacs(hass, config[DOMAIN], config_dir)
  File "/config/custom_components/hacs/__init__.py", line 164, in configure_hacs
    hacs.hacs_github = await hacs.aiogithub.get_repo("custom-components/hacs")
  File "/usr/local/lib/python3.7/site-packages/backoff/_async.py", line 131, in retry
    ret = await target(*args, **kwargs)
  File "/config/custom_components/hacs/aiogithub/aiogithub.py", line 45, in get_repo
    response = await self.session.get(url, headers=headers)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/client.py", line 476, in _request
    timeout=real_timeout
  File "/usr/local/lib/python3.7/site-packages/aiohttp/connector.py", line 522, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/connector.py", line 854, in _create_connection
    req, traces, timeout)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/connector.py", line 959, in _create_direct_connection
    raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.github.com:443 ssl:None [Try again]

It is not designed to work without internet, updating and downloading from github is it's main functionality.

@Destix I had a really bad experience this night with your plugin. My ISP had a major outage this night and by the morning the thing still hasn't been fixed so the entire HomeAssistant on docker was not responding due too many errors like the one up.
In my opinion none of the plugins should be designed to work only with internet. If someone wants to keep home assistant offline for privacy or whatever other reason they should be able to. In case of HACS I think caching and fallback retry would be great addition to great benefit that it provides.
Would you reconsider the design decisions? Thanks for your great work.


MINIFICPP-457: Add prioritizer service for Network comunications.

MINIFICPP-504: Tie in estimated size for max throughput to RPG
Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with MINIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file?
[ ] If applicable, have you updated the NOTICE file?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

Should this be an extension? it seems like a fairly specific use case that we might want to leave out of the compilation in many cases.

This is a core feature of MiNiFi and has been something we've discussed as one. There is less to leave out on this front as it's mostly an algorithm. It provides little benefit to leave out, I think.


Editor window - name pagetype

It would be great that above each page (after you created it) you see the name of the pagetype
By Ronald van Loenen

Done


Update AmazonOrderItemList.php

Returns false and will not add the items, which do not belong to that AmazonOrder object, to the AmazonOrder object. #45

As I just mentioned in the issue, I think the lack of a return is intentional. So, for now, I'm not going to change it. If it proves to be a problem in the future, I'll reconsider.


FABGW-9 Select endorsers with max block height

When selecting the endorsers from the endorsement plan,
sort each group in the layout in order for decreasing ledger height.  If equal height, give priority to the host peer.
Signed-off-by: andrew-coleman<EMAIL_ADDRESS>

/ci-run

/ci-run

/ci-run


Add missing import

This was caught by the end-to-end tests -- so they're not totally useless! -- but should've been caught by a linter.


Add motion effect on gallery cards

Probably upgrade the zoom effect and add this to our cards
This works well on Android and Desktop

https://codepen.io/henryz00/pen/rEaRGq
https://developer.mozilla.org/en-US/docs/Web/Events/Using_device_orientation_with_3D_transforms
https://codepen.io/tag/gyroscope
seems compatible https://caniuse.com/deviceorientation

@yangwao I can pick this up


Add YAML support

We use cspell.yml, would you consider supporting that?

sure, do you wanna submit a PR?

yaml files should work in 1.3.0

Thank you!


51: Remove validation from NumberRange that start_of_range needs to b…

…e lower than end_of_range to the specific uses of NumberRange for which this holds. It doesn't hold it general.

Bypass due to https://github.com/flexiblepower/s2-python/issues/44


The Playground needs better styling [CSS]

What do you want to change?

What are you thinking about?  I think the overall layout is pretty much right (including collapsing down on thin viewscreens). But it just doesn't have that polished, legible feel of nice, thought-out spacing, etc. In addition, if colors could be made better, it would be nice to see how :)

I didn't notice until you said it.  I don't write pure css these days but let's me see what I can do.

@thangngoc89 in https://github.com/aantron/dream/pull/109#issuecomment-874299534:

I think we would need to design this in a design program to see how things go. It's easier to move things around by drag and drop then write css code.

Probably also a good idea :)

A relatively good way to develop the playground is to save the HTML and/or JS locally, and then run it. Maybe I should put some effort into making the playground more easily deployable/runnable locally.

Closing this for now, after several improvements by @thangngoc89 and @artileda.
More improvements are still welcome, however, if you spot anything. Or just think the Playground looks ugly :)


Trade routes to Egypt shows gold on two rows

When sending a trade route to Egypt the "extra" gold and food from Mediterranean's Bride is shown on a second row in the panel, but it is already included in the total and thus you can be fooled to think that you would get two more of each.
Missed to take a screen shoot will update when I remember.

Probably some weird line wrapping issue. I'll look into a solution, but this one mostly falls into @Astog 's ballpark

@SpaceOgre That is probably the yield the destination city gets. In v3.1 the Make Trade Route screen shows both the origin and the destination city yields.

@astog Ah, yeah that could be it.
Will check this the next time I send a trade route to Egypt.

It was as @astog said, my bad :/


missing color/icon in pipeline execution step status

Rancher versions:
master 5/12
Steps to Reproduce:

run a pipeline
Results:
In the stap status on the left, the color is missing(used to be green on success) and an empty box replaces original icon(a tick on success)

Version - 2.0 master 5/18
icons still missing

rancher/rancher:master 6/12
The icons and colors are displaying correctly when the pipeline is executed.


Form testnet

Chain Name
Form testnet
Chain ID
132902
RPC URL
https://testnet-rpc.form.network/http
Block Explorer URL
https://explorer.form.network
Deployment Funds
Yes

Looks like it was already deployed using the presigned transaction! https://explorer.form.network/address/0xcA11bde05977b3631167028862bE2a173976CA11?tab=contract


Add cache on MirrorNodeClient.getBlock() (#1192)

MirrorNodeClient.getBlock()
Fixes #1191

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.06 :tada:

Comparison is base (008e7f4) 74.59% compared to head (f6ba4d4) 74.66%.

:exclamation: Current head f6ba4d4 differs from pull request most recent head 94b59e4. Consider uploading reports for the commit 94b59e4 to get more accurate results

Additional details and impacted files
@@               Coverage Diff                @@
##           release/0.23    #1230      +/-   ##
================================================
+ Coverage         74.59%   74.66%   +0.06%
================================================
  Files                31       31
  Lines              2204     2214      +10
  Branches            436      437       +1
================================================
+ Hits               1644     1653       +9
  Misses              439      439
- Partials            121      122       +1

Impacted Files
Coverage Δ

packages/relay/src/lib/clients/mirrorNodeClient.ts
89.80% <100.00%> (+0.20%)
:arrow_up:

packages/relay/src/lib/constants.ts
100.00% <100.00%> (ø)

... and 2 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


kbfs team files not syncing on linux, private files are fine

[write something useful and descriptive here]
my log id: cd3d076b52526b57af00fd1c

2021-04-01T10:39:02.817459Z ▶ [DEBU kbfs(CR 1fbd4d6f) conflict_resolver.go:230] 1aa New conflict input {38562 0} following old input {38561 0} [tags:CRID=z-n8MkPSgdKsZ_BYGYDAZw]
2021-04-01T10:39:02.817720Z ▶ [WARN kbfs(CR 1fbd4d6f) conflict_resolver.go:3538] 1ab Too many failed CR attempts for folder: 1fbd4d6fcd2364ec8917ad692b0bd826 [tags:CRID=z-n8MkPSgdKsZ_BYGYDAZw]

I was able to resolve this.  I opened the gui (something I never do on Linux) and saw that there was an indication about a file conflict.  I resolved it through the gui and now all is well.


Monitoring system

Notice
It is not allowed to submit your PR to the master branch directly, please submit your PR to the master-pre-merge branch.
Description
this is an enhancement for storing the branching block details. it helps us to analyze the potential risk for the attacks. This PR is added on the PR #639.
Fixes Issue N/A .
Type of change
Insert x into the following checkboxes to confirm (eg. [x]):

[ ] Bug fix.
[ ] New feature.
[x] Enhancement.
[ ] Unit test.
[ ] Breaking change (a fix or feature that causes existing functionality to not work as expected).
[ ] Requires documentation update.

Testing
Please describe the tests you used to validate this pull request. Provide any relevant details for test configurations as well as any instructions to reproduce these results.

n/a

Verification
Insert x into the following checkboxes to confirm (eg. [x]):

[x] I have self-reviewed my own code and conformed to the style guidelines of this project.
[ ] New and existing tests pass locally with my changes.
[ ] I have added tests for my fix or feature.
[ ] I have made appropriate changes to the corresponding documentation.
[ ] My code generates no new warnings.
[ ] Any dependent changes have been made.

@aion-kelvin this PR is for deploying a monitoring system on our current monitor service and we do need the details data to prevent some data was been double spent during the deep branching happen.


[CI] Re-enable test

Disable for "remote runs".  We don't copy the corresponding .dSYM
with the test binary, and hence symbolication (source info) does not
succeed.
Also explicitly mark this test unsupported on for the 32-bit iOS
simulator.  It has an outdated version of atos that can't demangle
Swift symbol names.
Enable on other platforms.
rdar://68353068

@swift-ci Please test


[BEAM-1579] Use Batch Replacement in the Flink Runner

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @aljoscha

Run Flink ValidatesRunner

Changes Unknown when pulling 5883f0057cfba6371a1298c99754b9bf956f59be on tgroh:flink_batch_replacement into ** on apache:master**.

LGTM!

Run Flink ValidatesRunner

Coverage increased (+0.009%) to 70.148% when pulling 2cb9d367ebc16baf719c38d3e64ea9f342728c84 on tgroh:flink_batch_replacement into fe1d4124e7d51ec45869fb9e95cc8243f5891553 on apache:master.

Run Flink ValidatesRunner


Not able to modify/configure hive-site.xml file in /hive/conf/hive-site.xml

Hi,
Not able to modify hive-site.xml file even with root privileges.

Hi @nashugame, #9bf013907812a39576709f0a28b8b857f6ddc981 should have fixed this. Could you try it again?


BotVac D5 Does Not Work

It appears that it assumed that each service is expected to be a particular version, which causes BotVac D5 not to work.
Would you mind if I work on a pull request to at least support other service versions (according to Neato's documentation), and possibly add other stuff that is now documented, but not exposed by pybotvac?

Hi kvermilion.
I'm not the owner of the code, so this is not the response that you're waiting for, however I have Botvac D3 and it also doesn't work and I'm eager to add support for it. So maybe we could join our forces and at least compare what commands should be sent to each robot model?
Regards.

Hi karlkar,
Please try my branch: https://github.com/kvermilion/pybotvac
There are 3 different versions of the houseCleaning service in the Neato API docs--this should support all of them correctly.
Thanks.

I'll try it later.  Where did you find the API docs?

You can also check my commit, I've made it so it works with my D3 and should also work for other robots. It's in the pull requests already.

The API can be found here: https://developers.neatorobotics.com/api
There is an agreement, and then you can access it using your Neato login.
I took a look at your commit and I'm not convinced that it won't break support for the basic-1 version of the service. It'll be sending a superfluous navigationMode param, and I haven't seen anything in the docs that suggest that such a thing will be ignored.

Ok. You're code looks more compatible with the API. I've reviewed it and left some notes.
Create a pull request, maybe author will cone and accept it.

Thanks for the input and the pull request. I did a few changes before merging into master:

Create UnsupportedDevice exception class, to simplify catching exception in user code.
Create read-only properties for available_services and service_version.
Check that service version is supported once (in init), to avoid code duplication.
Renamed a few variables for PEP 8 compliance.

Please verify that this works properly with D3 and D5.

All great changes.
It works on my D5.
Thanks.

Great! Thanks alot for the contribution! Closing ticket.


chore: fix eslint configuration

Description
When I ran the lint script, I got 2779 errors + 9 warning .
Mostly just stylistic (indentation, etc).

Turns out that there are inconsistencies between how we configured ESLint, prettier, and editorconfig:

files inside coverage dir are also checked by eslint
The default tabWidth from prettier is 2, eslint-config-okonet doesn't override this
https://github.com/okonet/eslint-config-okonet/blob/6d658c07ea2d809221454a5bb649450364cd62fe/index.js#L64-L74
So prettier uses its default
In our .eslintrc we override it with indent rule not directly in prettier/prettier which of course will fight with prettier default.
https://github.com/okonet/lint-staged/blob/18eadf24dce5594dc8411ce3fd87b4840d8993a9/.eslintrc#L12
In .editorconfig it is https://github.com/okonet/lint-staged/blob/18eadf24dce5594dc8411ce3fd87b4840d8993a9/.editorconfig#L6

What I did

I updated our .eslintrc to fix the inconsistencies
All rules inside "prettier/prettier" field need to be rewritten to override rules from eslint-config-okonet
https://eslint.org/docs/user-guide/configuring#extending-configuration-files
I also deleted some unnecessary overrides because they're already the default out of the box

No errors🎉

Travis failed just like how I expected, there's a long discussion in https://github.com/eslint/eslint/issues/3458, the reason why Sindre Sorhus created XO
Node v4 comes with npm v2 by default, if you run the test in node v4 but with npm v3 it'll pass

It's failed because of npm v2, it handles dependency trees differently.
I'm 100% sure Travis will pass if we run npm >= v3 there.
# we can add this line in .travis.yml
before_install: if [[ `npm -v` < 3* ]]; then npm i -g npm@^3; fi

So what's your opinion?

Please add it to the .travis.yml

I'll spend some time creating mrm scripts for all my projects soon.

could you please remove the cache from Travis? to make our new travis config works

could you please remove the cache from Travis?

How do I do that? Why is this needed to be done?
Also I've noticed that prettier isn't in the devDependencies list right now and thus can cause issues for contributors since it will rely on the globally installed version (or fail). Could you please add it there and pin the version to the one you're using (i.e. no ^ in it). Thanks!

How do I do that? Why is this needed to be done?

It's required because we have these lines in .travis.yml https://github.com/okonet/lint-staged/blob/18eadf24dce5594dc8411ce3fd87b4840d8993a9/.travis.yml#L2-L4
You can clear the cache by clicking more options > caches

Could you please add it there and pin the version to the one you're using (i.e. no ^ in it)

sure!

Rerun the build in Travis if you've cleared the cache

Done! https://travis-ci.org/okonet/lint-staged
Thanks for your contributions!

Sweeet!


caffe installation inside digits-2.0 requires libcudart.so.6.5

Hi, I have downloaded digits-2.0 from NVIDIA's website and used the tarball installation. When I try to run the server (./runme.sh) I got the following error:

|   _ / | | / |
| |) | | ( || |  | | _
|/_|| || |__/
Did you forget to "make pycaffe"?
Traceback (most recent call last):
File "digits-devserver", line 39, in
config.load_config('quiet')
File "/data/giulia/REPOS/digits-2.0/digits/digits/config/load.py", line 147, in load_config
option.apply()
File "/data/giulia/REPOS/digits-2.0/digits/digits/config/caffe_option.py", line 232, in apply
import caffe
File "/data/giulia/REPOS/digits-2.0/caffe/python/caffe/init.py", line 1, in
from .pycaffe import Net, SGDSolver
File "/data/giulia/REPOS/digits-2.0/caffe/python/caffe/pycaffe.py", line 13, in
from ._caffe import Net, SGDSolver
ImportError: libcudart.so.6.5: cannot open shared object file: No such file or directory
It seems that caffe libraries inside digits-2.0 are linking against cuda-6.5 even if only the 7.0 libraries are provided... Is it possible or am I making some other mistake?
Giulia

Hi Giulia, you might want to re-install OpenCV if you already had a previous version installed. See #211.

Thanks, it worked: I forgot to rebuild OpenCV after updating the CUDA Toolkit.
Giulia


fix: make netbox data load idempotent

Previously netbox data loading wasn't idempotent, and would result in you paving over the netbox data created by the orch if you restart the container. This PR makes this action idempotent by adding a file to /tmp that exists after data has been populated. We then skip data population if that file exists.
To re-force data population, you can simply do a docker compose down -v to remove the volume (and all the data and the file in /tmp

Reproduction steps:

Pull this branch
docker compose up
run a node workflow or two
docker compose down
Should not be able to re-run a node workflow as the nodes are set to active in netbox
docker compose down -v
Should be back to a blank-slate and able to run node on all the routers in netbox.


Use Pydantic for strict typing

Use Pydantic as BaseModel for all data profiles

Pydantic is too slow for CIM. Will need to evaluate other packages for semantic validation.


Re-generate Compute client library with updated Swagger spec

Fix overprovision property.
Set provisionState to read-only
Update the tests
Use AutoRest 0.17.0 version to generate the library

@hyonholee I don't see any updates to the version.  Are there more changes planned?


Endpointer Clean Up

Alternate Endpointer contract implementation that encapsulates go routine and stream creation and avoids exposing recently added Fetch() method.
Fixes: https://github.com/edgexfoundry/edgex-go/issues/2099
Signed-off-by: Michael Estrin<EMAIL_ADDRESS>

Failures expected.  Requires https://github.com/edgexfoundry/go-mod-core-contracts/pull/184 to be merged and version to be updated for go-mod-core-contracts in go.mod.

Rebased.  Updated go.mod reference to go-mod-core-contracts to v0.1.34 (includes https://github.com/edgexfoundry/go-mod-core-contracts/pull/184).

Codecov Report

Merging #2100 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2100   +/-   ##
=======================================
  Coverage   41.76%   41.76%
=======================================
  Files         184      184
  Lines       12151    12151
=======================================
  Hits         5075     5075
  Misses       6779     6779
  Partials      297      297

Continue to review full report at Codecov.

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

Rebased.

Rebased

Rebased.

Rebased


upgrade fix

a version of https://github.com/openshift/cluster-kube-apiserver-operator/pull/369 that may not fail sni

/retest


scipy.integrate.solve_ivp diverges on a state space simulation well finished in MATLAB

Dear all,
Please visit the following link regarding the aforementioned problem in solve_ivp.
scipy.integrate.solve_ivp diverges on a state space simulation well finished in MATLAB
Regards,
Hamid

Hi Hamid, without a reproducible example we can't do much about this. Do you mind stripping down your example only to the solve_ivp part by cleaning up the parts and posting here?

Hi Ilayn,
Thank you for your help. The problem was with the code itself!


Fix BundleRegistry deadlock

Fixes #454
Signed-off-by: The MathWorks, Inc<EMAIL_ADDRESS>

Codecov Report

Merging #463 into development will increase coverage by 0.02%.
The diff coverage is 96.42%.

@@               Coverage Diff               @@
##           development     #463      +/-   ##
===============================================
+ Coverage         83.5%   83.52%   +0.02%
===============================================
  Files              292      292
  Lines            12217    12239      +22
===============================================
+ Hits             10202    10223      +21
- Misses            2015     2016       +1

Impacted Files
Coverage Δ

framework/src/bundle/BundleRegistry.cpp
89.65% <100%> (+1.58%)
:arrow_up:

framework/test/gtest/BundleDeadLockTest.cpp
96.15% <92.85%> (-3.85%)
:arrow_down:

...veServices/test/TestComponentConfigurationImpl.cpp
83.64% <0%> (-0.53%)
:arrow_down:


One set of GPUs on same machine and same model work well, another gets OOM error

I am using multiple GPUs (num_gpus = 4) for training one model with multiple towers. The model is training well on one set of GPUs: CUDA_VISIBLE_DEVICES = 0,1,2,3 while it gets OOM problem during the first graph evaluation with CUDA_VISIBLE_DEVICES = 0,1,4,5
Following options are used for creating a session
session_config=tf.ConfigProto(
      allow_soft_placement=True,
      log_device_placement=False)
session_config.gpu_options.per_process_gpu_memory_fraction = 0.94
session_config.gpu_options.allow_growth=False

Batch size, is already super small, = 3
System information
Tensorflow 1.0
Cuda 8.0
Ubuntu 14.04.5 LTS
All GPUs : GeForce GTX 1080
Source code / logs
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.7335
pciBusID 0000:07:00.0
Total memory: 7.92GiB
Free memory: 7.81GiB
W tensorflow/stream_executor/cuda/cuda_driver.cc:590] creating context when one is currently active; existing: 0xcc4593a0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 1 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.7335
pciBusID 0000:08:00.0
Total memory: 7.92GiB
Free memory: 7.81GiB
W tensorflow/stream_executor/cuda/cuda_driver.cc:590] creating context when one is currently active; existing: 0xd2404670
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 2 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.7335
pciBusID 0000:18:00.0
Total memory: 7.92GiB
Free memory: 7.81GiB
W tensorflow/stream_executor/cuda/cuda_driver.cc:590] creating context when one is currently active; existing: 0xd25591b0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 3 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.7335
pciBusID 0000:1c:00.0
Total memory: 7.92GiB
Free memory: 7.81GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 1 2 3
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y Y Y Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 1:   Y Y Y Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 2:   Y Y Y Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 3:   Y Y Y Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:07:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080, pci bus id: 0000:08:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:2) -> (device: 2, name: GeForce GTX 1080, pci bus id: 0000:18:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:3) -> (device: 3, name: GeForce GTX 1080, pci bus id: 0000:1c:00.0)

I tensorflow/core/common_runtime/gpu/pool_allocator.cc:247] PoolAllocator: After 47441 get requests, put_count=8461 evicted_count=1000 eviction_rate=0.118189 and unsatisfied allocation rate=0.844839
I tensorflow/core/common_runtime/gpu/pool_allocator.cc:259] Raising pool_size_limit_ from 100 to 110
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 2.33GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 3.08GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 3.08GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 3.98GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 3.98GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 2.54GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 2.54GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 3.17GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 2.68GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
W tensorflow/core/common_runtime/bfc_allocator.cc:217] Ran out of memory trying to allocate 3.86GiB. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory is available.
I tensorflow/core/common_runtime/gpu/pool_allocator.cc:247] PoolAllocator: After 2698 get requests, put_count=8709 evicted_c

This might be a better question for StackOverflow. Please see our issue tracker policy.