Remove mocks from most git tests

We learned in https://github.com/elastic/rally/pull/1587 that perhaps we were overusing 'mocks', as we didn't catch a subtle bug I introduced. This change adds approx ~20s to the total test runtime when invoking real git commands (~45s, up from ~25s).
With this commit we remove almost all usage
of mocks in the git module tests, instead
taking the approach of copying the local Rally
checkout to a temp location and performing
a series of git operations.
Closes https://github.com/elastic/rally/issues/1596

@elasticmachine run rally/it-python310

CI failures are both:
14:03:27 =================================== FAILURES ===================================
14:03:27 ___________ test_authenticated_proxy_user_can_connect[in-memory-it] ____________
14:03:27
14:03:27 cfg = 'in-memory-it'
14:03:27 http_proxy = HttpProxy(authenticated_url='http://testuser:testuser@<IP_ADDRESS>:3128/', anonymous_url='http://<IP_ADDRESS>:3128/')
14:03:27
14:03:27     @it.rally_in_mem
14:03:27     def test_authenticated_proxy_user_can_connect(cfg, http_proxy):
14:03:27         env = dict(os.environ)
14:03:27         env["http_proxy"] = http_proxy.authenticated_url
14:03:27         env["https_proxy"] = http_proxy.authenticated_url
14:03:27         lines = process.run_subprocess_with_output(it.esrally_command_line_for(cfg, "list tracks"), env=env)
14:03:27         output = "\n".join(lines)
14:03:27         # rally should be able to connect, no warning
14:03:27 >       assert "[WARNING] Could not update tracks." not in output
14:03:27 E       AssertionError: assert '[WARNING] C...date tracks.' not in '\n____     ...------------'
14:03:27 E         '[WARNING] Could not update tracks.' is contained here:
14:03:27 E
14:03:27 E           ____        ____
14:03:27 E           / __ \____ _/ / /_  __
14:03:27 E           / /_/ / __ `/ / / / / /
14:03:27 E           / _, _/ /_/ / / / /_/ /
14:03:27 E           /_/ |_|\__,_/_/_/\__, /...
14:03:27 E
14:03:27 E         ...Full output truncated (35 lines hidden), use '-vv' to show
14:03:27
14:03:27 it/proxy_test.py:98: AssertionError

I can't repro this on an ARM MacOS, but can on a Linux x86 machine. I can also reproduce this failure on master, so I don't think this is related to this PR.

lol
$ docker run --rm --name squid -d -v it/resources/squid//squidpasswords:/etc/squid/squidpasswords -v it/resources/squid//squid.conf:/etc/squid/squid.conf -p 3128:3128 datadog/squid
Unable to find image 'datadog/squid:latest' locally
docker: Error response from daemon: pull access denied for datadog/squid, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

$ docker search squid
NAME                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
sameersbn/squid                                                              222                  [OK]
squidfunk/mkdocs-material    Documentation that simply works                 113                  [OK]
minimum2scp/squid            squid3 cache service container running on de…   66                   [OK]
ubuntu/squid                 Squid is a caching proxy for the Web. Long-t…   40
b4tman/squid                 Squid container based on Alpine Linux           17                   [OK]
squidex/squidex              Squidex Headless CMS                            13
lucacri/squid-ext-conf       Squid server on alpine, gathering configurat…   12
babim/squid                  Squid 4 on alpine linux. With or without auth   3                    [OK]
photoprism/mkdocs-material   Tracks stable major versions of squidfunk/mk…   2
cloudreach/squid-utm         Squid Proxy UTM                                 1
kasmweb/squid                A proxy intended to redirect users to a Kasm…   1
boynux/squid-exporter        Squid metrics exporter for Prometheus           1                    [OK]
squids/squids-exporter                                                       0
squids/mysql                                                                 0
squids/mycilium                                                              0
squids/mysqlleader                                                           0
squids/mycilium-amd64                                                        0
squidex/nginx-proxy                                                          0
squids/qfb-mysql-8.0                                                         0
squidex/caddy-proxy                                                          0
squidtoon99/apiserver-rs                                                     0
squids/qfb-backup-job                                                        0
squidex/squidex-identity     Squidex Identity Server                         0
squidcache/buildfarm         Images for the project's Jenkins build farm     0
squids/fluent-bit                                                            0

This image doesn't seem to exist anymore, but it was cached locally for me (which is why ITs worked locally).

cla/check

@elasticmachine run rally/precommit

@elasticmachine run rally/it-python38

@pquentin - apologies for the mess, turns out the slight differences between MacOS Git and Linux git made the feedback loop quite long.
This is now ready for review.

@elasticmachine run rally/rally-tracks-compat


docker build -t mv3dengine_22.04:cu118 -f Dockerfile Failure

(base) root@ecs-47c5:/data/richdreamer/docker# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.6 LTS
Release:	20.04
Codename:	focal
(base) root@ecs-47c5:/data/richdreamer/docker# docker -v
Docker version 20.10.21, build 20.10.21-0ubuntu1~20.04.2

@xixinil
It seems to be a network problem. Unable to connect to GitHub to clone the code


Update webpack.config.js

See this issue.

Coverage remained the same at 100.0% when pulling d57282b8dcfe88ffea0a13f9f983b15787d69049 on PavelPZ:master into 75599425df17a2070ddb9fe93d806f74e157a8e9 on tleunen:master.

Thanks :)


Font family fallback support

Is your feature request related to a problem? Please describe.
I try to make our ui kit figma tokens friendly and struggled in font-family support.
We use css-like font-family in our production tokens, e.g:
{
    font: {
        family: {
            accent: {
                value: "'TT Positive', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif"
            },
            base: {
                value: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif"
            },
            monospace: {
                value: "'Roboto Mono', 'Consolas', 'Menlo', 'Monaco', monospace"
            }
        }
    }
}

We have a main font (first) and a fallback fonts just to be sure nothing go wrong if there is a issue with main font.
Figma tokens expect only one font so we are unable to use our web components tokens in sync with Figma Tokens.
Describe the solution you'd like
Some support from Figma Tokens could help. E.g Figma tokens could use only first typeface from whole value and skip other. Something like split by comma and take first item.
E.g.
Value stored in token:
"Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif"
Value used in Figma:
Inter
If the value is typed like this: value: "'Segoe UI', 'Inter', Arial we should strip away the ' characters so we can pass over the value to Figma.

We could comma-separate fonts and use only the first one.
That would require that no font has a comma in its name though.
As an alternative we might let users write just like you did, with a single quote surrounding token names.

@swordEdge can you add the linked PR?


422 Error sending tokens to url

I want to use the "Send design tokens to url" feature to export the variables, color, text styles and effects from my figma file. When I check "variables" I get a 422 error:

If I uncheck the "variables (beta)" option everything works fine. The JSON file download works fine too, only issue is when I try to export it. I have recreated a separate figma file with similar variable config and to my surprise the "Send design tokens to url" feature works fine.  I suspect there is some issue with my file or variables that I have in this file.
design-tokensjson.txt
I am attaching the downloaded json.
Any idea how I can begin to debug this ? "the console doesn't provide any useful info to begin debugging this" failed to load resource: the server responded with a status of 422 ()

Should I post this on the plugin repo instead ?

Well, are you using any transformers that may fail? Do you have any logs on your server?
It is probably because some script you run on the server can't deal with variables.

I have the same issue with a clean copy of your repo


'FROM scratch' check

Tern checks for any imports in a Dockerfile by checking for the FROM directive and then attempting to pull the specified image from Dockerhub. But 'scratch' is just a placeholder to say 'there is no import'. At the minimum, do not attempt to pull from Dockerhub if the word 'scratch' is in the FROM string.

Resolved in https://github.com/vmware/tern/commit/aaa35037fb955f53ace5e5116ca5a15a4e5ece52


Fix test data for removing partition_info

Change Description
This is related to work toward deprecating partition_info.csv (https://github.com/astronomy-commons/hipscat/issues/147), and is very similar to PR https://github.com/astronomy-commons/hipscat-import/pull/166
Solution Description
The catalog files for the cross matching test data is quite old, and didn't have the Norder/Dir/Npix columns inside the parquet file. When we try to read the directory as a hipscat catalog, we try to create the PartitionInfo from the row group statistics for those fields, but fail to do so.
This PR re-generates the catalog files, using the current map/reduce methods of the import tool to include the partition info columns as necessary.
While I'm here, I took out the tests for handling catalog directories with no metadata files (since we're going to require them very soon).

There's the linting issues, but apart from that looks good! :)


Actions from main process dont forward to render process

I'm copied code from readme to my project (create store). Please help me to understand why actions from render to main process forwarded, BUT actions from main to render NOT.   Could you show a simple example of working code ?

The most minimal example of using this would just be
import { electronEnhancer } from 'redux-electron-store';
let store = createStore(reducer, initialState, electronEnhancer());

The example in my Readme, in a bit of a confusing fashion, had an example of using a filter included in its "Usage" example, which might've been why you had your issue.  I've updated it to be more clear and only mention the filter in the Filters section.

Based on https://github.com/electron/electron-quick-start
// store.js
const { createStore } = require('redux');
const { electronEnhancer } = require('redux-electron-store');

const counter = (state, action) =>
  action.type === 'INCREMENT' ? state + 1 : state;

let store = createStore(counter, 0, electronEnhancer());
store.subscribe(() => console.log(store.getState()));

module.exports = store;

// renderer.js
const store = require('./store');
store.dispatch({type: 'INCREMENT'});

// main.js
// ... all the setup code in electron-quick-start's main.js
const store = require('./store');
setTimeout(() => store.dispatch({type: 'INCREMENT'}), 3000);

the module store.js must be the same for render and main ?

They should be using the same root reducer

But the render and main processes should have a different reducer and actions in my project..
Thank you. I found how to do this without using a this lib.


add logistic regression algorithm

Signed-off-by: Xun Zhang<EMAIL_ADDRESS>Description
Add Logistic Regression algorithm into ml-common.
Issues Resolved
https://github.com/opensearch-project/ml-commons/issues/318
Check List

Codecov Report

Merging #360 (fcfc5c6) into main (e78cdd0) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main     #360   +/-   ##
=========================================
  Coverage     92.09%   92.09%
  Complexity      519      519
=========================================
  Files            58       58
  Lines          1481     1481
  Branches        116      116
=========================================
  Hits           1364     1364
  Misses           78       78
  Partials         39       39

Flag
Coverage Δ

ml-commons
92.09% <ø> (ø)

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

Continue to review full report at Codecov.

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


Bugfix [v2] make phpstan

Codecov Report

Merging #674 (9893ea1) into 2.x (ec2d23a) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 9893ea1 differs from pull request most recent head 24acb32. Consider uploading reports for the commit 24acb32 to get more accurate results

@@    Coverage Diff     @@
##   2.x   #674   +/-   ##
==========================
==========================

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 ca513ce...24acb32. Read the comment docs.


Can i change the watch time ?

Hi,
Your bot is great,
can we maybe get an Option to change the time, how long the bot should watch the video  :) ?

Right now it's hard coded to watch for a randmize time between 85% to 95% of total time to avoid a pattern. Youtube will detect if your video is getting watched say for exactly 5 minutes every time.
But if you want to change 85% to 95% of total duration I can walk you through.

if you can say me how i can do it, it would be nice :)

Edit line 251 ... .85 and .95 means 85% and 95% ... Change this according to your need and save.


Enable bootkube setup behind proxy

Add http proxy settings to user-data.sample which is then expanded or
deleted when running bootkube-up. This  allows setup behind corporate proxies.

I signed it.


Rala seems stuck

Hello,
Rala seems somewhat stuck, it has been "running" for 2 days, the threads are in S status. The ram usage is quite high however. Is it normal behaviour? Here was my command
./ra/build/bin/ra -t 48 -x pb allLongReads.noduplicateheader.reformat.fa reads.fq.gz > Ra.assembly.fa
The expected genome size is 120 Mb
And this is the size of the files in the "working directory"
ls -lh
total 323G
-rw-rw-r-- 1 lege lege    0 Aug 19 04:04 layout.fasta
-rw-rw-r-- 1 lege lege 308G Aug 18 21:32 overlaps.paf
-rw-rw-r-- 1 lege lege 810M Aug 19 03:54 preconstruction.fasta
-rw-rw-r-- 1 lege lege  15G Aug 19 04:04 sensitive_overlaps.paf

Thank you
EDIT: a colleague pointed to me there was 250 Go left on the drive, can it be Rala is waiting to reserve enough disk space to write everything at once?

Hi,
could you please paste he log here? How large is you read set and how much RAM do you have?
Best regards,
Robert

The long read file is 36 Go and the illumina is 24 Go.
Unfortunately it was killed on my server :/ Is there a way to restart the assembly from
ls
layout.fasta  overlaps.paf  preconstruction.fasta  sensitive_overlaps.paf

minimap2 was over.

You probably run out of disk space as the first iteration overlaps file is around 300GB and in the second iteration a new one is created with similar size. 256GB of RAM should be enough. Unfortunately, there is no option to continue the assembly yet :/

Oh ok,
I am gonna retry on another disk with 2 To of free space, that should do.
thank you!

Hello, I tried again with enough disk space
[M::worker_pipeline::167.525*20.07] mapped 64287 sequences
[M::worker_pipeline::169.413*20.06] mapped 61621 sequences
[M::main] Version: 2.14-r892-dirty
[M::main] CMD: /mnt/sda1/Alessandro/14-08-2019_Ra/ra/vendor/minimap2/minimap2 -t 20 -x map-pb /mnt/sda1/Alessandro/14-08-2019_Ra/ra_work_directory_1566397451.3950646/iter1.fasta allLongReads.noduplicateheader.reformat.fa
[M::main] Real time: 169.474 sec; CPU: 3398.018 sec; Peak RSS: 1.743 GB
[racon::Polisher::initialize] loaded target sequences
[racon::Polisher::initialize] loaded sequences
[racon::Polisher::initialize] loaded overlaps
[racon::Polisher::initialize] aligned overlap 4204629/4204629
[racon::Polisher::initialize] transformed data into windows
terminate called after throwing an instance of 'std::bad_alloc'262406
  what():  std::bad_alloc

Here was my command
./ra/build/bin/ra -t 20 -x pb allLongReads.noduplicateheader.reformat.fa reads.fq > Ra.assembly.fa

That is weird. Was the work directory deleted? If not, can you please paste here all file sizes in it?

There is no working directory! I did not remove it, so either it was never created or Ra deleted it itself.

there is however a rala assembly graph
total 110G
-rw-rw-r-- 1 lege lege  36G Aug 18 18:04 allLongReads.noduplicateheader.reformat.fa
drwxrwxr-x 7 lege lege 4.0K Aug 21 16:22 ra
-rw-rw-r-- 1 lege lege    0 Aug 21 16:24 Ra.assembly.fa
-rw-rw-r-- 1 lege lege 129M Aug 22 08:48 rala_assembly_graph.gfa
-rw-rw-r-- 1 lege lege  75G Aug 21 16:13 reads.fq

-rwxrwxr-x 1 lege lege  421 Aug 18 17:58 rename.py

The work directory is always created and should be afterwards deleted. You can obtain your contigs with awk '$1 ~/S/ {print ">"$2"\n"$3}' rala_assembly_graph.gfa > rala_layout.fasta and then run racon manually. Here are the commands:
minimap2 -t 20 -x map-pb rala_layout.fasta allLongReads.noduplicateheader.reformat.fa > iter1.paf
racon -t 20 allLongReads.noduplicateheader.reformat.fa iter1.paf rala_layout.fasta > iter1.fasta
minimap2 -t 20 -x map-pb iter1.fasta allLongReads.noduplicateheader.reformat.fa > iter2.paf
racon -t 20 allLongReads.noduplicateheader.reformat.fa iter2.paf rala_iter1.fasta > iter2.fasta
minimap2 -t 20 -x sr iter2.fasta reads.fq.gz > iter3.paf
racon -t 20 reads.fq.gz iter3.paf iter2.fasta > iter3.fasta

If the error in racon persists, let me know (or you can clone the newest racon version and try with it from the start).

thanks
I guess on line fourth it should be iter1.fasta and not rala_iter1.fasta.

Indeed, I edited it, thanks!

 racon -t 20 allLongReads.noduplicateheader.reformat.fa iter1.paf rala_layout.fasta > iter1.fasta
[racon::Polisher::initialize] loaded target sequences 1.150181 s
[racon::Polisher::initialize] error: duplicate sequence ch431_read2674_template_pass_FAH31515 with unequal data

What does this error mean? I am sure that sequence is not duplicated.

It seems that you have duplicate headers.

No it's not that
 grep "ch431_read2674_template_pass_FAH31515" allLongReads.noduplicateheader.reformat.fa
>ch431_read2674_template_pass_FAH31515

Can you do that for rala_layout.fasta as well please?

sure
grep "ch431_read2674_template_pass_FAH31515" rala_layout.fasta
>ch431_read2674_template_pass_FAH31515

Yeah, I thought so. Please try grep -A1 ">Utg" rala_layout.fasta > layout.fasta and then please run wc -l layout.fasta.

wc -l layout.fasta
744 layout.fasta

Try now the racon commands :)

Racon seems to be running all right so far, no error ... I will let you know if I can complete all the steps successfully.
However, here you wrote
minimap2 -t 20 -x sr iter2.fasta reads.fq.gz > iter3.paf
what is -x sr? minimap2 doesn't have that option.

That option is for short reads. You can run it like -x sr or -ax sr if you want alignments as well.

yes sorry, it seems there was a mixup of minimap and minimap2 in my path.
Anyway, everything seems all right now. Thanks

Assembly is over and went well,
thanks for the support.


opct9: standarize the name of artifact e2e-list

We are standardizing the name of the artifact file used to collect the e2e tests used on the environment.
The artifacts will be extracted and a custom command to load this file is being developed on CLI[1], so this standard could help the development.
[1] https://issues.redhat.com/browse/OPCT-9

/assign @rvanderp3

/lgtm
/approve


add qibebt.txt

中国科学院青岛生物能源与过程研究所
Qingdao Institute of Bioenergy and Bioprocess Technology, Chinese Academy of Sciences

@xiaolinshu This domain does not belong to a university, nor to a college. I have to close the request without merging. I am sorry, academic institutions are not qualified to get a free license. Please ensure that you are familiar with this repository rules located at the bottom of this page before submitting a new request.
If employees of this Institute need licenses for JetBrains tools, they are eligible for an academic discount for the tools. They can get the discount by email to<EMAIL_ADDRESS>Thank you!
If there are students or teachers in the Institute who need the license for their education, please kindly ask them to apply with official document ("OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students).


Fixed issue with google fonts challenge

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

Closes issue #17606

@Asjas

@moT01 @Asjas successfully tested locally

Thanks for contributing to freeCodeCamp @thecodingaviator!


Jerking motion on initial transition on iPhone 6 and 6+

When presenting images, such as the one in the sample project, on the iPhone 6 and 6+ simulators, the main view seems to jerk before presenting the image. It enlarges a little, then shrinks back, then continues with the correct animation.

It's still present w/ the latest build...

Sorry I have not resolved this sooner. I will not have time to find the root of the problem until school ends on the 18th.
If you happen to fix the bug, please fork and file a pull request so it can be fixed.

It's weird because the issue isn't consistent.  When presenting the
jtsimageviewer modal, it might appear to load properly on the 5th click or
the 12th...
Ok
On Monday, June 8, 2015, Evan Dekhayser<EMAIL_ADDRESS>wrote:

Sorry I have not resolved this sooner. I will not have time to find the
root of the problem until school ends on the 18th.
If you happen to fix the bug, please fork and file a pull request so it
can be fixed.
—
Reply to this email directly or view it on GitHub
https://github.com/jaredsinclair/JTSImageViewController/issues/39#issuecomment-110041517
.


Use request_store

Hi, I updated it to use request_store.
Not sure if you are going to like it or not given that we add a dependency.
Currently I'm using it on a Rails API 5.

@bokmann I would make green CI if you are going to accept it 😄


How to judge which field has been modified

I have an Order table, which can be modified by the administrator, how can I judge which field has been modified

@kibae
Thanks for the suggestion, I have an idea now.
I now need an AuditingEntity like typeorm-auditing.
I'm watching your source code right now, thank you for the open source


Do not overwrite existing project files during init

Currently when you run cci project init it generates README.md and .gitignore files, which is great if you are setting CCI for the first time in a new project.  But if you are trying to add CCI as tooling for an existing project it may overwrite wanted files.
It would be better if these files were only generated when missing, or probably better still to be a question during init that checks for existing files, and when found, asks if the user wants to replace, ignore, or append the content.

This makes sense to me.  We do something like you're requesting with the sfdx-project.json where we only generate the file if it's not there.

Relevant code to be changed:
https://github.com/SFDO-Tooling/CumulusCI/blob/master/cumulusci/cli/cci.py#L487-L491


How does Bookstack install npm dependencies without npm?

I am trying to update some npm packages (codemirror in this case), and I am not sure how the app.js file is generated via composer / laravel using npm dependencies without npm actually being installed on my server.
Can someone explain the dist folder and the app.js gets built with npm dependencies but without using npm?

Sorry, I now see that the production app is pushing out a prebuild app.js in the dist folder.


Improved visibility of keyboard focus highlight

/azp run

/azp run

Improved keyboard focus highlight for tabs:

Buttons:

Comboboxes:

Active widgets:


Update chatbot.py

raw_input changed to input in python3

@RitikaAg I am holding this PR till we added the testing platform to our Repository. I doubt some of the modules we use don't support Python 3. I need to verify this. Feel free to add tests.


feat(Simple Pointer) add hit normal to marker and related class

Sometime its useful to get the hit normal / surface direction from
the DestinationMarkerEventArgs, for instance in drawing applications
or when you want to orient objects to align with the pointer hit
surface.

There were the following issues with your Pull Request

Commit: bb00d78402c336d9ef9bdf373e260f2cabed1b5e
Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/thestonefox/SteamVR_Unity_Toolkit

This message was auto-generated by https://gitcop.com

Also would be nice to make some of the private variables in VRTK_SimplePointer protected?
private GameObject pointerHolder;
private GameObject pointer;
private GameObject pointerTip;
private Vector3 pointerTipScale = new Vector3(0.05f, 0.05f, 0.05f);

I recently needed to know the child collider that was being hit (and didn't want to add a kinematic rigidbody to that child).  This information was available to me in RaycastHit.collider.  Would it be worth returning the RaycastHit in DestinationMarkerEventArgs?

@getwilde -- right, I did think returning the RaycastHit might be more universally useful, however that would be a more fundamental change. I'm interested to hear @thestonefox thoughts on the topic.

This pull request no longer required... its been taken care of by another.
https://github.com/thestonefox/SteamVR_Unity_Toolkit/pull/592

Thanks for the heads up on #592


语言包

closed by https://github.com/laravel-admin-extensions/data-table/commit/47c52636ea9d4845a0a6db9f619ab99809ac520a


X.org new security advisory

https://lists.x.org/archives/xorg-announce/2016-October/002720.html
It's all about client libs (mis)trusting the server, so no security problem for most setups, but still – we should fix them. I propose to wait for actual releases (assumed within days).

Staged.


nuScenes visualization using kitti viewer

After inputig
datasetClassName NuScenesDataset
backend http://<IP_ADDRESS>:16666/
rootPath /home/kosuke/dataset/nuScenes
infoPath /home/kosuke/dataset/nuScenes/infos_val.pkl

and clicking load, a error occurred in the kitti viewer.
error: load kitti info fail, please check your backend!

And in my terminal,
<IP_ADDRESS> - - [25/May/2019 15:28:27] "OPTIONS //api/readinfo HTTP/1.1" 404 -

was printed.
Please tell me how to solve it and how to visualize Nuscens in using kitti viewer.

I could solve it. Thank you.

Hi @kosuke55 , I run into the same problem. Do you mind sharing how you fix it? Thanks!

@kosuke55 I also run into the same problem. much appreciated if you could tell how you solved it.

@peiyunh @kumar15011995 pay attention to backend : http://<IP_ADDRESS>:16666 not http://<IP_ADDRESS>:16666/

@OceanWong1991 The moethod dosen't work. I still run into this problem. @peiyunh @kumar15011995 @kosuke55  Could you show how you solve this problem?

@ConanCui Sorry about that, I can't remember the detail, but I think just be careful on the details, it will be easy for you!


Contracts failed deployment on TestRPC

I pulled the source code from master branch and tried to deploy the token contracts on TestRPC, but I got error:
Deploying ARegD506cToken...
... 0x......
Error encountered, bailing. Network state unknown. Review successful transactions manually.
Error: The contract code couldn't be stored, please check your gas amount.

I later found that the issue was caused by some "abstract" functions in the contracts to be deployed. Like totalSupply_ = ICapTables(capTables).totalSupply(index_);  the .totalSupply() function is not implemented and totalSupply seems to be worthless. I know this is omitted in your dev branch but that branch seems to have similar issue (I haven't done checking that branch yet).
In the master branch, I modified some contracts and it worked. Except for .totalSupply() in CapTables, startTrading() in TheRegS needs to be implemented since that is declared in RegS, the abstract super class of TheRegS. I think the problem for other branches can be solved in a similar way.
I deployed it using Truffle. The deployment config is:
var ARegD506cToken = artifacts.require("./ARegD506cToken.sol");
var CapTables = artifacts.require("./CapTables.sol");
var TheRegD506c = artifacts.require("./TheRegD506c.sol");
var SimpleUserChecker = artifacts.require("./SimpleUserChecker.sol");
var ARegSToken = artifacts.require("./ARegSToken.sol");
var TheRegS = artifacts.require("./TheRegS.sol");
module.exports = function(deployer) {
        deployer.deploy(SimpleUserChecker);
        deployer.deploy(TheRegD506c, 31536000);
        deployer.deploy(CapTables).then(function() {
        return deployer.deploy(ARegD506cToken, 10000000, true, "0x1...", TheRegD506c.address, CapTables.address);}).then(function() {
        return deployer.deploy(TheRegS);}).then(function() {
        return deployer.deploy(ARegSToken, 10000000, "0x...", TheRegS.address, CapTables.address);});
}

Sorry it might be a little confusing. The deploy config is for dev-0.2.1 branch. For master branch some arguments are omitted in the constructors of the 2 tokens.

Hello!  It looks like you are working on an old branch.  The current development branch is dev-0.2.x and I am going to delete dev-0.1.2 immediately upon posting this.
We are using a custom deployment method.  IOU documentation on how to do the deployment.  For now (assuming solc is on your path):

run npm run compile to generate the contract artifacts
see here for the deployment logic for the core contracts
see here for the issuance logic
see here for an example of using the S3 sdk to manipulate entities in the system

It is OK to use truffle to start playing around with the contracts and understanding their interdependencies, but we aim to eventually provide library support for the contract backend and using the library is the recommended path to deployment.


[Migration] Ignore files and directories

In certain scenarios not all of the project files need to pass through the entire migration logic and there should be a way to ignore them. For example, the project may contain SAP UI5 SDK which is 500+ MB. This would slower the migration significantly (~1hr) while unnecessary. The user should be able to add a list of files and directories to be copy-pasted into the project without being iterated by the migration tool.

This issue is closed as the project is no longer maintained


Question regarding a part of the paper

Can I know why "From the geometric perspective, ...normal vector x"?
Also, I can't quite understand your figure 4 too. Why $\frac{\partial L}{\partial \bar{x}}$ points in the south east direction?
Do you mind explaining?

$\frac{\partial L}{\partial \bar{x}}$ is the gradient passed from back-propagation. It can be in any direction.

The proof of why x and its gradient are orthogonal is in Appendix 8.5.

I am not asking about why they are orthogonal. I am asking about the line after that, the line after you say they are orthogonal. How does this lead to the geometric perspective you mentioned?

Tangent space is a space spanned by all the tangent line. The gradient is orthogonal with x, so it is in the tangent space.
The gradient is actually a vector. I draw it from the end of x because when updating x, we minus lr * gradient from the x.

Shouldn't the gradient vector $\partial L/\partial \bar{x}$ be perpendicular to x and points to the east and not south east?

The gradient w.r.t. \bar{x} can be in any direction, but the gradient w.r.t. x is orthogonal with x.

I'm also confused about that. Why the gradient w.r.t. x is the projection of the gradient w.r.t. \bar{x}


OSSify Sending

Current dependencies on/for this PR:

main

PR #20   👈

This comment was auto-generated by Graphite.


Prevent map tile images from dragging.

I use leaflet inside an ExtJS app. I test in Chrome. I use Mac OS X, Retina display. The openstreetmaps layer images are draggable, i.e. I drag the tile img which looks weird.
This css style solves the issue: {
-webkit-user-drag: none;
user-drag: none;
}
Leaflet already uses -webkit-user-select: none. It is enough in most cases, but looks like not always.
I'll try to set up a jsfiddle example but whatever I think this extra css will not make things worse. At least that is what I use as a workaround in my current project.

jfirebaugh  L.DomUtil.disableImageDrag() works like a charm,  thank you !


[Question]: Automerging index with MongoDB

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
I learned about auto merging index from the DLAI course and wanted to try implementing in my app.  My app use MongoDB VectorDB, and I retro-fitted the code from the source to find MongoDB's vector store?
    chunk_sizes = chunk_sizes or [1024, 512, 128]
    node_parser = HierarchicalNodeParser.from_defaults(chunk_sizes=chunk_sizes)
    nodes = node_parser.get_nodes_from_documents(documents)
    leaf_nodes = get_leaf_nodes(nodes)
    .
    .
    .
    atlas_vector_search = MongoDBAtlasVectorSearch(
        mongodb_client,
        db_name = DB_NAME,
        collection_name = DEST_COLLECTION_NAME,
        index_name = EMBEDDING_VECTOR_INDEX
    )

    vector_store_context = StorageContext.from_defaults(vector_store=atlas_vector_search)
    vector_store_context.docstore.add_documents(nodes)
    vector_store_index = VectorStoreIndex.from_documents(leaf_nodes,
                                                         storage_context=vector_store_context,
                                                         service_context=merging_context,
                                                         show_progress=True)

But VectorStoreIndex.from_documents throws exception:
'TextNode' object has no attribute 'get_doc_id'

I suspect I'm passing nodes instead of documents and nodes class don't have get_doc_id
Is there an alternative approach of implementing automerging index with mongo db?

Don't use from_documents() with node objects
vector_store_index = VectorStoreIndex(
     nodes=leaf_nodes,
     storage_context=vector_store_context,
     service_context=merging_context,
     show_progress=True
)

Thanks, your suggestion worked.   I was able to run successfully by doing the following:
    vector_store_index = VectorStoreIndex(nodes=leaf_nodes,
                                          storage_context=vector_store_context,
                                          service_context=merging_context,
                                          show_progress=True)

Now I have a new question.  Looking at the embeddings in MongoDB, I don't see any metadata related to child or parent nodes.  It's just a flat list of embeddings.  Did I miss something else?
Unlike SentenceWindowNodeParser where I can specify metadatakeys like window_metadata_key and original_text_metadata_key I did not notice similar parameters for the HierarchicalNodeParser
Is the embeddings expected to be a flat list?  How can I the index was parsed successfully?

@dosu
Thanks, your suggestion worked.   I was able to run successfully by doing the following:
    vector_store_index = VectorStoreIndex(nodes=leaf_nodes,
                                          storage_context=vector_store_context,
                                          service_context=merging_context,
                                          show_progress=True)

Now I have a new question.  Looking at the embeddings in MongoDB, I don't see any metadata related to child or parent nodes.  It's just a flat list of embeddings.  Did I miss something else?
Unlike SentenceWindowNodeParser where I can specify metadatakeys like window_metadata_key and original_text_metadata_key I did not notice similar parameters for the HierarchicalNodeParser
Is the embeddings expected to be a flat list?  How can I the index was parsed successfully?

Thanks for the clarification.  I inspected my vector_store_index.doc_store can see parent child relationships.


Validation failure does not block store changes

The Problem
I am building a form which auto-stores fields on a backend after a change. I was expecting a validation error to result in the store not being changed, but this appears to be a misunderstanding.
Expected Behavior
I would expect the store to only save valid data.
Actual Behavior
All changes are stored in the store, even if they are invalid.
Reproducible Code Example
http://codepen.io/wichert/pen/xdRZqX

Hmm... the issue with that is that if the model value doesn't change for invalid values, the field would never know why it's invalid. It would just show as invalid, with an empty (or previously valid) model value. How would you expect this to work, re. desired API, etc.?

It's certainly an interesting problem. Trying to analyse this a bit I think we can distinguish two values for a control:

the current stored value (what you would revert to if you reset the form)
the current input value, which can be invalid (partial or incorrect input)

I think there is value on always having a saved and validated value in your state, which means the current input value (#2 above) is private to the form instead of part of the global state. You can of course still store that as part of the current state; if I remember correctly redux-form encourages that approach by using a form entry in the state.
The question then becomes how you move a value from one to the other at various points in time:

when you first render / mount the form (copy from stored value to input value seems logical)
when you submit the form if the entire form validates
when you submit the form, the field is valid but another field in the form is invalid
when you submit the form and the field itself is invalid
when you change a field, and the new value is invalid
when you change a field, and the new value is valid but another field in the form is invalid
when you change a field, and the new value is valid

Perhaps the simplest approach is to add a level which can handle the copy. Something like:
<VolatileForm model="profile" storeOn="submit-validate">
   <Control ... />
   <Control ... />
</VolatileForm>

Where VolatileForm would copy profile to form.profile in the state, and the values are copied back if the form is submitted and everything validates. storeOn could them be one of submit, submit-validate, change or change-validate. Maybe storeOn should also be allowed on a control to fine-tune behaviour?
<VolatileForm model="profile" storeOn="submit-validate">
  <!-- Always save the value of the next control on change -->
   <Control storeOn="change" />
   <Control ... />
</VolatileForm>

That would be useful for global settings, for example a language selector or a unit switch (say celsius vs fahrenheit) that should have an immediate effect.

#700 seems related to this.

Data persistence of a store is not a form concern. The form tells you what the values of the fields are, and if they are valid or not. If you wanted updateOn = "change" and validateOn = "blur" you couldn't even make your suggestion work.
If you want non-standard behavior like this you could write your own <Control /> as we have done (for other reasons).
Alternatively, you could simply check the validity of the model before persisting. You could just check the top level $form and fail if anything in the form is invalid, or you could be more granular and recurse the $form and only persist fields that are valid.

@caesay is correct. This is intended behavior.


Remove aws-sdk dependency to reduce package size

This is a Feature Proposal
Description
This will help reduce the size of the packages uploaded to lambda, making them viewable in the AWS console.
This impacts the following middlewares;
lambda-powertools-kinesis-client
lambda-powertools-lambda-client
lambda-powertools-sns-client
lambda-powertools-sqs-client
lambda-powertools-step-functions-client

@billynorris I don't think that's possible given our approach. What's your use case? Is the package size actually a problem? If the problem is the space, then we can also distribute all the powertools as a Lambda layer.
P.s. those are not middlewares and are clients libraries that you only need to bring in if you need them (in place of the regular AWS SDK clients)

My use case was to use the lambda-powertools-lambda-client to invoke lambda from a lambda.
For tracing purposes, it's easier if the code is viewable within the AWS console. The aws-sdk dependency being ~5.8MB by itself takes it over the 3MB limit.
As a workaround I added the "context" object to the lambda payload so I could still use the correlation id functionality of the powertools.

If that's the case, then we can package up all the powertools and make them available as a single Lambda layer.

The layer was deployed as part of #94 see the README for how to install via layer


chdir to repo root at beginning of flow

cci commands can be run in any directory of the repository, but our pre-configured flows use paths relative to the repo root.
we should chdir to the repo root in python, with an override flag.
OR
at the very least print a warning.

I'd prefer we print a warning. Can't we change flows to use correct paths no matter the pwd?

we should write our tasks in mind to be correct, but many of them just start working from cwd

Can we close this and open a new issue to fix tasks incorrectly using cwd instead of repo root?

We now change to the project repo_root for each task.


Improve Upper Air Materials

After Millersville, #143 we have some improvements for this lesson.

[ ] Use from metpy.io import get_upper_air_data instead
[ ] Clarify: use MetPy to download data
[ ] Might want to solve gotcha:

get_upper_air_data(datetime(2017, 4, 5, 21), 'OUN')

to
my_date = datetime(2017, 4, 5, 21)
get_upper_air_data(my_date, 'OUN')

[ ] Handle cases where there is no LFC
[ ] Confusion alternating between filled-out code/plots and ones learners write themselves
[ ] Add from metpy.units import units to last cell
[ ] Was Hodograph really masking?

Thoughts on how the LFC should be handled? If statements in the notebook or a MetPy API issue? @dopplershift

Yes - hodograph was masking correctly.


Setup Jenkins to reinstall FREME NER on freme-worker

how are we going to separate the FREME NER instances used for FREME live and dev? Is freme-workers going to host only instances for FREME dev or also FREME live? Also, where the instances will run? 2 on freme-workers, 2 on freme-live or freme-dev? What are the plans for the setup?

On freme-worker we will install freme-ner and all its components twice, once for freme-dev and once for freme-live. So there will be two SORL servers running on different ports and two FREME NER instances running on different ports. Also we will have two folders for the stanford NER models. So these two instances are totally separated except for the server they run on.
This issue is about to reinstall the dev version of freme ner.

OK, but FREME live and dev will use same instances of FREME NER?

No we will have two separate instance of FREME NER on freme-worker. One for live and one for dev.

So, the FREME Cloud will use only one FREME NER instance for dev and live, so no load balancing, or?

Yes right. I do not think that we will have time to really scale it out to multiple servers within freme 0.4 development time. Now we provide the technical possibity for scaling out and later on we will do it.

OK, thanks for clarification, makes sense!

This waits for #106, #63

what is #106? and #63 is https://github.com/freme-project/technical-discussion/issues/63?

#63 is wrong. I dont find the issue that I wanted to link to. So lets say it waits for freme-project/Broker#106 only.
@m1ci can you click on the link?

yes, I can, thanks

I started this task yesterday. I stopped freme-ner on freme-dev and I am still struggling to restart it. Hopefully I can fix this today.

done


Issue with dynamic table

When a new table row gets added dynamically via AJAX/KnockoutJS, the table headers of the new row are blank in responsive mode. I tried basictable('destroy') and running basictable again after the new row gets added dynamically, but the table headers dont show up in responsive mode.

@joko13 did you select the table and initiate start after the ajax table was generated?

Yes I did but the same result

@MahmoudH96 did you do a destroy then start?
$('table').basictable('start');

https://jsfiddle.net/0daoebzf/1/

@MahmoudH96 I just added a restart method so you don't have to redefine the table settings again, https://github.com/jerrylow/basictable#restart

I will try it, thanks


Remove CryptoConditionsSuite stub amendment

Issue Description
The CryptoConditionsSuite amendment is not fully implemented but it is listed in the code as an amendment that can be enabled. There should not be stub amendments in production releases, for several reasons, including:

If later versions introduce a full version of the same amendment, earlier servers won't become properly amendment blocked despite lacking the code
Any functionality tied to the stub amendment is likely undesirable in production. For example, it has been speculated that CryptoConditionsSuite, if it were to become enabled, might allow the creation of unfinishable conditional escrows.

We should remove CryptoConditionsSuite and its associated functionality from v1.6.0 ASAP. If we later introduce a full version of the amendment, we should ensure one of the following conditions is met:

The new, full amendment has a different name, or
Mainnet servers that had the stub amendment are already amendment blocked by a different amendment being enabled (e.g. a different v1.6.0+ amendment has already gained a majority. So this could only happen after v1.6.0 is fully released.)

This amendment is HIGHLY popular amongst non-Ripple validators (26 vote for including it right now, 10 against): https://xrpscan.com/amendment/86E83A7D2ECE3AD5FA87AB2195AE015C950469ABF0B72EAACED318F74886AE90
In fact, only 5 entities on the default UNL are voting against it and it is only vetoed because Ripple has more than one vote at the moment.
If the numbers were reversed (only a few entities actually support it), it might be different, but in this current state it seems that most validators seem to actually want this to go live in its current state. Why remove the code for such a popular and widely supported (even/especially by defaultUNL validators!) amendment?

I believe that the widespread support for this amendment is probably due to a misconception, stemming from validators trusting that Ripple would not put an unfinished amendment into a release branch. Unfortunately, in this case, the truth is that this amendment is a stub and it almost certainly does not do what they think it does.
They may be reading the description on the Known Amendments page:

Implements several types of crypto-conditions from the official crypto-conditions specification for use in EscrowCreate and EscrowFinish transactions. Without this amendment, only the PREIMAGE-SHA-256 type is supported.

Caution:  This amendment is still in development. The version from rippled v0.60.0 to present does not implement the full functionality.

.. and missing the "Caution" callout or thinking it's outdated. Or they may be automatically voting in favor of most new amendments, on a premise like, "If it's good enough for Ripple to release it, it must be good for the network."
Tragically, that is not the case for CryptoConditionsSuite as it stands currently. Most condition types are unimplemented in the released versions of rippled.
Unless the validators actually provide a statement with regards to their votes on this topic, I think it's safe to assume that they are following the default and voting in favor of new features. While that discussion is related, this particular amendment should not have made it into a production release in its current form, and we should rectify that.

I agree: the amendment is basically a stub, left-over because of legacy considerations. It really should be removed from the code base entirely to avoid accidental activation. If and when further cryptoconditions are implemented, they should each be on different amendments.

This would indicate that the recommended validators either don't even know how to configure their votes or that their votes on this matter (the amendment is 3(!) votes away from passing) are meaningless for rippled developers. Both not very nice things to have. Personally I'd like to see explicit voting first before dropping widely supported amendments to see how widely supported they actually are in case you suspect that operators of recommended validators are not acting in the best interest of actively stewarding the XRPL.

If we do want to do this I created a PR here: https://github.com/ripple/rippled/pull/3453

This would indicate that the recommended validators either don't even know how to configure their votes or that their votes on this matter (the amendment is 3(!) votes away from passing) are meaningless for rippled developers. Both not very nice things to have. Personally I'd like to see explicit voting first before dropping widely supported amendments to see how widely supported they actually are in case you suspect that operators of recommended validators are not acting in the best interest of actively stewarding the XRPL.

I suspect that a large number of validator operators don't take active stances on amendments and rely, instead, on the default behavior: vote in support of all amendments a server understands.

Lastly, just because rippled doesn't implement this doesn't mean that others haven't implemented it.

Sure. This change doesn't affect any such implementations at all. In fact, even if this amendment activated, the behavior of the code would not change:
EscrowCreate.cpp:
    if (auto const cb = ctx.tx[~sfCondition])
    {
        using namespace ripple::cryptoconditions;

        std::error_code ec;

        auto condition = Condition::deserialize(*cb, ec);
        if (!condition)
        {
            JLOG(ctx.j.debug())
                << "Malformed condition during escrow creation: "
                << ec.message();
            return temMALFORMED;
        }

        // Conditions other than PrefixSha256 require the
        // "CryptoConditionsSuite" amendment:
        if (condition->type != Type::preimageSha256 &&
            !ctx.rules.enabled(featureCryptoConditionsSuite))
            return temDISABLED;
    }

The existing implementation of Condition::deserialize(*cb, ec) will return nullptr and set error to either error::unsupported_type or error::unknown_type, which means that, whether this change is enabled or not, no rippled instance will process this transaction locally and it will simply return temMALFORMED.
So, the amendment check below is a vestigial safeguard; indeed, this whole amendment, is a no-longer-useful left-over.

There is a nonzero chance that someone has merged the existing code e.g. from #2170.

There is, but if they did, this change wouldn't affect them: their server would likely continue voting in support of this amendment and if, perchance, the amendment ever activated, their server would have processed transactions differently than the reference implementation which the majority of operators use.
And considering the above snippet of code, amendment or not, not much would change for servers that haven't.
I'd argue that this uncertainty about who's using this amendment identifier and what it means to them is, itself, reason enough to remove the amendment identifier to prevent confusion.

In my opinion this conflates the protocol with its (reference?) implementation.

This is reasonable criticism, and certainly a discussion ought to be had about amendments, how they should be introduced and whether a public spec should be mandator for any change that introduces such a transaction breaking change.
But let's also consider this: support for amendments that haven't yet reached majority is open-ended (that is, there's not time limit built into the process that says "ah, this didn't activate in time, it's no longer considered) but open-ended doesn't necessarily mean perpetual. If an amendment has been in the codebase for a couple of years but hasn't yet been enabled, it's not unreasonable to move to remove its implementation and if the implementation is removed, the server should not continue advertising support for the amendment. What we can argue about is when it makes sense to remove said identifier/implementation and what the implications are.

CryptoConditions is a spec + amendment that's apparently highly popular amongst Ripple-UNL validators (and even more popular amongst non-Ripple-UNL ones). This includes all academic validator operators and also (with the exception of Ripple and Alloy) all commercial ones - including a company run by a former Ripple CTO as well as the validator run by xrpchat, a large community hub.

It's true that the amendment seems highly popular. But there are two issues:

The amendment, even if activated, does nothing on the ~most popular~only implementation of the protocol.
The existing amendment ID can't be used to gate new code.

I am supportive of, we could just do nothing: leave this amendment in and if it ever activates, big whoop...
Honestly, that we are having this conversation is a good thing but also represents a failure on ~the part of the Ripple team~ my part, as the original author of this code. I should have separated each condition under a separate amendment, but I didn't and I  should not have introduced an amendment for half-baked code. In my defense, back them we were much more lax about amedments.

I vote to remove the amendment from the code base. Right now, enabling the amendment doesn't enable any new behavior. Since it's already shipped, if we (or someone in the community) did merge a cryptoconditions implementation, that implementation would need a new amendment anyway. It it didn't we'd have some systems where the amendment would be on with an empty implementation and some with a real implementation.
Since this amendment can never be anything other than a no-op, I think it makes sense to remove it.

From anecdotal evidence I believe a lot of validators auto-update rippled, and therefore auto-vote in favor of new amendments from day 0. At this point I would take the popularity of amendments measured by votes with a pinch of salt. My thoughts on CryptoConditionsSuite are:

Remove CryptoConditionsSuite amendment code. If its unimplemented, it shouldn't be shipped and definitely shouldn't be activated.
An RFC style discussion over amendment specs would be great to have. We had great response to the DeletableAccounts and MemoFee specs and I learnt a lot from those RFCs. Morever, I can't read C++, so reading the spec helps me.
Splitting CryptoConditionsSuite into individual CryptoConditions makes sense.
I'd still recommend implicit voting on amendments, till we're sure the validators are actively participating in the amendment voting process.

Additionally, I am wondering what are the reasons (apart from network stability) why Ripple funds the development of new amendments in the reference implementation, yet continues vetoing them for this long.

As one of the validators who is vetoing this amendment, I would agree that removing it makes sense. As has been pointed out earlier, most auto updating validators passively accept amendments .

removed in 1.6.0-b8

Fixed by #3453 and released in 1.6.0


server options aren't passed correctly on server.js

Current behaviour
Server options are passed as options parameter to server.js. They are combinet to let opts variable via Object.assign and stored to this.options. Server.js takes options from let opts instead of this.options and this causes many options to be null.
Expected behaviour
Server.js takes options from this.options which contains combined options from let opts and optionsparameter.

@KaniZ0r This shouldn't be a problem because Object.assign mutates the original opts object. So this.options === opts. That said, we can modify the original code to make this more clear.


XML documentation should not contain term 'An instance of'

The documentation should not contain any of the following terms:

An instance of
A instance of
The instance of

There are much better ways to describe what the code does or is intended to do (eg. the responsibility of the parameter), without having to rely solely on the type system for the explanation.

Same is valid for:

An object of
A object of
The object of


Feature Request: ICN001 import-alias-is-not-conventional checking from package import module as alias imports

It appears that ICN001 can be configured via this
[tool.ruff.flake8-import-conventions.extend-aliases]
"xml.dom.minidom" = "md"

To catch this import problem:
import xml.dom.minidom as wrong

But it doesn't appear to be possible to configure the tool to catch this import as unconventional:
from xml.dom import minidom as wrong

I'd like to try adding this feature.
Based on my exploration, it appears that the check_conventional_import function just isn't called when the import is a StmtKind::ImportFrom.
https://github.com/charliermarsh/ruff/blob/4e4643aa5d1587c024ce98f0c51363a4830b491d/src/checkers/ast.rs#L1012
My first thought would be to call the check_conventional_import function on the ImportFroms and have something like minidom = "md" as enough to work in the config file... although, I'm not sure if the config needs some more syntax to ensure that these two imports are not treated the same:
import minidom as md
from xml.dom import minidom as md

Sounds good -- I agree that we should support this.
I don't think we need new syntax, since those two cases can be disambiguated as follows:
import minidom as md  # "minidom" = "md"
from xml.dom import minidom as md  # "xml.dom.mindom" = "md"

(And yes -- you're looking in the right place! You'll need to construct the full module path (like xml.dom.minidom) and pass it to check_conventional_import, with one invocation per imported "member".)

I'm not sure if there is an easier way to do it, but I've got lots of dbg! statements all over the place in my local code.
This is what I have so far:
https://github.com/Zeddicus414/ruff/tree/ICN001-check-from-imports
But it does currently need "minidom" = "md" in the config to catch from xml.dom import minidom as md. I'll try to modify the function to account for both imports with just this line in the config: "xml.dom.minidom" = "md"

Take a look at the code on line 1175:
let full_name = helpers::format_import_from_member(
    level.as_ref(),
    module.as_deref(),
    &alias.node.name,
);

I think that might help.

haha, that looks very useful!
I saw level.as_ref() and said to myself, "Isn't that what a borrow is supposed to be doing?". Then my mind turned to mush reading the docs about the AsRef trait.
I think I'll try to get further on this tomorrow when I can think clearly again.
You've been crazy responsive today and very helpful. Thank you.

For sure! I'm not always at my computer :joy: but when I am, I try to be as helpful as I can for new contributors. Appreciate your work here!

(BTW -- in that context, level.as_ref() is just a way to convert &Option<usize> to Option<&usize>. We prefer the latter on public APIs, but sometimes callers have the former and need to cast it.)

Alright, to the best of my knowledge, my branch is working. I'm hoping that how I achieved the result is okay. Please let me know if you are concerned about me duplicating code too much. I'm not sure if I did this the most DRY way possible.
Feel free to take a look if you'd like. Otherwise, I'm going to try to get my little test cases actually running under the test runner and work through the steps in the contribution guide to get this mergable.

Something noteworthy is that if you configure this:
"..src.LongClassNamedThing" = "Thing"

It will throw an ICN001 for this python code:
from ..src import LongClassNamedThing as wrong

At the moment, I consider this kind of a useless behavior that is neither a feature or a bug... I didn't write a test case for this since I consider it sort of undocumented/undefined behavior.


Excessive CPU usage

Hi, I'm running your extension. However, I get 100% CPU usage and I don't know how to diagnose the issue.

Hi,
Are the Cython files that you open, either have cppclass definitions or are importing a cython module with cppclass definitions?
I'm working on a fix for this. There is infinite recursion with the parser when parsing templates.

Yes they do!

This issue should be fixed in version 0.3.6. Please let me know if you continue to have this issue.


Feature #340: Threshold undefined

Closes #340

Description
There was an race condition between fetchSafe and fetchTransactions in which the transactions tried to load before the safe and then the undefined safe  error came, I just make the fetchTransactions promise to wait until fetchSafe ends.

Travis automatic deployment:
https://pr341--safereact.review.gnosisdev.com


minor change

@tauqeerkhattak we had to manually upgrade packages to support intermediate versions. Hence closing this one.


Updated the Readme with setup information and pending tasks

Fixes #190
Describe the changes you have made in this PR -
Screenshots of the changes (If any) -
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

Hi @tachyons,
I have updated the Readme.
Please take a look.

Thanks @disha1202


Sync eden tests and add tpm and zfs workflows

New Eden tests:

local app info
dev local ifo
publish location
shutdown test
app dhcp test
adam update to handle templates and test
zfs state and layout test
reduce local_datastore test time

Workflow updates:

Enable TPM in PR tests and remove separate building for ZFS
Enable ZFS in main branch tests
Update ubuntu and disable swap

Signed-off-by: Petr Fedchenkov<EMAIL_ADDRESS>

@giggsoff I don't know why the eden/integration test run was skipped; it was triggered by my approval, but then was skipped.

@giggsoff note that I changed one enum state name in https://github.com/lf-edge/eve/pull/2662 (from SHUTTING_DOWN to PREPARING_POWEROFF) and also added a PREPARED_POWEROFF. That requires a fix to the shutdown and devops tests but that doesn't seem to be why this is failing (unless I misread the log.)

Well, one of the test failed with no enable file available, which I try to avoid with changes inside https://github.com/lf-edge/eve/pull/2636.


[refresh-users] add ability to re-sync collaborators

Trello: https://trello.com/c/5p5Scm9H/133-i-want-to-refresh-the-list-of-github-users-with-access-to-a-repository#
Design: https://xd.adobe.com/view/f02fc43b-9005-422e-72a4-f27da7859c3a-861e/

Looks good, but I expect it comes with reduced Python coverage (still waiting for CircleCI to finish). Once that's in, perfect.

Correct -- writing a few tests now...


Add retrieval function for ERA5 reanalysis data

[x] I am familiar with the contributing guidelines
[x] Tests added
[x] Updates entries to docs/sphinx/source/api.rst for API changes.
[x] Adds description and name entries in the appropriate "what's new" file in docs/sphinx/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
[x] New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
[x] Pull request is nearly complete and ready for detailed review.
[x] Maintainer: Appropriate GitHub Labels and Milestone are assigned to the Pull Request and linked Issue.

Description
ERA5 is the reanalysis dataset provided by the ECMWF and provides hourly irradiance data for the entire world starting in 1970.
The proposed function retrieves ERA5 data from the Climate Data Store (CDS) using the cdsapi.

In order to test ERA5, CDSAPI_KEY needs to be saved as an environment variable.
The API key can be obtained by creating a CDS account. Note the tests do not need a local file with the key info as described here.
@wholmgren Sorry to bother, but I think maybe you're the only one who has access to the pvlib email and email?

@wholmgren said in https://github.com/pvlib/pvlib-python/issues/1214#issuecomment-902819052 that we should think through how xarray and dask are used in pvlib, and now that 0.9.0 is out I guess we can do that.  This PR as it currently stands adds three new optional dependencies: xarray, dask, and cdsapi.  #1274 currently needs pydap as well.  I assume that what needs to be thought through is whether we are willing to add these new dependencies; if there are other questions to answer please point that out.  Here are my thoughts:
In the context of this PR, as I understand it (@AdamRJensen please correct any errors), I think dask is only needed for reading multiple files in a single read_era5 call, so we might be able to drop dask without losing much functionality.  And if we do restrict to single files, I suspect we could drop xarray as well and replace it with a lower level netcdf library (can h5py read netcdf?) combined with something like pvlib.forecast.ForecastModel._netcdf2pandas.
#1274 is less clear.  MERRA2 data retrieval is supposed to be done using OpenDAP instead of basic HTTP requests like most APIs.  My very limited understanding of OpenDAP suggests that it is advisable to use a dedicated library for it instead of just using requests like we normally do.  xarray combined with pydap is one way to access the data, but I am pretty reluctant to use pydap: the project seems abandoned and we could only get things working with an unreleased development version.  I think there are alternatives worth looking into but I don't know yet whether xarray will need to be involved.


Unit test state export for HF

Implement a bash script that:

Takes two binaries as parameters: mina-mainnet and mina-berkeley
Launches a local single-node network with a mainnet-like ledger, with a single block-producer to which all of the stake is delegated (using mina-mainnet binary)
Some transactions are sent to the node
After two epochs node is restarted with slot parameters (to end tx inclusion and to end block production)
Some transactions are sent to the node (it's checked that they are accepted only before a certain slot)
It's checked that block production stops at some point
Transition root is extracted into a new runtime config
Runtime config is converted with a script (to have only ledger hashes in the config)
Node is shutdown and restarted with mina-berkeley and the config from previous step
Node runs for an epoch, some transactions are sent

To shorten the time which it would take for the script to run, it's suggested to configure the node with a very low k and a block window of 25s.

TODO: test block creation with k=3 and scan state size log equal to 2


Security Monkey outside AWS

Hi,
We wanted to have Security Monkey installed outside AWS for security reasons.
Can we use access key based instead role based access? Any idea what files to be changed?

Hi @subbu05
For security reasons, you would want to run Security Monkey within AWS so that you can take advantage of IAM roles and on-instance credentials.  Launching a instance with an IAM role automatically provides credentials to your application without having to keep, store, and manually rotate IAM access keys.  The management of IAM static keys have significant security implications, which are avoided by using on-instance credentials with IAM roles.
The above being said, Security Monkey utilizes Boto.  As long as you set up your environment so that Boto can obtain the correct credentials, it should be OK.  However, as a note of caution, this is not the recommended way to run Security Monkey.
We do provide some documentation for this type of use case with regards to running Security Monkey within a Docker container.  You can find documentation on that here: https://github.com/Netflix-Skunkworks/zerotodocker/wiki/Security-Monkey
Thank You


Require std::array by default

@K-ballo from your experience, what is the status of supporting std::array on the platforms we care about?

@K-ballo from your experience, what is the status of supporting std::array on the platforms we care about?

All support it.


hotkey: Introduce hotkey Alt+P to toggle preview for compose box.

On Mac, it's Option+P.
Fixes: #18471.
refactor: Extract new function show_preview_area for the compose box.
The code responsible for switching from edit mode to preview mode from compose_setup.js is now extracted into a new function in compose.js, to facilitate reuse.
This is a prep commit for introducing a hotkey to toggle between edit and preview mode for the compose box.
Revision of #26841
Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

On Ubuntu, on Firefox, this shortcut does not work at all, instead opening up an incognito window. On Edge too, when the compose box is not open (so the preview toggling does not happen), it opens up the print dialog box, and when dev tools are open, it opens up the command palette.
We probably want to pick a different key combination? @timabbott @alya

Hmm, I see. Could you start a #design thread to discuss which keys to use?

@alya Here it is!

Works for me in manual testing! (Chrome on a Mac)

Could you please add updating to the documentation (? menu and help center) to this PR? In the "Composing messages" section (https://chat.zulip.org/help/keyboard-shortcuts#in-the-compose-box in the help center), just above "Cancel compose and save draft" should be good. "Toggle preview mode" should work for the label.
We might need a new macro for showing the key correctly on a Mac, if we don't have any Alt/Option shortcuts yet.

@alya Have updated the help center docs and help menu (screenshots added in the PR description)!
This is the 1st hotkey using Alt/Option, but I don't get what you mean by "a new macro for showing the key correctly on a Mac"... Do you mean the documentation should mention both "Alt" and "Option"? I didn't do that (yet) since I see the documentation always mentions Ctrl and never Cmd.

Grep for has_mac_keyboard and in particular read adjust_mac_kbd_tags -- the documentation is rewritten in JS based on your keyboard type.

The documentation look good to me other than @timabbott 's comment above.

@timabbott Thanks for directing me to the relevant documentation and function!
Currently, Alt is mapped to Cmd(⌘) in Mac, and the reasoning as explained by @laurynmm is in this old PR comment thread, so the help article in Mac looks like this:

Now that we have this hotkey that works with Alt / Opt (⌥) and not Ctrl / Cmd (⌘), what do you suggest we do @laurynmm?

Hmmm... I'm guessing the outliers will be the two browse back/forward shortcuts that are already documented? In that any new keyboard shortcuts we may add with Alt will be ⌥ (the option key) for mac keyboards? If that is the case, then I'd suggest ...
Change the mapping in common.ts for "Alt" to map to "Option".
For the tooltips helper logic used in tooltip_templates.hbs, we have all the hotkey strings in the shortcut, so I think we could check for the exceptions and map accordingly. I'm not sure that we would ever document the back/forward browse as a tooltip, so maybe not necessary?
For the help center and info overlays, we're matching the <kbd> tag with classes/ids and don't have the full set of keyboard keys in the shortcut ...
web/src/info_overlay.js:    common.adjust_mac_kbd_tags(".hotkeys_table .hotkey kbd");
web/src/info_overlay.js:    common.adjust_mac_kbd_tags("#markdown-instructions kbd");
web/src/portico/help.js:    common.adjust_mac_kbd_tags(".markdown kbd");
web/src/scheduled_messages_popover.js:            common.adjust_mac_kbd_tags(".enter_sends_choices kbd");
web/src/ui_init.js:    common.adjust_mac_kbd_tags(".open_enter_sends_dialog kbd");

So, maybe we add a class to those back/forward navigation cases, "alt-cmd-map"? And then, in adjust_mac_kbd_tags check for that class in the parameter and map accordingly in the docs. And have a comment clearly documenting the exception, e.g. "We expect the common case to be mapping "Alt" to "Option", but in the few cases where "Alt" maps to "Command" ...".

@laurynmm Thanks so much for your input! I too was leaning towards treating the exceptional cases (browser navigation where Alt maps to Cmd) separately by introducing an HTML attribute for them, so I've added a prep commit for that.

@timabbott Have fixed the documentation / keyboard shortcuts overlay for Mac. This PR is ready for a final review!
@alya Here's what the overlay looks like on Mac (notice the Opt key symbol for the new hotkey, and the Cmd key symbol for navigating back and forth in browser history):

This lgtm, merged, thanks @N-Shar-ma!
I think there's a follow-up refactor I'd like to extract a compose.is_in_preview_mode  to replace $("#preview_message_area").is(":visible"), ideally adding a state variable and being careful about the message editing variant, so probably its own PR -- we try to keep jQuery checks out of hotkey.js to avoid lag, and at this point we've got a few references to that specific check in hotkey.js.
overlays.js has an example of this model.


Connecting to nodes, wrong protocol version

Currently, bitcoinj statically sets and reads NetworkParams.PROTOCOL_VERSION in many places such as PeerGroup. I did a quick patch to both bitcoinj and libdohj to be able to connect to 1.8.x nodes, basically implementing NetworkParams.getProtocolVersion() and overriding that in AbstractDogecoinParams.
Do you have a smarter way of doing this without having to patch bitcoinj?

Not that I can see - I'll raise a patch against bitcoinj!
There will be a few things like that I've missed, please do keep raising issues!

That said, protocol version isn't really a network parameter... might see if I can make it modifiable by code that knows it's using Doge...

My dirty patch for bitcoinj: https://github.com/patricklodder/bitcoinj/commit/b8e79be9ac8f10ccdaf22b816492a9c5c2b0d760
and added to AbstractDogecoinParams:
    public static final int DOGECOIN_PROTOCOL_VERSION = 70003;

    @Override
    public int getProtocolVersion() {
        return DOGECOIN_PROTOCOL_VERSION;
    }

Could you give the version of bitcoinj in https://github.com/rnicoll/bitcoinj/tree/protocol-altcoins a test please? https://github.com/bitcoinj/bitcoinj/compare/bitcoinj:master...rnicoll:protocol-altcoins?expand=1 may be useful in identifying the changes made. I haven't yet made matching changes to libdohj, I'll do that and commit them once the bitcoinj changes are confirmed.

I'll have a go somewhere after tomorrow's stresstest. my current pushtx code depends on all this right now :)

Hooks added in bitcoinj/bitcoinj#1095


get latest 2.2.0 schema

Signed-off-by: Stephanie<EMAIL_ADDRESS>What does this PR do?:

this pr gets latest 2.2.0 schema
Which issue(s) this PR fixes:

PR acceptance criteria:
Testing and documentation do not need to be complete in order for this PR to be approved. We just need to ensure tracking issues are opened.

Open new test/doc issues under the devfile/api repo
Check each criteria if:
There is a separate tracking issue. Add the issue link under the criteria
or
test/doc updates are made as part of this PR
If unchecked, explain why it's not needed

[ ] Unit/Functional tests

[ ] QE Integration test

[ ] Documentation

[ ] Client Impact

How to test changes / Special notes to the reviewer:

@yangcao77 can you pls pull the latest, there is one more recent PR that was merged into devfile/api

@maysunfaisal pulled latest devfile/api


Add some more ARIA

Adds some more aria. In particular

fixes the missing aria-checked elements
adds separator role and orientation
menu roles
close button role and proper label attribute.
The last might clash with #1262

Darn... wrong base!


Make backend configurable

Provide some way to pass configuration items to backends.
Think annotations and global configuration items.

Moved to Milestone 2


Calling Geolocator.getCurrentPosition() twice or more times fails

🔙 Regression
Previous versions have never let me down on this one. But Geolocator.getCurrentPosition() is not being called more than once in the same initState(). For example:

  Future getLocation() async {
    var currentLocation;
    try {
      currentLocation = await Geolocator.getCurrentPosition(
        desiredAccuracy: LocationAccuracy.medium,
      );
    } catch (e) {
      currentLocation = null;
    }
    return currentLocation;
  }

  void getLocation1() async {
    var location = await getLocation();
    print(location);
    print("First");
  }

  void getLocation2() async {
    var location = await getLocation();
    print(location);
    print("Second");
  }

  @override
  void initState() {
    super.initState();
    getLocation1();
    getLocation2();
  }

The console prints "Second" but not "First". When I remove the getLocation2() call, the console prints "First". They are not able to be called in the same frame, and I don't know why this changed. Can this be fixed? Am I missing something?
Old (and correct) behavior
Current behavior
Reproduction steps
Configuration
Version: 1.x
Platform:

[x] :iphone: iOS
[x] :robot: Android

I am assuming you are experiencing this behavior on iOS or macOS. The reason is that Apple doesn't allow multiple active calls to the location stream. What happens is that the getLocation2 method closes the active request currently running by the getLocation1 call.
The easiest way to workaround this, is to return the same Future if the first request has not been finished yet:
  late Future<Position> _positionFuture;

  Future<Position> getLocation() async {
    if (_positionFuture != null && !_positionFuture!.isCompleted) {
      return _positionFuture;
    }

    _positionFuture = Geolocator.getCurrentPosition(
        desiredAccuracy: LocationAccuracy.medium,
      );
    return _positionFuture;
  }

  void getLocation1() async {
    var location = await getLocation();
    print(location);
    print("First");
  }

  void getLocation2() async {
    var location = await getLocation();
    print(location);
    print("Second");
  }

  @override
  void initState() {
    super.initState();
    getLocation1();
    getLocation2();
  }

It looks like this question is the same as the question "Flutter - Geolocator package is not calling Geolocator.getCurrentPosition() more than once" on StackOverflow (going by the code sample). I am therefore going to close this issue, however if you have further questions please leave another comment.


feat: return more information in the DetailedResponse

Fixes: https://github.ibm.com/arf/planning-sdk-squad/issues/999
This PR enhances the Go core's ability to return as much information as possible from the operation response in the DetailedResponse structure.
Highlights of changes:

In the case of a successful invocation:

if the response body is not JSON, we'll return it as a byte array in the new DetailedResponse.RawResult field.

In the case of an unsuccessful invocation:

(as before) we'll obtain an error message from the response body and return it in an error object.
(new) we'll decode the entire response body (presumably containing an error structure) as a map and return it in the DetailedResponse.Result field.

Added new DetailedResponse methods to retrieve the RawResult and Result (as map) values.

Just pushed an amended commit... ready for re-review


Version diff display

Nice to have a show of what's different between two versions.

This has been done in the latest version. :) 🎉


Creating new Particles2D takes a lot of time when VSync is on

Godot version
v3.5.stable.official [991bb6ac7]
System information
Windows 10, OpenGL ES 3.0 Renderer: GeForce GTX 1060 6GB/PCIe/SSE2
Issue description
Creating new Particles2D takes whole frame's time with default settings. When VSync is turned off, creating new Particles2D is fast. CPUParticles2D creation is also slow, but for example Sprite creation is fast even with VSync on.
Steps to reproduce
Create new GLES3 project, add Node2D and script:
extends Node2D

func _process(delta: float) -> void:
	if Input.is_action_just_pressed("ui_select"): # press space
		var t0 = Time.get_ticks_usec()
		Particles2D.new()
		var t1 = Time.get_ticks_usec()
		prints('Time used: ', (t1-t0)/1000.0, 'ms')

Results with different settings:
VSync on (60 fps):
Time used:  16.713 ms

VSync off (about 3000 fps):
Time used:  0.276 ms

VSync off and Force FPS 60:
Time used:  0.266 ms

Minimal reproduction project
No response

I'm unable to reproduce using a more recent build at commit 5600be957.
I get the same result regardless of VSync (around 0.36 ms to create the Particles2D).

I get a slightly higher time (0.6ms) when creating a Particle2D in Windows 11 with a Radeon RX 6900 XT.
Could you provide the data from the profiler?
It's hard to tell where the performance bottleneck could be in, given it could also be an issue with the NVIDIA OpenGL drivers but even then I would find that surprising given your hardware -- generally OpenGL drivers in Windows are in a rough shape and there's a possible fix using ANGLE  depending on your use-case.

Some profiler data:

To me it seems that the actual creation of Particles2D does not take 16,66 ms, but there is something that causes a wait to the end of the frame. If I use this code and create 10 instances of Particles2D, the time does not increase linearly.
func _process(delta: float) -> void:
	if Input.is_action_just_pressed("ui_select"):
		var t0 = Time.get_ticks_usec()
		for __ in range(10):
			Particles2D.new()
		var t1 = Time.get_ticks_usec()
		prints('Time used: ', (t1-t0)/1000.0, 'ms')

The result is now: Time used:  17.835 ms
I also tested this (using GPUParticles2D instead of Particles2D) with Godot 4.0.beta1 and Vulkan. That worked just fine, creation taking only 0.05 ms.

This is likely a shader compilation stutter, which becomes 16ms as the framerate is capped to the monitor refresh rate when V-Sync is enabled.

But why this happens every time Particles2D is created? I got the impression that the shader compilation stutter happens only once. This happens every time. I noticed this on my game as every time an enemy was destroyed and explosion effect using Particles2D was created, _physics_process time jumped to 16.7 ms. When I run my game using Godot 3.4.4 I see stutter when the explosion effect is used first time. But with Godot 3.5 I don't see that initial stutter at all. In fact, everything looks very smooth, so I didn't notice the long creation time because of any stutter, I was just looking Debugger/Monitors view and noticed spikes in _physics_process time.

Related issues: https://github.com/godotengine/godot/issues/45613, https://github.com/godotengine/godot/issues/60625
There is a good chance that the thread creating the Particles2D node is getting stuck waiting on a response from the rendering server which ends up happening after v-sync


Robot wrapper fixes

Motivation and Context
Changes necessary to get critical Habitat Lab changes working. To do so, I needed a third person camera for visualization, helper utilities for base properties, and ignorable link collision names.
How Has This Been Tested
Running tests/test_robot_wrapper.py
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Changes:

Utilities for the base.
Added third person camera (we may want to think of a more general API for getting and setting cameras in case we want to add more cameras to a robot).
Refactored the interpolate arm function.

Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

@ASzot Please properly lint the files as well.

Please, use black, flake8 and others tools we have wired using pre-commit:
pip install pre-commit && pre-commit install.


Nick: Watch munchkinskitty.company.com

Nick requests the watch of the watch_keyword munchkinskitty\.company\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Makyen in Charcoal HQ


ZEVA - Pre-process ICBC data for February

Describe the task
Process the ICBC data for February so that it can be uploaded into ZEVA.
Purpose
The field from ICBC is too large to be uploaded into ZEVA without pre-processing.
Acceptance Criteria

File is processed so that it is small enough for the ZEVA system to accept.

Additional context

File is stored in Teams under the files tab in the ZEVA channel.
See Alex for questions.

The processed file for 2023-02-28 has been upload to the ZEVA_ICBC folder in teams.


[FEATURE] Searching Books

Is this feature already requested?

[X] I have checked "open" and "closed" issues, and this is not a duplicate.

Problem or Missing Functionality
Searching will help people to find books more easily and efficiently. So I want to add a function in book controller to search book by title,author or description. Please assign this issue to me
Feature Description
Searching will help people to find books more easily and efficiently. Please assign this issue to me
Screenshots
No response
Would you like to work on this feature?
Yes
Implementation Plan
So I want to add a function in book controller to search book by title,author or description

Hi @rishabhrawat05, thanks for the feature request! This sounds like a valuable feature. I'll go ahead and assign it to you. Let me know if you need any help on implementation.


Enable jumping to backup from another playlist when tuner limit is reached on original playlist

Is your feature request related to a problem? Please describe.
Currently, when using multiple M3U playlists with tuner limits (e.g., Playlist 1 -> limit 1, Playlist 2 -> limit 1), the system does not allow seamless switching to a backup channel from another playlist when the tuner limit of the original playlist is reached. For example, if I am watching Channel 1 from Playlist 1 and it fails, it should ideally jump to Channel 1 from Playlist 2 (backup). However, if I attempt to watch Channel 2 from Playlist 1 simultaneously and reach the tuner limit, the system prevents jumping to the backup channel, leading to interruptions and limiting viewing options.
Describe the solution you'd like
I would like to see a feature that allows the system to automatically jump to a backup channel from a different playlist when the tuner limit of the original playlist is reached. This would enable smoother viewing experiences by ensuring that even when a limit is hit, the user can continue watching through the backup channel seamlessly, enabling the posibility of viewing a number of channels above the limit.
Describe alternatives you've considered
Currently, the only workaround is to manage channels manually and ensure the tuner limits are not exceeded on the original playlist. An option is having duplicated channels, one from each playlist. This is not ideal, as it disrupts the user experience and complicates the management of multiple channels and playlists.

This is a new feature and will not be done. I have other plans for this for other software


Celestia

Hey,
is anyone already running Starship for Celestia?

 Would love to figure out the usecase for Celestia and try to get the integrated into the helm chart here.


Provision: err sudo: a terminal is required to read the password

Deployer version: 7.0.0-rc4
Deployment OS: Ubuntu 20.04

host('my-host.com')
    ->set('labels', ['stage' => 'production'])
    ->set('branch', 'master')
    ->set('remote_user', 'mainsip')
    ->set('become', 'root')
    ->set('port', 22)
    ->set('deploy_path', '/var/www/my-host.com');

When trying to provision on a new server I get the error:
task provision:website
[my-host.com]  error  in website.php on line 16:
[my-host.com] run [ -d /var/www/my-host.com ] || mkdir /var/www/my-host.com
[my-host.com] err sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
[my-host.com] exit code -1 (Unknown error)

This seems to be related to #2939, but running
❯ .\vendor\bin\dep provision -o remote_user=root

produces the error:
task provision:website
[my-host.com]  error  in website.php on line 16:
[my-host.com] run [ -d /var/www/my-host.com ] || mkdir /var/www/my-host.com
[my-host.com] err mkdir: cannot create directory ‘/var/www/my-host.com’: No such file or directory
[my-host.com] exit code 1 (General error)

This could be solved by adding the option -p to mkdir, but if I manually create /var/www  and run the provision as root:
task provision:website
[my-host.com]  error  in website.php on line 16:
[my-host.com] run [ -d /var/www/my-host.com ] || mkdir /var/www/my-host.com
[my-host.com] err mkdir: cannot create directory ‘/var/www/my-host.com’: Permission denied
[my-host.com] exit code 1 (General error)

->set('remote_user', 'mainsip')
->set('become', 'root')

Looks like your mainsip can't become root user without the password.

err mkdir: cannot create directory ‘/var/www/my-host.com’: Permission denied

This is strange, root user should have all permissions. Looks like this was ran not under root.

Yes, run dep with -vvv option and see exact command what was executed there.

This is what I get (removing options remote_user and become from deploy.php):
❯ .\vendor\bin\dep provision:website -o remote_user=root -vvv
task provision:website
[my-host.com] c:\php\php.exe D:\desarrollos\davanni\inicia\web\vendor\deployer\deployer\bin\dep worker --port 51115 --task provision:website --host my-host.com --option remote_user=root --decorated -vvv
[my-host.com] ssh "-p" "22" "-A"<EMAIL_ADDRESS>": 8b36520784fed0ea722d; bash -ls"
[my-host.com] run [ -d /var/www/gastos ] || mkdir /var/www/gastos
[my-host.com] mkdir: cannot create directory ‘/var/www/gastos’: No such file or directory
[my-host.com]  error  in website.php on line 16:
[my-host.com] exit code 1 (General error)

This is in a new host, root user created, enabled and can login with a ssh key.
If I manually create /var/www:
❯ .\vendor\bin\dep provision:website -o remote_user=root -vvv
task provision:website
[my-host.com] c:\php\php.exe D:\desarrollos\davanni\inicia\web\vendor\deployer\deployer\bin\dep worker --port 51142 --task provision:website --host my-host.com --option remote_user=root --decorated -vvv
[my-host.com] ssh "-p" "22" "-A"<EMAIL_ADDRESS>": 1e237cbbc5ba7753f325; bash -ls"
[my-host.com] run [ -d /var/www/gastos ] || mkdir /var/www/gastos
[my-host.com] mkdir: cannot create directory ‘/var/www/gastos’: Permission denied
[my-host.com]  error  in website.php on line 16:
[my-host.com] exit code 1 (General error)

I have to manually create /var/www and change permissions to drwxrwxrwx for this to work as expected:
❯ .\vendor\bin\dep provision:website -o remote_user=root -vvv
task provision:website
[my-host.com] c:\php\php.exe D:\desarrollos\davanni\inicia\web\vendor\deployer\deployer\bin\dep worker --port 64154 --task provision:website --host my-host.com --option remote_user=root --decorated -vvv
[my-host.com] ssh "-p" "22" "-A"<EMAIL_ADDRESS>": 70ce43dd327f7530f4b5; bash -ls"
[my-host.com] run [ -d /var/www/gastos ] || mkdir /var/www/gastos
[my-host.com] ssh "-p" "22" "-A"<EMAIL_ADDRESS>": af57470df7ee68bab2cf; bash -ls"
[my-host.com] run realpath /var/www/gastos
[my-host.com] /var/www/gastos
[my-host.com] ssh "-p" "22" "-A"<EMAIL_ADDRESS>": 9270a74a35fc0c6b8b9f; bash -ls"
[my-host.com] run cd /var/www/gastos && ([ -d log ] || mkdir log)
[my-host.com] ssh "-p" "22" "-A"<EMAIL_ADDRESS>": 32e820d1436b0e75b223; bash -ls"
[my-host.com] run cd /var/www/gastos && (chgrp caddy log)
[my-host.com] ssh "-p" "22" "-A"<EMAIL_ADDRESS>": c411530a3134ec9b53da; bash -ls"
[my-host.com] run cd /var/www/gastos && (if [ -f Caddyfile ]; then echo +true; fi)
[my-host.com] ssh "-p" "22" "-A"<EMAIL_ADDRESS>": b5ff14b5f07496bcead5; bash -ls"
[my-host.com] run cd /var/www/gastos && (echo $'gastos.iniciasoluciones.es

root * /var/www/gastos/current/public
file_server
php_fastcgi * unix//run/php/php8.1-fpm.sock {
        resolve_root_symlink
}

log {
        output file /var/www/gastos/log/access.log
}

handle_errors {
        @404 {
                expression {http.error.status_code} == 404
        }
        rewrite @404 /404.html
        file_server {
                root /var/dep/html
        }
}' > Caddyfile)
[my-host.com] ssh "-p" "22" "-A"<EMAIL_ADDRESS>": c608daa8121c7cd1e785; bash -ls"
[my-host.com] run cd /var/www/gastos && (caddy reload)
[my-host.com] {"level":"info","ts":1644943615.57891,"msg":"using adjacent Caddyfile"}
[my-host.com] info Website gastos.iniciasoluciones.es configured!
done on my-host.com
done provision:website 7s 851ms

So it seems that website recipe is missing privileges elevation somewhere, and it should create the destination dir with all parents (mkdir -p).

So, the problem is with call:
ssh<EMAIL_ADDRESS>'sudo -H -u root bash -ls'

If you can become root without password - there is no problem. Otherwise Deployer can't ask you the password here.

Yes, I can become root without password (all the previous tasks work as expected), so I think the issue is elsewhere.
I think mkdir should use sudo and also create all the parent directories if missing with -p.
Thanks!

Let’s close this issue for now. Feel free to create new one.

->set('remote_user', 'mainsip')
->set('become', 'root')

Looks like your mainsip can't become root user without the password.

err mkdir: cannot create directory ‘/var/www/my-host.com’: Permission denied

This is strange, root user should have all permissions. Looks like this was ran not under root.

Is it necessary for the deployer user to always be root?

No

This is not a minor bug, the provision:website routine is not working out of the box, as it is expected.
This bug stops all the provision command.


Fixed autouse fixtures

@aminalaee autouse fixutres were getting called at the beginning of each test rather than the end which was leading to test_db not being empty at the end
Movie.query().all() returned this earlier
[Movie(id=ObjectId('61ed0cd87f46c40b190810e6'), name='Forrest Gump', year=2003, uuid=None),
 Movie(id=ObjectId('61ed0cd87f46c40b190810e9'), name='Venom', year=2021, uuid=None),
 Movie(id=ObjectId('61ed0cd87f46c40b190810eb'), name='Eternals', year=2021, uuid=None)]

@aminalaee I've pushed the change to clean up before and after

Thank you for the PR 👍

Thanks for the awesome package. Looking forward to making more meaningful contributions.

Thank you. Any contribution would be appreciated :)


Revert "fix: support "setup" attribute in

Reverts TypeStrong/fork-ts-checker-webpack-plugin#667,
see #668

:tada: This PR is included in version 6.3.6 :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 7.0.0-alpha.15 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Consider renaming Range to Sequence

In Funcky we have settled for Sequence as a name for any IEnumerable, however for Sequence.RepeatRange and Sequence.CycleRange  we rather use Range.
Maybe we want to change that to a more consistent:

Sequence.RepeatSequence
Sequence.CycleSequence

The same applies to the Async versions.

There's a reason for this suffix: The methods in BCL that support both IEnumerables and values use this suffix:

ImmutableArray.Add, ImmutableArray.AddRange
ImmutableSortedSet.Create, ImmutableSortedSet.CreateRange
...

This is a decision of «with which scheme do we want to stay consistent?»

Since the "Sequence" was our way to circumvent "Enumerable" we stick with the .NET Scheme.


Option 'verbose' is not available anymore

Coverage remained the same at 81.99% when pulling 1b56a5bb2a90bba5970002ea437a394003b015d8 on domhof:patch-1 into 3d47af18dea501547b691b559b3ab36b2fb3e95a on KrauseFx:master.

Coverage remained the same at 81.99% when pulling 1b56a5bb2a90bba5970002ea437a394003b015d8 on domhof:patch-1 into 3d47af18dea501547b691b559b3ab36b2fb3e95a on KrauseFx:master.

Thanks nice catch, please update the one little thing before merging :+1:

Coverage remained the same at 81.99% when pulling 5ae4b4980885eedae75beb7fae40bd1d54e1826e on domhof:patch-1 into 3d47af18dea501547b691b559b3ab36b2fb3e95a on KrauseFx:master.

Thank you @domhof. You know you can also get the latest documentation using fastlane action ipa? I plan to generate Actions.md completely automatic using the documentation directly from the code.

Cool, thanks for the hint! :+1: