[Proposal] Links API Additions

Abstract
The BOSH links API allows clients to fetch, create, and delete various
link-related resources. While its current behavior works well for the
single-deployment case, it has noticeable limitations when dealing with
multiple deployments; said limitations become more apparent when dealing with
cross-deployment links.
This proposal aims to extend the existing API to enable easier workflows and
tooling for introspecting links in multiple-deployment environments. For
example, as an operator it would be valuable to audit what links exist in a
deployment and what the downstream impact of changes to those links would be.
To the best of my knowledge, the proposed changes are backwards-compatible.
Example of current workflow
A BOSH operator wishes to know where a shared link is being used in their deployments. They employ the following process:

Make a GET request to /link_providers?deployment=provider_deployment, where provider_deployment is the deployment containing the job that provides the shared link.
Filter out the target link provider.
For each deployment, make a GET request to /links and select any links that have a link_provider_id matching the target link provider's ID.
For each deployment, make a GET request to /link_consumers.
Select all link consumers with an ID that matches the link_consumer_id field of a link object returned in step 3.
Return desired metadata.

While there are small variations on the above workflow that may alter its
efficiency, the necessity of looping over all deployments and fetching down the
entire set of link resources for that deployment is unavoidable.
Proposed changes
Summary
New endpoint: /link_providers/:id Returns the link provider with the given ID
New endpoint: /link_consumers/:id Returns the link consumer with the given ID
New query parameter: /links?provider_id={p-id} Returns all links with provider_id equal to the parameter value
New query parameter: /links?consumer_id={c-id} Returns all links with consumer_id equal to the parameter value
Modification to existing query parameter: deployment is no longer required for GET requests to /links
Example requests and responses
Get link provider by ID
Request
bosh curl /link_providers/1
Response
{
	"owner_object": {
		"info": {
			"instance_group": "zookeeper"
		},
		"name": "zookeeper",
		"type": "job"
	},
	"link_provider_definition": {
		"name": "peers",
		"type": "zookeeper_peers"
	},
	"deployment": "zookeeper",
	"shared": false,
	"name": "peers",
	"id": "1"
}

Permissions
bosh.read scope.
Get link consumer by ID
Request
bosh curl /link_consumers/2
Response
{
	"owner_object": {
		"info": {
			"instance_group": "zookeeper"
		},
		"name": "zookeeper",
		"type": "job"
	},
	"link_consumer_definition": {
		"type": "zookeeper_peers",
		"name": "peers"
	},
	"deployment": "zookeeper",
	"optional": false,
	"name": "peers",
	"id": "2"
}

Permissions
bosh.read scope.
Get links with specific provider ID
Request
bosh curl /links?provider_id=1
Response
[
	{
		"created_at": "2018-08-14 18:00:36 UTC",
		"link_provider_id": "1",
		"link_consumer_id": "2",
		"name": "peers",
		"id": "1"
	},
	{
		"created_at": "2018-08-14 18:00:36 UTC",
		"link_provider_id": "1",
		"link_consumer_id": "3",
		"name": "other-peers",
		"id": "2"
	}
]

Permissions
bosh.read scope when the deployment query parameter is omitted.
Get links with specific consumer ID
Request
bosh curl /links?consumer_id=2
Response
[
	{
		"created_at": "2018-08-14 18:00:36 UTC",
		"link_provider_id": "1",
		"link_consumer_id": "2",
		"name": "peers",
		"id": "1"
	},
	{
		"created_at": "2018-08-14 18:00:36 UTC",
		"link_provider_id": "3",
		"link_consumer_id": "2",
		"name": "other-peers",
		"id": "2"
	}
]

Permissions
bosh.read scope when the deployment query parameter is omitted.
Get links for all deployments
Request
bosh curl /links
Response
[
	{
		"created_at": "2018-08-14 18:00:36 UTC",
		"link_provider_id": "1",
		"link_consumer_id": "2",
		"name": "peers",
		"deployment": "zookeeper", # This field is not currently part of the `/links` response. I have included for illustrative purposes, and it may be worthwhile to add it to the response for consistency with the other link endpoints.
		"id": "1"
	},
	{
		"created_at": "2018-09-16 18:00:36 UTC",
		"link_provider_id": "3",
		"link_consumer_id": "4",
		"name": "other-peers",
		"deployment": "zookeeper", # This field is not currently part of the `/links` response. I have included for illustrative purposes, and it may be worthwhile to add it to the response for consistency with the other link endpoints.
		"id": "2"
	}
	{
		"created_at": "2018-09-20 18:00:36 UTC",
		"link_provider_id": "3",
		"link_consumer_id": "5",
		"name": "peers",
		"deployment": "menagerie", # This field is not currently part of the `/links` response. I have included for illustrative purposes, and it may be worthwhile to add it to the response for consistency with the other link endpoints.
		"id": "3"
	}
]

Permissions
bosh.read scope when the deployment query parameter is omitted.
Thoughts and Concerns

Making the deployment query parameter optional for GET /links means that an
API consumer could fetch all of the links across all deployments. Since the
BOSH API does not support pagination, requesting all links could strain both
the BOSH Director and the API consumer, due to the potential size of the
response in large environments.

An alternative to the proposed /link_consumers/:id and /link_providers/:id
would be to add an ids query parameter to each endpoint that accepts a
comma-separated list of ids as its value and returns all links with those ids.

I did not suggest adding query parameters for other fields (e.g. shared,
link_provider/consumer_definition.name, link_provider/consumer_definition.type)
on the provider, consumer, and link objects (despite the fact that they could,
theoretically, be valuable) in order to keep the proposed changes as small as I
believed possible.

For similar reasons to the previous point, I did not suggest allowing users
to provide multiple provider_id and consumer_id parameters.

While some of the proposed endpoints could work with a less-extensive
permission than bosh.read, I felt it would be more straightforward from an
implementation standpoint.

Looked it over, seems good to me. I mildly prefer the main proposal over your alternate proposals.
Performance for very large deployments could be a thing, but I think we can address that later after some basic validation.
Not really sure what the scopes should be in this case, but bosh.read is alright in first pass. This might be a nice opportunity to standardize scopes in the links api and documentation.
Charles and @belinda-liu

For richer information of from where the links originate, it would be beneficial to have deployments as part of the bosh curl /links?provider_id=1 and bosh curl /links?consumer_id=1 responses.
Apart from that this seems like a fair proposal.
Miguel and @mrosecrance

Closed by mistake :(

@miguelverissimo I have some questions about adding deployments to the /links?{provider,consumer}_id response:

Would the response include the provider deployments, consumer deployments, or both?
Would the deployments be sub-fields on the individual links objects, or would they be their own top level field(s)?
Would the deployments be included for /links and /links?deployment as well? If not, how would the inconsistency in responses be addressed?

An example response body would also be useful.

@tjvman thank you for the comment.
I'm going to withdraw from the suggestion that deployments should be added to the response, as I believe your original proposal would solve the problem you describe, and there will be opportunity to further extend and enrich the response if the need arises.
Just for clarification/history what we're trying to achieve with the inclusion of deployments was to avoid a second call to actually get a human-readable deployment information.
i.e.
bosh curl /links?consumer_id=2
[
	{
		"created_at": "2018-08-14 18:00:36 UTC",
		"link_provider_id": "1",
		"link_consumer_id": "2",
		"provider_deployment": "zookeeper",
		"consumer_deployment": "zookeeper",
		"name": "peers",
		"id": "1"
	},
	{
		"created_at": "2018-08-14 18:00:36 UTC",
		"link_provider_id": "3",
		"link_consumer_id": "2",
		"provider_deployment": "menagerie",
		"consumer_deployment": "zookeeper",
		"name": "other-peers",
		"id": "2"
	}
]

This will require a bit more reasoning and customer validation for the actual need of this feature, so to reiterate, the original proposal is good enough to establish customer adhesion.


Can not get all content in body tag

$this->dom = new Dom;
$this->dom->loadFromUrl($url);

$this->dom->find('body')->innerHtml;

But it just get a part of content in body tag. I don't understand the reason? May you help me. Thank you.
This is my URL: http://casiovietnam.net/dong-ho-dien-tu-casio-f91wg9sdf-dong-co-dien

Somebody help me, pls !!!!

I am not able to duplicate your


Remove FirstPersonViewNode

As per the discussion on Slack, this PR goes through with the impending deletion of the unnecessary FirstPersonViewNode class and RenderSystem.renderFirstPerson method. However, this may cause some modules implementing RenderSystem to break - @Cervator will be able to help pinpoint the affected modules and contain the fallout.
Changes
No additions, only deletions; a rare situation indeed!

Deletes FirstPersonViewNode
Deletes RenderSystem.renderFirstPerson and all implementations

cc @vampcat @emanuele3d

And the API breakage festival has started woo!
Merged this and checked every module in the lineup: found two had dummy implementations of the method so those are now also being removed via:

https://github.com/Terasology/Pathfinding/pull/35
https://github.com/Terasology/IRLCorp/pull/17

Piece of cake just can't push those until the engine build is done :-)
Thanks!


Python3.7 basemap error with nsper projection at latitudes above 45 north

Hi
When I use the basemap nsper project at latitude north of 45 I got this error.   If I lower that latitude to less 45N, it works fine.

m=Basemap(projection='nsper',satellite_height=30000000.,lat_0=50,lon_0=-50,resolution='l')
GEOS_ERROR: b'IllegalArgumentException: CGAlgorithmsDD::orientationIndex encountered NaN/Inf numbers'
zsh: segmentation fault  python3.7

basemap is no longer actively maintained, so it is unlikely this will be fixed.  Please consider migrating to cartopy

People keep pushing us to cartopy, but there are still things one can only do with basemap.

Again, basemap is no longer actively maintained, so submitting issues here won't lead to solutions.  1) anyone can make a fork and maintain it themselves, or 2) cartopy will certainly take feature requests and pull requests to try to add features that are needed, particularly if they are ones that basemap used to supply.


JSON body for all service connection types?

Is it possible to get the json body for all connection types instead of having to do a capture?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 209081c3-76a3-562e-3479-e6b63b7ec2c7
Version Independent ID: c0be31ee-9568-cddd-2ee4-af196aa318d8
Content: Create Service Endpoint using Azure DevOps CLI - Azure DevOps
Content Source: docs/cli/service_endpoint.md
Product: devops
Technology: devops-ref
GitHub Login: @KathrynEE
Microsoft Alias: gsaral

Thanks for your question. It looks like you're working through an issue with your scenario or implementation, rather than an issue with the documentation. Here are a couple of options where you might consider asking your question:

Azure DevOps Support Bot
Azure DevOps on Stack Overflow

Yeah, that bot doesn't really help much with kinds of questions.


producer: fix sFlow parsing when sampled header is truncated

We return early if we don't even have an Ethernet header. We also need to increment the offset even if data is truncated to not confuse the remaining of the packet with something else (eg extract TCP/UDP ports when TCP/UDP header is too short).
Use IHL to correctly skip the IPv4 header when there are IP options. Also fix the offset for TCP payload.
This also removes the encap/iteration loop. As encap is set to false at the beginning of the loop, it was always executed one. I suppose this was the remaining of some other code. The iterateMpls flag is removed by moving some code around. One should look the diff with blanks ignored.
Unfortunately, not everything is covered by tests, notably MPLS parsing. Please double check this part.
Also, unrelated, but I wonder why you use (*flowMessage).SrcAddr instead of just flowMessage.SrcAddr.

This is fixed in #168. We can close this one.

Sorry, wrong PR!

Following #342 I think this can be closed.


[BUG]: Drizzle migration dont create data base if not existed in postgres

What version of drizzle-orm are you using?
0.32.2
What version of drizzle-kit are you using?
0.23.2
Describe the Bug
not sure if its a bug or a feature
When starting a migration and running drizzle-kit migrate if database not existed locally it rise an error.
Expected behavior
it should create the database if not existed like prisma do ( i came from prisma background )
Environment & setup
System: Windows 11
Bun: 1.1.21

I believe this is intentional, the migration only do the table schema migration, however someone from drizzle team probably could clarify, anyway, as a workaround we have our custom script for migration and add it to the package.json scripts, when the script is executed, it first check if the database exists or not, if not it create the database otherwise do nothing, and then additionally the script ensuring the extensions are created CREATE EXTENSION IF NOT EXISTS ...; and after that finally the actual migration script got executed and run the migrate function from drizzle migrator

This is not a bug, this is intentional. The developer is responsible for the creation of the database.

IMHO, developer should be responsible for standing up a DB server for certain... but the DB itself is debatable IMHO. In Dev mode, we tear down and redeploy fresh constantly. In Prod mode, we definitely want safeties. Would be real nice to have the 0000 migration default to CREATE DB blah blah. Remember, the hope is that 10 million people use your software... but in the end its only purpose is doing work for them and saving them time... one has to look at every crevasse, every benefit danger and drawback... great thing about software, everyone can be made happy... the only real challenge is organization... IMHO.

This is not a bug, this is intentional. The developer is responsible for the creation of the database.

With such attitude a developer should not use migrator at all. He should do everything manually.

This is not a bug, this is intentional. The developer is responsible for the creation of the database.

With such attitude a developer should not use migrator at all. He should do everything manually.

But I guess the problem is handling database directly is quite involved, like managing extensions to install as well as other thing, so it is quite personalized, in our case we make some helper scripts that runs before every migration that checks if a database exists and what additional parameter being given to the script, if it doesn't exists, it will just create the database with all the required extension we need, but if it does exists, it won't touch it and go straight into the migration part, unless something like --force is passed an the DB is destroyed and re-built before doing migration
Maybe drizzle could give some middle ground, a good default DB migration but can be extended for specific use case


scrape California's public posting of new programs or updated standards

Asana ticket: https://app.asana.com/0/1203289004376659/1203778503386690/f
This adds a background job to scrape the standards from: https://www.dir.ca.gov/das/ProgramStandards.htm
One new StandardsImport record is created using the name of the file as the name of the record to ensure that we do not re-download the same files every time the job is run.
This also adds the webmock gem to make sure we do not make external HTTP requests in tests.

@littleforest This looks good to me! Should I use this as a template to do the same for the other state websites that need to be scraped?

Should I use this as a template to do the same for the other state websites that need to be scraped?

Sure, unless you have some other ideas that you were thinking of! There are probably lots of ways to handle this.


JupyterHub fails almost always to start up: Spawn failed

Since I started the course I managed only twice to start up the JupyterHub server to do the excercises. On most days the server fails to start up with:
Spawn failed: pod cubes-and-clouds/jupyter-user-xy did not start in 900 seconds!

Thanks for reporting and sorry to hear your issue. I'm looking into it and I could just successfully start a session.
Could I ask you to please send a screenshot of the "Event log" (just click on the text to expand it) if this happens again? Thanks.
Sometimes also a simple reload of the browser tab helps.

I was able to finish the course today, so I will close the issue. Still, the jupyterhub server failed to start on 3 out of 7 days I tried to continue with the course.

Thanks for your feedback and I'm glad you could finish the course. Sorry again for the inconvenience caused.


Cannot find module ESM and Commands not loading properly

Hey folks, I have the following setup, https://github.com/straw-hat-team/cli/tree/master/packages/cli which I am trying to convert to ESM
But I keep getting the following:
➜  react-hooks git:(master) DEBUG=* node<EMAIL_ADDRESS>help
node:internal/process/esm_loader:94
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/ubi/Developer/github.com/straw-hat-team/cli/node_modules/@oclif/core/flush' imported from /Users/ubi/Developer/github.com/straw-hat-team/cli/packages/cli/bin/run.js
Did you mean to import @oclif/core/flush.js?
    at new NodeError (node:internal/errors:371:5)
    at finalizeResolution (node:internal/modules/esm/resolve:416:11)
    at moduleResolve (node:internal/modules/esm/resolve:932:10)
    at defaultResolve (node:internal/modules/esm/resolve:1044:11)
    at ESMLoader.resolve (node:internal/modules/esm/loader:422:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:222:40)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)
    at link (node:internal/modules/esm/module_job:75:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

I fixed this by adding the extension to the import (is that required now?)
#!/usr/bin/env node

import oclif from '@oclif/core';
import flush from<EMAIL_ADDRESS>import handle from<EMAIL_ADDRESS>
oclif.run().then(flush).catch(handle);

But then the commands don't seem to be working properly
➜  react-hooks git:(master) DEBUG=* node<EMAIL_ADDRESS>help
  config reading core plugin /Users/ubi/Developer/github.com/straw-hat-team/cli/node_modules/@oclif/core +0ms
  config loadJSON<EMAIL_ADDRESS>+0ms
  config loadJSON<EMAIL_ADDRESS>+0ms
  config loadJSON<EMAIL_ADDRESS>+0ms
  config reading user plugins pjson<EMAIL_ADDRESS>+0ms
  config loadJSON<EMAIL_ADDRESS>+0ms
  config config done +0ms
  config start init hook +0ms
  config init hook done +1ms
  config runCommand help [] +0ms
  config start command_not_found hook +1ms
  config command_not_found hook done +0ms
 ›   Error: command help not found
➜  react-hooks git:(master)

Any idea of what the proper setup suppose to be for an ESM project? I can't find an example project of it.
Thanks in advanced,

@yordis   To answer your first question. The extension is mandatory when loading an ES module with import.
The second issue may be related to oclif not loading the config from the proper directory. Try passing the absolute path of your project's directory as the second parameter to oclif.run.
oclif.run(process.argv.slice(2), <project path>).then(flush).catch(handle);

@rpastro let me try, also, why is that required in this particular case? I cant find information about it

Passing the absolute path works ... but how would that work once I publish the package then? I am confused about what is going on and what is the proper fix.
Do you have some documentation or implementation references?

@rpastro let me try, also, why is that required in this particular case? I cant find information about it

@yordis   See https://nodejs.org/docs/latest-v16.x/api/esm.html#mandatory-file-extensions

@yordis   Since there is no __dirname in ES modules, you can get the directory where your source file is located as follows:
import path from 'path';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

Once you have the __dirname you can then adjust it to determine the base path of your project.

Again apologies since I haven't worked on any Oclif / ESM aspects since ~May last year in my own projects using the new ESM functionality I helped add to Oclif. I gather the documentation was not created by the Oclif team yet.
Check out how you can bootstrap things w/ ESM depending on your Node version:
https://github.com/typhonjs-oclif-scratch/test-cli-modern
https://github.com/typhonjs-oclif-scratch/test-cli-cjs-interop
Depending on Node version you can do the following (Node 12.20+ or 14.13+):
#!/usr/bin/env node
import { run, flush, Errors } from '@oclif/core';

run(void 0, import.meta.url)
.then(flush)
.catch(Errors.handle);

or for CJS interop with named exports on Node 12.17+ / 14.0+:
#!/usr/bin/env node
import oclif from '@oclif/core';

oclif.run(void 0, import.meta.url)
.then(oclif.flush)
.catch(oclif.Errors.handle);

Also as of last time I checked the rest of the Oclif infrastructure wasn't updated for deployment of ESM CLIs, so this may still be the case and demo instructions are here. Requires a custom build of Oclif config v1. This likely could be out of date:
https://github.com/oclif/core/issues/130#issuecomment-852454758

I am gonna close this folks, I went back to the old version. Until the official website, and official samples are not in ESM I will probably wait for things to be settled a bit.
Thank you regardless, you actually helped me to understand the problems ahead.


Led strip simply won't display effects.

I have managed to fix every other issue I've had when building this project, except now that everything runs, the led strip simply won't light up at all. I know I have everything installed and set up correctly. I even ran a Wireshark capture to confirm that my ESP8266 was receiving the UDP packets and it was so it is not a networking issue. I have the data pin for the led strip connected to the Rx pin on my NodeMCU and in the Arduino sketch I have the LED_PIN set to 3 since that is what GPIO pin number is listed as the Rx pin in the NodeMCU v3 pinout. I just have no idea where to go from here. Any help would be appreciated. Thanks!

EDIT: I should note that other programs run with this hardware set up have worked. Leds work outside of this program.

What code/ software are you running on the esp? I am working with WLED and it didn't work for me via UDP either. I had to use the UDP port of Hyperion. (19446)

Currently I am using the firmware from an updated version of the original Scotts's audio reactive leds. Could you link to the firmware you were able to use? Thanks

Try following this tutorial if possible:
https://www.youtube.com/watch?v=ipSfQdfX4fE
Try to tell where you can't go further or what doesn't work.
Does the LedFx run without a problem (no huge errors in the command line)?

@bjornstevens Yes, ledfx runs without problems mostly. Only issue I've seen on the command line is sometimes certain effects are configured correctly but not many. I will try that tutorial and let you know how it goes! I appreciate the help.

@bjornstevens Yes, ledfx runs without problems mostly. Only issue I've seen on the command line is sometimes certain effects are configured correctly but not many.

I also get those a lot, sometimes if you dont get it to work, try restarting LedFx (on linux just CTRL + C and then start the command again)

@bjornstevens So I able to get WLED installed and working in both AP mode and on a wifi hotspot form my phone (Don't have access to regular network but I'm fine with that). I even got the reactive Ledfx to work through the wifi hotspot. I set up my esp using e1.31 in WLED and it worked that way. Have not gotten it to work using UDP yet.
That being said, I encountered this problem twice: When display an effect or using the reactive effects in ledfx, the strip will randomly turn completely white. Even rebooting WLED and power cycling the strip and esp didn't fix it. Finally I was able to fix it somehow after reflashing the esp and letting the leds sit unplugged for a while. I am not sure but it almost seems like the incoming packets are overwhelming the esp or stop and the esp gets stuck telling the leds to be white.
I did all this without Hyperion. Do you think using that could solve some issues? How did you get it to work with that? Thanks!

Well I've been messing with them for a while now, have not been able to recreate that white error so idk. but of course now something else has come up lol. Whenever I am using the ledfx to control the lights, no matter what effect or single color is show, there is a third of the strip that goes to the opposite color of what i want outputted. it even changes to the opposite color at a specific pixel for moving effects. However, when I do moving effects or single colors in WLED, it works fine and the colors are correct. This tells me it is something in the ledfx code rather than a fault in my strip.

However, when I do moving effects or single colors in WLED, it works fine and the colors are correct. This tells me it is something in the ledfx code rather than a fault in my strip.

I had the exact same issue, i then switched to UDP mode. (and the port i said before)

@bjornstevens So I able to get WLED installed and working in both AP mode and on a wifi hotspot form my phone (Don't have access to regular network but I'm fine with that). I even got the reactive Ledfx to work through the wifi hotspot. I set up my esp using e1.31 in WLED and it worked that way. Have not gotten it to work using UDP yet.
That being said, I encountered this problem twice: When display an effect or using the reactive effects in ledfx, the strip will randomly turn completely white. Even rebooting WLED and power cycling the strip and esp didn't fix it. Finally I was able to fix it somehow after reflashing the esp and letting the leds sit unplugged for a while. I am not sure but it almost seems like the incoming packets are overwhelming the esp or stop and the esp gets stuck telling the leds to be white.
I did all this without Hyperion. Do you think using that could solve some issues? How did you get it to work with that? Thanks!

I also had some stability issues, this might be due to LedFx being very heavy on the network. I have a network with IOT devices in it, while i was setting up a new ESP while LedFx was running on my 2 strips i just wouldn't get any IP-address on it. You can maybe try decreasing the reresh rate.
I have also been having some issues with LedFx just crashing after selecting an some effects. WLED then goes to its default preset effect and color. Sometimes refreshing browser after applying 1 thing works out the most stable.
For now i can't really tell a lot because i am still trying to figure LedFx out, but it works good enough for me right now :)

@bjornstevens Alright thank you so much for your help! I have gotten it to be pretty stable now but I am going to try switching to UDP with Hyperion to see if it fixes the colors. Where do you suggest I get started with Hyperion? Last thing before I close this thread and get out of your hair: You may or may or not have any ideas for this but whenever the colors change (moving or switching solids) the lights seem to flicker a lot while updating. This happens in both wled and ledfx. I almost think it is a voltage issue, so maybe I will try to get a capacitor to smooth out the voltage.

@bjornstevens Alright thank you so much for your help! I have gotten it to be pretty stable now but I am going to try switching to UDP with Hyperion to see if it fixes the colors. Where do you suggest I get started with Hyperion? Last thing before I close this thread and get out of your hair: You may or may or not have any ideas for this but whenever the colors change (moving or switching solids) the lights seem to flicker a lot while updating. This happens in both wled and ledfx. I almost think it is a voltage issue, so maybe I will try to get a capacitor to smooth out the voltage.

Wai.. wait! I didn't mean u need to install hyperion, i just use the UDP pprt that WLED uses for hyperion.
Try adding a device in ledfx with udp port 19446 and the ip of the esp. That should work just fine. No weird colors at least, and still pretty smooth!

@bjornstevens Alright thank you so much for your help! I have gotten it to be pretty stable now but I am going to try switching to UDP with Hyperion to see if it fixes the colors. Where do you suggest I get started with Hyperion? Last thing before I close this thread and get out of your hair: You may or may or not have any ideas for this but whenever the colors change (moving or switching solids) the lights seem to flicker a lot while updating. This happens in both wled and ledfx. I almost think it is a voltage issue, so maybe I will try to get a capacitor to smooth out the voltage.

What kind of power supply and led strip are you using? Power supply's from china may have very unclean dc output

@bjornstevens  Ohhh okay gotcha. Well that makes it much easier to change! I'll try that now.
I am using a beefy Mean Well power supply so I think it should be good. I am realizing thought that I am running my esp powered from my laptop with usb so the grounds on the leds and esp are not connected. I will also try running the esp off my power supply with the grounds connected.

@bjornstevens Ohhh okay gotcha. Well that makes it much easier to change! I'll try that now.
I am using a beefy Mean Well power supply so I think it should be good. I am realizing thought that I am running my esp powered from my laptop with usb so the grounds on the leds and esp are not connected. I will also try running the esp off my power supply with the grounds connected.

Make sure the grounds are connected, the live wires dont need to be on the same line, but they can if it is like 5v

Unfortunately UDP is very broken for me. I set the port in WLED and added a device in ledfx using port 19446 as suggested. It barely works. Most colors will not turn on when trying to apply any effect. I can always get singleColor blue to work for some reason but not singleColor red. Honestly at this point I have no idea.. WLED works perfectly. I even tried creating an entirely new conda environment and reinstalling ledfx with everything but its the same thing. Ledfx works if I use e1.31, but the color changing 2/3 of the way down the strip is still there.

......... I cannot believe I did not see this before.... #114
When adding a device with more than 170 pixels with e1.31, change Universe Size in Advanced Configuration from 512 to 510 and the color changing error will be fixed.... I have my strip completely working now.
@bjornstevens  Thank you very much for your help! I'm going to close this thread and hopefully it help others in the future!

Just wanted to say that your last comment helped me out why my 288 Led-strip didn't work. e1.31 is definetly faster than hyperion!

Awesome! Glad to hear it helped. I was reading through a bunch of issues and came across it and was very happy to have everything working! I have 2 300 led strips for my entire room so here's hoping they all work once I get them hung.


Exec console from stack disappear

Bug description
As you can see on the screenshot, I don't have the button to exec a console from this interface (Stack interface)

Expected behavior
A friend have it without problem:

His docker version: 19.03.15
His portainer version: 2.1.1
Steps to reproduce the issue:

Go to Stack from the menu

Technical details:

Portainer version: 2.9.1
Docker version (managed by Portainer): 20.10.8
Platform (windows/linux): linux
Browser: firefox

Additional context
I have tried to put portainer 2.1.1 but still don't work. Maybe docker version made this bug.

@D0wn3r
Is it Docker Swarm or standalone?
Is this the only container that is missing the Console button?

@samdulam
It's a Swarm with only 1 node
No container have this console button. Every container missing it

Container have the button in "Container" tab but not in "Stack" tab

@D0wn3r
Seems like you deployed Portainer without the agent to the swarm cluster.
Try the deployment method from the documentation here

Oh you're right it was that. I didn't think we need to deploy server + agent on same host.
thank you so much @samdulam


rework: make "that match" default option

Keywords

"key words" → "keywords"

https://www.wordnik.com/words/keyword
https://www.dictionary.com/browse/keywords
https://en.wikipedia.org/wiki/Keyword

Filter Select
I removed the "all" option, as I felt this was unnecessary.
A more intuitive way to handle this is to not apply a filter if the text boxes value is empty rather than a dedicated all value. An empty text box, similar to the value -1 in a numerical text box, is generally implied as unset. (Even if a user were to interpret it otherwise, an empty string or regex matches all logs.)
Now when a user wants to filter logs, they only have to set 1 field instead of 2. (Unless they want to use a different filter mode.)
I firmly believe this improves the user-experience with the extension, but am happy to revert that if maintainers disagree.

I've got mixed feelings about "empty text box means unset" but if @lstocchi is okay with it then I will conclude that it's just me! grin


Merging changes from master/Stabilization for 2<IP_ADDRESS> release

Overview
This PR contains changes that were made after #1791.

Is this a straight merge from master into the dev branch?

Yep, it's a merge + merge conflict resolution due to renamed files.

I'm surprised that even worked, esp bc of the namespace changes.

Yeah, I had to do quite a bit of manual conflict resolution! Surprisingly a few found their way on their own, but not many.


chore: remove unused local symbols (2)

Description
We are passing properties around that are not used.
Fix that, part 2.
Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[x] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
N/A
Risk
There is a risk I altered behaviour in a way I didn't expect.
Testing
Everything should work as it did before.
Screenshots (if applicable)
N/A

@0xdef1cafe TypeScript - No Unused Parameters

@0xApotheosis these are all great. i assume they're picked up by aggressive IDE rules.
are there lint rules we can add to address this at the root cause?

For the most part, yep. As per @GMSteuart's comment, indeed we can lint for them.


352 new bagit workflow

Got the new bagit workflow working in my local development environment. Will coordinate with Michael to have it deployed to a VM server for team testing. In the meanwhile, create this pull request for code review to speed up the process to have it ready to be merged.

@ironfroggy @selimnairb This branch will be merged into develop shortly for NFIE release unless you raise further issues from code review perspective. Thanks.


Fix href to generated charts

The links in index.html are not working. They point to "charts[ROUTE].html" meanwhile the generated charts are not being saved to a "charts" folder.
This fixes the reference by making it just "[ROUTE].html" from "charts/[ROUTE].html"
This is my first time working with JavaScript, forgive me if this is not the proper fix for the issue. Seems to work okay on my end.

Thanks for reporting this issue and the PR.
I see the issue with the path in the generated HTML.  I pushed an update to gtfs-to-chart so that all charts get generated in a 'charts' subfolder.  Check out version 2.0.3 of GTFS-to-chart and let me know if this doesn't work for you.

Gave the change a shot, the chart html files are generated in the sub-folder and the links on the home page are working.
For some reason the charts are not showing up on the chart pages. Might be an issue with the gtfs data I pulled (though it was working before). I'll poke around as I have some time and try to figure that out.

If you share your GTFS with me, I can check it out and see what the issue might be.

If you share your GTFS with me, I can check it out and see what the issue might be.

https://www.itsmarta.com/google_transit_feed/google_transit.zip

Thanks for sharing - I found the issue and pushed an update 2.0.4 which solves this issue. https://github.com/BlinkTagInc/gtfs-to-chart/releases/tag/2.0.4
Try it out and let me know if that solves the issue.

Works great. Thanks!


[FEATURE] After login error, have button to go straight to the login screen

Is your feature request related to a problem? Please describe.
A problem relating to the share to PageKeeper functionality. If the session has been reset and the login has error, one presses 'save' then gets a pop-up error. Pressing accept from that screen quits the dialog and then one has to manually open the app again.
Describe the solution you'd like
On that pop-up error, instead of just having 'accept', there should also be a button 'go to login' which opens the login screen.
Describe alternatives you've considered
It's an inconvenience, but currently I just manually open the app.
Additional context
n/a
Potential UI/UX Design Sketches
| ----------------------------------------- |
|        session expired error              |
|                                           |
|  Go to login                    Accept    |
| ----------------------------------------- |

Those bottom bits being buttons, and of course there is still the detailed info in the middle.

It still shows the old one when the error occur after sharing the link to the app. I can screen record the process if you'd like.

I can screen record the process if you'd like.

Please, thank you

I have to edit out a bunch of personal info that pops up in the share menu, will send video through in the next hour

I can't get any video editors to work, so here are some screenshots.
I click on a link and share:

Then click on PageKeeper.
It opens up the Add page, and I add a tag and press save and the old error message appears:

I am running latest version 1.19 and it is the older style error.
I also get that when I go to the main app. I haven't been able to get that newer version yet.

Now I understand, it's when there is a session but it has expired. The screen I have put up appears when there is no session. I'll fix it, thanks.


No Response when running the Flow using cURL or Python API

Describe the bug
No Response when running the Flow using cURL or Python API.
Even tried to ping through the terminal. The server is not reachable/ gives back unknown host.
Requesting more Documentation on Deployment of langflow apps.

The Issue is solved!


Add init.py in order for tests to run

Apparently we need the __init__.py in tests.distributions,
otherwise those tests won't run.

I've added this to #8 for convenience, so I'm just closing this PR


fix issue #144 if/else if/else expression with trailing blanks does not evaluate properly

A few years later, I just stumbled across the same error.
But this time I think I know how to fix it!
While debugging I found out that the problem disappear on the second compilation of the same expression.
And I saw that the end property is not updated properly when setting the expression as a String and removing trailing blanks in AbstractParser.setExpression(String expression)
So here is my attempt to fix this issue.

This might also fix #342


PyPI's files.pythonhosted.org outage

I am creating this ticket in reference to https://github.com/pypa/setuptools/issues/1331 because I am still experience the same problem as reported as of this morning:
$ python3.4 bootstrap.py -v 2.9.5 --setuptools-version 15.2
Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-15.2.zip
Extracting in /var/folders/nb/wf4l644d6r11zjp0btpq6wkw0000gp/T/tmpcbn76a27
Traceback (most recent call last):
  File "bootstrap.py", line 105, in <module>
    ez['use_setuptools'](**setup_args)
  File "<string>", line 170, in use_setuptools
  File "<string>", line 122, in _do_download
  File "<string>", line 62, in _build_egg
  File "/Users/jzhen/.pyenv/versions/3.4.1/lib/python3.4/contextlib.py", line 59, in __enter__
    return next(self.gen)
  File "<string>", line 101, in archive_context
  File "<string>", line 85, in __new__
  File "/Users/jzhen/.pyenv/versions/3.4.1/lib/python3.4/zipfile.py", line 937, in __init__
    self._RealGetContents()
  File "/Users/jzhen/.pyenv/versions/3.4.1/lib/python3.4/zipfile.py", line 978, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

hi @jimmyzhen it's not clear that this is related to the files.pythonhosted.org incident yesterday, that had symptoms of redirect loops, 404s, and 503s. this appears to either be a corrupt file or error in handling such a file.
It is also possible that the bootstrap script is not appropriately following the redirect.
I've verified that the file served from pypi, (https://files.pythonhosted.org/packages/28/17/f1b300eeec0405388bfffc51a1efb37c45ad713c978b231f2c24e1a7cee4/setuptools-15.2.zip) is accessible and has the correct checksum.
This is a setuptools or bootstrap.py bug.

Issue in setuptools is here: https://github.com/pypa/setuptools/issues/1331

Thanks, @ewdurbin!


Have only integer tick marks on review graph

Story/task details
Observe that the d3 graph shown by the "review answers" button has floating-point tick marks. It would probably be best if the tick marks were just 0, 1, 2, 3, etc.

Closing as wontfix--we won't have time to implement this.


Tweaks to threaded web server

Can we disable printing from the threaded web server by default? It means you can't just run the threaded web server in the background in the same shell.
Also, ideally, we'd start up and shut down the threaded web server in compare.py.

Great solution! (fixed in #3)


[Suggestion] Support different "physical" keyboard layout

Like this:

vs this:

I'm meaning the left shift size and the enter key shape in this context.

hmm, the left shift size is very much doable (something already done with dansk), but allowing for the enter key's custom shape is def a good idea, though that would require a custom drawing procedure, I'm currently thinking of using a point array as an extra field, which would allow the new feature to exist without issue, but would definitely look off, and the would also require some extra work on the web helper.
I'll see what I can do when I spin up my machine today :)


Correct control signal abbreviations in documentation

dont wanna try to fix it, ill just make a new barnch lol


Add ability to change the NavigationPaneItem height

Is your feature request related to a problem? Please describe.
I think the icons of the NavigationPane are a bit small and want to change their seize. I can change the width of the column, the icon size itself, but not the pane height.
Describe the solution you'd like
Currently, the pane height is hardcoded (see https://github.com/bdlukaa/fluent_ui/blob/master/lib/src/controls/navigation/navigation_view/pane_items.dart#L204).
Describe alternatives you've considered
As described above, changed column width and icon size, neither of which let me change the height.
Additional context
I asked in Discord and was told to file an issue for this.

The hardcoded value is actually wrong. The value should be 40, as per https://github.com/microsoft/microsoft-ui-xaml/blob/main/dev/NavigationView/NavigationView_rs1_themeresources_v1.xaml#L248
A fixed height shouldn't be provided as well. Instead, just a min height, making the widget possible to expand as it needs.
NavigationView in general doesn't follow the theme resources from Microsoft and should be updated

Hi, any updates on this?


SSD validation schedule

Do we want to move to every 5th epoch or keep the v0.7 schedule?

SWG:
We're going to move to every 5th epoch.

SWG:
We will check if the original requestor still cares about the issue, since SSD is on it's last round.

SWG:
This will follow resnet evaluation rules except SSD has a stride of 5 (as opposed to resnet stride of 4).
Will revisit next week to finalize.


Fix a record

Issue number: 4
Summary
Ensure full Cloudfront domain name is used when creating the A record in Route53, addressing a bug where the A record created for custom domain names targets a substring of the Cloudfront domain name.
Changes

Please provide a summary of what's being changed

User experience

Please share what the user experience looks like before and after this change

Checklist
If your change doesn't seem to apply, please leave them unchecked.

[x] I have performed a self-review of this change
[x] Changes have been tested
[x] Changes are documented

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Thank you for your pull request and for taking the time to fix this bug! We appreciate your contribution to improving the project.


Some games whose licenses I own not appearing in SAM

6 years ago I unlocked a lot of achievements on SAM, and some time after removed the game's licenses from my account. Now I managed to recover most of them, but there are two games that I do have them listed in my license page but don't appear in SAM.
They don't appear in my library and I get "Steam failed to install (app configuration unavailable)" error when I try to install them though. They aren't available in Steam anymore.

SAM has a list of what games have achievements, if it's not listed in SAM and you do own it, then it likely doesn't have associated achievements on Steam.
You can try manually adding that game in SAM. Its ID is 291523.

Actually, looking at SteamDB, the publisher or developer purged the achievements from Steam, so it's unlikely to work anyway.

Actually, looking at SteamDB, the publisher or developer purged the achievements from Steam, so it's unlikely to work anyway.

Should that remove all achievements or only their information from Steam's servers?
The other game I'm having this problem with also has that "Removed Stats schema" on Steamdb.

Should that remove all achievements or only their information from Steam's servers?

It would remove the achievements from Steam entirely.

All those achievements still show and count towards my profile showcases.
Would it somehow be possible to manually add them to SAM? (Even if I were to be the one to do that in a fork/PR, since it's probably too much work for 2 specific and minor games)

I have no idea if the Steam API would recognize them if you tried to manually set their state. You could likely do a reset of achievements, but I have my doubts about any individual achievement states.

Any idea if/how I can manually reset everything from them? When I try to add them manually, I receive a "Steam is not running" error (failed to connect to global user)
A third game that also had achievements purged at least has a cover/name, while these other two appear as a blank "App 256410".

Maybe not I'm afraid, after finding the Steam API docs I tried to get my achievements for those games and all I receive is
{"playerstats":{"error":"Requested app has no stats","success":false}}

Even though they all still appear on my profile.

Waiting for a fix soon !!! Cant see my own games with SAM.Picker :P


Error while fetching

Currently trying a fresh install of opam and got this error:

Anyone knows how to fix this issue?

Please try to paste the text of the console (in ``` sections) if possible, as it's more accessible. Is this happening every time - are you pressing CTRL+C at any point?

Also - where did you get wget from and why is it in system32???

I'm seeing a similar error while updating opam or trying to install a new package:
 C:\Users\sudha> opam update

<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><>  🐫
[ERROR] Could not update repository "default": OpamDownload.Download_fail(_, "Curl failed:
        \"C:\\\\WINDOWS\\\\system32\\\\curl.exe --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent
        opam/2.2.0 -L -o C:\\\\Users\\\\sudha\\\\AppData\\\\Local\\\\Temp\\\\opam-20812-597096\\\\index.tar.gz.part --
        https://opam.ocaml.org/index.tar.gz\" exited with code 43")

Update: for the error I've mentioned above, installing the latest version of opam (2.2.1) fixes it. Can be done via winget install OCaml.opam.


.dmg broken

Moved to /Applications but I get this

Ok, the actual command xattr... did the trick, should have read better the docs, MB!


Release proposal

@casassg initial release notes. Just a proposal based on the TF Addons setup.
Would love to connect regarding the nighly build setup.

The Google team has reviewed and approved, but since this is still in draft I'll wait before sending formal approval.

Ready to merge?  I think you may be able to merge yourself.

@casassg Thank you for review. Ready from my end.


Multitude of Suggestions

I discovered HunterPie today and have been playing around with it.  I like it a lot so far.  I definitely prefer it to other available solutions, and appreciate that it's open-source.
I had some miscellaneous suggestions which I thought might improve things.  If you'd like me to create a separate issue for each I'm happy to do so.  Though I thought it may be a bit spammy otherwise.
App General/UI

I'd like if I could disable background transparency.  Depending on your desktop, it could be more difficult to use.
I find it irritating that HunterPie always asks for confirmation to quit.  There's no risk of data loss from closing it, so this seems unnecessary.
I think I had my settings reset by editing config.json while the program was running.  Either that or I made an illegal edit (setting UI scale to 1.1).

Monsters Widget
Feedback: The customization is great.  I'll need to fight a few more monsters to figure out which parts are worth showing.  Generally head, horns, wings, severable tail.  I find leaving these on permanently is easier to read than having parts shuffle in and out.

There's two Flash entries.  I believe one is for the actual flash stun, and one is for the discombobulated monster status that acts erratically.  Maybe change one of these labels to help differentiate?
The ailment toggle settings weren't labelled as requiring a reset, but I often had to restart the app for them to update.
I know I just said I prefer parts to be displayed permanently, but a few ailments really are situational.  eg. Traps, dung pods.  I turned them off to reduce clutter, but having them only show when active would be useful.

Harvest Box Widget

I found the UI a little unintuitive at first because there's a label for the Harvest Box at the top, but it includes other info (Steamworks, Argosy, Safari).
I find this widget both useful and not.  I can read it and make sense of it, but it requires asking questions like "Is 350 Steam almost full?".  I feel it could be more actionable (3 hunts until harvest box fills up, 2 hunts until tailraider safari returns).
Maybe a setting specifically to enable in the Guiding Lands, because that's the only time I can think it's worth checking mid-hunt.  Mostly to avoid losing your fertilizers.

Damage Meter Widget

The timer clock is very useful.  I think it would be more useful though if it counted down (time left), not up.
The average DPS doesn't make much sense to me.  Is it averaged out over the entire hunt?  I think showing average DPS over the last X seconds would be a lot more useful.
I'd like to disable the HR/MR number.  It's not too relevant during a hunt and it just helps clean up the UI a bit.

Class Helper Widget

The note at the bottom mentions class-specific settings, but I'm not sure where to edit these.
Hunting Horn is disabled by default.  Is it buggy, or was this unintentional?

Other Thoughts

I haven't tested Discord integration or the abnormalities tray yet.
The overlay could probably be removed from the quest completion screen, just to clean things up.
Some of the videos in the documentation don't appear to load.  eg. Specialized Tools Widget page

Hope this is useful feedback for you.  Thanks for the great app.

Hey, thanks for the suggestions, I will definitely take them into consideration. Answering some of them:
I'd like if I could disable background transparency. Depending on your desktop, it could be more difficult to use.
You actually can do that, HunterPie lets you customize some of it's UI more thoroughly using theme files or directly overwriting the styles in the HunterPie.Resources/UI/Overwrite.xaml. Pasting the following styles in the Overwrite.xaml file will remove the background transparency.
<SolidColorBrush x:Key="CONSOLE_BACKGROUND">#FF141414</SolidColorBrush>
<SolidColorBrush x:Key="CONSOLE_HEADER_BACKGROUND">#FF141414</SolidColorBrush>
<SolidColorBrush x:Key="CONSOLE_SIDEBAR_BACKGROUND">#FF141414</SolidColorBrush>
<SolidColorBrush x:Key="CONSOLE_WINDOWBAR_BACKGROUND">#FF141414</SolidColorBrush>

I think I had my settings reset by editing config.json while the program was running. Either that or I made an illegal edit (setting UI scale to 1.1).
You should never edit the config.json directly, you should use the design mode for scaling the widgets/moving their position (the default hotkey for that is ScrollLock, but can be changed in Settings -> Overlay).
The ailment toggle settings weren't labelled as requiring a reset, but I often had to restart the app for them to update.
They don't require a restart since their settings are applied when you press the "Save" button. Not sure why you had to restart HunterPie to apply it, I'd have to look into the code and see if there's a bug or something.
I found the UI a little unintuitive at first because there's a label for the Harvest Box at the top, but it includes other info (Steamworks, Argosy, Safari).
That's because when HunterPie was first released, the Harvest Box widget would only show the harvest box information. Other activities were added months after, so I never really bothered to change the texts.
I find this widget both useful and not. I can read it and make sense of it, but it requires asking questions like "Is 350 Steam almost full?". I feel it could be more actionable (3 hunts until harvest box fills up, 2 hunts until tailraider safari returns).
You can have a maximum of 700 natural steam fuel, and when you reach that number a red pulsating icon will appear on top of the steam machine icon. Now for the "hunts until...", you can't calculate the harvest box based on that since it depends on the fertilizer and items you're harvesting. Also, that's exactly how it works for safari and Argosy. For safari it will show the number required of days you need to wait until they return and for argosy it will show the number of days until he returns, when argosy is back, a red pulsating icon will appear and show the number of days until he leaves again.
The timer clock is very useful. I think it would be more useful though if it counted down (time left), not up.
That's not really possible, the clock isn't a quest timer, it's just a session timer that resets whenever you go to another area (hence why it doesn't stop after the quest is over), and HunterPie doesn't currently track anything about the quest you're doing so it can't get the quest time limit.
The average DPS doesn't make much sense to me. Is it averaged out over the entire hunt? I think showing average DPS over the last X seconds would be a lot more useful.
The DPS is calculated after the first hit, it's Your Damage / (Time Elapsed - Time from first hit)
The note at the bottom mentions class-specific settings, but I'm not sure where to edit these.
I meant that you can place each class in a different position or have them at different scales even though it's only 1 widget.
Hunting Horn is disabled by default. Is it buggy, or was this unintentional?
That was intentional, I disabled it by default because it shows the exact same thing as the game does (the song/notes queue). I only added it because I intend to add a health/stamina bar soon, so the game one can be disabled.
The overlay could probably be removed from the quest completion screen, just to clean things up.
I found player action id in memory very recently, so that might be added soon.
Some of the videos in the documentation don't appear to load.
Hmm, they're loading for me, might be some browser/compatibility problem.

Thanks for the info!  I figured a few of these were due to limitations of what was available in memory, like the timer.
Regarding the video in the docs, it looks to be a Chrome thing.  It loads fine in Firefox.  Maybe a decoding problem, but Chrome should be able to understand webms.
Feel free to edit my first comment if you want to use this issue to track changes.


improvement: Don't just all the values when there may be a large number of values.

I just lol'd.

lol


Network rates

Added rx and tx rates to peers which allows to quickly see which peers are 'more active'.

Currently the rates can only be calculated to the nearest 100 KB (due to the existing restrictions), so I would suggest raising the rounding of total_receive and total_sent rounding to 5 decimal places instead of the current 4.
Doing this shouldn't be an issue since all the values are rounded client-side as well anyway, so only the transfer rates would be affected (when looking at how the values are displayed).
NOTE: I have not updated the minified versions of the files in src/static/js/ since there are no instructions as to what to use.

Hi @cyclane, is this still the case? If yes, can you update the PR?


fix(build): cross platform cp

Fix https://github.com/ngx-translate/core/issues/416

Install npm package 'cash-cp' as devDependency

Just wondering what the cause of this issue is. Which plugin/dependency uses cp internally?

This PR was for v5, but I changed the package.json and it no longer uses cp in the npm commands, so I'm closing the PR since it's no longer an issue :)


added API Key data attr for map extension

To include an API key, use the new data-apikey attribute of the link tag in which points to the map extension:
<link rel="exhibit-extension" href="../api/extensions/map/map-extension.js" data-apikey="YOURAPIKEY" />
See the Cities demo in the updated code for an example (Exhibit/scripted/demos/cities/cities.html)

There seems to be a problem with some of the other map views (which haven't had an api key added).  They should continue to work.

Yes, the other examples weren't working before (this update didn't break them). Any map views need an API key to function at this point. It's just a matter of updating any old map views to include a key (some older sites might be grandfathered in by Google).

@karger it seems that #170 also reversed "fixed facet visibility/collapsibility bug" (#167), was that intentional? I'm looking forward to try it out.

it reversed both because I only had a single pull request; we'll get
them separated out so one can deploy without the other.
On 07/28/2016 11:15 AM, Camil Staps wrote:

@karger https://github.com/karger it seems that #170
https://github.com/simile-widgets/exhibit/pull/170 also reversed
"fixed facet visibility/collapsibility bug" (#167
https://github.com/simile-widgets/exhibit/issues/167), was that
intentional? I'm looking forward to try it out.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/simile-widgets/exhibit/pull/166#issuecomment-235926497,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABFpXm6edp4BKt9_ccnBZNeFHoKaHkWDks5qaMeagaJpZM4JMvTX.

I fixed the bug in api-key code; it should work now and not break sites that don't supply a key. Let me know how I should structure my pull requests to get the new code in.

@averynortonsmith

Fork the repository.
Create two branches from the master branch, say patch-1 and patch-2.
Commit your api-key code to patch-1 and your collapsibility code to patch-2.
Push both branches to your fork on Github.
Create two pull requests.

Now, you committed everything to the same branch, then it is not possible to merge them separately.
Thanks!


release v0.7?

Thanks for the recent merges, @arcnmx! I saw you bumped the version in the Cargo.toml to 0.7, but doesn't look like you published to crates.io. If that was intentional, do you have a sense of when you plan to cut 0.7?

Yeah I've just been a bit distracted this week, I think it should be fine to release as it is.


new technique ? HiP-CT

Hirachical i? phase contrast tomography

https://mecheng.ucl.ac.uk/hip-ct/

solved with #426