PHP 8.1 Compatibility

As of my latest test, the PPI doesn't work with PHP 8.0.
Maybe @caeze could have a look into this? It would be nice to have PHP 8.1 support in the near future.

PHP 8.0 compatibility :heavy_check_mark: (in 05c9ccc92241ca2879388e1927ab4a6221e5b3d3)
TODO: PHP 8.1 compat


Do you have down graded version for ruby 1.8.7?

Hi
We are planing to migrate search engine service from Elasticsearch to AWS elasticsearch as a Service and trying to connect AWS ES using aws signers v4 gem ( with elasticsearch) in Rails app.
But we are not to install this gem in rails (2.3.2) app to sign the request.
We have monolithic app
rails 2.3.2
ruby 1.8.7
elasticsearch 6.0

Question?

Are you supporting this gem for ruby 1.8.7?
if not,  do you have any other alternate approaches or down graded version for ruby 1.8.7?

Are you supporting this gem for ruby 1.8.7?

No.

if not, do you have any other alternate approaches or down graded version for ruby 1.8.7?

um.. I can not think of a good approach.
faraday_middleware-aws-signers-v4 is a small library,  so I can fix it.
However I do not know if dependent libraries are compatible with 1.8.7 (e.g. faraday)


COPFE-37 add basic renovate file

add disclaimer on README.md file

Signed-off-by: Leo Lima<EMAIL_ADDRESS>

Hey Leo,
do you think it would make sense to pre-define the structure a bit more in detail as well as suggesting the commit prefix to be aligned with other projects? Like:
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [],
  "commitMessagePrefix": "Renovate:",
  "schedule": [],
  "timezone": "Europe/Berlin",
  "prConcurrentLimit": 1,
  "ignorePaths": [],
  "ignoreDeps": [],
  "packageRules": []
}

@rkipsch most of teams use custom rules across projects by defining  a centralised control of configs, which can be achieved by using the extends clause. So they don't define it per project basis. Example:
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "local>MYROJECT/config-renovate:spa"
  ]
}

But I think it is sensible to keep a minimal set of configs as you suggested. I'll update my commit soon.

@rkipsch done ;)

I understand. Funny enough, I know some projects where it is the other way around and defined per project. But that might also be due to different setups like create-react-app and newer vite setups with different dependencies.
But thanks for updating the PR again :-)


[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x76cc6f]

latest tzindex version
INFO MAIN Blockwatch Data Inc. TzIndex -- v15.0.0 49e3e0e

used params
tzindex -db.path=/data/tzindex -db.engine=bolt -rpc.url=http://somehostonlima -light -notls

1st issue - complaining about ticket.db
2023/02/20 08:31:31.929478 WARN MAIN Missing config file, using default values.
2023/02/20 08:31:31.929552 INFO MAIN Blockwatch Data Inc. TzIndex -- v15.0.0 49e3e0e
2023/02/20 08:31:31.929559 INFO MAIN (c) Copyright 2018-2023 Blockwatch Data Inc.
2023/02/20 08:31:31.929562 INFO MAIN Go version go1.20
2023/02/20 08:31:31.929568 INFO MAIN Starting on 64 cores
2023/02/20 08:31:31.929978 INFO MAIN Using bolt database /data/tzindex
2023/02/20 08:31:31.932042 INFO BLOC Initializing blockchain crawler in sync mode.
2023/02/20 08:31:31.932712 INFO BLOC Creating ticket index.
2023/02/20 08:31:31.933478 INFO BLOC Closing account index.
2023/02/20 08:31:31.934038 INFO BLOC Closing balance index.
2023/02/20 08:31:31.934485 INFO BLOC Closing contract index.
2023/02/20 08:31:31.935025 INFO BLOC Closing storage index.
2023/02/20 08:31:31.935531 INFO BLOC Closing constant index.
2023/02/20 08:31:31.935989 INFO BLOC Closing block index.
2023/02/20 08:31:31.936429 INFO BLOC Closing op index.
2023/02/20 08:31:31.936872 INFO BLOC Closing event index.
2023/02/20 08:31:31.937300 INFO BLOC Closing flow index.
2023/02/20 08:31:31.937733 INFO BLOC Closing chain index.
2023/02/20 08:31:31.938155 INFO BLOC Closing supply index.
2023/02/20 08:31:31.938580 INFO BLOC Closing bigmap index.
2023/02/20 08:31:31.939020 INFO BLOC Closing metadata index.
2023/02/20 08:31:31.939436 INFO BLOC Closing ticket index.
Error: error initializing crawler: creating ticket database: pack: creating database: database file "/data/tzindex/ticket.db" exists

so I had to rename ticket.db (it was from the previous version tzindex, with v14 support only), then it started and continued like that
2023/02/20 08:31:49.445677 WARN MAIN Missing config file, using default values.
2023/02/20 08:31:49.445744 INFO MAIN Blockwatch Data Inc. TzIndex -- v15.0.0 49e3e0e
2023/02/20 08:31:49.445749 INFO MAIN (c) Copyright 2018-2023 Blockwatch Data Inc.
2023/02/20 08:31:49.445756 INFO MAIN Go version go1.20
2023/02/20 08:31:49.445763 INFO MAIN Starting on 64 cores
2023/02/20 08:31:49.447148 INFO MAIN Using bolt database /data/tzindex
2023/02/20 08:31:49.448619 INFO BLOC Initializing blockchain crawler in sync mode.
2023/02/20 08:31:49.449231 INFO BLOC Creating ticket index.
2023/02/20 08:31:49.469937 INFO BLOC Initializing account index.
2023/02/20 08:31:49.631092 INFO BLOC Initializing balance index.
2023/02/20 08:31:50.548491 INFO BLOC Initializing contract index.
2023/02/20 08:31:50.837227 INFO BLOC Initializing storage index.
2023/02/20 08:31:51.784875 INFO BLOC Initializing constant index.
2023/02/20 08:31:51.786180 INFO BLOC Initializing block index.
2023/02/20 08:31:51.888427 ERRO DATA pack: header decode for table block pack 0000005a: pack: reading bloom filter: short buffer
2023/02/20 08:31:51.888449 WARN DATA pack: block table has corrupt or missing statistics! Re-scanning table. This may take some time...
2023/02/20 08:31:53.570051 INFO BLOC Initializing op index.
2023/02/20 08:31:55.374445 INFO BLOC Initializing event index.
2023/02/20 08:31:55.375667 INFO BLOC Initializing flow index.
2023/02/20 08:31:57.002874 INFO BLOC Initializing chain index.
2023/02/20 08:31:57.021798 INFO BLOC Initializing supply index.
2023/02/20 08:31:57.038513 INFO BLOC Initializing bigmap index.
2023/02/20 08:31:59.953758 INFO BLOC Initializing metadata index.
2023/02/20 08:31:59.955201 INFO BLOC Initializing ticket index.
2023/02/20 08:31:59.956317 INFO BLOC Connecting to RPC server.
2023/02/20 08:31:59.959242 INFO BLOC Closing account index.
2023/02/20 08:32:00.086516 INFO BLOC Closing balance index.
2023/02/20 08:32:00.105579 INFO BLOC Closing contract index.
2023/02/20 08:32:00.976140 INFO BLOC Closing storage index.
2023/02/20 08:32:01.005504 INFO BLOC Closing constant index.
2023/02/20 08:32:01.008819 INFO BLOC Closing block index.
2023/02/20 08:32:01.134209 INFO BLOC Closing op index.
2023/02/20 08:32:01.235399 INFO BLOC Closing event index.
2023/02/20 08:32:01.237799 INFO BLOC Closing flow index.
2023/02/20 08:32:01.270379 INFO BLOC Closing chain index.
2023/02/20 08:32:01.288975 INFO BLOC Closing supply index.
2023/02/20 08:32:01.315941 INFO BLOC Closing bigmap index.
2023/02/20 08:32:01.539708 INFO BLOC Closing metadata index.
2023/02/20 08:32:01.541902 INFO BLOC Closing ticket index.
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x76cc6f]

goroutine 1 [running]:
blockwatch.cc/tzgo/tezos.(*Params).ForNetwork(0x0, {{0xf0?, {0xc00037d4d0?, 0xc000739600?, 0x0?}}})
	/go/src/tzindex/vendor/blockwatch.cc/tzgo/tezos/protocols.go:100 +0x4f
blockwatch.cc/tzindex/etl.(*Crawler).Init(0xc000620360, {0xdd2df0?, 0xc00013a000?}, {0xb2c71d, 0x4})
	/go/src/tzindex/etl/crawler.go:436 +0xd86
main.runServer()
	/go/src/tzindex/cmd/tzindex/server.go:108 +0xdcd
main.run()
	/go/src/tzindex/cmd/tzindex/main.go:32 +0x2b5
main.main()
	/go/src/tzindex/cmd/tzindex/main.go:17 +0x1d

Sorry for the inconvenience, this touches two different issues.
TL;TR: please re-index from scratch

The v15 database schema differs from v14 (new token index database and several changes to other database models). So far we haven't shipped migration tooling as full db rebuild times are still 'relatively' low and implementing migrations is more time consuming than rebuilding from scratch. This point will change in a few versions, but we need to refactor parts of the database layer first.
The segfault is an indirect result of the non-existent migration. A missing index database makes a part of the init code fail early so that a list of deployed protocols is not loaded which in turn yields a nil ptr when looking up the most recent protocol and Baaam.

Commit 810b596 bumps the db schema version to make the indexer fail gracefully and tell you the schema has changed and a rebuild is required.


✨ Comment out highlighted code

Is your feature request related to a problem? Please describe.
No response
Describe the solution you'd like
Ability to comment out code by highlighting some code and pressing: CMD + /
Describe alternatives you've considered
n/a
Additional context
Preview from vscode:

Hi, I would like to work on this issue as my first contribuition :)

@lukepistrol does this depend on the new editor being in place or can this be worked on now? Different languages have different ways of commenting code, so will this depend on tree sitter, language grammars, or the LSP?

This should be implemented in CodeEditTextView directly.


Added new strings

I've found a branch where there is only localization related stuff so I'm PR'ing from here. It says there are conflics so I don't know if it'll work

I've resolved all conflicts and it should be good for merging


Media-ID should be set to control stream ID

In the current code, the media ID is set by the intended receiver of the media stream: client sets it before passing it in the "request", server sets it in the "post". This is not strictly needed, we could just assume that the media-ID is set to the stream ID of the control stream. It would make the code a little bit simpler -- no need to hold the media-ID property in the control stream, no need to code to allocate media-ID, no need to pass media-ID in Request, Post or Accept. (Still needed in datagram header and warp header.)

There was a discussion of this point in the MoQ interim, and there was pushback from William Law at Akamai, who is worried about fan-out. Media objects will be stored in a database, and he would rather not have to send different versions of the object to different users of a relay. This means that if we use a media ID, it should be allocated by the relay, and it should be independent of the connection and of the client.


activerecord: signature updates

Split from #735 to be smaller. Type signature updates for invalid signatures in activerecord, the majority are due to blocks being marked as required, but they should be optional. Another update for NoTouching#touch to match its declaration (see     def touch(*, **) # :nodoc:).

/merge


Remove the need for a root container class

Currently in order for react-container-query to work, the root element wrapped with the helper components must have the container class on it.
Instead, just the act of creating a Container instance should be enough to "mark" that element as the container element.
An arbitrary class's presence should not be necessary on top of that.

Turns out, this is exactly how it's been working already.


install instructions?

just wondering about install instructions. I see a dockerfile, though I usually put these system tools into a desk  [1]
[1] https://github.com/jamesob/desk

Basically it's just pip install pushbullet-cli, but I'll add some instructions.


javaModuleTesting.classspath not working

I'm testing 1.5 with this:
javaModuleTesting.classspath(testing.suites["test"])
And it doesn't work:
An exception occurred applying plugin request [id: 'buildlogic.java-conventions']
> Failed to apply plugin 'buildlogic.java-conventions'.
   > org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method classspath() for arguments [org.gradle.api.plugins.jvm.internal.DefaultJvmTestSuite_Decorated@53e09c73] on extension 'javaModuleTesting' of type org.gradlex.javamodule.testing.JavaModuleTestingExtension.

Hi. There is a typo in your setup (and the title of this issue 😄 ). Please use:
javaModuleTesting.classpath(testing.suites["test"])

(with two ss in the middle and not three sss)
In such cases, you can also try your configuration in an example project with Kotlin DSL. Then you should have better code completion and error reporting.
I found that I had the same typo here (now corrects): https://github.com/gradlex-org/java-module-testing/issues/47#issuecomment-2188034115
Apologies, if you copy-pasted from there.


Poor and misleading error message on trouble with config for central key generation

When the configuration is missing signature credentials, the error message is could not validate enrolled certificate: null
When the configuration gives an unknown or invalid algorithm, e.g., AES255 in PasswordContext, the error message is could not validate enrolled certificate: AES255

error message changed to "could not properly process certificate response" + more specific description of exception.
Exception backtrace is logged

fixed in e669853d4e16840d960c98dd0ed0df182a71d631

Hmm, on missing SignatureCredentials, the new error  downstream: could not properly process certificate response: java.lang.NullPointerException is no more misleading, but still not to the point.
And as discussed, this should already be caught by the config parser of the LwCmpRa.

For invalid alg, the output is now fine, e.g., NoSuchAlgorithmException: SHA25500

Since improving the parser is not possible and this anyway would not help within the CmpRaComponent,
I suggest in the given case, e.g., central key generation configuration is missing signature credentials

fixed in 8f886d86ba9f82ad6a0764dc5b3df9ae79310644


chore: asset classification

Adding/updating asset classification as per ProdSec standard.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Default term

Support a course string without a semester, e.g., eecs485.
Closes #27

Codecov Report

Merging #32 (c0aa258) into develop (063c094) will increase coverage by 0.37%.
The diff coverage is 90.90%.

@@             Coverage Diff             @@
##           develop      #32      +/-   ##
===========================================
+ Coverage    70.11%   70.48%   +0.37%
===========================================
  Files            4        4
  Lines          445      454       +9
===========================================
+ Hits           312      320       +8
- Misses         133      134       +1

Impacted Files
Coverage Δ

agiocli/__main__.py
79.09% <ø> (ø)

agiocli/utils.py
74.80% <90.90%> (+0.50%)
:arrow_up:

Continue to review full report at Codecov.

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

I like this a lot. It solves this example case:
$ agio submissions -c eecs485 -p p1 -g achitta last
{
    "pk": 1318879,
    "group": 285831,
    "timestamp": "2022-01-19T05:10:44.523194Z",
    "submitter"<EMAIL_ADDRESS>    "submitted_filenames": [
        "submit.tar.gz"
    ],
    "discarded_files": [],
    "missing_files": {},
    "status": "finished_grading",
    "is_past_daily_limit": false,
    "is_bonus_submission": false,
    "count_towards_total_limit": true,
    "does_not_count_for": [],
    "position_in_queue": 0,
    "grading_start_time": "2022-01-19T05:10:47.418253Z",
    "non_deferred_grading_end_time": "2022-01-19T05:11:58.259997Z",
    "last_modified": "2022-01-19T05:11:57.296563Z"
}

And it would allow us to finish https://github.com/eecs485staff/p1-insta485-static/pull/309
There's an edge case that this doesn't account for: F22 starts August 29, but on August 29 it would return SU22. Do we care about handling this? I would think we don't.

There's an edge case that this doesn't account for: F22 starts August 29, but on August 29 it would return SU22. Do we care about handling this? I would think we don't.

Meh.  Let's just make an issue.
I added support for eecs485cur or eecs485current in addition to simply eecs485.  I think this is ready!


pre-commit hooks has false positives

When I use git add -p or even git add some files it will run my tests before the commit however the tests pass because of the unstaged changes I have locally.
If I were to stash before running npm test then the tests would have failed.
Is it the responsibility of pre-commit to ensure that the tests pass based on only the staged changes or is that the users responsibility ?

So, i've been thinking about this. We could implement an option which will stash automatically and have it turned off by default.

I think that the issue with stash as mentioned in #2 is not an issue (at least not anymore). The problem with that mentioned comment is that if you remove a line from a file, git will remove all changes in that file from stage. So the git status command will show that the file is not in the stage. They wouldn't be commited anyway then.
If you run git -p to add only one hunk, the stash, git status will show the same file as staged and not staged. git stash --keep-index will remove the unstaged changes. Then git stash pop will correctly restore the unstaged change and keep the index the same.
I tested it with Git 2.3.0, so I'm not sure how older versions handle it.

:+1: here.  pre-commit runs against the files in your working copy, instead of the files which you are committing.  Stashing unstaged changes seems like the way to go.


[SLS gateway]feat: default support sha256

 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.zhurenzhu.zrz seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


home & garden update, start of year three

title: "home & garden update"
date: 2024-05-27 00:00:00
category: diy
tags: note garden sauna paint projects momentum
description: "year 3: the one about the yard"
Wow. The last two years have absolutely flown by. It's been a while since my last home updates (1 and 2)... A Lot has been done in the interim. The coolest part for me is how each additional update or improvement seems to create even more momentum for the next project. the flywheel effect happening to my own motivation. I don't mind.
In two years, Randi and I have really turned this house into our home. I love living here with her so much. It truly is a personal paradise (aka "the purr palace" because our cat is a queen). And every little project we've done, big or small makes it that much better.
recap
to wit, over the last two years we've:

painted every room but one (the bathroom, which eventually will be remodeled)
built some initial rain barrels
had the house re-piped
built compost storage area, later expanded it a bit
removed a ton of overgrown and overdone grasses left from previous owner. seriously 40 different puffballs, dotting the borders like little gumdrops. it was too much.
upgraded to fiber & ran 5 drops through the crawlspace
observed where the light and water go throughout the days and the seasons
harvested many gallon freezer bags full of cherries, grapes, plums, raspberries, figs and more
set up the living room home theater
organized the garage with pegboards + better shelves
learned how to replace the drain pump on a washing machine
repaired a dishwasher & installed a new dishwasher several months later
turned all of the front yard from grass into plantable space with the power of sheet mulching (thanks chipdrop!)
planted three trees (oak, hazelnut, nectarine) & four blueberry bushes, plus some grape cuttings in the newly plantable area
bought a gas-powered generator after a lengthy power outage
moved all the raspberries to one area of the yard
added supports for the grapes + berries
poured cement pad for hot tub
ordered a sauna kit (12-16 weeks lead time)
ripped out one existing raised bed
cleaned up the street-strip with gravel box for trash cans + flowers instead of grass

Whew! That was a lot. And I am sure I am missing multiple somethings. We've been really busy! But it's been a good busy, and it's so wonderful to sit back and relax and savor the literal fruits of your labor. It's almost time to harvest cherries again :)
what's next on the list?
Obviously, lots of watering and weeding. Just a little bit of focused effort every day (at least 15 minutes, an hour is wonderful) really adds up in the end. It can be overwhelming to think about everything you have to do to get it where you want it, but chunking it up has been a really effective technique for me. I like to focus on an area and then when it's done, see what my eye naturally wanders to next. That's my next project.
We are waiting for additional woodchips to finish sheet mulching a few areas of the yard (again courtesy of chipdrop, which provides them for free but not really on a set schedule of any sort). We've basically determined the raised beds that came with the house are nice, but not ideal. We need geriatric raised beds, I mean, really raise the things. The current ones are basically elevated by a foot, which is nice for separation, but still annoying to work in. We're going to pull most of them out and plant directly into the ground instead. The ones we don't remove, we're going to increase the height of. Maybe turn one into a hugelkultur box to help get the height up.
I also need to dig up a couple bushes in the back to prepare an area for the sauna's base. I want to have that all squared away before the kit is shipped. Summer goals. My plan is to create a small raised base, basically a small deck, so I can easily put a drain in the middle of the floor to hose it out in the future. It's going to be sited near the hot tub, mostly for electrical convenience.
 I want to build it with a shelf below for extra vegetables from our garden, and maybe a space to share seeds as well.
I don't know if I'll get to it this year, but I want to upgrade the rain barrel situation, and figure out a more convenient way to use that water, preferably on a timer. Right now we have some drip lines that can be connected to a hose. I've also built a small pump-box from a plastic storage bin, a piece of 2x4, and a cheap pump from harbor freight. I connect it to the rain barrels and am able to water about half of the yard (particularly the berries, compost, and a fig and plum trees), but I'd like to cut myself out of the situation entirely, and have everything pumped on a timer from the rain barrels. That's gonna take a bit of research and some bigger barrels. I want to upgrade to 3 or 4 IBC containers on the side of the house. That would take my rainwater storage capacity from 110gal to 825-1100gal! and let me move the existing rain barrels elsewhere.
As you can see, the yard has been a big focus for us once we finished painting walls. So we haven't tackled any of the closet upgrades yet, but I hope to hit those in the coming months as well. Maybe towards the end of the year, when it isn't as pleasant to work outside... but it's real fun getting my hands dirty.

Wow! That's a crazy amount of work. This is the first I've heard of Hugelkultur, but I'm digging it. The generator: is that natural gas/whole house or gasoline?

Hugelkultur beds rock! I made one about a decade ago with a huge pile of crape myrtle branches, and that bed produced some of the absolute best tomatoes of my life.
I'm not sure the specific model number but the generator is a portable tri-fuel generator from Firman that I got on sale at Costco. It says it can run on gasoline, natural gas or liquefied petroleum gas, but I'll probably stick to gasoline. It can hook into the main electrical panel and should be plenty powerful to run at least the furnace and fridge in the event our power goes out for extended periods again.


[$1000] Enable no-invalid-this ESLint rule

Context: https://expensify.slack.com/archives/C049HHMV9SM/p1682089468352009
Problem
Using this outside of classes or class-like objects might work because it could refer to the module (for example, ReportUtils), but after building it, it might not be the case. This will cause crashes that cannot be caught while testing PRs and will only be seen once the app is deployed on staging or production.
Solution
Enable this ESLint rule (no-invalid-this) in our eslint-config-expensify repo.
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0138e39a2b0f958b39
Upwork Job ID:<PHONE_NUMBER>648719360
Last Price Increase: 2023-04-25

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Job added to Upwork: https://www.upwork.com/jobs/~0138e39a2b0f958b39

Current assignee @NicMendonca is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @s77rt (External)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Enable no-invalid-this ESLint rule
What is the root cause of that problem?
Enable no-invalid-this rule in eslint
What changes do you think we should make in order to solve the problem?
We should create new file in https://github.com/Expensify/eslint-config-expensify/tree/main/rules with the name of general or common since there is no suitable file for this rule. And add no-invalid-this rule into this file.
Also add newly created file here:
https://github.com/Expensify/eslint-config-expensify/blob/459e6c434dde4054a5c53290d9abed3e1a1c849f/index.js#L10-L13
What alternative solutions did you explore? (Optional)

@Prince-Mendiratta Thanks for the proposal. Let's get this going!
:ribbon: :eyes: :ribbon: C+ reviewed
cc @pecanoro

@alitoshmatov Thanks for the proposal. Given this is a feature request there is not much to base proposal selection on. So we are going with the first proposal that we get. I hope this makes sense and looks fair for all. The location of the rule is not a significant difference and I think es6 is just a fine.

Hello dev team,
I am trying to contribute ,
I was reading the instructions for opening the app in android, and there was an "SO Post" guideline maybe linked in the instructions.
There I am required a<EMAIL_ADDRESS>mail to join,
I mailed to<EMAIL_ADDRESS>yesterday, and waiting for the response.
My upwork profile is active.
I want to participate in the contribution.
my upwork profile link- https://www.upwork.com/freelancers/~0148d2c4c39cb141bc

📣 @riffly! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@riffly Hi :wave:! Do you have access to Slack? If yes, then please post such problems on Slack, but by the way you don't need access to SO. Run npm install followed by npm run android and that's all.

🟢 to hire @Prince-Mendiratta for this. I can help you with publishing the config to NPM when the time comes.

To enable the no-invalid-this ESLint rule in your project, you can add it to your ESLint configuration file.

@gulfam110 Hi! Thanks for your input. I assume you are new here so Welcome! I would really insist that your read the contributing guide. If you have any questions outside the GH issue, please ask on Slack.

📣 @Prince-Mendiratta You have been assigned to this job by @pecanoro!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

Assigning @Prince-Mendiratta since I think @tgolen forgot hehe

@Prince-Mendiratta hired ✅

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.3.7-3 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/18032

If no regressions arise, payment will be issued on 2023-05-05. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@s77rt] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@s77rt] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@s77rt] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@s77rt] Determine if we should create a regression test for this bug.
[ ] [@s77rt] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ] [@NicMendonca] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

The PR that introduced the bug has been identified: Not a bug, this is a feature request.
The offending PR has been commented on: n/a
A discussion in #expensify-bugs has been started: n/a
Determine if we should create a regression test for this bug: n/a

What a friendly non time-consuming checklist :heart_eyes:

@s77rt can you please apply to the job: https://www.upwork.com/jobs/~0138e39a2b0f958b39

@Prince-Mendiratta you've been paid, thank you!

@NicMendonca Applied.

@s77rt paid! Thank you!


Incompatible GDScript parser in 3.2.1 and 3.2.2 versions

Godot version: 3.2.2

OS/device including version: macOS Catalina 10.15.5

Issue description:
The code provided below compiles without errors in 3.2.1, but in 3.2.2 it throws: Parse Error: Variable "i" already defined in the scope.  Example:
func _ready():
  for i in range(10):
    print_debug(i)

      for i in range(10):
        print_debug(i)

Minimal reproduction project:
3.2.2.zip

Shadowing was disabled in #39276

Shadowing was disabled in #39276

Ah, thanks! But it's strange that maintenance release broke backward compatibility

Ah, thanks! But it's strange that maintenance release broke backward compatibility

We don't claim to follow semantic versioning for this reason. Patch releases may break backward compatibility in subtle ways, especially in projects that follow bad practices such as shadowing variables.

Duplicate of #39861.


[Docs] Add the Protocol Witness Matching mini-manifesto

This PR adds the "Protocol Witness Matching" mini-manifesto, as discussed here: https://forums.swift.org/t/protocol-witness-matching-mini-manifesto/32752
This might need Core Team approval (see discussion here), so it would be great if they can discuss this and provide their feedback (if any).

@rjmccall Thank you very much for your suggestions, I have applied them!

Can one of the admins verify this patch?

@DougGregor do you mind giving this a look as well? Thanks!

@DougGregor ping. Do you have any suggestions? I would really appreciate it!

Updated the doc to mention SE-0280. I was wondering if there's anything else I need to do or is this doc good enough for a v1?

Please update the base branch to main by Oct 5th otherwise the pull request will be closed automatically.

How to change the base branch: (Link)
More detail about the branch update: (Link)

Hi @rjmccall and @DougGregor, I would really like to get this PR merged (it's been over a year!) and I was wondering if you have any feedback for me or whether you think this is good enough for a v1? Thank you!


There is no keyboard shorcut to open keybindings.json

There is no keyboard shortcut to open the page that customizes keyboard shortcuts.
keybindings.json is impossible to find :(

Are you talking about:

workbench.action.openGlobalKeybindingsFile
"command": "workbench.action.openGlobalKeybindingsFile"

Yes it has no shortcut by default. You can assign one from Keyboard Shortcuts Editor.


Enforce Passing Object IDs Instead of Objects to Background Job

Feature Description.
It might be beneficial to have a cop in RuboCop Rails that enforces passing object IDs (e.g., user.id) instead of full objects (e.g., user) to background jobs such as Delayed::Job or ActiveJob. This practice would save memory efficiency and prevent potential serialization errors.
Rationale behind this suggestion:

Memory Inefficiency
Stale Data
Serialization Errors Reduction

Describe the solution you'd like
Add a new cop that checks for instances where a full object is passed to a job. The cop should recommend passing the object’s ID instead.
# bad MyJob.perform_later(user)
# good MyJob.perform_later(user.id) or other alternatives`
Additional context
Please let me know your thoughts on this issue, I am also willing to work on this issue if approved.

It's very hard to impossible for rubocop to actually know if a passed argument is an object or not. Your first example could just as well contain an integer in the user variable.
I believe your two last points aren't actually are an issue. Objects are roundtripped via something called globalid which in effect is just a string telling ActiveJob how to fetch it from the database again. https://github.com/rails/globalid. So it just does what you would do yourself, with a bit more overhead.

I agree with @Earlopain opinion. So, I will close this proposal. Thank you.


Silence the NS_ERROR_FAILURE message

Quite annoying to see this whenever I try to play

Why does it happen?

Not sure, google search doesn't turn up much.  It looks like it might have something to do with the chat

Are you using buggy vesion of a browser?
Also, your code has syntax errors, I cannot accept it,

Oops, fixed.  I assume my browser version isn't the issue, I'm on Firefox 44.0.1

Somehow the PR isn't updated...?


Volsync restore failing with "operation not permitted"

I'm not sure if you've attempted to do a restore (or maybe this is something with my cluster) since you added the moverSecurityContext to the volsync ReplicationSource CRs, but I was just getting this set up in my cluster to finally move off of k10 and was testing a restore process and this was failing because we also need to set the moverSecurityContext in the ReplicationDestination.  I haven't looked to see if all of your ReplicationSource's have the same security context...if they do you can just set it in your destination template. Otherwise, we probably need to see if we can update the task scripts to copy it from the ReplicationSource when creating the ReplicationDestination. Nice job on those tasks BTW...they make this a pretty slick process for backup/restore.

You can also try to add the namespace label like I've done here.
https://github.com/onedr0p/home-ops/blob/main/kubernetes/apps/default/namespace.yaml

Ah...I didn't see that. Lemme try it.

Cool...that does indeed work. Thank you!


Fixed spelling of "recommended"

i did some mistake that made me unwatch this repo :( and it wasn't get the attention it was should be, can you please update the merge conflict. thank you!


Return of the black screen - Episode 2 - La suite

What

Return of the black screen

Video with strong production quality (turn on sound for snarky smartass comments)
https://user-images.githubusercontent.com/1689815/169847875-084bcfd6-e4fc-4c4c-9a2b-c10ebac29100.mp4
Part of

#526

Additional context

Several people, including me, verified this very issue had been fixed by a previous PR. Collective hallucination ?

Probably also a unwanted side effect of the color picker. But interesting as it was hardcoded black before and I don't know of any changes to this


⚠ HopeAlley has degraded performance

In dcbe1e8, HopeAlley (https://hopealley.com) experienced degraded performance:

HTTP code: 200
Response time: 6494 ms

Resolved: HopeAlley performance has improved in c7b189c.


I can use cocoon without nested form? Just in my Principal model?

I don't need nested elements. I just need a form with many rows to add that are all the same "Principal"  model, not a nested one.
How to accomplish this with cocoon. Is this possible?
For example:
My form is:
NEW PRINCIPALS:

ONE PRINCIPAL
TWO PRINCIPAL
THREE PRINCIPAL
FOUR PRINCIPAL

add line
and so on...
not a nested one.

Yes, check #223 for a detailed example.

This (https://github.com/nathanvda/cocoon/pull/223) can't help me?

When I click on a link_to new_principal_path, remote: true and insert a row in form I don't know how to add a model in that form, like a nested row as cocoon does. Thie is the problem.

Mmmm. Using ajax (remote: true links) to insert a form into a page and posting again is pretty standard, and a bit out of scope of the issues here. If you ask that question on stackoverflow you will get an answer in no time, if you send me the link I will add an answer if needed.

Are you saying that my problem is similiar to that: http://stackoverflow.com/questions/16919711/multiple-non-nested-model-creation-on-same-page?

Note sure why you need to ask me this? The question seems identical to me. Be happy, enjoy, you found a solution.


Fixes #1220  -  Removes ZooKeeper watches on table configs when table is deleted.

This stops the number of watchers in Zookeeper from growing without a limit and ultimately crashing ZooKeeper.  You have to whitelist the wchp four letter command in ZooKeeper to verify watches are actually removed when tables are deleted.  You have to add this line to the zoo.cfg command to whitelist the four letter commands:  4lw.commands.whitelist=*
This command will show you the table configurations in ZooKeeper that have watches on them:
'echo wchp | nc localhost 2181 | grep 'conf/table.''
This pull request can't be done with the one for #1225.

The pull request does not appear to be doing what it purports to do in the comments/log message/subject. That is, it does not appear to remove watches... but does appear to avoid adding some possibly unnecessary ones on nodes that don't yet exist. I think that works because the case of watching for new child node creation is covered by the fact that ZooCache clears out cached child nodes when the parent node watcher is triggered, so the parent node watcher is sufficient.

@ctubbsii ,  I have verified with my Uno instance and the ZooKeeper four letter command 'wchp' that this pull request does indeed remove all of the ZooKeeper watches related to an individual table when that table is deleted.  I verified with the 'createtable' and 'deletetable' commands in the accumulo shell.  There is nothing academic about it.  If 'wchp' is giving me an accurate state of the watchers in ZooKeeper then this pull request is removing watches and associated session information when tables are deleted.  Our current code just leaves all the table configuration watches for a table to remain watched all of the time when a table is deleted even though the actual Zoonodes are gone.   I can demo this PR at our next Hackathon.  PR #1422  which implements your idea in #1225  works well too and eliminates all the watches for sure.   If someone considers that never removing the watches when tables are deleted to be the central problem of running out of memory in Zookeeper,  than we can solve the issue of crashing ZooKeepers with this PR.  That was the hypothesis  that @keith-turner put forth in #1220 .

@ctubbsii Below is output you see when you run master branch then the  'wchp' command above after a createtable command and then after a deletetable command in the Uno shell.
This is what how Accumulo works now on Master branch
Show the watches on a table after 'createtable table1' in Uno shell
jzeiberg@dragonfly:~/github/fluo-uno$ showtablewatchers | egrep '[2-5]/conf'
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.groups.enabled
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.iterator.scan.vers.opt.maxVersions
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.constraint.1
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.balancer
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.iterator.majc.vers.opt.maxVersions
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.iterator.minc.vers
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.iterator.scan.vers
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.majc.compaction.strategy
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.classpath.context
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.replication
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.iterator.minc.vers.opt.maxVersions
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.iterator.majc.vers
Show the watches on  the table1 that is now deleted after 'deletetable table1' in Uno shell
This should be empty
This PR makes this list empty
jzeiberg@dragonfly:~/github/fluo-uno$ showtablewatchers | egrep '[2-5]/conf'
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.groups.enabled
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.balancer
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.split.endrow.size.max
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.compaction.minor.logs.threshold
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.split.threshold
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.majc.compaction.strategy
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.classpath.context
/accumulo/a6711212-52fb-4d8a-b0d3-c560fac06c86/tables/2/conf/table.replication
`

I have verified with my Uno instance and the ZooKeeper four letter command 'wchp' that this pull request does indeed remove all of the ZooKeeper watches related to an individual table when that table is deleted.

Because of https://issues.apache.org/jira/browse/ZOOKEEPER-1274, that command doesn't give a full picture of the watches (it doesn't show child watches), which concerns me a bit.

@ctubbsii Below is output you see when you run master branch then the 'wchp' command shown below after a createtable command and then after a deletetable command in the Uno shell.

I see that it does have fewer data watches, and have no doubt of this. My main concern is that the way we use ZooCache, these watches might be important and may have negative consequences if removed. Although it fixes the problem of leaving watches around when the table is deleted, it may make it so ZooCache misses when a new node is created. This is somewhat a drop in the bucket, though. The number of watches is still O(m*n*p), albeit with a slightly smaller p. I think this scale problem and the watches on non-existing nodes issue are both resolved by a simpler solution to consolidate configs into a single node, which (as I said above), I'm going to try to look into, picking up my previous investigation into that.

Another thing that I've confirmed - calling exists(path, false) does not remove previous watchers - it just prevents adding a new one.
Using zookeeper, I called:
zoo.exists("/a", existsWatcher);
zoo.exists("/a", false);
zoo.exists("/a", null);

Still results in the watcher being triggered on a data change event.

I have a partial IT test that sets and checks watchers - https://github.com/EdColeman/accumulo/tree/zk_watcher_it.  There are two "tests" on for setting system props and one (in progress) for a table prop.  I still want to look at delete ops on a table to see if that is triggering an exists event, and there may be some formatting issues, but may be enough to look at until I revisit tomorrow.

@EdColeman , thanks a lot.

This is superseded by #1454


Make ColorPicker/ColorPickerButton alpha checkerboard use the same contrast as the gradient editor's

Godot version
v3.4.2.stable.official [45eaa2daf]
System information
Windows 10
Issue description
When make a transparent gradient the colors items do not match the preview at the top? The last item in the list is fully transparent and invisible... yet is is displayed as "fully" white with the transparent check pattern virtually invisible, and items higher on list are shown with more transparency though they have less?
The items in this list should basically match the preview at the top?
Thanks.

Steps to reproduce

create new Gradient, set Color 1 to transparent, and refresh by selecting a differnt node then the Gradient again (https://github.com/godotengine/godot/issues/33265)
add a bunch of new points, and refresh
note that last item in list does not appear fully transparent, and items further up list appear more so?

Minimal reproduction project
No response

they do seem to interpolate() properly just displayed wrong

Looking at the GIF, I don't understand the problem. It seems to work as expected to me, especially since your last stop is transparent white. Interpolation between opaque black and transparent white will result in gray colors in the middle.

You can go from white to transparent black and exactly the same thing happens. The last color is white instead of transparent. And does not match the preview at top.
you can

Could it be that your color profile for your monitor has a really low contrast? The only difference between the preview und the items in the list is that the checker pattern I can see is that the checker patterns have different grey values for preview and list(the one in the list has a lighter grey)
The last item in your screenshot is not pure white at all on my end, just the checker pattern.

The grid (how we tell alpha) looks the same in both places?

To me, it looks like the checkerboard backgrounds don't match each other. We should change it so both have the same opacity. I prefer the gradient editor's checkerboard as it's more contrasted and makes it easier to distinguish low-opacity colors.

Indeed these checkers are different:

GradientEdit

https://github.com/godotengine/godot/blob/0c7c6401128a61bc2d805c4c7b400df39ffdb657/scene/gui/gradient_edit.cpp#L55-L57
https://github.com/godotengine/godot/blob/0c7c6401128a61bc2d805c4c7b400df39ffdb657/scene/resources/default_theme/theme_data.h#L41-L43

ColorPickerButton
https://github.com/godotengine/godot/blob/0c7c6401128a61bc2d805c4c7b400df39ffdb657/scene/resources/default_theme/default_theme.cpp#L805
https://github.com/godotengine/godot/blob/0c7c6401128a61bc2d805c4c7b400df39ffdb657/scene/resources/default_theme/theme_data.h#L209-L211

No idea why it's made like that. Sounds like a good idea to make these backrounds look/be the same.

Looks like it has changed in 4 alpha 1 already? the two previews now match, but I prefer the Gradient Editor version too. It seems to match other programs more? As alpha lowers, the pattern becomes easier to make out.
Thanks.


Logging improvements + Colours

Code is a bit of a mess atm I think, so marking as draft for now :)
Should work tho, test it if you want
Also sorta supercedes #280 i guess?

the code for finding tags could probably be improved I think? but the rest isn't awful I think

marking as draft as per conversation on discord


docs: Write all missing docstrings

Codecov Report

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

@@          Coverage Diff          @@
##           master     #4   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           3      3
  Lines         155    155
  Branches       23     23
=====================================
  Hits          155    155

Impacted Files
Coverage Δ

forecastonishing/selection/paralleling.py
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


URGENT: Strict MIME type checking breaks usage

See this post for details/reproduction (not by me) http://gis.stackexchange.com/q/232159/14129
Basically most vizs break in Chrome. See stocktonca.mapgeo.io, see the console log:

Refused to execute script from 'https://stocktonca.carto.com/u/stockton-admin/api/v2/viz/d2f12b14-871f-11e5-bd1f-0ecfd53eb7d3/viz.json?callback=vizjson' because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.

Thanks for reporting this @knownasilya! We're fixing it now.


optionally format output

At this line it outputs the result for the current benchmark.
I'd like to specify a function which accepts that object and returns a formatted string.
Before I start I'm wondering, what do you think?
I'm thinking something like:
var suite = require('benchmarked')({
  cwd: 'benchmark',
  fixtures: 'my-fixtures/*.txt',
  code: 'my-functions/*.js',
  format: function (benchmark) {
    // like current implementation:
    return '  ' + benchmark
  }
})

suite.run()

It would provide the option on down the calls to the addSuite() function where it would be used inside cursor.write(format(event.target)), or, the default format would be used.

Great idea! Interested in doing a pr?

Yes. I went ahead and implemented it already. :)
I ended up adding the default format function to this.options in the defaults() function and then using cursor.write(opts.format(event.target)).
Works great. I used it to color and pad the results.
I'll make the PR now.
Thank you.

All set. It's in #9


Add navigation testing

🚀 Description
Adding the missing androidx.navigation:navigation-testing library
📄 Motivation and Context
Missing library
🧪 How Has This Been Tested?
./gradlew test ✅
📦 Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

✅ Checklist

[x] I have read the guidelines for the development process
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Hello, please, never rebase on the main branch, it messes up history. Use merge next time, if needed (it's not needed here).
Also, see the contributing guide about dependency notations, we take issues but not PRs for these.
I'll add the dependency notation myself on the main branch.

You need to run tests in the :plugins:refreshVersions project, you will see a file being edited. That change needs to be committed as well.

Done!

@LouisCAD could this be merged please, seems like a small change....

Hello, I'll make a minor release this weekend including this PR. Sorry for the delay.

@timrijckaert I've fixed what was causing te CI to fail.
Thanks for your contribution!
🎉


multiple pseudo-class selectors on :host

As seen in https://github.com/rdela/webcbed/pull/2
<style webc:scoped>
:host:not(:focus) {

works for :focus but
<style webc:scoped>
:host:not(:focus):not(:active) {

only targets :active

Nevermind, wrote the selector wrong, I think? Possibly still worth testing but I realized it was the  getting focus so I used :has() instead.

multiple pseudo-class selectors on :host definitely works haha:
:host:not(:has(:is(a:active, a:focus))) {

PR commit
Current code


Something's wrong with the lab  module

One of the recent commits has broken the lab's outputs.tf file. Trying to run it gets lots of errors like so:
This object does not have an attribute named "eksa_addon_ip"

closed by #62


Cannot create a new custom post section

Hey there,
first of all: I am still very new to Hugo, so excuse me if the answer to my question should be obvious...
What I am trying to do:
I would like to have several blog sections, sorted by content category (e.g. health, games, cars). All of those sections should have the same layout but (of course) different articles.
The structure is supposed to be:
site.com/health/health-post1/
site.com/games/games-post1/
etc.
If this is achieved, I would like to go a step further and have site.com/all/ as well, where all posts of the listed sections will be shown. (Is this possible?)
What I have tried so far:

Create folder "health" in /content/ and add articles.
Add folder "health" to /layouts/ and put single.html in there with partial post/single.html.
Add health.html to /layouts/section/ with partial post/list.html.
=> Result: I can access site.com/health/, however, it shows the same content as site.com/post/.
As far as I understood your exampleSite, you did the same: You have created a custom post section which shows the same content as the post section.

My question:
How can I do the same I have achieved so far, but with unique content for each section?
I have read the hugo docs on sections but they didn't help me... Maybe I still get something completely wrong about how sections work.
THX!

With regard to the sections, the only functionality that the theme provides is providing a different name to the post section, not creating subsections the way you are trying to do. If you want sections, you can follow the docs here to create something like _http://example.com/post/health/health-post1_. I can't remember if Hugo provides indexing for sections or not when visiting a url like _http://example.com/post/health_.
If you want to provide sections using the partials that restrict posts to categories like health vs. games, Hugo might have some filtering capability. Alternatively, you could extend https://github.com/chipsenkbeil/grid-side/blob/master/layouts/partials/post/list.html#L29 to support filtering the pages that are listed.

With regard to the sections, the only functionality that the theme provides is providing a different name to the post section, not creating subsections the way you are trying to do.
So is this a matter of the theme or Hugo itself? If it's just about the theme, then there should be a way to include that functionality manually, right?
I definitely need indexing for the sections.

Well, you can take a look at my site here. It's for https://chipsenkbeil.com (not senkbeil.org) and uses the post layout for multiple sections (note and post). Those are separate sections that can be accessed via https://chipsenkbeil.com/post/ and https://chipsenkbeil.com/note/. I don't have a section dedicated to retrieving all content, though. That would be layouts and content you would probably need to add on top of the theme.

Perfect, thank you! That's exactly what I want to do. I will look into it and try to implement it in my site.
BTW: I asked on the gohugo forums for the latter issue, and just got a reply that it was possible to list all articles with .Site.Pages. (see https://discuss.gohugo.io/t/list-page-for-all-content-of-all-sections/3832/2?u=inspiritana)
Right now I am still tweaking the homepage design, afterwards I'll try to achieve that section stuff (and will post in here if/how I managed to do it). Cheers!

Wow, it was in fact much easier than I thought:

create section "all"
use single.html layout from post/
use list.html layout from post/ and modify the following:
{{ range .Paginator.Pages }}
to
{{ range .Site.Pages }}

That's it! Thanks for your help, Chip!

Great! I'll close this issue. If you still need to discuss something regarding this, feel free to open it back up. If there is some code that needs to be amended, you are more than welcome to create another PR.


Update storage.js

Remove the log of mongoDB credentials. For security reasons.

Good catch, thanks!

Coverage remained the same at 85.35% when pulling 51faf1acf37376fc0b322bab33f78954b3796d38 on carlosfaria94:patch-1 into d8633065cd4ea30c4f7fe5bec3021858a9150945 on bitpay:master.


EDU-773 Fix control panel width issue

Closes https://educandu.atlassian.net/browse/EDU-773

Works even nicer than before :+1:


Cannot use nginx reverse proxy with any build

It always returns 503 error, and cannot set upstream, for reverse proxy. Btw, I am using jwilder/nginx-proxy

You need to set -e VIRTUAL_PORT=8080 for jwilder/nginx-proxy to know which exposed port to proxy since jenkins exposes more than one port.

I get this error also. My docker-compose.yml looks like this:
version: '2'
services:
  Jenkins:
    image: jenkins:latest
    container_name: jenkins
    ports:
      - "50000:50000"
    volumes:
      - /var/jenkins_home
    environment:
      - VIRTUAL_HOST=subdomain.mydomain.online, www.subdomain.mydomain.online

The reverse proxy already runs and proxied a container on port 80. I want now add jenkins also on port 80. So when I type in the Browser www.subdomain.mydomain.online nginx proxy to the jenkins container. I tried to build an own Dockerfile like this:
FROM jenkins
USER root
ENV JENKINS_OPTS --httpPort=80
EXPOSE 80

but don't get it solved. Have someone an Idea?


November figures for Percent Data by Source Type are way off

Overview
Looking at this report: https://openapparel.org/admin/reports/percent-data-by-source-type/
The percentages between Single and List submissions usually add up to roughly 100%. For November 2021, that figure was way off:

We would love to understand why the numbers are so different for this month and if they are accurate. We will need an answer to this by mid-January 2022 (Jan 14 at the latest), so we can finalize reporting for funders.

cc @katieashaw

Flagging this for @obrienad & @jwalgran giving the up-coming deadline

We added this issue to the current sprint are are working on debugging the query behind this report.

I have identified the cause of the data issue. A fix is in-process, but meanwhile we will manually pull a corrected version of the data for the OAR team.
For each facility, we look at all the times it was submitted and it was successfully matched / created. Some facilities were submitted multiple times by the same contributor, but we don’t want to count duplicates / resubmissions.
An example of a single facility’s many submissions pre-filtering (data anonymized with false IDs):

When filtering to look at only the initial submission by each contributor, we were filtering the submissions in two different ways when calculating the number of submissions for each source type vs calculating the total number of submissions.
When calculating the number of facilities submitted via each source type per month, we were asking: What was the first time this contributor submitted this facility via this source? By this measure, you can see that contributor 2 is considered to have submitted the facility twice - once by list in February 2020 and once by API in November 2021. Counting this way, the facility was submitted three times (twice by list and once by API) in November.

When calculating the total number of facilities submitted per month, we were asking: What was the first time this contributor submitted this facility? By this measure, contributor 2 only submitted the facility once (in February 2020) - their change from using list submission to using API submission isn’t tracked. Counting this way, the facility was submitted twice (both by list) in November.

When returning the report results, we would get the numbers 100.00% for List (2 out of 2) and 50.00% for API/Single (1 out of 2) in the above situation.
Generally, contributors are (mostly) consistent in which type of source they use. However, in November 2021, one contributor in particular resubmitted ~2000 facilities, which they had previously submitted via list, using the API. These facilities were counted in the calculation of number of API submissions for the month, but were incorrectly skipped when calculating the total number of facility submissions for the month.
In order to correct this error, we are updating the report to count each contributor’s initial submission of the facility via each source type for both the source_type count and the total count. This will result in a more accurate representation of the percentage of submissions coming from each source type per month.
When returning the report results, we would now get 66.66% (2 out of 3) for List and 33.33% (1 out of 3) for Single for the above example, correctly indicating the switch to API usage by contributor 2.


M365MM- People and Communities

Category

[X] New article

Docs Build status updates of commit 82febdd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/microsoft-365-maturity-model-people-and-communities-competency.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit c47ef7c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/microsoft-365-maturity-model-people-and-communities-competency.md
:white_check_mark:Succeeded
View

Community/microsoft365-maturity-model--intro.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit c554ff1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/microsoft-365-maturity-model-people-and-communities-competency.md
:white_check_mark:Succeeded
View

Community/microsoft365-maturity-model--intro.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Thanks, Emily!


Incorrect values in battery

Describe the bug
The data point battery from mine Hue Smart Button fluctuates extremely with its values.
Screenshots & Logfiles
To check, I had a Telegram message sent to me when there was a change:
Schalter Bett.battery => 33
Schalter Bett.battery => 44
Schalter Bett.battery => 41
Schalter Bett.battery => 39
Schalter Bett.battery => 38
Schalter Bett.battery => 39
Schalter Bett.battery => 38
Schalter Bett.battery => 39
Schalter Bett.battery => 38
Schalter Bett.battery => 37
Schalter Bett.battery => 36
Schalter Bett.battery => 35
Schalter Bett.battery => 34
Schalter Bett.battery => 42
Schalter Bett.battery => 39
Schalter Bett.battery => 38
Schalter Bett.battery => 37
Schalter Bett.battery => 38
Schalter Bett.battery => 37
Schalter Bett.battery => 36
Schalter Bett.battery => 38
Schalter Bett.battery => 37
Schalter Bett.battery => 36
Schalter Bett.battery => 35
Schalter Bett.battery => 34
Schalter Bett.battery => 33
Schalter Bett.battery => 34

Before logging, it would occasionally drop to 1% for a short time
Versions:

Adapter version: 3.10.2
JS-Controller version: 5.0.19
Node version: v18.19.1

Please track with curretn version (3.12.0) and add a debug log at time of occurence.
While thre could be a problem with the adapter the device could send faulty data too. So aslong as there is no record of data received it's hard to search for the problem.

Thanks and sorry for long time withoput any response.
I know that this issue is ruther old. And there have been several changes in between. But I do not like to close a issue only
because it is old.
Let wait some time and your feedback.


Make all types instantiable from System.Any

This PR addresses https://github.com/cqframework/clinical_quality_language/issues/1401 and unblocks https://github.com/cqframework/clinical_quality_language/pull/1402.
Here's what happens currently when this library
library Lib1
define a: Message('x', true, '1', 'Message', 'This is a message')
define b: Message('y', null, '1', 'Message', 'This is a message')

is translated: The OperatorMap inside the System CompiledLibrary initially has one generic signature (T, System.Boolean, System.String, System.String, System.String) and no concrete signatures for the Message operator. When Message('x', true, '1', 'Message', 'This is a message') is visited by the translator, it doesn't find any matching concrete signatures at first, so it adds a new concrete signature (System.String, System.Boolean, System.String, System.String, System.String) to the OperatorMap after making sure the generic signature is instantiable from that concrete signature. This concrete signature is then used to resolve the first Message call. Then, when it visits the second Message('y', null, '1', 'Message', 'This is a message'), it finds the existing matching concrete signature in the OperatorMap and uses that to resolve the call.
Here's what happens currently when this library
library Lib2
define b: Message('y', null, '1', 'Message', 'This is a message')

fails to translate. The OperatorMap inside the System CompiledLibrary initially has no concrete signatures and one generic signature (T, System.Boolean, System.String, System.String, System.String) for the Message operator. When Message('y', null, '1', 'Message', 'This is a message') is visited, it doesn't find any existing matching concrete signatures (same as above). However, the generic signature is not currently instantiable from the concrete signature (System.String, System.Any, System.String, System.String, System.String) because non-any simple types are not instantiable from System.Any (in this case System.Boolean is not instantiable from System.Any). The Message call doesn't resolve because there are no matching signatures.
This PR makes all types instantiable from System.Any which fixes the Message call resolution in the above example.
This change also affects the translation of expressions like Contains(null, 'a'). The Contains operator has two generic signatures (List<T>, T) and (Interval<T>, T), and the expression currently translates to (List<System.Any>, System.String) when list promotion is enabled and fails to translate (Could not resolve call to operator Contains with signature (System.Any,System.String).) when list promotion is disabled. After the change, the expression fails to translate (Ambiguous generic instantiation of operator Contains between signature (list<System.Any>,System.Any) and (interval<System.Any>,System.Any).) both with and without list promotion. This is why I had to modify some existing tests to explicitly cast nulls to lists or intervals to resolve the ambiguity.
This change is also related to https://github.com/cqframework/clinical_quality_language/issues/435. Before the change, null = null is translated with this error:
Call to operator Equal(System.Any,System.Any) is ambiguous with:
  - Equal(System.Decimal,System.Decimal)
  - Equal(System.Long,System.Long)
  - Equal(System.Boolean,System.Boolean)
  - Equal(System.Integer,System.Integer)
  - Equal(System.DateTime,System.DateTime)
  - Equal(System.Ratio,System.Ratio)
  - Equal(System.Date,System.Date)
  - Equal(System.String,System.String)
  - Equal(System.Quantity,System.Quantity)
  - Equal(System.Code,System.Code)
  - Equal(list<System.Any>,list<System.Any>)
  - Equal(System.Concept,System.Concept)
  - Equal(System.Time,System.Time)

After the change, the error is:
Ambiguous generic instantiation of operator Equal between signature (interval<System.Any>,interval<System.Any>) and (list<System.Any>,list<System.Any>).

Another issue related to this is https://github.com/cqframework/clinical_quality_language/issues/435. Before this change, collapse null fails to translate and gives Could not resolve call to operator Collapse with signature (System.Any,System.Quantity).. After the change, it translates successfully and resolves with Collapse(List<Interval<System.Any>>).
Corresponding PR to update cql-tests: https://github.com/cqframework/cql-tests/pull/49.

We don't have a full-fledged solution for type unification. We detect the null as Any rather than as a type variable. IOW, for the type equation:
T1 = T2
We solve the first side first and end up with:
Any = T2
Then we traverse the right-side:
Any = List<Integer>
which is compatible and therefore type checks. Instead, what we need to do is check the left-side, realize we can't make a full inference:
X = T2
And then solve the right side:
X = List<Integer>
and then on the left side find the most specific type that satisfies the requirements of the right side, typically the same type.

Hi @brynrhodes @JPercival this change only affects the operators that have both list and interval overloads where null are passed in, such as Contains etc. Currently, something like Contains(null, 'a') gives different results depending on whether list promotion is enabled (details above). After the change, it always raises an ambiguity error. Presumably, this should be expected because there's really not enough information in just Contains(null, 'a') because both List and Interval are allowed. Even with list promotion enabled, Contains(null, 'a') shouldn't always resolve as Contains(List<Any>, String) and "forget" about the interval overload, what do you think?
A potential solution for the ambiguity problem for these expressions might be something like "implicit cast precedence"?
Expressions like Exists(null) are still translated without errors and interpreted as Exists(List<Any>), with no casts needed, both with and without list promotion turned on. More examples of where casts for nulls aren't needed:
Flatten(null)       // always translates as Flatten(List<List<Any>>)
IndexOf(null, 5)    // Index(List<Any>, Integer)
SingletonFrom(null) // SingletonFrom(List<Any>)
distinct null       // Distinct(List<Any>)
null = { 'a', 'b', 'c' } // Equal(List<Any>, List<String>)

The last one is interesting. Currently, null = { 'a', 'b', 'c' } is translated as Equal(List<Any>, List<String>) when list promotion is enabled and raises Could not resolve call to operator Equal with signature (System.Any,list<System.String>). when list promotion is disabled. After the change, it's Equal(List<Any>, List<String>) both with list promotion enabled/disabled.
Ideally it should be translated as Equal(List<String>, List<String>) as per @JPercival's comment. I can look into it separately from this.

Closing in favor of https://github.com/cqframework/clinical_quality_language/pull/1428


EIC plots with shared Y-axis do not have proper Y-axis range

example output:
https://drive.google.com/file/d/1JTlDZjkHfPjo59ziivCL1Rir29yiIMiJ/view?usp=sharing

oops wrong project!


build: remove codeQL

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Improve performance of lein tasks

I'd like to get lein tasks to run faster. I am actively looking into how this might achieved. I'm very happy to hear anyone's thoughts, suggestions or concerns.

Nightcode uses Boot by default now, and I think it is faster at Leiningen tasks as well since the rewrite, so after nearly 3 years I'm assuming it's safe to close this issue now ;) Happy to re-open if anyone has noticed performance issues with build commands lately.


Ext cache

Removes local code for rest caching, uses go-pkgz/rest instead

Coverage decreased (-0.006%) to 84.501% when pulling 23a6a75da2e098a6db5731b178b19e53ac9af30a on ext-cache into bf716ac01fe94893d3079dd163fb2f15c4b62c39 on master.


[MouseCrosshairs] Update initial cursor position before drawing

Summary of the Pull Request
What is this about:
What is included in the PR:
How does someone test / validate:
Quality Checklist

[x] Linked issue: #16050
[ ] Communication: I've discussed this with core contributors in the issue.
[ ] Tests: Added/updated and all pass
[ ] Installer: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Docs: Added/ updated
[ ] Binaries: Any new files are added to WXS / YML

[ ] No new binaries
[ ] YML for signing for new binaries
[ ] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

LGTM! I see no problems with making this change. Were you able to replicate the issue?

Once in ~10 tries.. But after the change, not anymore


MAINTAINER RESPONSIBILITY

I see many PRs that are stuck in the final stages as there is nobody available that gives final comments or merges a PR.
Until we haven't found some brave developer(s) with write access / or new ones are announced, I am afraid that there aren't going to see many fixes anytime soon.

Also @lawrennd why not add Martin to maintainer list?

Great idea, @MartinBubel are you happy to take a lead on some of this?

Thanks for inviting me. I will try to help out on some of them.

@MartinBubel good call out. Could you help prioritize some of them? i.e. what's on your must-have list?

I haven't found the time yet to look at all of them. But I can do so over the next days. I would suggest to focus solely on stability for now, which mainly means "compatibility with new python versions". Anything else comes later IMHO.

Yep, let's get right before we move forward, agreed. Welcome aboard.
Should we consider this issue closed vis https://github.com/SheffieldML/GPy/pull/1020 being merged?


strong mode least upper bound doesn't handle fuzzy arrows correctly

This broken code allows a function expecting a string to be called with an int with no check.  It looks like the least upper bound code is not accounting for the treatment of dynamic parameters as bottom.
typedef String TakesA<T>(T item);

void main() {
  TakesA<int> f;
  TakesA<dynamic> g;
  TakesA<String> h;
  g = h;
  f = f ?? g;
}

while fixing LUB, I noticed that GLB has the same issue

https://codereview.chromium.org/2215873002


Get description of a Cloudformation and missing documentation

Hi Guys,
I want to make sure that each CFN file  has a description and it should be more than 10 characters.
I also want to make sure that each CFN parameter has a description too.
I have come up with this code that checks description for each parameter. How do I get the description of a CF template ?
AWSTemplateFormatVersion: 2010-09-09
**Description: Here is my template description.**

Parameters:

  Sample:
    Type: 'String'

  Name:
    Type: 'String'

"""
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: MIT-0
"""

from cfnlint.rules import CloudFormationLintRule, RuleMatch

class MyNewRule(CloudFormationLintRule):
    id = 'W9001' # New Rule ID
    shortdesc = 'test' # A short description about the rule
    description = 'test' # (Longer) description about the rule
    source_url = 'test' # A url to the source of the rule, e.g. documentation, AWS Blog posts etc
    tags = ["mappings", "limits"]

    def match(self, cfn):

        matches = list()
        all_parameters = cfn.search_deep_keys('Parameters')
        all_parameters = [x for x in all_parameters if x[0] == 'Parameters']

        for r, resources in all_parameters:
            for parameter_name, parameter in resources.items():
               description = parameter.get('Description')
               if description is None:
                    path = ['Parameters', parameter_name]
                    message = parameter_name + ' description is not defined.'
                    matches.append(RuleMatch(path, message.format(parameter_name)))

        return matches

I am using cfn-lint 0.67.0.
Also, where is the cfn-lint documentation on what all properties and methods available say like for cfn object?

I would write the rule as this:
"""
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: MIT-0
"""

from cfnlint.rules import CloudFormationLintRule, RuleMatch

class MyNewRule(CloudFormationLintRule):
    id = "W9001"  # New Rule ID
    shortdesc = "test"  # A short description about the rule
    description = "test"  # (Longer) description about the rule
    source_url = "test"  # A url to the source of the rule, e.g. documentation, AWS Blog posts etc
    tags = ["mappings", "limits"]

    common_message = "description is not defined or 10 characters long"

    def _validate_description(self, o: dict) -> bool:
        description = o.get("Description", "")
        if isinstance(description, str):
            if len(description) < 10:
                return False

        return True

    def match(self, cfn):

        matches = list()
        if not self._validate_description(cfn.template):
            matches.append(
                RuleMatch(["Description"], f"Template {self.common_message}")
            )

        parameters = cfn.template.get("Parameters", {})
        if isinstance(parameters, dict):
            for name, value in parameters.items():
                if not self._validate_description(value):
                    matches.append(
                        RuleMatch(["Parameters", name], f"{name} {self.common_message}")
                    )

        return matches


[FLINK-3783] [core] Support weighted random sampling with reservoir.

Thanks for contributing to Apache Flink. Before you open your pull request, please take the following check list into consideration.
If your changes take all of the items into account, feel free to open your pull request. For more information and/or questions please refer to the How To Contribute guide.
In addition to going through the list, please provide a meaningful description of your changes.

[x] General

The pull request references the related JIRA issue
The pull request addresses only one issue
Each commit in the PR has a meaningful commit message

[x] Documentation

Documentation has been added for new functionality
Old documentation affected by the pull request has been updated
JavaDoc for public methods has been added

[x] Tests & Build

Functionality added by the pull request is covered by tests
mvn clean verify has been executed successfully locally or a Travis build has passed

In default random sampling, all items have the same probability to be selected. But in weighted random sampling, the probability of each item to be selected is determined by its weight with respect to the weights of the other items. This is reference paper: http://arxiv.org/pdf/1012.0256.pdf. The test of WRS is defining 10 items with different probability and counting every item in the reservoir to get the probability after sampling and comparing with expected probabilities to verify its correctness. Also, the paper describe method with exponential jumps, i think we can implement it in future.

Nice.  If this gets merged before https://github.com/apache/flink/pull/1898 I'll integrate it in. Otherwise I'll open a seperate PR after.

What is the core algorithm A-ES or A-Chao?
2016-04-19 6:41 GMT-05:00 Trevor Grant<EMAIL_ADDRESS>
Nice. If this gets merged before #1898
https://github.com/apache/flink/pull/1898 I'll integrate it in.
Otherwise I'll open a seperate PR after.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/apache/flink/pull/1909#issuecomment-211873070

@gaoyike A-ES algorithm is a weighted random sampling method with reservoir. It can create a sampler with defined size. And the probability of element distribution is the same as expected.

I'm closing this as "Abandoned", since there is no more activity and the code base has moved on quite a bit. Please re-open this if you feel otherwise and work should continue.


OBJ files do not contain axis information

Therefore the OBJ importer has no way to know what axes the coordinate system should be using.

There really are no good options. That information is just simply not available and is not consistent between any implementations. The best that can be done is to pick a default such as +x +y -z and print a warning that it may be incorrect.


Playground fails on custom pattern functions

If you try to render the diagram for a parser that contains a custom pattern function, the diagram fails to render.
Repro steps:

Visit the playground
Change a token to a custom token function, such as var True = createToken({name: "True", pattern: t => null});
💥

Errors during evaluation of the implementation:
this.children.forEach is not a function

Gracias. 👍
I will look into this.

Will release a version with this fix soon.


03/30/2018 02:56 : Create Pull Request for branch master -> prTesting1_2018033002

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Calculate and display estimated number of loops

The rulebooks provide calculations for figuring out roughly how many loops should be used.
Implement them and display the result to the user.

As part of this, we can probably estimate on which loop the Godly Being enters play.

As part of this, we can probably estimate on which loop the Godly Being enters play.


Corrected pycon17 description

Fixes #1499
Corrected decription to PyCon 17.

@geekyd please review.

Please sync with base branch first.


add test for keys()

Codecov Report

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

@@           Coverage Diff           @@
##           master     #177   +/-   ##
=======================================
  Coverage   81.44%   81.44%
=======================================
  Files          40       40
  Lines        2765     2765
=======================================
  Hits         2252     2252
  Misses        384      384
  Partials      129      129

Continue to review full report at Codecov.

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

I was confused.


stdout/stderr: Log folder can not be retrieved

Organization Name:

Short summary about the issue/question:
Cannot access the log-manager
The stdout/stderr in the job details page shows: Log folder can not be retrieved.
I found the rest-server cannot access the worker nodes.
Here's the logs of rest-server :
[ERROR] Got error when retrieving log list, error: Error: connect ETIMEDOUT <IP_ADDRESS>:9103
Anyone knows the reason for this ?
OpenPAI Environment:

OpenPAI version: 1.8.0
OS (e.g. from /etc/os-release): Ubuntu 20.04

I have solve this problem through kubectl -n kube-system set env daemonset/calico-node FELIX_IGNORELOOSERPF=true


Add Elasticsearch to the localdev environment

Description
Brings Elasticsearch as a search service to our localdev environment. Also brings a Kibana instance to investigate the data.
This PR also adds a script to pull data from a full text dataset in s3.
Type of change

[x] :sparkles: New feature

How Has This Been Tested?
Local tests, MacOs 10.14.4, Python 3.6.4, Docker@2Cpu/4GbRam

Omg it's happening :D


Stop streaming half-way.

Is there a way to cancel the promise returned by the client? I would like to stop streaming a HTTP response "half-way".
Thanks for your help.

Nevermind, I'm assuming calling end does the trick.