AixPB: increase jenkins user's data and stack limits to unlimited

Often I find when running tests or builds on machines directly, im hit with a memory error such as
    [javac] # There is insufficient memory for the Java Runtime Environment to continue.
    [javac] # Native memory allocation (malloc) failed to allocate 744016 bytes for Chunk::new
    [javac] # An error report file with more information is saved as:
    [javac] # /home/jenkins/openjdk-tests/TKG/scripts/hs_err_pid12583092.log

Thanks to @aixtools I found that adjusting the limit settings for the jenkins user helped to resolve these errors
@sxa What do you think?
The machines on which I have recently hit this error are ojdk06 and build-osuosl-aix71-ppc64-2. However in the past I do recall hitting errors similar to https://stackoverflow.com/questions/14038074/git-pull-fatal-out-of-memory-malloc-failed on some of our aix machines when running builds/tests

Do you have the LDR_MAXCNTRL variable set?

@sxa I dont think so. I cant find anything on a LDR_MAXCNTRL variable but I can find docs on a LDR_CNTRL. Neither variable is set in the shell session, and I cant find either variable in /etc/environment

@karianna I found that increasing the stack and data limits of the jenkins user to unlimited helped to resolve some of the memory errors (in the first comment) I keep getting when running builds and tests on machines directly.
If there are other ways around this error, Id be open to implementing them instead

@sxa I dont think so. I cant find anything on a LDR_MAXCNTRL variable but I can find docs on a LDR_CNTRL. Neither variable is set in the shell session, and I cant find either variable in /etc/environment

That'll be it - can you verify whether export LDR_CNTRL=MAXDATA=0x80000000 resolves those problems instead? If there's a behaviour difference between how your running them locally and under jenkins it would be better to understand why than just set thing to unlimited.

@sxa I was able to recreate the error on build-osuosl-aix71-ppc64-2. Exporting LDR_CNTRL=MAXDATA=0x80000000 resolved the issue. I see that its gets exported during build jobs https://github.com/AdoptOpenJDK/openjdk-build/blob/a3b79fbc67b3232e0c22f744293cf1c6e7caf163/build-farm/platform-specific-configurations/aix.sh#L57
I should consult that file more often


All deployments need to be transitioned over to the new Sterling k8s cluster

Complete as per meeting on 2/1


Module Panasonic-PTZ, Camera Panasonic

Hi! You can add a feature that allows you to reboot the camera?

I'm still not sure how this works exactly.
Can you provide a working HTTP request flow?

Thanks, I found it, but it only worked with basic authorization, I don’t know if it’s possible with digest?

Should be as easy as GET http://admin:12345@<IP_ADDRESS>/cgi-bin/initial?cmd=reset&Randomnum=12345
I nerver tried it before :)


Update deps in lib-js-test and test-tools

Use babel 7
Move babel to dev deps

Codecov Report

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

@@            Coverage Diff             @@
##           master     #205      +/-   ##
==========================================
+ Coverage   28.24%   36.65%   +8.41%
==========================================
  Files         102      118      +16
  Lines        2854     5355    +2501
==========================================
+ Hits          806     1963    +1157
- Misses       2048     3392    +1344


Razor Page - Loading PDF from Local TempFolder

I am trying to use the viewer to display a local file saved in the tempfolder.
This is my current code:
  Open yourpdf.pdf with PDF.js

However the PDF is not displayed.
If I enter the file path into my mozzila browser, the pdf loads properly.
Am I passing in the string incorrectly?
here's the sample of the Model.PDFUri:
C:\Users\username\AppData\Local\Temp\tmp99EE.pdf
What went wrong? (add screenshot)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

As is clearly mentioned in the README, see https://github.com/mozilla/pdf.js#getting-the-code, most browsers won't allow opening file:// URLs for security reasons. Hence this issue is INVALID, since it's not a limitation of the PDF.js project itself.


WIP: Change symlink target to valid file

What does this PR change?
Changed the target of /etc/products.d/baseproduct symlink because it was invalid before.
Fixes https://github.com/uyuni-project/sumaform/issues/806
This is untested yet. Not to be merged because it has potential to break anything that reads this symlink/file. Although I doubt it because in sumaform there is nothing and in the product we would have seen any breakage already with the invalid symlink. Still I would like to deploy and merge later.

@mcalmer can you please take a look at the proposed change here? It was my understanding that SUSE Manager is actually a base product, so the link should point to SUMa's product file...

I think the problem here is, that we are using JeOS image (which is SLES) and do not really migrate it to a SUSE Manager.

use SLE-Product-SUSE-Manager-Server Pool and Update repositories. They contain the product
rpm -q --nodeps sles-release
pkg.installed: SUSE-Manager-Server-release

Doing these 3 steps on an JeOS image would make it a real SUMA Server.
The same is required for a real SUMA Proxy, just use a SUSE-Manager-Proxy-release

I think the problem here is, that we are using JeOS image (which is SLES) and do not really migrate it to a SUSE Manager.

use SLE-Product-SUSE-Manager-Server Pool and Update repositories. They contain the product
rpm -q --nodeps sles-release
pkg.installed: SUSE-Manager-Server-release

Doing these 3 steps on an JeOS image would make it a real SUMA Server.
The same is required for a real SUMA Proxy, just use a SUSE-Manager-Proxy-release

Actually @lkotek was working on something very similar to fix the Proxy few weeks ago.

Steps I did:
ktsamis-srv:/etc/products.d # l
total 32
drwxr-xr-x   2 root root  199 Feb 11 17:34 ./
drwxr-xr-x 106 root root 8192 Feb 11 17:37 ../
lrwxrwxrwx   1 root root   24 Feb 11 17:34 baseproduct -> SUSE-Manager-Server.prod
-rw-r--r--   1 root root 1977 Jun  9  2020 sle-module-basesystem.prod
-rw-r--r--   1 root root 2463 Jun  9  2020 sle-module-server-applications.prod
-rw-r--r--   1 root root 2279 Jul  2  2020 sle-module-suse-manager-server.prod
-rw-r--r--   1 root root 2613 Jun  9  2020 sle-module-web-scripting.prod
-rw-r--r--   1 root root 3218 Jun 10  2020 SLES.prod

ktsamis-srv:/etc/products.d # zypper se -s release
Warning: The /etc/products.d/baseproduct symlink is dangling or missing!
The link must point to your core products .prod file in /etc/products.d.

Loading repository data...
Reading installed packages...

S  | Name                                   | Type       | Version       | Arch   | Repository
---+----------------------------------------+------------+---------------+--------+-------------------------------------
   | SUSE-Manager-Server-release            | package    | 4.1-44.2      | x86_64 | server_product_pool_repo
   | lsb-release                            | package    | 3.1-1.16      | noarch | os_pool_repo
i  | release-notes-susemanager              | package    | 4.1.5-3.34.1  | x86_64 | server_product_update_repo
v  | release-notes-susemanager              | package    | 4.1.4-3.27.1  | x86_64 | server_product_update_repo
v  | release-notes-susemanager              | package    | 4.1.3-3.24.1  | x86_64 | server_product_update_repo
v  | release-notes-susemanager              | package    | 4.1.2-3.21.1  | x86_64 | server_product_update_repo
v  | release-notes-susemanager              | package    | 4.1.1-3.18.1  | x86_64 | server_product_update_repo
v  | release-notes-susemanager              | package    | <IP_ADDRESS>-3.9.1 | x86_64 | server_product_update_repo
v  | release-notes-susemanager              | package    | <IP_ADDRESS>-3.6.3 | x86_64 | server_product_update_repo
v  | release-notes-susemanager              | package    | <IP_ADDRESS>-3.3.2 | x86_64 | server_product_update_repo
v  | release-notes-susemanager              | package    | 4.1.0-1.1     | x86_64 | server_product_pool_repo
   | release-notes-susemanager              | srcpackage | 4.1.5-3.34.1  | noarch | server_product_update_repo
   | release-notes-susemanager              | srcpackage | 4.1.4-3.27.1  | noarch | server_product_update_repo
   | release-notes-susemanager              | srcpackage | 4.1.3-3.24.1  | noarch | server_product_update_repo
   | release-notes-susemanager              | srcpackage | 4.1.2-3.21.1  | noarch | server_product_update_repo
   | release-notes-susemanager              | srcpackage | 4.1.1-3.18.1  | noarch | server_product_update_repo
   | release-notes-susemanager              | srcpackage | <IP_ADDRESS>-3.9.1 | noarch | server_product_update_repo
   | release-notes-susemanager              | srcpackage | <IP_ADDRESS>-3.6.3 | noarch | server_product_update_repo
   | release-notes-susemanager              | srcpackage | <IP_ADDRESS>-3.3.2 | noarch | server_product_update_repo
i  | sle-module-basesystem-release          | package    | 15.2-44.1     | x86_64 | os_pool_repo
   | sle-module-python2-release             | package    | 15.2-44.1     | x86_64 | module_python2_pool_repo
i  | sle-module-server-applications-release | package    | 15.2-44.1     | x86_64 | module_server_applications_pool_repo
i  | sle-module-suse-manager-server-release | package    | 4.1-10.3      | x86_64 | server_module_pool_repo
i  | sle-module-web-scripting-release       | package    | 15.2-44.1     | x86_64 | module_web_scripting_pool_repo
i+ | sles-release                           | package    | 15.2-44.3     | x86_64 | (System Packages)

For an extended search including not yet activated remote resources you may run 'zypper
search-packages' at any time.
Do you want to run 'zypper search-packages' now? [yes/no/always/never] (no): no

ktsamis-srv:/etc/products.d # zypper in SUSE-Manager-Server-release
Warning: The /etc/products.d/baseproduct symlink is dangling or missing!
The link must point to your core products .prod file in /etc/products.d.

Loading repository data...
Reading installed packages...
Resolving package dependencies...
2 Problems:
Problem: product:SLES-15.2-0.x86_64 conflicts with namespace:otherproviders(distribution-release) provided by product:SUSE-Manager-Server-4.1-0.x86_64
Problem: product:SUSE-Manager-Server-4.1-0.x86_64 requires product(SUSE-Manager-Server) = 4.1-0, but this requirement cannot be provided

Problem: product:SLES-15.2-0.x86_64 conflicts with namespace:otherproviders(distribution-release) provided by product:SUSE-Manager-Server-4.1-0.x86_64
 Solution 1: deinstallation of product:SLES-15.2-0.x86_64
 Solution 2: do not install product:SUSE-Manager-Server-4.1-0.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c/d/?] (c): 1

Problem: product:SUSE-Manager-Server-4.1-0.x86_64 requires product(SUSE-Manager-Server) = 4.1-0, but this requirement cannot be provided
  not installable providers: SUSE-Manager-Server-release-4.1-44.2.x86_64[server_product_pool_repo]
 Solution 1: deinstallation of product:SLES-15.2-0.x86_64
 Solution 2: do not install product:SUSE-Manager-Server-4.1-0.x86_64
 Solution 3: break product:SUSE-Manager-Server-4.1-0.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/3/s/r/c/d/?] (c): 1
Resolving dependencies...
Resolving package dependencies...

The following NEW package is going to be installed:
  SUSE-Manager-Server-release

The following NEW product is going to be installed:
  "SUSE Manager Server 4.1"

The following package is going to be REMOVED:
  sles-release

The following product is going to be REMOVED:
  "SUSE Linux Enterprise Server 15 SP2"

1 new package to install, 1 to remove.
Overall download size: 415.3 KiB. Already cached: 0 B. After the operation, 228.0 B will be freed.
Continue? [y/n/v/...? shows all options] (y):
Do you agree with the terms of the license? [yes/no] (no): yes
Retrieving package SUSE-Manager-Server-release-4.1-44.2.x86_64                                                                                (1/1), 415.3 KiB (254.9 KiB unpacked)
Retrieving: SUSE-Manager-Server-release-4.1-44.2.x86_64.rpm .................................................................................................................................................[done]

Checking for file conflicts: ................................................................................................................................................................................[done]
(1/2) Removing sles-release-15.2-44.3.x86_64 ................................................................................................................................................................[done]
Additional rpm output:
warning: file /etc/motd: remove failed: No such file or directory

(2/2) Installing: SUSE-Manager-Server-release-4.1-44.2.x86_64 ...............................................................................................................................................[done]
Executing %posttrans scripts ................................................................................................................................................................................[done]
There are running programs which still use files and libraries deleted or updated by recent upgrades. They should be restarted to benefit from the latest updates. Run 'zypper ps -s' to list these programs.

Core libraries or services have been updated.
Reboot is required to ensure that your system benefits from these updates.
ktsamis-srv:/etc/products.d # l
total 32
drwxr-xr-x   2 root root  214 Feb 11 17:46 ./
drwxr-xr-x 106 root root 8192 Feb 11 17:46 ../
lrwxrwxrwx   1 root root   24 Feb 11 17:46 baseproduct -> SUSE-Manager-Server.prod
-rw-r--r--   1 root root 1977 Jun  9  2020 sle-module-basesystem.prod
-rw-r--r--   1 root root 2463 Jun  9  2020 sle-module-server-applications.prod
-rw-r--r--   1 root root 2279 Jul  2  2020 sle-module-suse-manager-server.prod
-rw-r--r--   1 root root 2613 Jun  9  2020 sle-module-web-scripting.prod
-rw-r--r--   1 root root 3002 Jun  9  2020 SUSE-Manager-Server.prod

So the symlink is correct in the name but we need to install the package SUSE-Manager-Server-release which conflicts with SLES-15.2-0.x86_64 and we have to manually input the correct option. I am not sure if we can change this behavior. I don't know how to select options from sumaform/salt for zypper input. I need some help here

for the record, I think the following command should work: zypper -n in --force-resolution --auto-agree-with-licenses SUSE-Manager-Server-release
@mcalmer @ktsamis do you see any downside to use it?

I am not sure if --force-resolution will work we need to try out.
The problem is, who our PMs/TPMs see "JeOS". They say: JeOS is a SLES.
And there is no clean way of "changing the product".
The problem is, when you de-install sles-release it will delete kernel and glibc and you have "nothing".
So you need to use "--nodeps".
If zypper --force-resolution does the right thing we can do it. For sumaform this could work.

 I can help with the changes in sumaform.

I run on a sumaform server:
ktsamis-srv:~ # zypper --non-interactive install --auto-agree-with-licenses --force-resolution -t product SUSE-Manager-Server-release
Warning: The /etc/products.d/baseproduct symlink is dangling or missing!
The link must point to your core products .prod file in /etc/products.d.

Loading repository data...
Reading installed packages...
Product 'SUSE-Manager-Server-release' not found.

for the record, I think the following command should work: zypper -n in --force-resolution --auto-agree-with-licenses SUSE-Manager-Server-release
@mcalmer @ktsamis do you see any downside to use it?

@rjmateus the correct command is zypper --non-interactive install --auto-agree-with-licenses --force-resolution -t product SUSE-Manager-Server if you can add this one to sumaform we can close this I think

closed in favor of: https://github.com/uyuni-project/sumaform/pull/869


support loading pointer, structure, array type

this partially solve #10 to support pointer, structure, array type. I also added an attribute Compilation_Unit.type_dict which is a dictionary that map the offset in DWARF to corresponding type object.

Ok, a few changes I would suggest:

You have a CompilationUnit.type_dict. This means that to access the types one has to navigate to a cu object first:type_list = p.loader.main_object.compilation_units[0].type_dict

I think it would be better to make type_list a global variable of the elf object instead. Since the variable types are defined globally and a variable might reference a type defined in a different cu. And this way, we also save memory because there are more compilation units than elf objects. I also think that type_list is a better name than type_dict.
A field in VariableType to get the elf object. Then we can also get the type_list inside VariableType like this:type_list = self._elf_object.type_list

Just as I did with Variable which now also has a field _elf_object, see 808bf38c827c44abf291f04e40280ab5c1ea6d5a.
Once we have the elf object in a VariableType, we can create nice getter methods:@attribute
def pointee(self):
    type_list = self._elf_object.type_list
    return type_list[self.pointee_offset]

Likewise for members of a structure:@attribute
def members(self):
    type_list = self._elf_object.type_list
    members = []
    for m_offset in self.member_offsets:
        m_type_offset = type_list[m_offset].reference_offset
        members.append( type_list[m_type_offset] )
    return members

Or similar, since this does not look good performance-wise, but I think this should work well.
An array in C behaves like a pointer, so it would be nice to have the VariableArrayType as subclass of VariablePointerType. I also think that pointee_offset and reference_offset should have the same name (in VariablePointerType).

I've moved CompilationUnit.type_dict to 'ELF.type_list', added variableType._elf_object and the getter method like you suggested. One small difference is that the getter method would return None if the pointee type is not loaded (because its type is not supported to load yet. ex: typedef, union,..., or some field of the type is missing. Ex: DW_AT_byte_size).

Ok, I did lots of renaming.
I also had to undo my suggestion of making ArrayType a subclass of PointerType. I tested it and found out that the .addr of an array does not address a pointer (like pointer type) but directly the first element. So they are different. Moreover, the C standard clarly destincts between the array type with an element type and the pointer type with an referenced type. I still like pointee but I think it is better to go with the C standard and call it referenced_type.


narrow: Show streams:all notice only after "oldest" is found.

Followup of PR #15273

This looks great!  I think the commit message should have explained why we needed to move this from narrow.js, which I think I understand, but is sorta a key detail here.

Could we move this either inside or directly adjacent ot the call to notifications.hide_or_show_history_limit_message from within message_fetch.js?  That feels like a more appropriate place, since then we don't need a comment explaining that we've already updated fetch_status`?  And in any case, these belong next to each other as they're very similar features.

(Also, let me know how you've tested this, and post a screenshot of CI, or disable CI on your fork, so we have CI output here).

Tested this by creating new user and the notice is not present in home view.
Also after displaying the notice on reaching the "oldest" for a search query and then going to the home view, it has the notice hidden.
I added some related refactoring in the second and third commits and updated the commit messages.

The first two commits were merged as the series ending with 542a3dea776330839c12fdb0b05fcbaf8ab2e560

Merged as c7e39ef09081ddbcbeef4c88051c5e24830c145f, after adding a comment at the top of update_top_of_narrow_notices to make clear it's intentional that it assumes we hide first.
I did notice a bug we should probably fix while we're thinking about this, though: the href logic in show_end_of_results_notice is wrong in the case that one is looking at "Recent topics" or "Settings" or any other overlay that changes the hash fragment at the moment to not just be the current narrow.
We need to compute the URL to suggest from msg_list.data.filter and hash_util.js logic, I think.
Can you open an issue for this and work on it?  Thanks @ryanreh99!


fix: support escaping long strings in smaller chunks

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

Comparison is base (c9a6375) 98.69% compared to head (fe7b782) 98.76%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #37      +/-   ##
==========================================
+ Coverage   98.69%   98.76%   +0.06%
==========================================
  Files          46       47       +1
  Lines        4608     4788     +180
==========================================
+ Hits         4548     4729     +181
+ Misses         60       59       -1

Files Changed
Coverage Δ

include/emio/detail/utf.hpp
100.00% <100.00%> (ø)

include/emio/writer.hpp
100.00% <100.00%> (ø)

test/unit_test/detail/test_utf.cpp
100.00% <100.00%> (ø)

test/unit_test/test_writer.cpp
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


As a site administrator, I want to have a login page to let user login before access the dashboard page

Acceptance criteria

Allow user login if input info match pre-define username/password
Unit tests and snapshot test.

estimate 5

@tranvnb  If sign in button is clicked before filling Username and password, error should be shown by displaying red boxes or error message below the input fields.


What domain name does this need to be hosted under?

Description
As per title, we need to know where this new system is going to live?
Task

[ ] Domain name purchased/registered for this new platform.

@NuclearRedeye @chris-huggins What do you think?
We could use article.hosting
Or a subdomain of sciety
Or a subdomain of eLife
Or a subdomain of ColLab
Or we could buy enhancedpreprint.org

Speaking as someone who has to maintain this sort of thing indefinitely, it would be good if whatever you choose could be brought under configuration control.

Can we come up with a better temporary name than just epp-node-prototype?

@BlueReZZ Should it be subdomain of eLife like https://reviewed-preprint.elifescience.org/
Or do we want to include them in the website like this for example:
https://elifesciences.org/preprint/74443
https://elifesciences.org/reviewed-preprint/74443
I will add this question to the next cross-functional meeting

Definitely one to be answered by people closer to the user. My general feeling is that a subdomain is simpler technically and more semantically correct but readers may expect something different.

Yes we should get some feedback from users. Anurag from Google Scholar recommends that the URL structure for preprints would ideally indicate them as such in an unambiguous structure.
I think a URL like using the word "preprint" like this https://elifesciences.org/preprint/74443 could be more future-proof if we want to list and display preprints under review in the future

My thoughts:
If preprints are to be a separate system from the journal then a subdomain would be best. preprints.elifesciences.org or some such. Things get a bit awkward when meshing disparate systems (like Lens).
If preprints are to be a separate system from the journal initially but will be incorporated eventually then something like elifesciences.org/preprints can be accommodated. We'd essentially divert traffic to /preprints to the new system. It means we wouldn't have to do redirects from preprints.elifesciences.org/foo to elifesciences.org/preprints/foo in the future. Redirects are pure technical debt and we already have a mountain of them.
If preprints are to be incorporated into the journal proper, including having XML and article JSON, living in lax etc, then it should have a URL like any other article: elifesciences.org/articles/12345. This was my understanding of Damian's direction, that preprints and peer-reviewed articles would be living alongside one another. (If preprints don't have a DOI then they can't have a proper /article URL.)
I haven't seen or heard of any activity in elife-bot, bot-lax-adaptor, lax, api-raml, production etc to accommodate preprints so I'm guessing this is a bolt-on, at least for the time being.

Anurag from Google Scholar recommends that the URL structure for preprints would ideally indicate them as such in an unambiguous structure.

Google Scholar are not transparent, their advice has been contradictory and their problems indexing journal content are often impossible to debug. It's important we ask for their stance on this but I don't think we should let them set our URL policy.
Also, an article's HTML metadata should indicate unambiguously whether it's a preprint or not. I'd be keen to know how else Google Scholar may distinguish a preprint from a peer-reviewed article as this is the sum of their public knowledge we have to go on: https://scholar.google.com/intl/en/scholar/inclusion.html#indexing

I think a URL like using the word "preprint" like this https://elifesciences.org/preprint/74443 could be more future-proof if we want to list and display preprints under review in the future

I agree, I think an article's status of 'preprint' is more interesting and important than it's 'poa' or 'vor' status and deserving of it's own namespace in the journal, just like /articles, /digests, /magazine etc. It's also consistent with our current URL policy, straightforward to implement in the API (should we decide to do so), and cleanly separates preprint articles from peer-reviewed articles - a concession to the intermingling and prestige devaluation of our current article corpus. It would also satisfy Google Scholar, for what that is worth.
Damian on Friday:

Plan the transition to the full PRC workflow for the eLife journal, make an announcement in time for our 10 year anniversary and roll out in early 2023.

If you want an early 2023/first-quarter roll out of this then I think a lot of the technical ambiguities here need straightening out immediately. It seems like a long way away but it isn't.

@Maelplaine Could we update this with the latest thoughts on this (i.e. from Google Scholar meeting)? Thanks.

Google Scholar's recommendation regarding the URL is that we treat the two — VORs and reviewed preprints — as two different types of content so with a different URL structure. Something like this https://elifesciences.org/preprint/74443
would work well.
Here are the meeting notes:
https://docs.google.com/document/d/16FkjZncbqWJqgv5YGMTbcXiMSZA3MMNFqamqV2pOhzs/edit

Thanks, @Maelplaine
A few points from those meeting notes:

because of multiple preprint versions - will need suffix for each version

I assume you mean a suffix for /preprints/$id, in which case we have a precedent already with the /articles/$id URL. I would recommend /preprints/$id/versions/$version.

We should change the archive to have links to each year instead of the POST select.
We are using “Post” which isn’t great for the crawler.

There is no POST happening here, the screenshot proves it and you can see for yourself: https://elifesciences.org/archive/2012
And just to prove there is no JS shenanigans going on, converting that GET to a POST:

So is Google Scholar actually indexing those pages but with difficulty (??) or not indexing them at all, because of the form-based navigation?
Whatever today's excuse is, it would be easy to also provide a simple list of links that a bot a could follow, either as part of the page's metadata or via a <nav> element, but I'd defer to @discodavey on that.

Do we want to redirect the canonical link to the VOR? That would make this a non issue - it would always point to the newest version… surely we want to do this? 301?

I would recommend not doing that. Make it clear on the preprint page that it now also has a VOR (which may be significantly different to the most recent preprint).
The canonical version of an article can be indicated via the page metadata or HTTP header, or both.
We currently embed the canonical URL into the HTML:

And we tackled adding the HTTP header version of the canonical article to the PDF downloads in this ticket: https://github.com/elifesciences/issues/issues/5201
We would do the same with preprints that went on to gain a VOR - the canonical URL for /preprints/$id would point to their new /articles/$id.

I would recommend not doing that. For humans, make it clear on the preprint page that it now also has a VOR (which may be significantly different to the most recent preprint).

Thanks for your input on this @lsh-0. You quoted my notes from the meeting there, but I agree we with your suggestion.

As per the latest info from @FAtherden-eLife, we're looking at going with elifesciences.org/reviewed-preprints/{msid}[v{versionid}].
This means, for the purposes of this ticket about the deployment domain, it doesn't really matter what "domain" our EPP platform is hosted on. The suggestion put forward at the cross-functional meeting earlier this week was to match existing convention, and match it with epp, so going with prod--epp.elifesciences.org, (or staging-- for staging, etc).
I will action the staging environment part of this today, and close this ticket.
The path changes to EPP to match expected path on elifesciences.org will follow early next week when another PR gets merged and joins all the deployment bits together. We can then finally drop the badly named epp-node-prototype subdomain.
Related issues:
https://github.com/elifesciences/enhanced-preprints-server/issues/366
https://github.com/elifesciences/enhanced-preprints-client/issues/54


[NEW ALGORITHM] Red-Black Tree Implementation

Red-Black Tree Implementation
Description: Red-Black Trees are a type of self-balancing binary search tree. Nodes in this tree have an additional "color" property that ensures the tree remains balanced during insertions and deletions.
Key Skills: Memory management, pointer manipulation, balancing conditions.
Complexity: High for both implementation and balancing rules (like color rotations).
new algorithm, gssoc-ext, hacktoberfest, level2
Assignees:

[x] Contributor in GSSoC-ext
[x] Want to work on it

Hi @shriyadindi
Please assign this to me. I would like to work on this.


feat: update build process, documents and development config for icons

Alaska Airlines Pull Request
Summary:
This PR updates the general structure of how the SVGs are processed from SRC to DIST. As well as addresses an issue related to how default aria roles were being managed.
Tests and documentation have all been updated per these new features.
Type of change:
Please delete options that are not relevant.

[x] New capability
[x] Revision of an existing capability
[x] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Orion Design System Team

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Request]Exclude set Inside DynamicBoneCollider

Please exclude the collider which is set to inside
If you use an avatar gimmick inside-collider, you will pull another person's Dynamic Bone
sorry I used google translation

I am not entirely sure what you mean by "excluding the collider which is set to inside".
Do you wish for me to remove colliders that are not in your hands to be ignored? If so please refer to issue #1 if not please explain in a bit more details

I'm talking about the Dynamic Bone Collider Bound setting
I want to exclude this one because it pulls Dynamic Bone of others when targeted
sorry I used google translation

Feature has been added to the latest version.
Thank you for the recommendation!


enableLxcfs not work for alpine based containers

Ⅰ. Issue Description
After enabling lxcfs, memory limit works for ubuntu containers,but  did not work for alpine-based containers.
Ⅱ. Describe what happened

lxcfs enabled:

$ ps aux | grep -E "(pouchd|lxcfs)"
root       931  0.0  0.0 161076  1724 ?        Ssl  20:39   0:00 /usr/bin/lxcfs /var/lib/lxcfs/
root      2808  0.6  0.8 1211132 65500 ?       Ssl  20:40   0:03 /usr/local/bin/pouchd --enable-lxcfs

worked for ubuntu

$ pouch run -m 200m --enableLxcfs ubuntu  free -m
WARNING: Current Kernel does not support memory swap, discard --memory-swap
total        used        free      shared  buff/cache   available
Mem:            200           1         198           0           0         198
Swap:          1952           0        1952

not work for alpine-based containers, showing the host memory size: 7872M

$pouch run -m 200m --enableLxcfs alpine  free -m
WARNING: Current Kernel does not support memory swap, discard --memory-swap
total       used       free     shared    buffers     cached
Mem:          7872       4037       3834         49        149          0
-/+ buffers/cache:       3887       3984
Swap:         1952          0       1952
$pouch run -m 200m --enableLxcfs nginx:alpine  free -m
WARNING: Current Kernel does not support memory swap, discard --memory-swap
total       used       free     shared    buffers     cached
Mem:          7872       4037       3834         49        149          0
-/+ buffers/cache:       3887       3984
Swap:         1952          0       1952

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

pouch version (use pouch version):
KernelVersion:   4.15.0-46-generic
Os:              linux
Version:         1.2.0
APIVersion:      1.24
Arch:            amd64
BuildTime:       2019-02-14T02:21:34+00:00
GitCommit:       1.2.0
GoVersion:       go1.10.4
OS (e.g. from /etc/os-release):
Ubuntu 18.04
Kernel (e.g. uname -a):
Linux laptop 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Install tools:
Others:

That is quite interesting. I do not think it is related to the specific images. While it seems strange things happened. We will dig on it.

Quite strange. Actually I cannot reproduce this on my machine:
root@ubuntu:~# pouch run -m 200m --enableLxcfs alpine free -m
WARNING: Current Kernel does not support memory swap, discard --memory-swap
             total       used       free     shared    buffers     cached
Mem:          2000        580       1419          3         19        403
-/+ buffers/cache:        157       1842
Swap:         2045          0       2045
root@ubuntu:~# uname -a
Linux ubuntu 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root@ubuntu:~# cat /etc/issue
Ubuntu 16.04.3 LTS \n \l

root@ubuntu:~# pouch info
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 3
ID:
Name: ubuntu
Server Version: 1.2.0
Storage Driver: overlayfs
Driver Status: []
Logging Driver: json-file
Volume Drivers: [local tmpfs]
Cgroup Driver: cgroupfs
Default Runtime: runc
Runtimes: runc
runc: <nil>
containerd: <nil>
Security Options: []
Kernel Version: 4.4.0-87-generic
Operating System: "Ubuntu 16.04.3 LTS"
OSType: linux
Architecture: amd64
HTTP Proxy:
HTTPS Proxy:
Registry: https://index.docker.io/v1/
Experimental: false
Debug: false
Labels:
  node_ip=<IP_ADDRESS>
  SN=0
CPUs: 1
Total Memory: 1.953GiB
Pouch Root Dir: /var/lib/pouch
LiveRestoreEnabled: true
LxcfsEnabled: false
CriEnabled: false
Daemon Listen Addresses: [unix:///var/run/pouchd.sock]

Could you help to dig this issue as well? @libnux Please tell us if you have any problems.

I have reproduced it:
root@ubuntu:~# pouch run -m 123m --enableLxcfs ubuntu:16.04 free -m
WARNING: Current Kernel does not support memory swap, discard --memory-swap
              total        used        free      shared  buff/cache   available
Mem:            123           0         122           3           0         122
Swap:          2045           0        2045
root@ubuntu:~# pouch run -m 123m --enableLxcfs alpine free -m
WARNING: Current Kernel does not support memory swap, discard --memory-swap
             total       used       free     shared    buffers     cached
Mem:          2000        558       1441          3         20          0
-/+ buffers/cache:        538       1461
Swap:         2045          0       2045

I think the file /proc/meminfo inside of both container alpine and ubuntu are taken effect to take mem 123m, see:
root@ubuntu:~# pouch run -it -m 123m --enableLxcfs alpine sh
WARNING: Current Kernel does not support memory swap, discard --memory-swap
/ # cat /proc/meminfo
MemTotal:         125952 kB
MemFree:          125416 kB
MemAvailable:     125416 kB
Buffers:               0 kB
Cached:               16 kB
SwapCached:            0 kB
Active:              188 kB
...
/ # free -m
             total       used       free     shared    buffers     cached
Mem:          2000        576       1423          3         20          0
-/+ buffers/cache:        556       1443
Swap:         2045          0       2045
/ # top

root@ubuntu:~# pouch run -it -m 123m --enableLxcfs ubuntu:16.04 sh
WARNING: Current Kernel does not support memory swap, discard --memory-swap
# cat /proc/meminfo
MemTotal:         125952 kB
MemFree:          125172 kB
MemAvailable:     125172 kB
Buffers:               0 kB
Cached:               12 kB
SwapCached:            0 kB
Active:              316 kB
Inactive:              0 kB
# free -m
              total        used        free      shared  buff/cache   available
Mem:            123           0         122           3           0         122
Swap:

I begin to be suspicious of the binary free of two images.
Do you have any input? @CodeJuan @libnux

@allencloud I see the same behavior as you. After stracing the "free" command in alpine container, seems that it calculated meminfo from the sysinfo  system call and the /proc/meminfo file.
Closing this issue, since It should be problem of busybox toolbox in alpine. Thanks for you help.
According to https://github.com/lxc/lxcfs/issues/202, lxcfs does not support sysinfo virtualization.

/ # strace free -m
execve("/usr/bin/free", ["free", "-m"], 0x7fff8da9c4e8 /* 5 vars */) = 0
arch_prctl(ARCH_SET_FS, 0x7f6d8ac86b68) = 0
set_tid_address(0x7f6d8ac86ba8)         = 14
mprotect(0x7f6d8ac83000, 4096, PROT_READ) = 0
mprotect(0x5561ce48d000, 16384, PROT_READ) = 0
getuid()                                = 0
ioctl(1, TIOCGWINSZ, {ws_row=0, ws_col=0, ws_xpixel=0, ws_ypixel=0}) = 0
writev(1, [{iov_base="             total       used   "..., iov_len=73}, {iov_base="\n", iov_len=1}], 2             total       used       free     shared    buffers     cached
) = 74
sysinfo({uptime=277, loads=[30848, 33600, 16672], totalram=8254693376, freeram=4862984192, sharedram=23855104, bufferram=136732672, totalswap=2047864832, freeswap=2047864832, procs=663, totalhigh=0, freehigh=0, mem_unit=1}) = 0
open("/proc/meminfo", O_RDONLY)         = 3
read(3, "MemTotal:         125952 kB\nMemF"..., 1024) = 1024
lseek(3, -884, SEEK_CUR)                = 140
close(3)                                = 0
writev(1, [{iov_base="Mem:          7872       3234   "..., iov_len=73}, {iov_base="\n", iov_len=1}], 2Mem:          7872       3234       4637         22        130          2
) = 74
writev(1, [{iov_base="-/+ buffers/cache:       3101   "..., iov_len=40}, {iov_base="\n", iov_len=1}], 2-/+ buffers/cache:       3101       4770
) = 41
writev(1, [{iov_base="Swap:         1952          0   "..., iov_len=40}, {iov_base="\n", iov_len=1}], 2Swap:         1952          0       1952
) = 41
exit_group(0)                           = ?
+++ exited with 0 +++

Thanks for your issue. Please feel free to contact us if you meet any problems. Thanks. @libnux
If you wish to contact with us, please make sure you have read the issue https://github.com/alibaba/pouch/issues/2628.


Add a task which checks for format compliance

The format task applies the format, which is great.
It would be awesome if there was a checkFormat task, which was added as a dependency to the check task, but only threw errors / warnings without actually applying those changes.
The license-gradle-plugin works this way.  If you want to tinker with it on a super-simple example project, it is used here.
This makes it easy for someone to see that they have a formatting problem when they run gradlew build, and gives them a chance to commit their changes before running the format, which might make changes they'd like to disable with a pair of @formatter:off/on tags.
I think this could be achieved by looking at the value of the TextEdit which is generated by the formatter.

I agree it would make sense (the format is actually not executed by default in our build to avoid this kind of problems with commit changes).
So a task checkFormat that would fail if changes should be applied.
Do you think it should produce the formatted files somewhere in build/ folder (to help diff with the actual code maybe) ?
I did not get your point about @formatter tags, would you mind to explain it into more details please?

If you have a block of code with weird spacing that violates your format, but you'd like to preserve it (maybe as ASCII art comment), you can add // @formatter:off before the special spacing, and then // @formatter:on after the spacing to disable and then re-enable the Eclipse code formatter for that one little chunk.
Personally, I always make a commit before I run the formatter.  Then I run the formatter, and look at the diff.  If there's a piece I don't like, I restore that part and wrap it in formatter tags.
I think the biggest usage of the checkFormat task will be enforcing coding styles for pull requests and continuous integration setups.  I'm not sure what the performance penalty of applying the edit and saving a copy to the build folder would be, but I imagine it's not trivial for a large project.
The most common format enforcer people are using these days is checkstyle, which hooks into the check task. It's a pain for contributors though, because you've got to fix violations manually.
Your plugin is great for contributors because they can fix violations automatically, but it's pain for library maintainers because there isn't an easy way to check for compliance.
With this feature, I think your plugin would be the undeniable best option.


❓ - Problems with SuggestView

Description
Hello, dear developer!
I have a problem(
I need to use SuggestView, but I get the same error as in your example - it also doesn't work.

I have a SuggestApiKey, but there is no field in the config where I can add it.
It’s in the documentation, but in fact it’s not.

I'm using version 13.2.0 for Angular 12.2.16.
Help me, please!

I solved this through inheritance and it works. But it would be nice to see information about this in the documentation.

Thank you very much!

v15, v14 and v13 are released. I added the missing property.


no sound

FreeBSD 12.0-CURRENT, Trueos 18.03
Desktop is xfce4 4.12.4
pysine loads into python 2.7 ok, but no sound comes out of the speaker.
sine(1000.,10.) appears to work, with a proper 10S duration.
audio works with everything else, music, web, video ,etc.
It -is- working with the same os on a lenovo laptop.

Hi, no idea what the problem is. It is likely a problem with the library underlying pysine, i.e. PyAudio. Are you able to verify that PyAudio works on your computer, e.g. by running the unit tests of PyAudio?

closing this because it has been stale for almost a year now


inform users about feature differences with local repl

Underneath this line we should add a paragraph stating: "This web repl misses some features that are available in the CLI (roc repl) like defining variables without a final expression, that will result in the "Missing Final Expression" error."

i would like to work on this issue

Thanks @KekmaTime :) I've assigned you to the issue, feel free to request me as reviewer for your PR.

@Anton-4 Ive opened a PR can you check it?


Can't make a working bot

I cannot make a simple code to just send a message to someone. Can you provide us with a fully working example that will atleast send and receive one message?

Check out the ping example script. It's a well documented example of bot-like interaction.

@justingood I'm sorry if I am a noob, but how do I get it to work? I run it it using python ping.py but then I just get nothing. Should I be editing anything inside the file? (yes I read it)

The ping example needs a altedy running cli somewhere.
The readme shows a way to start the cli from python.
I am on vaccation for a week without internet access, so I will noz be able to support you, sorry.

*Already

@luckydonald :| tried that, bind: address already in use well time to go back to lua

This just means, you are already having a cli listening at that port.
(Or you had. It can take up to 2 minutes to release the port) or, just use an other port. Specify it as port= in the Telegram constructor.


Question on environments

I am trying some environments from: https://latex.wikia.org/wiki/List_of_LaTeX_environments#:~:text=The paragraph environments are center,quote%2C verbatim%2C and verse and I do not think this plugin supports all (such as enumerate environment)? As such, what are the supported environments?

Interesting. The plugin should support any environment that doesn’t require options (I’m planning to add support for these too).
Can you give me an example of a case where it isn’t working with the enumerate environment so I can see what’s going wrong?

Taking a closer look, is your issue that enumerate environments don't render? If so, that isn't due to this plugin but is a limitation of MathJax, which Obsidian uses to render math.
This plugin does no rendering. It only provides some helpers for modifying surrounding environments in the markdown source.
For a list of supported commands and environments in MathJax you can check here.

Closing for lack of info but I'll be happy to take a second look if the issue remains.


undefined method `to_sym' for nil:NilClass in some Rails cop

rubocop -r rubocop-rails --only Rails/FilePath dummy.rb -d shows following error:
undefined method `to_sym' for nil:NilClass
.../rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/rubocop-0.74.0/lib/rubocop/cop/mixin/configurable_enforced_style.rb:65:in `style'

It seems other Rails cops supporting EnfocedStyle cause same error too.
I cannot reproduce without rubocop-rails.

Expected behavior
No errors.
Actual behavior
Error occurred with some Rails cops.
Steps to reproduce the problem
% rubocop -r rubocop-rails --only Rails/FilePath dummy.rb
Inspecting 1 file
An error occurred while Rails/FilePath cop was inspecting /private/tmp/dummy/dummy.rb:1:0.
To see the complete backtrace run rubocop -d.
.

1 file inspected, no offenses detected

1 error occurred:
An error occurred while Rails/FilePath cop was inspecting /private/tmp/dummy/dummy.rb:1:0.
Errors are usually caused by RuboCop bugs.
Please, report your problems to RuboCop's issue tracker.
https://github.com/rubocop-hq/rubocop/issues

Mention the following information in the issue report:
0.74.0 (using Parser <IP_ADDRESS>, running on ruby 2.6.4 x86_64-darwin18)
% cat dummy.rb
dummy
% cat Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

gem "rubocop"
gem "rubocop-rails"

RuboCop version
Include the output of rubocop -V or bundle exec rubocop -V if using Bundler. Here's an example:
% rubocop -V
0.74.0 (using Parser <IP_ADDRESS>, running on ruby 2.6.4 x86_64-darwin18)
% bundle list
Gems included by the bundle:
  * ast (2.4.0)
  * bundler (1.17.2)
  * jaro_winkler (1.5.3)
  * parallel (1.17.0)
  * parser (<IP_ADDRESS>)
  * rack (2.0.7)
  * rainbow (3.0.0)
  * rubocop (0.74.0)
  * rubocop-rails (2.3.2)
  * ruby-progressbar (1.10.1)
  * unicode-display_width (1.6.0)

I cannot reproduce this issue. Is something set in .rubocop.yml?

No .rubocop.yml.
I can reproduce it in docker environment:
% docker run -it --rm ruby:2.6.4 /bin/bash -exc 'gem i rubocop-rails; echo dummy | rubocop -r rubocop-rails --only Rails/FilePath --stdin dummy.rb -d'
+ gem i rubocop-rails
Fetching rack-2.0.7.gem
Fetching jaro_winkler-1.5.3.gem
Fetching parallel-1.17.0.gem
Fetching ast-2.4.0.gem
Fetching parser-<IP_ADDRESS>.gem
Fetching rainbow-3.0.0.gem
Fetching unicode-display_width-1.6.0.gem
Fetching ruby-progressbar-1.10.1.gem
Fetching rubocop-rails-2.3.2.gem
Fetching rubocop-0.74.0.gem
Successfully installed rack-2.0.7
Building native extensions. This could take a while...
Successfully installed jaro_winkler-1.5.3
Successfully installed parallel-1.17.0
Successfully installed ast-2.4.0
Successfully installed parser-<IP_ADDRESS>
Successfully installed rainbow-3.0.0
Successfully installed ruby-progressbar-1.10.1
Successfully installed unicode-display_width-1.6.0
Successfully installed rubocop-0.74.0
Successfully installed rubocop-rails-2.3.2
10 gems installed
+ echo dummy
+ rubocop -r rubocop-rails --only Rails/FilePath --stdin dummy.rb -d
For /: configuration from /usr/local/bundle/gems/rubocop-0.74.0/config/default.yml
Inspecting 1 file
Scanning /dummy.rb
An error occurred while Rails/FilePath cop was inspecting /dummy.rb:1:0.
undefined method `to_sym' for nil:NilClass
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/mixin/configurable_enforced_style.rb:65:in `style'
/usr/local/bundle/gems/rubocop-rails-2.3.2/lib/rubocop/cop/rails/file_path.rb:83:in `check_for_rails_root_join_with_slash_separated_path'
/usr/local/bundle/gems/rubocop-rails-2.3.2/lib/rubocop/cop/rails/file_path.rb:59:in `on_send'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/commissioner.rb:57:in `block (2 levels) in trigger_responding_cops'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/commissioner.rb:128:in `with_cop_error_handling'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/commissioner.rb:56:in `block in trigger_responding_cops'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/commissioner.rb:55:in `each'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/commissioner.rb:55:in `trigger_responding_cops'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/commissioner.rb:32:in `block (2 levels) in <class:Commissioner>'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/ast/traversal.rb:13:in `walk'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/commissioner.rb:44:in `investigate'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/team.rb:119:in `investigate'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/team.rb:107:in `offenses'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cop/team.rb:44:in `inspect_file'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:277:in `inspect_file'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:225:in `block in do_inspection_loop'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:257:in `block in iterate_until_no_changes'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:250:in `loop'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:250:in `iterate_until_no_changes'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:221:in `do_inspection_loop'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:124:in `block in file_offenses'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:142:in `file_offense_cache'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:122:in `file_offenses'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:110:in `process_file'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:87:in `block in each_inspected_file'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:86:in `each'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:86:in `reduce'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:86:in `each_inspected_file'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:73:in `inspect_files'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/runner.rb:39:in `run'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cli.rb:210:in `execute_runner'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cli.rb:80:in `execute_runners'
/usr/local/bundle/gems/rubocop-0.74.0/lib/rubocop/cli.rb:51:in `run'
/usr/local/bundle/gems/rubocop-0.74.0/exe/rubocop:13:in `block in <top (required)>'
/usr/local/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
/usr/local/bundle/gems/rubocop-0.74.0/exe/rubocop:12:in `<top (required)>'
/usr/local/bundle/bin/rubocop:23:in `load'
/usr/local/bundle/bin/rubocop:23:in `<main>'
.

1 file inspected, no offenses detected

1 error occurred:
An error occurred while Rails/FilePath cop was inspecting /dummy.rb:1:0.
Errors are usually caused by RuboCop bugs.
Please, report your problems to RuboCop's issue tracker.
https://github.com/rubocop-hq/rubocop/issues

Mention the following information in the issue report:
0.74.0 (using Parser <IP_ADDRESS>, running on ruby 2.6.4 x86_64-linux)
Finished in 0.3084206999919843 seconds

Thanks for the reproduction step with Docker environment. I can reproduce it.

I can reproduce the bug only if the .rubocop.yml exists.
$ ls -A
dummy.rb
$ rubocop -r rubocop-rails --only Rails/FilePath dummy.rb --cache false
# => display the error

$ touch .rubocop.yml
$ rubocop -r rubocop-rails --only Rails/FilePath dummy.rb --cache false
# => no error

And I can avoid the error with --force-default-config.
$ ls -A
dummy.rb
$ rubocop -r rubocop-rails --only Rails/FilePath dummy.rb --cache false
# => display the error

$ rubocop -r rubocop-rails --only Rails/FilePath dummy.rb --cache false --force-default-config
# => no error

I can also reproduce the error with Rails/HttpStatus cop.
So I guess other rubocop plugins also have the error.

I confess I'm swimming in a sea of confusion, but I wonder if I've stumbled across something relevant to this thread.
I tried following the seemingly straightforward instructions to include rubocop-rails in my Rails app, and when I tried to run it, I was awash with errors similar to that described above.
It seems to be that rubocop-rails is running using the default.yml from the rubocop gem instead of the one from the rubocop-rails gem. When I force it to use the config file from rubocop-rails gem, it works. What is the mechanism for it to switch which default config file to use, because it seems that isn't working. I concur that adding --force-default-config does make it work.

I try to add default value to .rubocop.yml explicitly, but it does not solved.
Rails/FilePath:
  EnforcedStyle: "slashes"

I found my situation caused by --stdin /path/to/without/yml/file.
Test environment:
% cat Dockerfile
FROM ruby:2.7.0
RUN gem install rubocop-rails
% docker run --rm -it rubocop-error rubocop -V
0.79.0 (using Parser <IP_ADDRESS>, running on ruby 2.7.0 x86_64-linux)

Without .rubocop.yml in ancestors of dummy file path.
% docker run --rm -it rubocop-error bash -c 'rubocop -r rubocop-rails --stdin /path/to/dummy.rb <<<"x"'
Inspecting 1 file
An error occurred while Rails/ActionFilter cop was inspecting /path/to/dummy.rb:1:0.
To see the complete backtrace run rubocop -d.
An error occurred while Rails/DynamicFindBy cop was inspecting /path/to/dummy.rb:1:0.
To see the complete backtrace run rubocop -d.
An error occurred while Rails/FilePath cop was inspecting /path/to/dummy.rb:1:0.
To see the complete backtrace run rubocop -d.
An error occurred while Rails/UniqBeforePluck cop was inspecting /path/to/dummy.rb:1:0.
To see the complete backtrace run rubocop -d.
C

Offenses:

ath/to/dummy.rb:1:1: C: Style/FrozenStringLiteralComment: Missing magic comment # frozen_string_literal: true.
x
^

1 file inspected, 1 offense detected

4 errors occurred:
An error occurred while Rails/ActionFilter cop was inspecting /path/to/dummy.rb:1:0.
An error occurred while Rails/DynamicFindBy cop was inspecting /path/to/dummy.rb:1:0.
An error occurred while Rails/FilePath cop was inspecting /path/to/dummy.rb:1:0.
An error occurred while Rails/UniqBeforePluck cop was inspecting /path/to/dummy.rb:1:0.
Errors are usually caused by RuboCop bugs.
Please, report your problems to RuboCop's issue tracker.
https://github.com/rubocop-hq/rubocop/issues

Mention the following information in the issue report:
0.79.0 (using Parser <IP_ADDRESS>, running on ruby 2.7.0 x86_64-linux)

With .rubocop.yml in ancestors of dummy file path.
% docker run --rm -it rubocop-error bash -c 'mkdir -p /path/to; touch /path/to/.rubocop.yml; rubocop -r rubocop-rails --stdin /path/to/dummy.rb <<<"x"'
Inspecting 1 file
C

Offenses:

ath/to/dummy.rb:1:1: C: Style/FrozenStringLiteralComment: Missing magic comment # frozen_string_literal: true.
x
^

1 file inspected, 1 offense detected

% docker run --rm -it rubocop-error bash -c 'mkdir -p /path; touch /path/.rubocop.yml; rubocop -r rubocop-rails --stdin /path/to/dummy.rb <<<"x"'
Inspecting 1 file
C

Offenses:

ath/to/dummy.rb:1:1: C: Style/FrozenStringLiteralComment: Missing magic comment # frozen_string_literal: true.
x
^

1 file inspected, 1 offense detected


Change schema property from object type to function

UAST2 doesn't have a predefined list of node properties anymore.
Change from static object to function would allow supporting both formats.

added to the backlog


chore: attempt to move dark signal to store

I'm not sure moving the signal to a global file is more idiomatic, particularly if setDark is independent from localStorage


Export constructor for JSString

Is there any reason to not export JSString constructor? It is implemented as newtype around JSVal and not exported constructor cause to use unsafeCoerce :: JSVal -> JSString and vise versa instead of coerce or explicit packing/unpacking.

IIRC pToJSVal and pFromJSVal should work (and jsval will also get the JSVal for a JSString).    However if you want to be sure your code is portable to GHC you might need to use toJSVal and fromJSVal.
For instance in jsaddle (which tries to provide a ghcjs-base compatible interface on GHC), JSString is newtype JSString = JSString Text.  This allows for pure conversion to/from Text (Data.JSString.Text), but requires conversion to/from JSVal must be done with toJSVal and fromJSVal (the monad is needed to determine the JavaScript context to create the JSVal in).


Upgrade libp2p dependencies

We should update all libp2p node dependencies to latest "stable".
Make use of go modules, for ease during upgrade, then generate dep toml/lock files out of the mod file.

Fixed by https://github.com/centrifuge/go-centrifuge/pull/922


Dealing with API Rate Limiting

The BitBalloon API enforces rate limiting of 200 requests/minute (for understandable reasons).
Unless I'm blind, the API does not appear to have an endpoint for "PUT all your files". Instead you must PUT them individually. Consequently, when a site has more than 200 pages, the API is pretty much unusable.
The easy fix
The API returns X-RateLimit-Remaining and X-RateLimit-Reset, so it is probably possible to pause the deploy until the reset timestamp.
The harder fixes

Create an endpoint for accepting a large payload of all files
Rethink the rate limiting strategy. How about one deploy per minute?
Increase the rate limit to be consistent with API throughput capacity. 200 req/min is 3.33 req/sec, apparently a very attainable throughput target.

Hi Ben,
Great points. I've upped the allowed #/request per minute significantly. It's mostly just about finding the right balance and we plan to automatically boost the rate limits for users with premium sites, but let me know if you still run into it for your use.

Awesome, thanks @biilmann!


store kwargs for glove files

vocab_size and dim need to be stored and passed into load_embeddings when running on glove formatted input

Thanks for the catch! :)


optimize admm_rvv.hpp

Hi, I noticed that the admm_rvv.hpp code uses ordered reductions which are slower than unordered ones on saturn.
This patch changes them to unordered reductions, and merges a vfmul+vfadd into a single vfmsac.
Here are measurements with the default cmake settings from the latest saturn branch with GENV256D128ShuttleConfig:
example_quadrotor_tracking_rvv:
original   patched
1672193    1657622

example_quadrotor_tracking_perf_rvv:
original   patched
222        219
317        324
455        404
368        369
784        783
177        185
391        399
251        245
256        256
125        123
133        135
119        121
65         60
344        323
1539       1535

Overall it's slightly faster, and specifically backward_pass_1 had the biggest improvement.
I wasn't able to run it with the higher LMUL setting, as I couldn't get that to compile, with or without the patch.

Hi Olaf, thanks for raising this. Your change is adopted, and let us know if you have other feedback.
Besides, we want to hear your view on auto-vectorization flows. So far we manually write RISC-V vector intrinsics using the __riscv_v_intrinsic functions, since the compiler (i.e. GCC) fails to provide performant code, any recommendations?

Hi, I haven't looked much into the auto-vectorization for RVV, but I'd make sure to specify "-mrvv-vector-bits", since your problem domain is fixed small sizes.


Folding sections in code blocks

🚀 Feature
Allow irrelevant sections of code to be folded away in code samples.
Have you read the Contributing Guidelines on issues?
Yes
Motivation
Sometimes it's nice to be able to fold away irrelevant sections in a full code example, so that you can focus on the important parts.
Pitch
For example, if I wrote a Rust function:
fn main() {
    // sample:start
    println!("hello!");
    // sample:end
}

I'd want it to display as (note the indentation):
println!("hello!");

There would be a button on the code block to allow this to be expanded to the full code:
fn main() {
    println!("hello!");
}

Example: Kotlin's documentation
For a live example, you can check out the Kotlin docs. They seem to have a nice UI for unfolding examples. For example, here is their documentation on defining variables:

Folded:

Unfolded:

Markdown source:

It could be a fun thing to work on, but lower priority. The main reason why Kotlin docs needed it was because they allowed running code in the browser, and hence they needed to include a bunch of boilerplate runner code which was not relevant to the sample.

Yeah no worries!
It can also be helpful if you're running your docs through CI, and want to have the setup code there to ensure all examples are runnable.

This will be closed without getting implemented in core. See https://github.com/facebook/docusaurus/pull/5783#issuecomment-1117161022
In the near future, I will send a PR to dogfood this on our own website, which can be used as an inspiration. I'll keep this open for now until I make that demo.


bower.json missing main: [] section

Suggest the following addition:
main: [ "url.js" ]

Either #9 or #13 would fix this.

+1

Fixed in 1.2.3 with #9


Improve tag mechanism to allow safer fututure proof builds

Right now, workflow will delete tag and recreate tag and will most likely republish docker images as coded here:
https://github.com/gableroux/docker-ansible/blob/dad2cfd680fe934ff8aa408644d259fc0c841814/scripts/tag_from_requirements_file.sh#L11-L12
This should be avoided, or at least, this repository should also have it's own version so it's easier to make sure all builds are reproducible.
Honestly, this docker image should be provided by Ansible :eyes:
This might be helpful:
https://github.com/docker/metadata-action
Here's an alternative way found on a different project:
https://github.com/game-ci/docker/blob/f7dae7fe72bc9a88077bee10d72b5108dcd961e8/.github/workflows/new-ubuntu-base-image-requested.yml#L81-L89
The challenge here is actually to have two versions:

ansible
GabLeRoux/docker-ansible (this repository)

Could be something like this:

gableroux/ansible:5.0.0rc1 equivalent of latest (gableroux/ansible:5.0.0rc1-2 in the current case)
gableroux/ansible:5.0.0rc1-0 incrementing -x whenever we're rebuilding an image.
gableroux/ansible:5.0.0rc1-1 when an image gets rebuilt
gableroux/ansible:5.0.0rc1-2 latest build for that version

freezing to a specific image would then be to use the one with -0 (which would always be there). And whenever I rebuild a new image (for whatever reason), the last value would increment and we would overwrite the one without -0. There's probably plenty of examples of this out there in the wild. I don't know what should be the best practice here.
Here's the current list of ansible versions:
1.0, 1.1, 1.2, 1.2.1, 1.2.2, 1.2.3, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.6, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6, 1.6.7, 1.6.8, 1.6.9, 1.6.10, 1.7, 1.7.1, 1.7.2, 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, <IP_ADDRESS>, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.9.5, 1.9.6, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, 2.5.0a1, 2.5.0b1, 2.5.0b2, 2.5.0rc1, 2.5.0rc2, 2.5.0rc3, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.5.6, 2.5.7, 2.5.8, 2.5.9, 2.5.10, 2.5.11, 2.5.12, 2.5.13, 2.5.14, 2.5.15, 2.6.0a1, 2.6.0a2, 2.6.0rc1, 2.6.0rc2, 2.6.0rc3, 2.6.0rc4, 2.6.0rc5, 2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.7.0.dev0, 2.7.0a1, 2.7.0b1, 2.7.0rc1, 2.7.0rc2, 2.7.0rc3, 2.7.0rc4, 2.7.0, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16, 2.7.17, 2.7.18, 2.8.0a1, 2.8.0b1, 2.8.0rc1, 2.8.0rc2, 2.8.0rc3, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.8.5, 2.8.6, 2.8.7, 2.8.8, 2.8.9, 2.8.10, 2.8.11, 2.8.12, 2.8.13, 2.8.14, 2.8.15, 2.8.16rc1, 2.8.16, 2.8.17rc1, 2.8.17, 2.8.18rc1, 2.8.18, 2.8.19rc1, 2.8.19, 2.8.20rc1, 2.8.20, 2.9.0b1, 2.9.0rc1, 2.9.0rc2, 2.9.0rc3, 2.9.0rc4, 2.9.0rc5, 2.9.0, 2.9.1, 2.9.2, 2.9.3, 2.9.4, 2.9.5, 2.9.6, 2.9.7, 2.9.8, 2.9.9, 2.9.10, 2.9.11, 2.9.12, 2.9.13, 2.9.14rc1, 2.9.14, 2.9.15rc1, 2.9.15, 2.9.16rc1, 2.9.16, 2.9.17rc1, 2.9.17, 2.9.18rc1, 2.9.18, 2.9.19rc1, 2.9.19, 2.9.20rc1, 2.9.20, 2.9.21rc1, 2.9.21, 2.9.22rc1, 2.9.22, 2.9.23rc1, 2.9.23, 2.9.24rc1, 2.9.24, 2.9.25rc1, 2.9.25, 2.9.26rc1, 2.9.26, 2.9.27rc1, 2.9.27, 2.10.0a1, 2.10.0a2, 2.10.0a3, 2.10.0a4, 2.10.0a5, 2.10.0a6, 2.10.0a7, 2.10.0a8, 2.10.0a9, 2.10.0b1, 2.10.0b2, 2.10.0rc1, 2.10.0, 2.10.1, 2.10.2, 2.10.3, 2.10.4, 2.10.5, 2.10.6, 2.10.7, 3.0.0b1, 3.0.0rc1, 3.0.0, 3.1.0, 3.2.0, 3.3.0, 3.4.0, 4.0.0a1, 4.0.0a2, 4.0.0a3, 4.0.0a4, 4.0.0b1, 4.0.0b2, 4.0.0rc1, 4.0.0, 4.1.0, 4.2.0, 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, 4.9.0, 4.10.0, 5.0.0a1, 5.0.0a2, 5.0.0a3, 5.0.0b1, 5.0.0b2, 5.0.0rc1, 5.0.1, 5.1.0

Ah got it, this is the problem I'm having:
https://github.com/GabLeRoux/github-actions-playground/actions
I think a better solution would be to get rid of all the tags from current repository, use the tags for the actual repo's version and maybe just use the value in requirements.txt as a value for the docker image tag. This seems way easier, can be done in a single pipeline instead of relying on an additional job.
I'll just come up with a better solution a bit later.

closed by #59

Patterns for tags are defined here:
https://github.com/GabLeRoux/docker-ansible/blob/08ae48f27b98a7cf4fbd6fc3c70bdddf25efcc4e/.github/workflows/docker.yml#L36-L41
I might use a matrix later, but for now, keeping that do many commits trick as shown in https://github.com/GabLeRoux/docker-ansible/blob/main/scripts/batch_update_versions.sh


Wrong object modified for sourcemap offset when adding preamble

The object containing the line and column numbers in the source map is in map._mappings._array[i], not map._mappings[i].
This causes the preamble offset to be applied correctly.
See https://github.com/mozilla/source-map/blob/388b8f8d7a34e8fa0cc84764aaac2d4e93c73985/lib/source-map/mapping-list.js#L48

Coverage remained the same at 97.88% when pulling a4f71dd7e36350b2acd2e5633fc04c8ded37e236 on nmalaguti:feature/fix-sourcemap-offset into 9909c0ba03f53ab286f850e32ca2f1e16daa0549 on gotwarlost:master.

Please review and merge this change. Let me know if there are any changes you'd like me to make to the PR.

Following up on this PR. Let me know if I can provide any additional information about it.

I'm cleaning up low hanging PR's today, we will get a release out with these updates soon.

@davglass any chance we can get a release including this fix?

Prepping the release now on #381, just waiting on @gotwarlost to :+1: it :)

Pushed in<EMAIL_ADDRESS>

Thanks !


Plugin does non print data from the Oura Cloud

Steps to reproduce

I have Daily Note opened with file name 2024-01-23
cursor is ready for typing text
I initiate Oura Ring: Insert Oura Ring Stats command

Bad behaviour

nothing happens

Expected behaviour

Oura Ring stats for the day are printed

Hey @kinabalu - I would love to use this plugin again, in fact I've been trying to make my own.
I'm getting a 410 error status in Obsidian console.
Is this because the Oura API was updated to V2?

@MorganOnCode happy to review any PRs sent and test this out -- I don't have any hardware to test with right now so has been unfortunately difficult to test. And yes, 410 is probably because the API has moved to a different URL (v2 probably somewhere in there), so the calls to oura need to change

https://github.com/kinabalu/obsidian-oura-plugin/pull/10

Dear @objectmethod, thank you for the PR #10
Unfortunately it does not work on my machine in Obsidian 1.5.12 via BRAT:
app.js:1 Uncaught (in promise) Error: Request failed, status 404
    at new t (app.js:1:1977769)
    at qG (app.js:1:1977961)
    at app.js:1:1978638
    at app.js:1:237056
    at Object.next (app.js:1:237161)
    at a (app.js:1:235879)

It does the same with a wrong API key like no and after I created a new API key.
Unfortunately I have no clue where to look for the used URI to dive into that one deeper.

Looks like curling the daily activity endpoint by hand works.
curl --location --request GET 'https://api.ouraring.com/v2/usercollection/daily_activity' \
--header 'Authorization: Bearer <token>'

Maybe the BRAT thingy did just not work? It shows v0.0.3 still.

Built it on my own and it has some interesting information in there.
- Bedtime_Start:: 22:33:24
- Bedtime_End:: 22:33:24
- Sleep_Score:: 71
- Sleep_Efficiency:: undefined
- Sleep_Duration:: 00:00:00
- Total_Sleep:: 00:00:00
- Total_Awake:: 00:00:00
- Sleep_Latency:: 00:00:00
- Light_Sleep:: 00:00:00
- Rem_Sleep:: 00:00:00
- Deep_Sleep:: 00:00:00
- Day_Start:: 22:33:24
- Day_End:: 22:33:24
- Activity_Score:: null
- Low_Activity:: 00:00:00
- Medium_Activity:: 00:00:00
- High_Activity:: 00:00:00
- Rest_Activity:: 00:00:00
- Steps:: 5389
- Readiness_Score:: 66

Not sure if Mapping is broken. :thinking:

sorry folks after the PR I didn't push a new tag version, 0.0.4 is now available so likely will be pulled from BRAT. Let me know if it's not working

Thanks, @andrewlombardictr.
Did it work for you now, @marcofeltmann?

closing as no word back from OP


Allow overriding pattern layout/markup template

We should have the possibility to override the default layout (i. e. the markup template, in application/layouts/index.js). Currently, it is hardcoded in application/routes/pattern.js and application/tasks/build/index.js.
This is needed for e. g.:

having different meta tags
adding attributes to html or body elements
globally adding modernizr

This would also come in handy for simulation of various integration environments, taking this on the roadmap for 0.16.

This issue was moved to sinnerschrader/patternplate#41


Describe TABLE(describe metric) and SHOW TABLES (List Metrics) Changes

Signed-off-by: vamsi-amazon<EMAIL_ADDRESS>Description
Work In Progress [Describe Table and List Metric Commands]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

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

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

Codecov Report

Merging #914 (ac74d02) into 2.x (863f751) will decrease coverage by 3.72%.
The diff coverage is 29.60%.

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

@@             Coverage Diff              @@
##                2.x     #914      +/-   ##
============================================
- Coverage     97.94%   94.21%   -3.73%
- Complexity     3126     3131       +5
============================================
  Files           299      316      +17
  Lines          7734     8505     +771
  Branches        499      622     +123
============================================
+ Hits           7575     8013     +438
- Misses          158      436     +278
- Partials          1       56      +55

Flag
Coverage Δ

query-workbench
62.76% <ø> (?)

sql-engine
96.85% <29.60%> (-1.10%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


🐛 [immich] ERR_INVALID_URL

Description
Since i installed the latest version of immich today
1.116.2, the add-on no longer boots up.
Below is the error that gets thrown (note that the external domain is configured within the add-on recently to improve sharing)
Reproduction steps
Configure in server settings.
https://immich.app/docs/administration/system-settings#external-domain

Install latest version
Boot the add-on

Addon Logs
api worker exited with code 1
Starting api worker
[Nest] 77057  - 09/28/2024, 7:16:38 PM     LOG [Api:EventRepository] Initialized websocket server
[Nest] 77057  - 09/28/2024, 7:16:38 PM   ERROR [Api:An instance of SystemConfigDto has failed the validation:
 - property server.externalDomain has failed the following constraints: isUrl
] Validation error
TypeError: Invalid URL
    at new URL (node:internal/url:797:36)
    at SystemConfigCore.buildConfig (/app/immich/server/dist/cores/system-config.core.js:136:44)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)https://github.com/alexbelgium/hassio-addons/issues/new?assignees=&labels=bug&projects=&template=BUG-REPORT.yml&title=🐛+%5BAddon+name%5D+%3Ctitle%3E
    at async /app/immich/server/dist/cores/system-config.core.js:80:35 {
  code: 'ERR_INVALID_URL',
  input: 'immich.owndomain.xyz'
}

Architecture
amd64
OS
HAos

Hey Alex, i used your environmental injector to set IMMICH_CONFIG_FILE and pointed it to a file with following content
{
"server": {
"externalDomain": "",
"loginPageMessage": ""
},
}
This for now allows me to boot up again. Not perfect as i can no longer go back to the GUI now, but i have raised this with the immich team.

Thanks for the feedback!


SARChI, Mechanistic modelling of health and epidemiology

Adding a project page for SARChI, Mechanistic modelling of health and epidemiology. This replaces the placeholder page for Plant Systems-biology Modelling (plantsysbio.md).

I've adjusted the page title similar to the MIAPPE page. I have not used the suggested screenshot but it is included in the request in case it has a use elsewhere. I have taken the logo from National Research Foundation South Africa, since this approach is being used on other project pages now.

Correction: this replaces the systems biology modelling page, not the plant systems biology page.


Fixup about submodule lua-compat-5.3, against to 34ada3e1d75796d2295e…

Fixup about submodule lua-compat-5.3, against to 34ada3e1d75796d2295e…
And this will better support luvi

ci failed here https://travis-ci.org/luvit/luv/jobs/370449135#L375, but not related the PR.


Only make use of extraParameters when it's a JSON string

database_assetstore sends non-JSON "limit=1" as extraParameters while importing database collections (this was causing populateGirder.py to crash). Any extraParameters payload is perfectly valid; our adapter should simply revert to default behavior when it doesn't recognize it.

Current coverage is 62.04% (diff: 100%)

Merging #322 into filter-interface will not change coverage

@@           filter-interface       #322   diff @@
==================================================
  Files                    24         24
  Lines                   627        627
  Methods                   0          0
  Messages                  0          0
  Branches                  0          0
==================================================
  Hits                    389        389
  Misses                  238        238
  Partials                  0          0

Powered by Codecov. Last update 098eb44...5a58f26

I disagree just a little bit: if we send a non-JSON string by mistake, this code path is supposed to raise an error to let us know. On the other hand, database_assetstore accepts both JSON extraParamters and a urlencoded variety. Is there some way we can shift the use case that's breaking this code path to simply use JSON instead? That would be a smaller fix that would maintain semantic_assetstore_adapter's error reporting capabilities.

No, there really isn't anywhere else we can fix this problem—our populateGirder script needs to hit database_assetstore's import endpoint, and that in turn issues a call to download (I think to probe table/collection headers?) with the non-JSON extraParameters. So we'd have to make database_assetstore conform to the JSON-only extraParameters to shift this case.

If we ask nicely, @manthey may be able to help us out ;)

Closing because @manthey is awesome.


fix(#1407): reduce max modal height when actions exist

This PR fixes https://github.com/GovAlta/ui-components/issues/1407. It subtracts the height of the actions section from the max height of the modal scroll area. This lets a modal with actions fit vertically in a mobile viewport.
Testing checklist

[x] I have run a build locally.

[x] I have ran unit tests locally.

[x] I have tested the functionality.

Scenarios to test
Modal has correct max height on mobile when...

[x] No actions exist
[x] Actions with one button exists
[x] Actions with two buttons exists
[x] Actions with four buttons exists (Just in case?)

I tested a modal when no actions exist...

I tested a modal when actions with one button exists...

I tested a modal when actions with two buttons exist...

I tested a modal when actions with four buttons exist...

I tested on Edge...

I tested on Chrome...

I tested on Firefox...

I tested on Safari...

I also inspected the DOM to check for undefined or null height values.
No actions exist...

Actions with one button exists...

Actions with two buttons exists...

Actions with four buttons exists....

💡 A future enhancement idea: measure the header when calculating the goa-scrollable height.
max-height: calc(90vh - calc(headerHeight + footerHeight))
This is beyond the scope of the original issue so I won't add it to this PR.

:tada: This PR is included in version 1.17.0-alpha.47 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.17.0-alpha.25 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0-alpha.4 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


v3 - IE no svg

<use> with an external source does not work in IE 9, 10, 11.
https://css-tricks.com/svg-use-external-source/
There might be a solution with https://github.com/jonathantneal/svg4everybody, see https://css-tricks.com/examples/svg-for-everybody/, but I did not get it to work yet.
Any ideas?

The SVGs will be injected into the index.html using gulp-inject. I'm working on it. Thanks for the reminder :)

The icons are now working in IE. Tested with version 10 and 11.

:+1:


Update structs

The change to the paypalsdk import in examples/main.go was necessary to get it to build on my machine. The reordering of imports in that file was the result of running goimports.

@MicahLC, thank you for this PR.


AFM0002TIM firmware RTL9601B

Hello
Do you have a recent firmware for AFM0002TIM or any RTL9601B sfp dongle ?
I'm looking for hex support for this module.
Regards

so far none, if you can extract the firmware, can be modified that way


Error after reinstalling homebridge

What issue do you have? Please be as thorough and explicit as possible.
Hi. My HomeBridge instal encountered a fatal error and I needed to start from the ground up. I used the Homebridge SD card image and a recent backup before I had Sonoff devices. I installed the plugin through Config-ui-x but my Sonoff devices will not appear in Homebridge. All other devices appear normally.
...
Details of your setup.
Do you use Homebridge or HOOBS?
HomeBridge
...
Which version of Homebridge/HOOBS do you have?
1.2.3
...
Which version of this plugin (homebridge-ewelink) do you have?
Tried with 3.1.5 and 3.1.6
...
Please paste any relevant logs below. It helps if you can turn debug and debugReqRes in the package settings for more thorough logging.

If you are posting an error then it is helpful for me to also see the previous few lines as this can show the cause of the error.

[9/30/2020, 00:18:02] [eWeLink] Initializing eWeLink platform...
[9/30/2020, 00:18:04] [eWeLink] Plugin has finished initialising. Synching with eWeLink.
[9/30/2020, 00:18:04] [eWeLink] Sending HTTP getHost request. This text is yellow for clarity.
{
  "appid": "oeVkj2lYFGnJu5XUtWisfW4utiN4u9Mq",
  "country_code": "+353",
  "nonce": "9ssituao",
  "ts":<PHONE_NUMBER>,
  "version": 8
}
[9/30/2020, 00:18:09] [eWeLink] HTTP API host received [eu-apia.coolkit.cc].
[9/30/2020, 00:18:09] [eWeLink] Sending HTTP login request. This text is yellow for clarity.
{
  "countryCode": "+353",
  "password": "**hidden**",
  "email": "**hidden**"
}
[9/30/2020, 00:18:13] [eWeLink] Web socket host received [eu-pconnect1.coolkit.cc].
[9/30/2020, 00:18:14] [eWeLink] Sending WS login request. This text is yellow for clarity.
{
  "action": "userOnline",
  "apikey": "**hidden**",
  "appid": "oeVkj2lYFGnJu5XUtWisfW4utiN4u9Mq",
  "at": "**hidden**",
  "nonce": "yj8or3q8",
  "sequence": "1601421494615",
  "ts":<PHONE_NUMBER>,
  "userAgent": "app",
  "version": 8
}
[9/30/2020, 00:18:17] [eWeLink] [0] eWeLink devices loaded from the Homebridge cache.
[9/30/2020, 00:18:17] [eWeLink] [3] primary devices loaded from your eWeLink account.
[9/30/2020, 00:18:17] [eWeLink] ************** Cannot load homebridge-ewelink **************
[9/30/2020, 00:18:17] [eWeLink] TypeError: Cannot read property 'uiid' of undefined
    at eWeLink.initialiseDevice (/usr/local/lib/node_modules/homebridge-ewelink/lib/eWeLink.js:144:50)
    at /usr/local/lib/node_modules/homebridge-ewelink/lib/eWeLink.js:90:44
    at Map.forEach (<anonymous>:null:null)
    at /usr/local/lib/node_modules/homebridge-ewelink/lib/eWeLink.js:90:26
    at eWeLinkSetup (/usr/local/lib/node_modules/homebridge-ewelink/lib/eWeLink.js:116:9)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

[9/30/2020, 00:18:17] [eWeLink] ************************************************************
[9/30/2020, 00:18:17] [eWeLink] LAN monitoring gracefully stopped.
(node:8214) UnhandledPromiseRejectionWarning: Error: dropMembership EADDRNOTAVAIL
    at Socket.dropMembership (dgram.js:835:11)
    at /usr/local/lib/node_modules/homebridge-ewelink/node_modules/node-dns-sd/lib/dns-sd.js:433:13
    at Array.forEach (<anonymous>:null:null)
    at DnsSd._dropMembership (/usr/local/lib/node_modules/homebridge-ewelink/node_modules/node-dns-sd/lib/dns-sd.js:432:28)
    at /usr/local/lib/node_modules/homebridge-ewelink/node_modules/node-dns-sd/lib/dns-sd.js:527:8
    at new Promise (<anonymous>:null:null)
    at DnsSd._stopListening (/usr/local/lib/node_modules/homebridge-ewelink/node_modules/node-dns-sd/lib/dns-sd.js:526:16)
    at /usr/local/lib/node_modules/homebridge-ewelink/node_modules/node-dns-sd/lib/dns-sd.js:467:9
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

(node:8214) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
(node:8214) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[9/30/2020, 00:18:17] [eWeLink] Web socket gracefully closed.

Hi, which ewelink device types do you have?

@Stonedbat I have released v3.1.7 which should stop the errors from showing.
You seem to have a device which does not follow the "standard" data format that is sent from ewelink to the plugin. So the new release will skip loading this certain device and so not show the errors that appeared before.
I would be interested to know which devices you have, as I asked before, so I could look into getting it to appear in Homebridge.

Hey. I have 2 Sonoff BasicR2’s with the latest firmware: 3.5.0. It’s was working before I had to reinstall homebridge.

In the logs above it says you have 3 devices in your ewelink account?

Yeah, I was just looking at that myself. I assume is because I have grouped them in the App.

Ah that’s probably what it was 😄

Is it working now with the latest update?

I was just checking that now to. Haha! Yep, I updated and it’s working perfectly! Thanks so much!

Excellent. Im glad there was an explanation for this!


Compiling cargo binaries from build script deadlocks

Problem
deadlock with .cargo-lock file lock when using build.rs (build script) with cargo crate/
usecase
A workspace with 2 binary packages Pa, Pb.
Pb wants to compile Pa as a binary dependency. Both Pa and Pb are rust packages.
Currently, IMO this can only be done using a build script for Pb which compiles  Pa as a binary. I am using the cargo crate to programmatically invoke the compilation of Pa,   This compilation blocks on locking TARGET_DIR/.cargo.lock file. The file is locked by the parent cargo process.
(attaching link to sample workspace for repro)
Steps
Workspace layout
https://drive.google.com/file/d/19Ab4TQcy0pl90o8keN42h8Y-e05dCiSP/view?usp=sharing
▶ tree
.
├── Cargo.lock
├── Cargo.toml
├── sub1
│   ├── Cargo.toml
│   └── src
│       └── main.rs
└── sub2
├── build.rs << Compiles sub1 using the cargo crate.
├── Cargo.toml
├── op.txt
└── src
└── main.rs
Possible Solution(s)
I cannot think of a reason why .cargo.lock has to lock during the invocation of the build script.
Maybe this can be relaxed.
Notes
Output of cargo version:
cargo --version
cargo 1.47.0 (f3c7e066a 2020-08-28)
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:        20.04
Codename:       focal
Workaround

build a release profile of binary dependency, when compiling dev and vice-versa.
move the functionality out of build.rs and have the compilation done in the test itself.

Code snippet
.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-0.49.0/src/cargo/core/compiler/layout.rs:162
//
// For now we don't do any more finer-grained locking on the artifact
// directory, so just lock the entire thing for the duration of this
// compile.
// let lock = dest.open_rw(".cargo-lock", ws.config(),
// "build directory")?;`

/// build.rs from the workspace. (gdrivelink )
use cargo::core::compiler::CompileMode;
use cargo::ops::{compile, CompileOptions};
use cargo::util::Config;

fn main() {
    let mut cargo_manifest = std::env::var("CARGO_MANIFEST_DIR").expect(
        "Can be only
        invoked from cargo",
    );

    cargo_manifest.push_str("/Cargo.toml");

    let config = cargo::util::config::Config::default().unwrap();

    let ws = cargo::core::Workspace::new(std::path::Path::new(&cargo_manifest), &config)
        .expect("Cannot create workspace");

    let mut compile_options = CompileOptions::new(&config, CompileMode::Build).unwrap();

    compile_options.spec = cargo::ops::Packages::Packages(vec!["sub1".to_string()]);
    compile_options.build_config.requested_profile =
        cargo::util::interning::InternedString::new("dev");
    println!(
        "Requested Profile {:?}",
        compile_options.build_config.requested_profile
    );

    // hangs here
    let result = compile(&ws, &compile_options).unwrap();

    for x in result.binaries {
        println!("{:?}", x.1);
    }

}

I think this is the same issue as #6412


gitpitch can't render "@" sign properly with gitea

Here are some screenshot about gitpitch/the-template
Expect:

But with my gitea:

I can't get proper rendering with all @[act](text) kind syntax on gitea.
I'm using Gitea, 1.6.1

The @[act](text) syntax is the markdown shortcut syntax used to deliver snap layouts and related features. These features are not part of the open source server. Only standard markdown is supported by that server. Hence the rendering your are seeing.
You can use these markdown extensions on gitpitch.com or when working directly with a self-hosted GitPitch Enterprise server.

Oh, I see. Thank you:)


Is it possible to prepare sql query without binding?

Hi,
I just read the documentation regarding statement and wonders whether I can prepare sql query without binding while still get the
same speedup as preparing statement and bind a variable to it.
I came from using JDBC where binding variable is not necessary while preparing a statement and I think it is a better way, since you don't have to keep the binded variable when you are not using the query.
According to what I read here:

Some backends have some facilities to improve statement parsing and compilation to limit overhead when creating commonly
used query. But for backends that does not support this kind optimization you can keep prepared statement and use it later
with new references. To do such, prepare a statement as usual, you have to use exchange to bind new variables
to statement object, then execute statement and finish by cleaning bound references with bind_clean_up.

It seems to imply that it is doable, but doing so would nullify the benefits from preparing sql statement.

I'm not sure what exactly are you asking for, but it is indeed possible to do something like this:
    soci::statement statement((session.prepare << query));
    ... later ...
    statement.exchange(use(param));

I'm not sure about the efficiency implications, but this seems a bit open-ended. If there is a real problem, please consider showing some minimal code reproducing it. Otherwise, don't hesitate to post to the mailing list to discuss this further or create PRs with the suggested improvements, but I don't think there is any real issue here, so I'm closing this one for now.


Table.update() doesn't work when columns are not specified

In [1] : with c.transaction() as tx:
    ...:     t = tx.bucket("ut-sdk").schema("s").table("t")
    ...:     print(t.arrow_schema.names)
    ...:     for b in t.select(internal_row_id=True):
    ...:         t.update(b)

fails since the row ID column is not the first one.

Should be fixed by https://github.com/vast-data/vastdb_sdk/commit/80ec2f8c2704b5bc61571f7e07446b1ddbf6c14c.

Released in https://github.com/vast-data/vastdb_sdk/releases/tag/v1.1.2


operator infoscale-sds-operator (8.0.320)

New operator bundle
Name: infoscale-sds-operator
Version: 8.0.320
Certification project: 62925c33c6b6870a06867686
Test result URL: https://catalog.redhat.com/api/containers/v1/projects/certification/test-results/id/664209ce3b576e8c98bea312
Test logs URL: https://catalog.redhat.com/api/containers/v1/projects/certification/artifacts/id/664209cb3b576e8c98bea305

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-hosted-pipeline


ATE for multiple continuous treatments

We have a scenario where we want to assess the impact of two continuous treatments, T1 and T2 on outcome Y. We have some common causes X1, X2, and X3 all continuous. Target Y is also continuous. The need is to calculate the ATE with custom values of control and treatment values.
Questions we want to address:

Impact of T1 on Y
Impact of T2 on Y
Impact of T1 and T2 together on Y (as T1 and T2 might have some influence on each other).

What should be the causal graphs which can answer these questions.
For questions 1 and 2, I am assuming below graphs can answer these.

For question 3, I started with following graph.

I am looking to try below causal methods.
backdoor.linear_regression
backdoor.econml.dml.DML
backdoor.econml.dml.LinearDML
backdoor.econml.dml.KernelDML
I have got some results by using backdoor.linear_regression. But the results from using double ML (linear, DML) models do not make sense. Its giving outputs which is unrealistic. I am getting this warning while running double ML models. Not sure if I am specifying the values correctly in control_value, treatment_value?

A scalar was specified but there are multiple treatments; the same value will be used for each treatment. Consider specifyingall treatments, or using the const_marginal_effect method.

Below is the code which I tried for above causal structure to answer question 3.  control_value_list and treatment_value_list contains the values for treatments T1, and T2 in the same order with which it was supplied while creating causal model object. e.g. control_value_list=[7,9] and treatment_value_list=[10,5]. Means for treatment T1, we want ATE with control value as 7 and treatment value as 10. And for treatment T2, we want control value as 9, and treatment value as 5.
model=CausalModel(
    data = data,
    treatment=['T1','T2'],
    outcome='Y',
    common_causes = ['X1','X2','X3']
    )

causal_estimate = model.estimate_effect(identified_estimand,
          method_name="backdoor.econml.dml.LinearDML",
          control_value = control_value_list,
          treatment_value = treatment_value_list,
          confidence_intervals=False,
          target_units = "ate",
                                        method_params={
                      "init_params":{'model_y':xgb.XGBRegressor(random_state=578,max_depth=3,n_estimators=100),
                                    'model_t': xgb.XGBRegressor(random_state=578,max_depth=3,n_estimators=100),
                                    'discrete_treatment' : False,
                                    # 'categories':[0,1],
                                    'random_state':587921,
                                    'cv':3

  #                                    'model_final':LassoCV(),
  #                                    'featurizer':PolynomialFeatures(degree=1, include_bias=True)
                                    },
                      "fit_params":{},
                      'num_null_simulations':399,'num_simulations':399})

Also, I am getting one ATE value from backdoor.linear_regression. But the output from backdoor.econml.dml.LinearDML are two separate values. Does the doubleML computing the ATE for 2 treatments separately? Also, I observed the code throws error when specifying confidence_intervals as True. Anything which can explain this?
Will the following causal structures answer question 3 better? Using one of the treatments as common cause along with rest of the other factors?

If we get ATEs from those 2 graphs above, can we add those and say that it addresses question 3? Or its not additive?
Are there any other recommendations to address question 3?

@ankur-tutlani Were you able to resolve this issue? I am also getting this warning -
A scalar was specified but there are multiple treatments; the same value will be used for each treatment.  Consider specifyingall treatments, or using the const_marginal_effect method.

@anurag-ae2024 Yes this is due to how econml accepts as input. If there is more than 1 treatment, then the input to T, T0 and T1 all should be pandas dataframe if your input in pandas dataframe. E.g. if control value you want to test as 10, and treatment as 15, then for T0 dataframe, all rows for that treatment column should be 10 and similarly for T1 dataframe all rows for that treatment column should be 15. Replicate the same thing for other treatment features also.