What to do when "String length exceeds DDL length" ?

Expected Behaviour
Upload the df to redshift
Actual Behaviour
Gives the error if one of the column has a string length greater than default value of 256 characters.
Steps to reproduce (If possible)
Upload a pandas df with a long text message ( > 256 characters). The upload fails because of the hardcoded value of 256 set in package

This is likely a Redshift issue. Here is a reference: https://stackoverflow.com/questions/54102184/postgresqlaws-redshift-error-1204-string-length-exceeds-ddl-length

We can increase the column length in redshift and make this error go away.
But It would be nice if the uploading function of this package identifies the max length in the pandas df and sets that length as the default value when creating redshift table.

I think this issue can be solved by changing varchar(256) to varchar(MAX) in the following code block of core.py
def pd_dtype_to_redshift_dtype(dtype):
    if dtype.startswith('int64'):
        return 'BIGINT'
    elif dtype.startswith('int'):
        return 'INTEGER'
    elif dtype.startswith('float'):
        return 'REAL'
    elif dtype.startswith('datetime'):
        return 'TIMESTAMP'
    elif dtype == 'bool':
        return 'BOOLEAN'
    else:
        return 'VARCHAR(256)'

@agawronski @zanynik can you push the varchar(MAX) change to the main codebase? Any reason we limit it to 256 char?


polyglot tests failure

First order is left in pending state and breaks auto test.  Repros on Live Labs and Free Trial.  Second message is processed.
TEST_LOG_FAILED: Polyglot inventory-dotnet showOrder 366 nomatch
`Result
{
"orderid": "366",
"itemid": "sushi",
"deliverylocation": "780 PANORAMA DR, San francisco, CA",
"status": "pending",
"inventoryLocation": "",
"suggestiveSale": ""
}`

looking at it now...

just noting the polyglot-test.sh list here and the order of the impls run.
inventory-dotnet test that fails comes after inventory-python and inventory-nodejs.
SERVICES="inventory-python inventory-nodejs inventory-dotnet inventory-go inventory-helidon-se"

Just want to confirm, is this consistent or intermittent and how you are running/reproducing the issue so that I can do the same? Thanks.

It reproduced on both free trial and live labs and so I assumed it was reproducible.

When I run auto test (source test.sh) it passes this test: "TEST_LOG: Polyglot inventory-dotnet placeOrder 366 succeeded"
Unless I've accidentally fixed something in my tx :) but then I've never hit this error running auto test.
I think you had a 100% auto test before as well. Are you saying this is a regression from then or do I have the reproducer wrong?

This may have been masked by the password issue.  I repro'd again today.

And repro'd again just now.  Free trial account running the auto test.  order 366 never gets out of status pending.  Could be the order message never gets sent I suppose.  Or could be something with the ordering of tests perhaps?

To investigate further I switch dotnet with go in the running order and no the inventory-go service has the issue.  Could it be the nodejs service is pulling the order message off the queue before it terminates?

yes, I was wondering exactly that since I had fixed the original issue re dotnet and go that exhibited the same behavior a while back.  I was wondering if we can add an assert that previous deployments/pods are down before starting the next text?

I commented out this line in the app.js file and the problem goes away:
  oracledb.autoCommit = false;
This change was made as part of #41 on May 12.
I don't regard this as a fix because I don't know why this changes the behavior in the way it does.  I would have thought that we would not want auto commit.  Needs further investigation.

I think it is a good idea to check that one inventory service is down before starting another.  I will raise an issue for that.  We also need to get to the bottom of why inventory-nodejs is breaking "all or nothing".

#113

agreed

This does not seem related to inventory-dotnet failure (as other tests fail depending on the scenario/order) and the autocommit setting in app.js seems to have no bearing thus changing the title of the issue.  I'm still not sure what is happening here but it seems likely related to the test setup somehow as some runs are successful and individual testing of the polyglot tests passes.

I made a number of changes in this area and I believe this is fixed. Have run it many times with success. We can reopen if we see it again of course.


Installation Help

Hey!
I desperately need a way to cancel the charging of the wallbox. So I need to send a single parameter to the e3dc via rscp. I go the parameter "ABORT_CHARGING_TYP2" and I need a way to send that to it.
Your application seems like the way to go, but what am I supposed to do with it? No Makefile, no INSTALL...
The referenced "e3dc" binary does not exist. So there is a missing part from "cloning git" to "configuring"
Some help please :)

Check the releases for pre compiled binaries.
That's the way to get started without messing with code or building it.
The other approach is to use this as a library in go, but then I expect you know how to build or run go code.


sct_image: set_orientation

function is extremely confusing. For example: what is im: fname? object? please use convention for variable name.
Should not create fname automatically.
when setting "-o", two outputs are given.
please comment the code!
we need to discuss the function to find consensual approach before doing any modification.

I don't know what is the status of this issue. but I confirm, when setting "-o", two outputs are given

I believe this was fixed by #1944 but not closed. set_orientation is not present in the SCT codebase, and we use change_orientation everywhere. Closing.


numeric table sorts based on strings not numbers

ID <89>
Reporter <@kortemik>
consider asc sorting
1
7
9
10

numeric table sorts them
1
10
7
9

with the new table, there is no feature to choose the data type manually. It should be implemented in later updates

The issue has been solved on DPL side. No further actions needed on UI side.


Proximity Sensor

From @GoogleCodeExporter on May 31, 2015 11:31
Hi Guys,

Can you please add the proximity sensor to the supported sensor list?

Cheers,
Liviu

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 13 Jun 2012 at 9:34
Copied from original issue: damonkohler/android-scripting#634

From @GoogleCodeExporter on May 31, 2015 11:31
Yes please, comes with the nexus 4

Original comment by<EMAIL_ADDRESS>on 13 Feb 2013 at 12:59


hotfix: issue 37. cert-manager ServiceMonitor wont work

Hello World!
This PR fixes the #37.
It adds a new LabelTransformer for the ServiceMonitor; it is getting too much complexity.
This is just a hotfix, in future minor module releases the version label will be removed as it is causing many problems.

This is the diff
--- /tmp/cert-manager-before.yml        2021-02-16 17:58:06.000000000 +0100
+++ /tmp/cert-manager-after.yml 2021-02-16 18:02:03.000000000 +0100
@@ -27864,11 +27864,11 @@
     matchNames:
     - cert-manager
   selector:
     matchLabels:
       app: cert-manager
-      app.kubernetes.io/version: 1.0.1
+      app.kubernetes.io/version: 1.1.0
 ---
 apiVersion: admissionregistration.k8s.io/v1
 kind: ValidatingWebhookConfiguration
 metadata:
   annotations:


fix README of assign SimpleStatement routing key

When following document to assign routing key to SimpleStatement found issue DateType.cint() doesn't has serialize method, instead should use TypeCodec.cint

Thanks!
I've cherry-picked your commit on the 3.0.x branch, so that it's in the upcoming 3.0.4 release. I'm closing this but your commit is here with proper attribution: 9eff44d

Thank you


Module edge cases that are missed

There are a couple of cases I've come across where the parser should throw errors but does not.
The first:
export var await;

In ES6, await is a future reserved word when in a module (reference) and should throw an error.
The second:
export *

This should throw an error because exporting * requires from and a module name, such as:
export * from "foo"

We're still turning off reserved word checking by default (see the allowReserved option). If you enable that, the first case does raise an error. I guess it would make sense to change the default for ECMAScript 6 and up to enable this. (It used to be widespread practice for browsers to accept reserved words.)
I can't get Acorn to accept export *. When I feed it that it yields "Uncaught SyntaxError: Unexpected token (1:8)".

Attached patch fixes the allowReserved default. Please let me know whether the export * thing is something that you can still reproduce.

Ah, looks like I wasn't using the latest version. Sorry about that.
After upgrading, I found two more issues:
export {default}

This should be a syntax error (it needs from).

I'm pretty sure the standard allows this (and that it means to export from the local module). See http://www.ecma-international.org/ecma-262/6.0/#sec-exports

(Also, you mention 'two more issues' and only list one. Did you forget to add the second?)

Oops, copy-paste error, I meant one more issue.
It's possible I'm misunderstanding the spec, but the Espree module implementation was written by @caridy, so I'd defer to his knowledge in this area.

The names in export { ... } are _IdentifierName_s:
ExportClause :
  { }
  { ExportsList }
  { ExportsList , }
ExportsList :
  ExportSpecifier
  ExportsList , ExportSpecifier
ExportSpecifier :
  IdentifierName
  IdentifierName as IdentifierName

There is a special syntax definition that prohibit the use of _FutureReservedWord_s.

@rwaldron So export {default} should not be allowed because default is a keyword?

@nzakas this is tricky because the spec doesn't provide all the details, it is just a combination of rules, but in principle, export {default} is invalid. only export {default} from "something" should be allowed. you can't have a binding for default identifier in the module body, that's why!

To expand upon @caridy's comment and to correct a minor mistake in @rwaldron's comment: export { default } in invalid, not because default is a FutureReservedWord, but rather that it is a Keyword, and thus a ReservedWord, which is not allowed because of the Early Error cited by @rwaldron earlier:

It is a Syntax Error if StringValue of n is a ReservedWord or if the StringValue of n is one of: …

Note that the last Early Error link only applies to the following construct:
export ExportClause ;

not
export ExportClause FromClause ;

So
export { default } from "algo"

is supported.

not because default is a FutureReservedWord, but rather that it is a Keyword, and thus a ReservedWord, which is not allowed because of the Early Error cited

Yep. Incidentally, I had meant to type (or thought I did) "ReservedWord and strict mode FutureReservedWord"... I must've deleted that part when I was making it a link. Thanks for spotting that and providing a correction.

Thanks everyone. @marijnh I'll put together a PR.

It looks like export var await is still being parsed with the latest release because await isn't listed as a keyword or reserved word internally. I'll try to fix that.


[master] Upgrade to latest dependencies

Produced via:
./hack/update-deps.sh --upgrade
./hack/update-codegen.sh

Cron. -knative-prow-robot
/cc knative-sandbox/channel-wg-leads
/assign knative-sandbox/channel-wg-leads

/retest

/test pull-knative-sandbox-eventing-kafka-broker-integration-tests

/retest


Not all images are checks

ICL files can include images that are not checks, such as deposit slips. Because they're not check images or returns, they are not preceded by a CheckDetail (type 25) or ReturnDetail (type 31) record. This library assumes that all images are associated with checks or returns, so when it encounters an image without a preceding check or return detail it returns an error.
What were you trying to do?
Upload an x937 file containing an image of a deposit ticket. The file in question is valid according to the x9.100-187_UCD-2008 specification companion document.
The file contains the following:
File Header (01)
    Cash Letter Header (10)
        Bundle Header (20)
            Credit (61)
                Image View Detail (50) - Deposit Ticket
                Image View Data (52)
                Image View Detail (50)
                Image View Data (52)
            Check Detail (25)
                Image View Detail (50) - Check 1
                Image View Data (52)
                Image View Detail (50)
                Image View Data (52)
            Check Detail (25)
                Image View Detail (50) - Check 2
                Image View Data (52)
                Image View Detail (50)
                Image View Data (52)
        Bundle Trailer (70)
    Cash Letter Control (90)
File Trailer (99)

What did you expect to see?
A successful file upload.
What did you see?
A FileError was returned from here
{"error":"error reading image cache letter: line:5 record:ImageViewDetail *imagecashletter.FileError ImageViewDetail Outside of current bundle"}
How can we reproduce the problem?
POST a file containing an image outside of a CheckDetail.

Essentially a duplicate of https://github.com/moov-io/imagecashletter/issues/112


pg_catalog.pg_user schema changed

This is the query cloud currently uses to retrieve RW users：
https://github.com/risingwavelabs/risingwave-cloud/blob/f284f602a5fe097d9e230a809546576ffdd6ee30/mgmt/internal/risingwave/rwdb/user.go#L102
SELECT * FROM pg_catalog.pg_user WHERE name != 'root' AND name != 'postgres';
ERROR:  Failed to run the query

Caused by these errors (recent errors listed first):
  1: Failed to bind expression: name <> 'root' AND name <> 'postgres'
  2: Item not found: Invalid column: name

schema of the current table：
SELECT * FROM pg_catalog.pg_user;
 usesysid | usename  | usecreatedb | usesuper |  passwd
----------+----------+-------------+----------+----------
        1 | root     | t           | t        | ********
        2 | postgres | t           | t        | ********

If we change the scheme for system tables, I think we should try to synchronize it to the cloud, or have relevant documentation.

caused by this pr:
https://github.com/risingwavelabs/risingwave/pull/14947

This may require version control for cloud to distinguish them.

Oh, this should have been defined incorrectly when it was defined before. It should be consistent with PostgreSQL and has been fixed in the recent refactoring. We should be careful about the schema changes for system catalogs and should synchronize it to the cloud if necessary.

Oh, this should have been defined incorrectly when it was defined before. It should be consistent with PostgreSQL and has been fixed in the recent refactoring. We should be careful about the schema changes for system catalogs and should synchronize it to the cloud if necessary.

This may require version control for cloud to distinguish them.

@yezizp2012, I left some question in the cloud linear issue: https://linear.app/risingwave-labs/issue/CLOUD-2423/bug-adapt-the-schema-change-of-the-pg-user-system-table#comment-e7c425aa
PTAL when you have time.


feat(clerk-js,clerk-react,types): Add unsafeMetadata prop to

Type of change

[ ] 🐛 Bug fix
[x] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[x] @clerk/clerk-js
[x] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[x] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

Description

[x] npm test runs as expected.
[x] npm run build runs as expected.

Adds unsafeMetadata prop to the <SignUp /> component to improve flexibility.

Fixes USR-99

@gkats Password, Passwordless, OAuth, and Metamask/Web3 all appear to be working as intended.

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Clarify free pricing tier

@jyavorska  - made a slight update to the free section to not unnecessarily alarm anybody.

@abschu I'd say feel free to merge this, it's a small change.


Error boost

I'm trying to run this command :
.\vcpkg.exe install boost:x64-windows boost:x86-windows
but I keep getting an error message :
error: building boost-exception:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest port files with git pull and vcpkg update.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+boost-exception
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?title=[boost-exception]+Build+error&body=Copy+issue+body+from+C%3A%2FUsers%2Fellio%2F.vcpkg%2Finstalled%2Fvcpkg%2Fissue_body.md
What am i doing wrong ?

Please post the generated issue body :)

You only have to click on the last link and follow the steps

@elliottdu17 Please provide the full repro steps and failure logs, thanks.

We don't have enough information to solve this issue, unfortunately; if you have any more information to help us solve this, please reopen!


seemingly valid EPW file not cannot be uploaded

Describe the bug
A seemingly valid EPW file is not recognized as such
To Reproduce
Steps to reproduce the behavior:

Try to load one of the files attached below in Clima
wait for the error message "The file you have uploaded is not an EPW file" to appear

Expected behavior
Clima loads the epw file
Screenshots

Desktop (please complete the following information):

OS: Windows 11
Browser: chrome

Additional context
please find below the file that is causing problems. It also originates from OneBuilding.org.
To make things weirder, it can be loaded no problem from the clima map, but once is downloaded directly from climate.org, it doesn't work (link to download > https://climate.onebuilding.org/WMO_Region_3_South_America/BRA_Brazil/PA_Para/BRA_PA_Belem.816800_INMET.zip )
once it is loaded in clima via the map and downloaded using the "download epw" button in the "climate summary tab" all is fine

I can reproduce this error: I unzipped the linked file, and these are its contents:
BRA_PA_Belem.816800_INMET.clm
BRA_PA_Belem.816800_INMET.ddy
BRA_PA_Belem.816800_INMET.epw
BRA_PA_Belem.816800_INMET.pvsyst
BRA_PA_Belem.816800_INMET.rain
BRA_PA_Belem.816800_INMET.stat
BRA_PA_Belem.816800_INMET.wea

I then started the application locally, uploaded the .epw in the UI, and saw the error you described.
There was no more detailed error message in the log, so I searched for that error message in the code, and traced the problem to app_select.py:
        except Exception as e:
            # print(e)
            return (
                None,
                None,
                True,
                messages_alert["wrong_extension"],
                "warning",
            )

Uncommenting the print and restarting the application gives us more information:
'utf-8' codec can't decode byte 0xe1 in position 1066: invalid continuation byte

Looking at the file byte-by-byte in that neighborhood:
hexdump -C -s 1060 -n 16 ~/Downloads/BRA_PA_Belem.816800_INMET/BRA_PA_Belem.816800_INMET.epw
00000424  61 64 6f 73 20 62 e1 73  69 63 6f 73 20 72 65 67  |ados b.sicos reg|

Interpreted as UTF-8, these bytes are invalid, but interpreted as latin-1/iso-8859 we get "á".
Most EPW files only contain ASCII, so encoding problems weren't noticed. I'll assume that latin-1/iso-8859 is the correct encoding and make a PR.
(This might have been easier to debug if the error was logged, instead of having the print commented out, but that's subjective.)


Insufficient resources on memory

Summary
We have a custom autoscaling job which scales the VM based on memory consumption.
We are calculating the used memory and based on the output of "free -m" which matches with the output of bosh vm  --vitals .
Today our scaling job scaled down the VMS. Even though we had enough capacity in term of memory the application started complaining about insufficient memory when starting up on remaining VMs.
I would like to understand how Available memory in REP is calculated by Diego.
I came across https://github.com/cloudfoundry/rep/blob/320f5e9ff0ba2a7bb1294927cbe31ce5af40c987/resources.go#L63-L68
func (c *CellState) ResourceMatch(res *Resource) error {
switch {
case !c.MatchRootFS(res.RootFs):
return ErrorIncompatibleRootfs
case c.AvailableResources.MemoryMB < res.MemoryMB:
return ErrorInsufficientResources
case c.AvailableResources.DiskMB < res.DiskMB:
return ErrorInsufficientResources
case c.AvailableResources.Containers < 1:
return ErrorInsufficientResources
default:
return nil
}
}
It looks like the data is fetched using  curl http://<IP_ADDRESS>:1800/state Which provides me with
AvailableResources":
{"MemoryMB":0,"DiskMB":139264,"Containers":237},"TotalResources":{"MemoryMB":30720,"DiskMB":163840,"Containers":249}
When I execute bosh VMS --vitals I am getting
| vp_diego_cell_internal_stack_red_z1/1 (9bab400f-0848-4fd4-98cf-116a5360269a)  | running | n/a | runner_z1 | <IP_ADDRESS>  | 0.30, 0.30, 0.36      | 0.6% | 0.1% | 0.0% | 72% (21.7G)  | 2% (576.2M) | 39%        | 47%        | 0%         |
On the VM i have
vp_diego_cell_internal_stack_red_z1/9bab400f-0848-4fd4-98cf-116a5360269a:~$ free -m
total       used       free     shared    buffers     cached
Mem:         30662      30336        325          1       1741       6381
-/+ buffers/cache:      22212       8449
Swap:        30663        576      30086
i should be able to push an application of 4 GB easily based on  VM capacity.
[Describe the result that you expected to happen.]
I should not get insufficient.

Each app running on a cell will have some memory allocated to it.
Even if an app is not utilizing all of the memory allocated, that memory is "reserved" and not included in the rep's calculation of available memory.
You can use cfdot on your diego-cells to view the resources available on each cell:

bosh -d <YOUR FOUNDATION NAME> ssh diego-cell/0
sudo -i
cfdot cell-states | jq '{cell_id, TotalResources, AvailableResources}'

Hopefully this will help.

@nsharmacovs as @heyjcollins mentioned checking the actual memory on a VM  is not correct because Diego will advertise a total amount of memory and space and it reserves it against that total for each app running on a Cell. It doesn’t matter if the app uses that memory or not, it’s still reserved. This can cause the free reserved memory to differ quite a bit from the actual free memory.
Please see these articles:
https://community.pivotal.io/s/article/Starting-or-Staging-an-Application-Results-in-an-Insufficient-Resources-Error
https://community.pivotal.io/s/article/how-to-get-remaining-memory-on-diego-cells

Please feel free to re-open this issue if you still have questions.

Please be aware of this value for DISK SIZE 163840.
"TotalResources": {
"Containers": 249,
"DiskMB": 163840,
"MemoryMB": 30720
},
but when I ssh into the server and get the actual is:
lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   3G  0 disk
└─xvda1 202:1    0   3G  0 part /
xvdb    202:16   0  74G  0 disk
├─xvdb1 202:17   0  30G  0 part [SWAP]
└─xvdb2 202:18   0  44G  0 part /var/vcap/data
xvdf    202:80   0  10G  0 disk
└─xvdf1 202:81   0  10G  0 part /var/vcap/store
loop0     7:0    0   1G  0 loop /var/vcap/data/garden/graph/aufs/diff/e7ddc903654daf9986c56a866ab93b1b9104230687b70b5a4cc6c39b657741f4
loop1     7:1    0   2G  0 loop /var/vcap/data/garden/graph/aufs/diff/e272657f48d07f91b9c946c7315ede8fc2765489d04033969347797f704a38b1
loop2     7:2    0   3G  0 loop /var/vcap/data/garden/graph/aufs/diff/57253dfc198e342a8ffd664e1c15447ab4c03ccc94151711e3a94a1ba9d91e20
loop3     7:3    0   2G  0 loop /var/vcap/data/garden/graph/aufs/diff/30731b46059b4e9f57b6f424a9ea85e1fc6999d95431544062f72b1de7965602
df -hm
Filesystem     1M-blocks  Used Available Use% Mounted on
udev               15327     1     15327   1% /dev
tmpfs               3068     1      3068   1% /run
/dev/xvda1          2960  1245      1549  45% /
none                   1     0         1   0% /sys/fs/cgroup
none                   5     0         5   0% /run/lock
none               15340     2     15338   1% /run/shm
none                 100     0       100   0% /run/user
/dev/xvdb2         44260 21978     20012  53% /var/vcap/data
tmpfs                  1     1         1   2% /var/vcap/data/sys/run
/dev/xvdf1          9949    23      9398   1% /var/vcap/store
tmpfs                  3     0         3   0% /var/vcap/data/executor/instance_identity
/dev/loop0          1008   310       632  33% /var/vcap/data/garden/graph/aufs/diff/e7ddc903654daf9986c56a866ab93b1b9104230687b70b5a4cc6c39b657741f4
none                1008   310       632  33% /var/vcap/data/garden/graph/aufs/mnt/e7ddc903654daf9986c56a866ab93b1b9104230687b70b5a4cc6c39b657741f4
/dev/loop3          2016  1366       533  72% /var/vcap/data/garden/graph/aufs/diff/30731b46059b4e9f57b6f424a9ea85e1fc6999d95431544062f72b1de7965602
none                2016  1366       533  72% /var/vcap/data/garden/graph/aufs/mnt/30731b46059b4e9f57b6f424a9ea85e1fc6999d95431544062f72b1de7965602
/dev/loop2          3024  2124       732  75% /var/vcap/data/garden/graph/aufs/diff/57253dfc198e342a8ffd664e1c15447ab4c03ccc94151711e3a94a1ba9d91e20
none                3024  2124       732  75% /var/vcap/data/garden/graph/aufs/mnt/57253dfc198e342a8ffd664e1c15447ab4c03ccc94151711e3a94a1ba9d91e20
/dev/loop1          2016   919       980  49% /var/vcap/data/garden/graph/aufs/diff/e272657f48d07f91b9c946c7315ede8fc2765489d04033969347797f704a38b1
none                2016   919       980  49% /var/vcap/data/garden/graph/aufs/mnt/e272657f48d07f91b9c946c7315ede8fc2765489d04033969347797f704a38b1
so, where is this number 163840 from ? seems like a default value from some hard coding...

If you have not configured the disk limit manually (https://github.com/cloudfoundry/diego-release/blob/b9e172c25cb95e45e01bd8e80469f1a45d92780f/jobs/rep/spec#L121) then the total disk size is the size of your ephemeral disk (mounted at /var/vcap/data) minus the size of the reps download cache (https://github.com/cloudfoundry/diego-release/blob/b9e172c25cb95e45e01bd8e80469f1a45d92780f/jobs/rep/spec#L139)

Thanks for this detailed explanation.
With "diego.executor.disk_capacity_mb" set I can see the change takes effect now.
But for an one more further step thinking:
Assume, I have 1 Cell VM with 10 GB RAM in total, no SWAP. I changed it with memory overcommit option: 20GB.
1, I pushed an APP-A, which is 8GB reserved, and 7GB in actual using, and stick to that number. succeed.
2, I pushed an APP-B, which is 8GB reserved, and 1GB  in actual using, succeed.
with above settings, in actual 8GB used. which is below the 10GB of vm server.
3, Assume, the APP-B is start to consume memory now, what would happen when it arrived to 3GB ? to 5GB ?
My actual question is, what would happen when the applications running on the same cell node (overcommit memory) need to consume a number of memory which is more than the actual VM memory? (OOM) How does it behave?

@rluan If the processes running on your cell VM are consuming more memory than is actually physically available, they can be killed by the OOM killer (and any application containers running these processes will be destroyed and rescheduled).

@sunjayBhatia Which you are meaning is the 'Linux system OOM killer' right? That is what I'm able to understand.
I'd like to know: Is there already have a feature in some newer release, that CF itself can manager such kind of overcommit scenario and manage cell node OOM behavior?  Currently we are still with "cf-release".

I do not believe there is such a feature, no. If a cell is actually running out of memory we prioritize platform stability over an individual app instance’s health (as the app instance may be a bad actor etc.).


Cleaned emitter to not emit preamble if unneeded

Did the following experiment to check if there was any performance impact on rocket.fir:
New emitter
2137.1 ms
2133.6 ms
2051.0 ms
2166.3 ms
Old emitter
2009.8 ms
1556.9 ms
2030.8 ms
1596.6 ms
Looks like they are about the same, and small, so I think its good.

Addressed comments, thanks!

Redid to emit preamble before initializations, not at top of file. Still need to check whether it works with rocketchip

Works with rocketchip, can merge.


added light theme

variables on all color properties
light theme added #15
can be toggled by adding "light" class to "div.villain" #14

Unfortunately, I'm not that versed in React. That's why I don't like to put anything into the code.

Nice thanks, there is already a another pr https://github.com/btzr-io/Villain/pull/32 for this, but requires some changes, so if stills incomplete or I cant merge it after 24hrs, I'll merge this one :+1:

Nice thanks, there is already a another pr #32 for this, but requires some changes, so if stills incomplete or I cant merge it after 24hrs, I'll merge this one 👍

Yeah, I actually found it after creating my PR.

I'll close this for now


Needs cognitect's test runner as a dependency

If I try to execute clofidence via the deps.edn alias it fails with an error:
Could not locate cognitect/test_runner/api__init.class, cognitect/test_runner/api.clj or cognitect/test_runner/api.cljc on classpath. Please check that namespaces with dashes use underscores in the Clojure file name.

The solution seems to be adding the dependency to :extra-deps
  :clofidence {:classpath-overrides {org.clojure/clojure nil}
               :extra-deps {com.github.flow-storm/clojure {:mvn/version "LATEST"} ; >= 1.11.1-15
                            com.github.flow-storm/clofidence {:mvn/version "LATEST"}
                           io.github.cognitect-labs/test-runner {:git/tag "v0.5.1" :git/sha "dfb30dd"}}
               :exec-fn clofidence.main/run
...

I see that this is controlled via :test-fn argument.
Closing.


fix(spelling): correcting grammar

I believe this should read "should have a title 'app works!'" not "should have as title 'app works!'"

I signed it!


v4

@edevenport Ready for review.

@edevenport Ready for review.

@denza I noticed the indentation seems to vary between 4 spaces and tabs. Can we standardize on 4 spaces? Also, can you squash the commits?
@nurfet-becirevic @jasmingacic Can you review?

Spacing fixed. Squashed.


Enforce strictPropertyInitialization for merged class/interface

Suggestion
As mentioned in #340, declaration merging allows us to avoid duplicating property names from interfaces to classes that are implementing them. However, there is a problem with that solution.
🔍 Search Terms
declaration merging, duplicate properties, implements, strictPropertyInitialization
✅ Viability Checklist
My suggestion meets these guidelines:

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
My suggestion is for the compiler with the strictPropertyInitialization flag set to treat the properties of an interface merged with a class the same way as if the properties were directly declared in the class. This would also align with TypeScript design goal 1. because it would identify an error that could potentially be overlooked.

📃 Motivating Example
Let's say we want Bar to have the same properties of Foo and forget to initialize one of them:
interface Foo {
  a: string;
  b: string;
}

class Bar implements Foo {
  a: string;
  b: string;
//^
// Property 'b' has no initializer and is not definitely assigned in the constructor.

  constructor() {
    this.a  = 'a';
  }
}

Here, TSC would give an error due to strictPropertyInitialization so we know we forgot to initialize the property. Good thing we caught that early!
Now, what if Foo had lots of properties and we didn't want to duplicate each property from the interface to the class. We could use declaration merging to achieve that.
interface Foo {
  a: string;
  b: string;
  c: string;
  d: string;
// etc..
}

interface Bar extends Foo {}

class Bar {
  constructor() {
    this.a = 'a';
    this.b = 'b';
    this.c = 'c';
  }
}

Oops, we forgot to initialize d. Obviously the compiler would notice that, right? No, the compiler is perfectly fine when we use declaration merging to copy the properties from Foo to Bar. This is an issue. We could avoid this by going back to the old method of individually declaring every single property, but that's cumbersome!
💻 Use Cases
Currently, one has to either abandon using declaration merging and use duplicate properties, or lose the ability to check for initializations.

For what it's worth I don't think this is a supported use case for declaration merging.  Critically, this will behave improperly in codebases that have useDefineForClassFields: true (i.e. ES-compliant class fields) or that target an ES version with native class fields, because the class will be emitted without those properties in its definition:
interface Foo {
    a: string;
    b: string;
}

class Bar implements Foo {
    a: string;
    b: string;

    constructor() {
        this.a  = 'a';
        this.b = 'b';
    }
}

interface Baz extends Foo {}
class Baz {
    constructor() {
        this.a  = 'a';
        this.b = 'b';
    }
}

target: "esnext" emit:
class Bar {
    a;
    b;
    constructor() {
        // [[Define]] semantics
        this.a = 'a';
        this.b = 'b';
    }
}
class Baz {
    constructor() {
        // [[Set]] semantics
        this.a = 'a';
        this.b = 'b';
    }
}

Particularly in library code, this difference may matter and could surprise people extending your class.

The problem is that the declaration merging, like you're doing here, is the way you should tell TypeScript about properties which are initialized/created/etc outside the boundaries of your class definition. This code already has a meaning, and the meaning is "I don't want you to warn me about those fields".


arc4random not cryptographically secure

People rely on arc4random being a cryptographically secure source of random numbers.
The implementation in CFMisc.mm is just calling rand() a few times which is pretty terrible.
It should instead use a real cryptographic PRNG algorithm and be seeded from some kind of reliable source of random data. Either implement it properly or at least call an equivalent windows API for some secure random numbers.

This should emphatically be CryptoGenRandom calls.


doc fix for #264 migrate module into main notebook

it looks like theres a conflict here so I can merge it. Could you rebase this on the current master branch. I think easiest way to do this would be copy your ipynb, pull the master branch, paste back in the notebook, and recommit

thx for the tips @henrypinkard , opened up a new pull request #284 that looks like it passed the auto merge. closing this here for convenience

Thanks!


Add errors

First off, thank you for a great library. Using a client-side relational database is, in my opinion, the clear future for large frontend applications. However, after trying Tinybase out there is a key feature that I find myself really missing: errors.
Tinybase has cell types and default values. That is, I can enforce my data never has the wrong type, and I can substitute a default value when applicable, but I can't throw an error when my app tries to add invalid data to my store. Everything fails silently. This is fine in some circumstances, but is very much not in others.
I'd like a way to say, this cell is required. This should throw something akin to a Postgres NotNullConstraint error. This also goes for foreign key constraints, check constraints, etc.
In my opinion there should be no requirement to use these constraints nor even a schema, but they should be available.
For context, my current work around is to set a unique default value for fields which I require which is used no-where else in my application. I then use listeners to watch for this value and, if they find it throw an error. This is very brittle. I'd much prefer a built-in solution.

This can also be done by not using a cell schema and doing the cell schema manually via listeners, but again, this is brittle and very verbose.

I understand the use case perfectly and would like to figure out something here. I don't want to start throwing JS exceptions necessarily, but a lightweight signal back from the setter that something didn't happen as you might have expected... I get it. Let me think about this one?

Had some ideas bouncing around in my head, and thought I'd leave them here.
The query engine could be responsible for enforcing constraints which would be declared via schemas. This way, when using the SQL-esq query engine API, you'd get relational database-esq errors, but when using the low-level "raw" API, you'd access the "raw" store and circumvent any constraints. I'd further propose a "strict" mode for stores which limits them to the query engine API to ensure no constraints are violated during their lifetime. Maybe only allow constraints in strict mode too?
This comes down to "when I'm using my store like a database, I want it to act like a database" and "when I'm using my store like an object, I want it to act like an object". Obviously the underlying store is identical, but the mindset is different.

Also, instead of errors, you could always return a result type where the left value was a query's result, and the right value was a constraint violation which prevented the query from succeeding. Could even make use of fp-ts's Either for easy interop with those using fp-ts.

My philosophy has been validate on write (on a premise that reading 'valid' data needs to be the fast path), so I'd like to see if we can do that here.
I can't really see a way to make this a 'peer' framework like the Metrics or Indexes objects - it'll have to be baked into the Store setters. That's fine I think... I am hoping it's just a few hundred bytes at most.
My best shower thoughts on this have been:

The listener convention: an InvalidDataListener callback (registered with addInvalidDataListener) so you can do whatever you want when you know invalid data has been dropped. These will probably need to fire before the mutator listeners, and then again afterwards (in case the mutators themselves generate new invalid data). Should still be fast even with two new event phases though.
An optional callback of some sort on the setters: eg .setTables('whoops', (err) => {...}). That seems a little more clumsy, especially for the setters that already have lots of parameters. It'll be nice to know something went wrong exactly at the time you tried to set it though.
Both. The callback should be an InvalidDataListener
~Neither.~

Thoughts? I might try out 1 anyway and see what the overhead is.

@AHBruns, I'm going to push ahead with #1.
It adds 61 bytes (<5%) to the prod .js and 16 bytes (3%) to the .js.gz - which seems like excellent value for money :)
The API will be:
type InvalidCellListener = (
  store: Store,
  tableId: Id,
  rowId: Id,
  cellId: Id,
  invalidCell: any,
) => void;

addInvalidCellListener(
  tableId: IdOrNull,
  rowId: IdOrNull,
  cellId: IdOrNull,
  listener: InvalidCellListener,
  mutator?: boolean,
): Id;

It's very similar to CellListener/addCellListener and acts exactly as you expect. I'll PR this one from the errors branch so you can kick the tires and check it works as you need before publishing.

@AHBruns, I'm going to push ahead with option 1.
It adds 282 bytes (<5%) to the prod .js and 82 bytes (3%) to the .js.gz - which seems like excellent value for money :)
The API will be:

type InvalidCellListener = (

  store: Store,

  tableId: Id,

  rowId: Id,

  cellId: Id,

  invalidCell: any,

) => void;

addInvalidCellListener(

  tableId: IdOrNull,

  rowId: IdOrNull,

  cellId: IdOrNull,

  listener: InvalidCellListener,

  mutator?: boolean,

): Id;

It's very similar to CellListener/addCellListener and acts exactly as you expect. I'll PR this one from the errors branch so you can kick the tires and check it works as you need before publishing.

Will try it out this evening. Glad to see such quick movement.

give me a few hours - I want to get a bunch of test cases in there

@AHBruns give 1.1.0-beta.0 a try and see if that works.

@AHBruns give 1.1.0-beta.0 a try and see if that works.

Going to be now. Will check and report back tomorrow morning.

Note I changed the API slightly. The listener gets an array of failed values, in case you tried multiple times throughout a transaction. Docs and test cases are in there too in case you need to see how to use it.

So, it's good, but does seem to have issues with a few edge cases, for instance the following will not call call the listener:
import { createStore } from "tinybase";

const store = createStore().setSchema({
  pets: {
    species: { type: "string" },
    sold: { type: "boolean", default: false },
  },
});

store.addTablesListener((store) => {
  console.log(store.getJson());
});

store.addInvalidCellListener(
  "pets",
  null,
  null,
  (store, tableId, rowId, cellId, invalidCells) => {
    console.log(tableId, rowId, cellId, invalidCells);
  }
);

store.addRow("pets", {});

It also doesn't handle "invalid" schema data how I'd expect. For instance, this
import { createStore } from "tinybase";

const store = createStore().setSchema({
  pets: {
    species: { type: "string" },
    sold: { type: "boolean", default: 1 },
  },
});

store.addTablesListener((store) => {
  console.log(store.getJson());
});

store.addInvalidCellListener(
  "pets",
  null,
  null,
  (store, tableId, rowId, cellId, invalidCells) => {
    console.log(tableId, rowId, cellId, invalidCells);
  }
);

store.addRow("pets", { species: "" });

Doesn't call the invalid listener, but also doesn't use the provided default because it's the wrong type. This is probably less important since this is only an issue when the schema API is misused. Still, I think an invalid cell listener should be triggered here.

I do think that it's a good basic API though. I would say that the interaction with transactions could be improved though. Right now they transaction doesn't care if an invalid cell listener is called. I'd expect, an invalid cell listener call to stop and rollback a transaction.
For instance, this:
import { createStore } from "tinybase";

const store = createStore().setSchema({
  pets: {
    species: { type: "string" },
    sold: { type: "boolean", default: true },
  },
});

store.addInvalidCellListener(
  "pets",
  null,
  null,
  (store, tableId, rowId, cellId, invalidCells) => {
    console.log(tableId, rowId, cellId, invalidCells);
  }
);

store.transaction(() => {
  store.addRow("pets", { species: "" });
  store.addRow("pets", { species: 1 });
  store.addRow("pets", { species: true });
});

console.log(store.getJson());

shouldn't result in this, imo.
alexbruns:tinybase-beta-testing/ $ node store.mjs
pets undefined species [ 1, true ]
{"pets":{"0":{"species":"","sold":true},"1":{"sold":true},"2":{"sold":true}}}

Nice. I think both those edge cases should be made to work.
For the transactions part, I am open to having a parameter on the public .transaction method that makes it rollback if there's an issue. This may be a little costlier (and trickier to implement lol) so not sure that it should be true by default.

store.addRow("pets", {});

For this one, would you be ok if the InvalidCellListener got called with an "undefined" cell Id? Your first example console output would return something like:
"pets", "undefined", "undefined", [undefined]

It's not perfect that undefined is a string here for cellId, but it already is for rowId when it's an addRow that failed, because the validation occurs before a new row Id is assigned.

2f598741017a23a8c1d9295e13cb046861e48a5e covers the first edge case and adds a bunch of unit tests to demonstrate.

I think that'd be fine, though I'm not sure I follow why the cellId is "undefined" here. Presumably, even without a rowId, the listener is being called on a per-cell basis which means it must have a cellId. I would have expected:
"pets", "undefined", "species", [undefined]

or even better
"pets", undefined, "species", [undefined]

If this is possible, I think I'd prefer a more uniform solution with an invalidRow and invalidTable listeners for these cases, but I think that brings up more edge cases about which listeners fire when. Also, a few more bytes to the bundle size.

Also, instead of errors, you could always return a result type where the left value was a query's result, and the right value was a constraint violation which prevented the query from succeeding. Could even make use of fp-ts's Either for easy interop with those already using fp-ts.

I have a library which is a port of rust's Result and Option type in < 800 bytes. It can be an option.

"pets", undefined, "species", [undefined]

Yeah that's what you'll get. About to crank another release so you can make sure I caught all the edge cases.
Bonus: the events also fire if you change the schema after data has been added, so you can see what effect changing the schema has had.

It also doesn't handle "invalid" schema data how I'd expect.

This won't work as you requested because I forgot that actually the schema itself gets normalized/corrected when it's invalid. So by the time it comes to validate cells it never knew there was ever a default of the wrong type.

store.addRow("pets", {});

For this one, just to clarify what happens:.

If there was no schema, it will throw an invalid event.
If there was a schema with no pets table, it will thrown an invalid event.
If there was a schema with no default values for the pets table, it will thrown an invalid event.
If there was a schema with a default value in any cell of the pets table, it will not throw an invalid event

I'm proposing the fourth case here because you did want a row, with the defaults in it, and you didn't actually provide any invalid data in getting it.
Lots to document to make these combinations clear!

Take v1.1.0-beta.1 for a spin?

Will take a look tonight or tomorrow morning at the latest. Also, thinking about the 4 cases you outlined, I think, in the 4th case it should not throw only when all cells have a default value since these two should act identically, imo:
store.addRow("pets", {});

and
store.addRow("pets", { species: undefined, sold: undefined });

The later throws an invalid event which seems reasonably to me since undefined is not of type string. The argument for them being different is that lack of presence in an object isn't the same and as being set to undefined in JS (which is dumb), but I think carrying that into the store's semantics would be a needlessly confusing design decision. Imo, undefined === missing.

I agree that explicitly setting undefined is a gnarly one, since:
Object.keys({b: undefined});
// ['b']

And then what to 'throw'? There are infinite fields you could have put in there as undefined in value ;) And the operation did work in some sense.
Maybe something like an error for all the non-defaulted cells you didn't set? There are other legitimate times you might set partial rows that you know will be defaulted. So is that heuristic only for the empty object case? This is the best I've got so far though.
I am a little wary of going down the route of invalid Row and invalid Table handling, for perf and size cost. And would they exactly solve this semantic challenge?
We may just have to take a stance at some point and document these cases well.

PS just to say it's super fun riffing on these design decisions :_

Also, I agree, it's fun to mull over design decisions with someone else, and I'd like to apologize for not being more helpful in terms of actual development. I've been busy with work, but I'd like to help with actual code when things settle down a bit. Feel free to ping me if you have any simple issues you'd like to get off your plate that would be good introductions to the codebase.

OK, I can see an efficient way to fire events when optional cells are missing in a schematized row. I would like to change the implication from 'invalid' in the API though - since not adding an optional cell is kind of... valid.
Any objections if I rename this to CellWarningListener? That takes the edge off the semantics and coves a multitude of reasons why you would want to be alerted.

Alright, this is where things ended up:
const store = createStore().setSchema({
  pets: {
    species: {type: 'string'},
    color: {type: 'string', default: 'unknown'},
  },
});
const listenerId = store.addInvalidCellListener(
  null,
  null,
  null,
  (store, tableId, rowId, cellId) => {
    console.log(
      `Invalid ${cellId} cell in ${rowId} row in ${tableId} table`,
    );
  },
);
store.setRow('sales', 'fido', {price: 5});
// -> 'Invalid price cell in fido row in sales table'
// The listener is called, because the sales Table is not in the schema
store.setRow('pets', 'fido', {color: 'brown'});
// -> 'Invalid species cell in fido row in pets table'
// The listener is called, because species is missing and not defaulted...
console.log(store.getRow('pets', 'fido'));
// -> {color: 'brown'}
// ...even though a Row was set
store.setRow('pets', 'felix', {species: true});
// -> 'Invalid species cell in felix row in pets table'
// The listener is called, because species is invalid...
console.log(store.getRow('pets', 'felix'));
// -> {color: 'unknown'}
// ...even though a Row was set with the default value
store.setRow('pets', 'rex', {species: 'dog'});
console.log(store.getRow('pets', 'rex'));
// -> {species: 'dog', color: 'unknown'}
// The listener is not called, because color is defaulted
store.delTables().setSchema({
  pets: {
    species: {type: 'string'},
    color: {type: 'string'},
  },
});
store.setRow('pets', 'cujo', {});
// -> 'Invalid species cell in cujo row in pets table'
// -> 'Invalid color cell in cujo row in pets table'
// -> 'Invalid undefined cell in cujo row in pets table'
// The listener is called multiple times, because neither Cell is defaulted
// and the Row as a whole is empty
store.delListener(listenerId);

v1.1.0 is out, with this support

@AHBruns take a look at https://github.com/tinyplex/tinybase/releases/tag/v1.2.0-beta.0 - it takes a doRollback callback in the transaction method, so you can choose to roll everything back if things did not go as the client wanted.

Taking a look


Added support for Riverpod V1.0

Sweet @pythonhubpy, seems to be some conflicts though, could you resolve them?

Sure

Resolved the conflicts.

I have resolved all the suggestions

Thanks 😊


Coordinate Conversion - Flash or Persist - ArcGIS Pro

I suggest that the user be given the option to flash a point or persist a feature, which would be useful in remembering where certain points are. This would dovetail nicely with the ability to batch capture coordinates.
FYI @elinz @mfunk @dfoll @nfeuerstein

@joebayles Do you think that this suggestion could be fulfilled by using the collect tab. I do not think the collect tab was showing up five days ago, but it should be there now. I feel like the collect tab has all of these features.

It does, thanks. However, what is the best way to batch convert these, or at least do them one-at-a-time? Copy and paste them back into the Convert tab Input, or Select the feature in the map? Also, I'm not seeing any documentation on the Collect tab.

no documentation on collect tab is issue https://github.com/Esri/coordinate-conversion-addin-dotnet/issues/236, should be taken care of soon.

@joebayles @topowright @Dbarnes1 My comment references #339.
The list off coordinates captured is now implemented in the addin. The flash function as a right-click context menu item is now available to the user. When you "flash" a selected coordinate from the list, the point flashes on the map. The enhancement moving forward is to have the user select a point/coordinate on the map that was created with the addin and have that coordinate highlighted in the list.

closing this issue, as the flash functionality exists. created new issues for the ability to select a point on the map and have it highlight in the list #359 #360 and listed on for WAB as well https://github.com/Esri/solutions-webappbuilder-widgets/issues/880


Break out Reflection Plugin from FASA

Needed for #939 and I noticed we used to index the source for the plugin and filtered that away since we don't generally seem to bundle source files.
As always when mucking about with adding new dependencies GUI users might feel a slight discomfort but it should work through the CLI.

I RTFS'ed and found where the plugin originates from https://github.com/Starwaster/Reflection-Plugin-Continued
Updated this PR accordingly.

 The longer we wait in applying this change the more people will be affected.
People shall be posting issues and probably post in the forumthread so here is how to solve the problem:

GUI : Uninstall and then reinstall FASA without starting the game inbetween -> Everything works
CLI : Run a ckan update and click yes when it asks. If that doesn't work, uninstall and reinstall.


todo to separate desired property updates from updatestate.

Type of issue

[ ] Bug
[ ] New feature
[x ] Improvement

Description
Issue to track this todo:
// TODO: the device state update should be an in-memory task without network access, so we should move this logic out to a separate task/thread
                if (this.ChangeTwinPropertiesToMatchDesired(device, actor.DeviceState)
                    || this.ChangeTwinPropertiesToMatchActorState(device, actor.DeviceState))
                    actor.BootstrapClient.UpdateTwinAsync(device).Wait((int) connectionTimeout.TotalMilliseconds);

done with https://github.com/Azure/device-simulation-dotnet/pull/75


more extensive readme - setup instructions

update the readme with step by step instructions for setting up the site in a development environment.

Fixed in #34


Bandwidth plot uglier for many topographies

Now, after switching from plottable to bokeh for the bandwidth plots, they do not look nice because of the
labels:

Also you cannot click on every topography any more.

Update from @tdbjacobs and @pastewka :

The bandwidth plot on a surface with a lot of topographies is a
mess. I can't read the text. (See /Screenshot1.png/, attached)

I agree. We updated this to use the Bokeh framework in this release but
I think the old bandwidth plot was much better.
@Michael: Can you roll back that change?
Not that easy. The problem with the old "plottable" solution was that it did not load in the hidden tab. That was the main reason for me to do the transition to "bokeh" when implementing the gallery as initial tab.

I can try to leave out the labels at some point.

I think I'll release this first before implementing #239, because of other bugs. Let's see how it looks like
with big surfaces in production, it can't be uglier than this. Reopen if it still needs improvements.

Sounds good!


Switch to MagicPython?

language-python is really out-of-date and breaks when given function annotations. For instance, see this file, where HUGE swaths of code are completely black.
MagicPython is MUCH more up-to-date; it supports much more than language-python. Would it be possible to switch to MagicPython? It'll make Python code on GitHub look a LOT better!

This appears to be a duplicate of #2703 ;)

This appears to be a duplicate of #2703 ;)

Sorry about that!

Sorry about that!


unable to download video webpage

using proxy, my safari browser works well,
but on terminal, it doesn't work
python:2.6.1
max os x : 10.6.8
who can give me some suggestion?
follow is the youtube-dl's output:
-F --proxy "http://<IP_ADDRESS>:8080" -v  http://www.youtube.com/watch?v=6DKNKI27GdA
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-F', '--proxy', 'http://<IP_ADDRESS>:8080', '-v', 'http://www.youtube.com/watch?v=6DKNKI27GdA']
[debug] youtube-dl version 2013.12.03
[debug] Python version 2.6.1 - Darwin-10.8.0-i386-64bit
[debug] Proxy map: {'http': 'http://<IP_ADDRESS>:8080', 'https': 'http://<IP_ADDRESS>:8080'}
[youtube] Setting language
WARNING: unable to set language:
[youtube] 6DKNKI27GdA: Downloading video webpage
ERROR: Unable to download video webpage: ; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
Traceback (most recent call last):
File "/Users/alq/workspace/online-video-downloader/trunk/dist/VideoDownloader_dbg.app/Contents/MacOS/yd/youtube_dl/extractor/youtube.py", line 1265, in _real_extract
video_webpage_bytes = compat_urllib_request.urlopen(request).read()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 124, in urlopen
return _opener.open(url, data, timeout)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 383, in open
response = self._open(req, data)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 401, in _open
'_open', req)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 361, in _call_chain
result = func(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 701, in
meth(r, proxy, type))
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 724, in proxy_open
return self.parent.open(req)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 383, in open
response = self._open(req, data)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 401, in _open
'_open', req)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 361, in _call_chain
result = func(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 1141, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 1114, in do_open
r = h.getresponse()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py", line 950, in getresponse
response.begin()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py", line 390, in begin
version, status, reason = self._read_status()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py", line 354, in _read_status
raise BadStatusLine(line)
BadStatusLine
Traceback (most recent call last):
File "/Users/alq/workspace/online-video-downloader/trunk/dist/VideoDownloader_dbg.app/Contents/MacOS/yd/youtube_dl/YoutubeDL.py", line 429, in extract_info
ie_result = ie.extract(url)
File "/Users/alq/workspace/online-video-downloader/trunk/dist/VideoDownloader_dbg.app/Contents/MacOS/yd/youtube_dl/extractor/common.py", line 131, in extract
return self._real_extract(url)
File "/Users/alq/workspace/online-video-downloader/trunk/dist/VideoDownloader_dbg.app/Contents/MacOS/yd/youtube_dl/extractor/youtube.py", line 1267, in _real_extract
raise ExtractorError(u'Unable to download video webpage: %s' % compat_str(err))
ExtractorError: Unable to download video webpage: ; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

Most likely this is caused by your proxy.


Extension causes high cpu load

Issue Type: Performance
Extension Name: dictionary-completion
Extension Version: 0.8.3
OS Version: Darwin x64 18.7.0
VSCode version: 1.38.1

yzhang.dictionary-completion-unresponsive.cpuprofile.txt

I don't see any problem from the CPU profile. The costliest extension function call takes less than 0.1s.
Feel free to reopen this if you still have this issue (and more information).


swagger_controller DSL can accept a resource_path which will be used over a generated path

This allows for custom paths to be defined which can then be fed into swagger-ui in a more user friendly way.

This may not work like I expected. I put this into my project and swagger 1.2 -> 2.0 replaces nested/testing/resource as resource, returning everything after the final /.
However, swagger 1.2 generates a document with the correct nested/testing/resource, which makes me think the problem is in swagger2 converter and not this change.

Thanks for this! I've now manually merged this into the latest version 0.2.6. Cheers.

Awesome thank you! Swagger docs has allowed us to have a successful automated doc system! Great stuff

Thank you for the PR! Great to hear it's worked out for you guys.


Gunicorn logging to graylog

@business-factory/pythonistas

Is there a reason why did you change port to 8080? I just see that we refer in many places in comments and in Readme to the port 8000, so it made me curious.

@martinvy Master runs on 8080. For keeping consistency I decided to change the port. Now I don't know what's better whether to change port in documentation or change binding port in gunicorn configuration back to 8000 and overwrite binding port in kubernetes deploy.

@Joozty Ok, nevermind, you can let it be.


[libpcap] Enable compilation of libpcap port on x86-windows and x64-windows

This PR enables support for compiling the libpcap port on x86-windows and x64-windows, removing the need to use the outdated and unmaintained fork winpcap (see https://github.com/microsoft/vcpkg/issues/10730).
As winpcap and libpcap install the same headers, this two port have been marked as not not compatible, and cannot be installed together.

What does your PR fix?

This PR provides an alternative solution to the issue https://github.com/microsoft/vcpkg/issues/10730 .

Which triplets are supported/not supported? Have you updated the CI baseline?

The PR adds support for building the port libpcap for ports x86-windows and x64-windows. I did not updated the CI baseline as this port conflicts with another port (winpcap) so I am not sure how this should be handled.

Does your PR follow the maintainer guide?

Yes.

While looking thorugh the CMakeLists.txt I found that there are possible extra dependencies:
on Windows: https://nmap.org/npcap/
(Npcap is the Nmap Project's packet sniffing (and sending) library for Windows. It is based on the discontinued WinPcap library, but with improved speed, portability, security, and efficiency)
general: OpenSSL
both could lead to future CI failures due to missing libraries in dependent ports.

While looking thorugh the CMakeLists.txt I found that there are possible extra dependencies:
on Windows: https://nmap.org/npcap/
(Npcap is the Nmap Project's packet sniffing (and sending) library for Windows. It is based on the discontinued WinPcap library, but with improved speed, portability, security, and efficiency)
general: OpenSSL
both could lead to future CI failures due to missing libraries in dependent ports.

Good point. I think the safer route for now is just to patch the CMake to avoid the automatic enabling of this dependencies, what do you think?

Good point. I think the safer route for now is just to patch the CMake to avoid the automatic enabling of this dependencies, what do you think?

If you are already patching them instead of removing the code add a option(WITH_OPENSSL "Build with OpenSSL" OFF) and change the if in the CMakeLists.txt and move the find_package call into said if. Is probably the same amount of work as removing but makes it easier to integrate it as a feature later.

Good point. I think the safer route for now is just to patch the CMake to avoid the automatic enabling of this dependencies, what do you think?

If you are already patching them instead of removing the code add a option(WITH_OPENSSL "Build with OpenSSL" OFF) and change the if in the CMakeLists.txt and move the find_package call into said if. Is probably the same amount of work as removing but makes it easier to integrate it as a feature later.

Yes, that make sense.

Good point. I think the safer route for now is just to patch the CMake to avoid the automatic enabling of this dependencies, what do you think?

If you are already patching them instead of removing the code add a option(WITH_OPENSSL "Build with OpenSSL" OFF) and change the if in the CMakeLists.txt and move the find_package call into said if. Is probably the same amount of work as removing but makes it easier to integrate it as a feature later.

It turns out that at least in 1.9.1 there is no OpenSSL dependency, so I just added the option for the npcap dependency for now.

I think I address all the reviews.

It turns out that at least in 1.9.1 there is no OpenSSL dependency, so I just added the option for the npcap dependency for now.

???
#
# OpenSSL/libressl.
#
find_package(OpenSSL)
if(OPENSSL_FOUND)
  #
  # We have OpenSSL.
  #
  include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR})
  set(PCAP_LINK_LIBRARIES ${PCAP_LINK_LIBRARIES} ${OPENSSL_LIBRARIES})
  set(HAVE_OPENSSL YES)
endif(OPENSSL_FOUND)

there are also a lot of #ifdef HAVE_OPENSSL in the code.
Ok with -DENABLE_REMOTE=OFF you are basically removing the OpenSSL dependency -> but why are so many things now disabled

???
#
# OpenSSL/libressl.
#
find_package(OpenSSL)
if(OPENSSL_FOUND)
  #
  # We have OpenSSL.
  #
  include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR})
  set(PCAP_LINK_LIBRARIES ${PCAP_LINK_LIBRARIES} ${OPENSSL_LIBRARIES})
  set(HAVE_OPENSSL YES)
endif(OPENSSL_FOUND)

I may be missing something, but this snippet of code is not part of the 1.9.1 release of libpcap.

I may be missing something, but this snippet of code is not part of the 1.9.1 release of libpcap.

ah okay downloaded the wrong commit. Is added later to the CMakeLists.txt

Just to clarify, this PR should be ready for review.

Note that, without Npcap, libpcap-on-Windows will not have capabilities equivalent to libpcap-on-Linux or libpcap-on-macOS or libpcap-on-any-other-UN*X, because it won't be able to capture network traffic.  Current UN*Xes all have built-in network traffic capture mechanisms, which libpcap uses; Windows may have a mechanism that can be used for that purpose, but, if so, no code has been written to use it, so, instead, WinPcap and Npcap provide an NDIS driver to provide such a mechanism and a DLL to access the driver, which pcap-npf.c uses.

It turns out that at least in 1.9.1 there is no OpenSSL dependency, so I just added the option for the npcap dependency for now.

1.9.1 doesn't support remote traffic capture over TLS; that's present only in the libpcap master branch.
TLS support isn't used, even if the master branch, if remote capture support isn't configured in.  Libpcap defaults to disabling it on UN*Xes, as it increases the attack surface (malicious rpcapd), but defaults to enabling it on Windows, for backwards compatibility with WinPcap (which is where the remote capture stuff first appeared).  I've audited the code somewhat and fixed issues, and some others have audited it and found additional now-fixed issues, so we may enable it by default at some point in the future.

Note that, without Npcap, libpcap-on-Windows will not have capabilities equivalent to libpcap-on-Linux or libpcap-on-macOS or libpcap-on-any-other-UNX, because it won't be able to capture network traffic. Current UNXes all have built-in network traffic capture mechanisms, which libpcap uses; Windows may have a mechanism that can be used for that purpose, but, if so, no code has been written to use it, so, instead, WinPcap and Npcap provide an NDIS driver to provide such a mechanism and a DLL to access the driver, which pcap-npf.c uses.

Thanks for the additional info! In my application I use libpcap to load pcap files offline, so I am not concerned by this, but this is exactly the reason why I left the option to still install winpcap .

Note that, without Npcap, libpcap-on-Windows will not have capabilities equivalent to libpcap-on-Linux or libpcap-on-macOS or libpcap-on-any-other-UN_X, because it won't be able to capture network traffic. Current UN_Xes all have built-in network traffic capture mechanisms, which libpcap uses; Windows may have a mechanism that can be used for that purpose, but, if so, no code has been written to use it, so, instead, WinPcap and Npcap provide an NDIS driver to provide such a mechanism and a DLL to access the driver, which pcap-npf.c uses.

Thanks for the additional info! In my application I use libpcap to load pcap files offline, so I am not concerned by this, but this is exactly the reason why I left the option to still install winpcap .

If there's a WinPcap package, perhaps there should also be an Npcap package.

If there's a WinPcap package, perhaps there should also be an Npcap package.

I opened a separate issue for tracking if someone is intereted in working on an npcap port: https://github.com/microsoft/vcpkg/issues/10873 .

To simplify the port, I rebased in on the latest master, and I started using the vcpkg_fixup_pkgconfig function introduced in https://github.com/microsoft/vcpkg/pull/9861 .

/azp run

libcrafter:x86-windows and libcrafter:x64-windows failed with following failures:
warning: gettext-<IP_ADDRESS>-1 is up to date -- skipping
error: cannot remove /usr/bin/msys-iconv-2.dll (Permission denied)
warning: warning given when extracting /usr/bin/msys-iconv-2.dll (Could not unlink)
@BillyONeal, could you help take a look?

The libcrafter issuse will solved in another PR.

Please add the following codes to VCPKG_PATH/scripts/ci.baseline.txt:
libcrafter:x86-windows=fail
libcrafter:x64-windows=fail

Done in https://github.com/microsoft/vcpkg/pull/10731/commits/7a4aeadd6ed70f7cd532e9a213bbc0b109bcdb8b .

@traversaro I just merged the other PR #9426 as suggested. Could you resolve the conflicts?

@traversaro I just merged the other PR #9426 as suggested. Could you resolve the conflicts?

Done.

Thanks for the PR!


[Feature Request] include "VS Code" in standard windows workspace template

As l learned from more swb users, it might be useful to include a python IDE in the standard windows workspace template. Although sagemaker provides an alternative web-based interface for coding in python, but many users are more used to the desktop setting for easy navigation to other components. Between Pycharm and VS Code, I vote VS Code for its being open source and lightweight.
In reflection on https://github.com/Missouri-BMI/NextGen_Cloud_Architecture_AWS/issues/102, I would also like to try model the best practice for software installation request.

Requester: Xing Song
Software: VS Code IDE
Target Workspace Template: Standard Windows (https://github.com/Missouri-BMI/NextGen_Cloud_Architecture_AWS/wiki/AWS-SWB-Workspace-Types)

recommended installer source: https://code.visualstudio.com/Download

[x] DevOps review by @vasanthi014
[x] InfoSec review by @etanye
[x] SysAdmin review @fergusonsha-umkc

Please provide your reviews in comments and check the box if approve

Is Python currently available in the workspace template? My only possible concern is lateral network discovery using a tool such as Python. @fergusonsha-umkc please confirm: is each EC2 instance in it's own VPC, or is each in a separate security group?
@sxinger Including VS code in the workspace template is fine.

each EC2 instance is in a separate security group, yes.  No lateral communication permissible between instances within the subnet.

@sxinger Yes, please check the box. I would have checked it but it is grayed out for me.

@vasanthi014 can you review this request? Please feel free to suggest anyone else from your team to be the point person for such review?

I am okay with having VS Code in the template.
We might need to explore if the free version of pycharm can also be installed if needed. @kzraryan-mu Do you use pycharm in SWB as well?

I am okay with having VS Code in the template.
We might need to explore if the free version of pycharm can also be installed if needed. @kzraryan-mu Do you use pycharm in SWB as well?

I would pick one between pycharm and vs code, but not both.

Should we use [SWB Software Request] instead of [Feature Request]. I like the format Song used with Requester name, Software and Target Workspace Template. I can create a github issue template once we decide on the issue structure.

@kzraryan-mu  care to weigh in? I'm fine with either pycharm or vs code

Should we use [SWB Software Request] instead of [Feature Request]. I like the format Song used with Requester name, Software and Target Workspace Template. I can create a github issue template once we decide on the issue structure.

I was using the built-in template inherited from the main https://github.com/awslabs/service-workbench-on-aws branch, I like the idea of creating our own template with the title:  [SWB Software Request]. Let's do that.

@kzraryan-mu care to weigh in? I'm fine with either pycharm or vs code

pycharm is free for students, faculty and academic staff https://www.jetbrains.com/community/education/#students
Side note: Rana is a big fan of everything JetBrains creates :)
I will let @kzraryan-mu weigh in on pycharm or vs code

besides I've recently become a fun of chatGPT (microsoft), I also found this post: https://blog.logrocket.com/pycharm-vs-vscode/.
Another thought: is pycharm integratable with snowflake? https://docs.snowflake.com/en/user-guide/vscode-ext.html

besides I've recently become a fun of chatGPT (microsoft), I also found this post: https://blog.logrocket.com/pycharm-vs-vscode/.
Another thought: is pycharm integratable with snowflake? https://docs.snowflake.com/en/user-guide/vscode-ext.html

Yes it is, You can connect to snowflake and also github from pycharm

I am actually not opposed to adding both VSCode and PyCharm Edu Edition... however I would be very hesitant with using chatGPT for anything in this environment. @etanye what do you think?

I am actually not opposed to adding both VSCode and PyCharm Edu Edition... however I would be very hesitant with using chatGPT for anything in this environment. @etanye what do you think?

Oh, no, I didn't mean to add chatGPT, just want to say that I have currently become a fun of Microsoft because of chatGPC and vs code is a microsoft product! Sorry about the confusion!
In terms of memory and storage consumption, I would want to minimize software redundancy.

Yep, can make sure we won't need to grow disk for this.  Shouldn't need to, but good to verify :)
I have an idea about how to make this a user choice after they connect, to install one or both as they prefer... I'll need to test it before promising anything.  Concept being: desktop shortcuts to self-cleaning PowerShell scripts that user can launch to install their IDE of choice, on-demand.  Would also shorten time to completion of the deployment phase...

@vasanthi014 @sxinger
I have seen the ChatGPT integration with VS Code. And looking for similar in PyCharm. I like PyCharm as I was always more inclined to the diverse software of IntelliJ. VS Code and IntelliJ both have most of the automation we need.
If we add IDE for general purposes, either one works fine (as many researchers/students might like one or another). But for our development/SWB, I would really like us to stick to one. And I would vote for PyCharm (IntelliJ). There are so many reasons, but discussing them in person is better.

Let's do both then. But let's do the review for one single software per ticket. This one is only for VS Code.
@vasanthi014 can you create another similar request ticket for PyCharm installation on standard swb windows template?

@vasanthi014 If we don't use the Professional Version (free for academia), We will not get the benefits we need. As we are installing a free version of VS Code, let's install the professional version of PyCharm.

@fergusonsha-umkc I think we are good with moving to the "Resolve" phase by adding "VS Code" to the standard windows workspace


/marker command does not work

Context: https://help.twitch.tv/s/article/creating-highlights-and-stream-markers?language=en_US#Add
Steps to reproduce

Go to a channel you own
Start streaming
Send /marker command

Observed
System message that says Sorry, "/user" is not available through this client.

Expected
Stream marker is successfully added.

This looks to be a response produced by Twitch through any third party client if that message is sent straight as-is. I tried connecting to irc with netcat and got the same response.
I'm assuming the Twitch chat client sends a pubsub message or something when the user types /marker, so /marker is actually never supposed to be sent to TMI

Looks like there's an Helix API endpoint for this: https://dev.twitch.tv/docs/api/reference/#create-stream-marker


Quiet removing $n old cache dirs from $repo.

restic backup -q --cleanup-cache outputs removing $n old cache dirs from $repo.
In my opinion, -q should suppress the message.
Is that ok? If yes, /assign self

Changing the message to not print if --quiet is set sounds reasonable. I'd also hide the output if the json output is enabled. Currently, the other cache related output is only displayed if !opts.JSON && stdoutIsTerminal(), although restricting that output to only display on a terminal might be a bit too strict.


Litmus E2E migration and upgrade meta Issue

Make the litmus e2e scripts to be more generic for adding new cloud provider very easily. - @uditgaurav  @rajdas98
Migration of Gitlab runner from GCP VM to local kubernetes cluster @rajdas98  @uditgaurav  Issue: https://github.com/litmuschaos/litmus/issues/1454
Write terraform scripts to setup EKS on AWS. @rajdas98  Issue: https://github.com/litmuschaos/litmus/issues/1449
Merge thegeneric branch and openebs branch into master. As we are migrating gitlab runner to onprem cluster with Kubernetes executor, we can run the pipeline parallelly. @uditgaurav

These issues need to be resolve in chronological order.

One branch can not have multiple gitlab-ci.yml. So even though we have multiple runners we can not combine them in the same branch unit or unless we bundle them (openebs & generic ) in the same gitlab-ci.yml with some logic and if we do so we can not run them parallelly so this may be of lesser priority right now.
I Would like to work on gitlab-runner setup till then...

@uditgaurav We can achieve this by adding a conditional logic in .gitlabci yaml. The env will be passed while running the pipeline. That's what I created the first issue to make the litmus e2e scripts more generic.

Could we map/tag them to different runners too ?

Yes @ksatchit we will use this approach to run the pipeline parallely by taging the runners

The target cluster is set up in an on-prem machine for running e2e pipelines.
PR for ref.
generic experiment pipeline - litmuschaos/litmus-e2e#137
openebs experiment pipeline - litmuschaos/litmus-e2e#138


Traefik HTTPS not fully secure

What did you do?
I try to configure my server with Traefik using Docker containers. I configured Traefik so it works, I got the dashboard page. The thing is I would like to have my own GitLab server. I pulled GitLab docker image and I created a docker-compose file.
Even if GitLab container takes long time to start, it seems to work. I'm able to see the Gitlab backend from Traefik dashboard.
What did you expect to see?
I would like to have a full secure page on my GitLab page.
What did you see instead?
The problem is when I try to go on Gitlab's address, my browser (Firefox and Chrome) tells me that my page is not fully secure. Here's the exact error:
Connection is not secure. Parts of this page are not secure (such as images)
I guess I missed something in my Traefik configuration.
Traefik Version : (What version of Traefik are you using?)
I'm running Traefik 1.3.6-alpine. I'm using a docker image.
What is your environment & configuration (arguments, toml, provider, platform, ...)?
Here's my traefik.toml config
defaultEntryPoints = ["http", "https"]

# Web section is for the dashboard interface
[web]
address = ":8080"
  [web.auth.basic]
    users = ["admin:$apr1$TF1rGQz9$OdtHJ15PT6LGWObE4tXuK0"]

# entryPoints section configures the addresses that Traefik and the proxied containers can listen on
[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
      entryPoint = "https"
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]

# Acme section is for Let's Encrypt configuration
[acme]
email =<EMAIL_ADDRESS>storage = "acme.json"
entryPoint = "https"
onHostRule = true
onDemand = false

[[acme.domains]]
main = "domain.com"

This is the docker-compose.yml file :
version: '3.3'

networks:
   proxy:
     external: true
   internal:
     external: false

services:
  gitlab:
    image: gitlab/gitlab-ce
    container_name: gitlab
    labels:
        - traefik.backend=gitlab
        - traefik.frontend.rule=Host:git.domain.com
        - traefik.docker.network=proxy
        - traefik.port=80
    networks:
        - internal
        - proxy

And the docker run command I used to create the Traefik container :
docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $PWD/traefik.toml:/traefik.toml \
  -v $PWD/acme.json:/acme.json \
  -e TZ="Europe/Paris" \
  -p 80:80 \
  -p 443:443 \
  -l traefik.frontend.rule=Host:monitor.domain.com \
  -l traefik.port=8080 \
  --network proxy \
  --name traefik \
  traefik:1.3.6-alpine --docker --logLevel=DEBUG

As you can see it's a very basic configuration, I don't get why I can't get a fully secure GitLab page. In acme.json file I see my main domain "domain.com" and my sub-domain "git.domain.com". So it should be secure.
What am I missing ? :/ Please me to point out what I am doing wrong here. Thanks

Thanks for your interest in Traefik !
Do you still have the same problem with the latest version? releases
Every question asked in issues means less features 😉.
The issue tracker is for reporting bugs and feature requests only.
For end-user related support questions, refer to one of the following:

Stack Overflow using the "traefik" tag
the Traefik community Slack channel


Replace println with print_warning in Build::try_get_compiler

A println would not be seen by user unless -v is passed to cargo, using print_warning here makes more sense as user can see the message by default and also disable it if they don't want to see it.

Hmm, isn't this a setting they requested? Why does it make sense to warn on things the user asks for?

Hmm, isn't this a setting they requested? Why does it make sense to warn on things the user asks for?

Hmmm yeah...Maybe it makes more sense to remove this completely

@thomcc I opened #1063 to remove the println


No transition

Hi! I set a 100 min transition, yet it doesn't work for some reason. The config file looks like this:
Szoba, Konyhapult, Etkezo, Furdoszoba, WC	07:00	ct:4400	bri:254	tr-before:100min
Szoba, Konyhapult, Etkezo, Furdoszoba, WC	08:15	ct:4400	bri:254	tr-before:30min	on:true
Szoba, Konyhapult, Etkezo, Furdoszoba, WC	20:00	ct:3400	bri:254	tr-before:100min
Szoba, Konyhapult, Etkezo, Furdoszoba, WC	22:00	ct:2200	bri:128	tr-before:100min
But transitions don't work. For example the lights should change colour very slowly starting from 20:20 and reaching 2200 K at 22:00. Instead, all the lights immediately switch from 4400 K to 2200 K exactly at 20:20. Why is this happening? How can I get the expected behaviour?

Hi! Thanks for opening the issue, I'm not really using such long transitions, but a quick manual test did not show any problems.
Can you provide a little more details on your usage? I'm curious why your lights would switch from 4400 K to 2200 K, and not from 3400 K to 2200 K. Are your lights continuously on, or are they turned of at some point during the long transitions?
Since Hue Scheduler is just using the native transition feature of the Hue lights, turning them off (via app) at any time during the transition will stop the transition, and the next time the lights are turned on they will use the light settings as if the transition already ended.
Have you tried shorter transitions, or do transitions in general not work for you?
To further support troubleshooting, the content of the log file would also be of interested. To see exactly which API calls Hue Scheduler sends to your bridge, you can turn on full trace logging by providing the -Dlog.level=TRACE JVM parameter (see https://github.com/stefanvictora/hue-scheduler#-dloglevel)

Hi, I'm closing this issue now since there have now been several updates to Hue Scheduler that improve the handling of transitions. Should the issue still occur with the newest version, please let me know and I would kindly ask you to provide some additional logs and details about your setup and type of lights. Thanks!


Refactor cmd/sync to use new package frames

as the title says
@dsonyy please clone this locally and make sure it works fine (I don't have a working MPU6050)

// Verify checks whether the frame is valid (i.e of correct format).
//
// The frame has to:
//
// - have exactly 1 plus sign ("+")
//
// - have exactly 1 hash sign ("#")
//
// - its checksum must be correct
func Verify(frame Frame) bool {
	if bytes.Count(frame, []byte{'+'}) != 1 {
		return false
	}

	if bytes.Count(frame, []byte{'#'}) != 1 {
		return false
	}

	checksum := CalculateChecksum(frame)
	return checksum == frame.Checksum()
}

the code checks whether the entire frame contains only one + sign. What if a data part will have a byte with 43 value (+ sign)? Then the frame will be considered as invalid. It should check if the byte just before the checksum byte is +.

// Header returns frame's header. It is usually 2 bytes.
func (f Frame) Header() []byte {
	end := strings.IndexByte(string(f), '+')
	return f[0:end]
}

@bartekpacia Panics, because for example accelerometer frames uses - sign, not +.

You're right, I didn't think about it. Thanks – fixed.
I wanted to tell you but I must've forgotten – I'm suggesting using the + for frames flowing in both directions. This will make the code simpler, and tbh – do we really need this? I think not.

shit, this:
// Data returns frame's data part from the first byte after a plus sign ("+") up
// to the antepenultimate (last but one - 1) byte.
func (f Frame) Data() []byte {
	start := strings.IndexByte(string(f), '+')
	return f[start+1 : len(f)-2]
}

is also broken if any plus occurs


aws-secrets-manager 2.2.0

What to do if the build fails?
At the moment contributors do not have access to the CI workflow triggered by StepLib PRs. In case of a failed build, we ask for your patience. Maintainers of Bitrise Steplib will sort it out for you or inform you if any further action is needed.
New Pull Request Checklist
Please mark the points which you did / accept.

[x] I will not move an already shared step version's tag to another commit
[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

Changeset:

https://github.com/MoneyLion/bitrise-step-aws-secrets-manager/compare/2.1.0..2.2.0

Hi @raphlcx ,
thanks for this PR, its great that you attached the changes in the new version!


StrawberryShake result has empty Extensions

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The property Extensions of ExecuteAsync result seems to be always empty even if a GraphQL server returns extension data.
Steps to reproduce

Use the attached solution
Build and run

Actual results
StrawberryShake has no extension data:
StrawberryShake Extensions.Count = 0
HttpClient extensions = {
  "requestId": "de6db3fd-3013-45c6-a38d-c58e72d99110"
}

Expected results
StrawberryShake has some extension data:
StrawberryShake Extensions.Count = 1
HttpClient extensions = {
  "requestId": "de6db3fd-3013-45c6-a38d-c58e72d99110"
}

Additional Context?
StrawberryShakeEmptyExtensions.zip
Product
Strawberry Shake
Version
12.7.0

Could you please reopen the issue? It's still active. Or should I open another one with a link to this?
@tobias-tengler ?

same problem in 12.15.0

Doesn't seem to work with StrawberryShake.Server 13.0.5 either.

@anton-gogolev Yep, same here.

Fixed in 13.2.


Feat multi cable driver

Internal review

Added more details on Configuration of cable drivers and labelling clusters - I think we are nearly there...


Manage Disks as separate resources from VMs

Hi, as a systems engineer, I need the ability to recreate a VM from it's base image without losing the data that the service has been working with over the course of it's operation.
In hashicorp/aws, this can be achieved by defining three separate resources, an aws_instance, an aws_ebs_volume, and an aws_volume_attachment which links the two resources together.
Roughly, the TF configuration for achieving this in aws looks like this
(main.tf)
resource "aws_volume_attachment" "ebs_att" {
  device_name = "/dev/xvdf"
  volume_id   = aws_ebs_volume.example.id
  instance_id = aws_instance.web.id
}

resource "aws_instance" "web" {
  ami               = "ami-21f78e11"
  availability_zone = "us-west-2a"
  instance_type     = "t2.micro"
}

resource "aws_ebs_volume" "example" {
  availability_zone = "us-west-2a"
  size              = 1
}

To "bounce" the VM, redeploying the VM from it's image and reattaching the VM the below script can be used.
(bounce_vm.sh)
gracefully_shutsdown_vm.sh && \
  terraform destroy -target aws_instance.web -auto-approve && \
  terraform apply -auto-approve

The result is that the VM will be recreated from it's original image, but the data it was presumably working with on the ebs volume will still be right where the VM left off.
Here's a working example of doing this in aws.
Is this feature possible using proxmox or qemu?

Actually proxmox requires a virtual disk to be attached to a VM at all times
It means that you're not supposed to delete a VM without getting its associated virtual disks deleted
-> Bugzilla ticket there : https://bugzilla.proxmox.com/show_bug.cgi?id=4451

Thanks. After reading through that, at the end it looks like what they're saying is they offer a workaround to manage volumes through a workaround.  This is because they've made some internal decisions that makes it hard to expose volumes the same way enterprise products like (GCP, AWS, Azure, VMWare, etc.) do.  I got the impression that it would be this way for at least the next minor version if not perpetually.
The OP mentioned bringing the feature to this project.  He may have run out of time or he may have noticed that this provider doesn't expose any resources other than VMs which is not a granular approach to working with infrastructure.  I've been gaining familiarity with the github.com/bpg/ provider which does take a granular approach and supports edge features by supplementing the Proxmox HTTP API with an SSH client.  That's probably the more appropriate provider for this kind of feature until the Promxmox API matures so I'm going to mark this issue as closed.


Handle sending function results back to LLM in UI

Fixes #184
When a function result comes back, we need a way to send it to the LLM for further processing (e.g., if result is part of a larger discussion, and we need to continue).  This adds UI in a function result message to allow sending the result back to the LLM.
Users can either manually send, or specify that results should always be sent.  Their preference is remembered.
User must manually click "Send" by default

Checking "Always Send" does it automatically

I wonder if the preference to "Always Send" should be true by default, which would mimic what OpenAI docs do for function calling.  I think OpenAI imagines that function calls/results are internal to an app vs. something you display (I like that we display it, just reflecting on what they do).

Here's a question: do we care that the Send button is going to be visible/functional/enabled after the user sends the result?  Do I need to hide/disable it when the result has been seen by the LLM?  If so, I think I have to add state to the db, which sucks.  I can't figure out what the right answer is.

that's sexy. I think for database use-cases, it would be handy to have an "exclude" option where we never send the results back to llm...eg we'd switch from checkbox to a menu that has "send ondemand|always|exclude"


Secure communication between Prometheus and Istio components

There is a frequent request to ensure that all Istio prometheus endpoints require mTLS.
When endpoints required mTLS, prometheus must be configured with mTLS.
Prometheus scrapes individual endpoints and addresses them as such.

Create a listeners for every port annotated for scraping.
The outbound cluster should be of type orig_dst so it ends up at the intended endpoint.
Match a svc by some header that prometheus sets, or by endpoint ip address.

related discussion: https://github.com/istio/istio/issues/5673

Seems like prometheus does not allow adding arbitrary headers. How does envoy match an endpoint ip to svc?

Is there any known workaround on how to currently feel application's metrics to Prometheus when using mTLS? Something like using curl for liveness/readiness endpoints would be more than acceptable.
My team wants to use Istio (with mTLS as the main goal), but we can't let go the application monitoring, so I'm in need of any option of making Prometheus communicate with pods 🙂

If you can move your application Prometheus endpoint to another port, you can exclude form mtls and then Prometheus can scrape it

Thanks, I'll check if this is a possibility for us. Just to better understand this, is it the only know workaround at the moment?

Turns out our application metrics will have sensitive information and so we need to protect it with mTLS, thus excluding the port from mTLS is just not an option for us 😞

@maximbaz there is no work around for it yet, but we are planning to fix it in soon.

On the risk of being annoying (sorry!), I'd like to ask if you have at least approximate timeline for this feature? We have to request a temporary security exception for us to start using Istio in production, and it would really really help if we knew at least some dates. I can see this issue is part of 1.1 milestone, any early plans for when 1.1 is planned for the release? Thanks!

We will have a proposal for this feature out this week, and once the proposal is approved it should be another 2 weeks to implement.

@maximbaz I have just merged a PR that should address your problem.

I just wanted to follow-up, although that PR did enable using built-in Prometheus with mTLS (thanks for submitting it!), after a fair amount of testing we ended up disabling Istio's Prometheus and Grafana and opting for using stable/prometheus-operator helm chart instead.
In case someone else is looking for a similar setup, here's how to befriend Istio with mTLS and Prometheus deployed via prometheus-operator:

When deploying prometheus-operator, extend prometheusSpec.secrets with istio.default secret, this gets Istio's certificates mounted inside Prometheus pod under /etc/prometheus/secrets/.

In the ServiceMonitor object use https scheme and point Prometheus to Istio's certificates like so:
endpoints:
  - port: http
    interval: 15s
    honorLabels: true
    path: "/api/health/prometheus"
    scheme: https
    tlsConfig:
      caFile: /etc/prometheus/secrets/istio.default/root-cert.pem
      certFile: /etc/prometheus/secrets/istio.default/cert-chain.pem
      keyFile: /etc/prometheus/secrets/istio.default/key.pem
      insecureSkipVerify: true

@maximbaz how did you get the istio certs into the prometheus container?

@ekarlso see this: https://github.com/helm/charts/blob/08c82581a13ddc1409fffdd22dbc2c90db738c95/stable/prometheus-operator/values.yaml#L783-L788
Change it to this:
secrets:
  - istio.default

I believe that this is now possible.  I'm going to close this issue.  Feel free to reopen if more is needed.

This doesn't work with istio 1.5.2 :(, there is no istio.default secret

i tried using istio sidecar with prometheus operator (works with 1.6.1 istio and above) with some extra work of editing default service monitors, raised a feature request to avoid the service monitor edits.
check the same feature request on for the configuration used which make prometheus work with STRICT mtls.


webgrind tag 1.5-1.13.1 osbolete

https://github.com/wodby/docker4wordpress/blob/d1676f6d5fed1240a8964376238b1a43b8db1d61/.env#L98
tag 1.5-1.13.1 don't work any more.
On webgrind project it seem's that it's 1.6-something but I did not found what. I tried with "latest"

Thank you, kinda missed that with the auto-update to 1.6, didn't know it's still maintained. Now it's set to 1-1.13.1


Recover from bad inputs

Store and Signal will now recover from bad inputs. Store now takes an optional error reporter interface, and defaults to printing.

One more thing: let's add a changelog entry here as well!


noneSatisfy should report all failing elements

Summary
Currently, noneSatisfy does only report the first element which did not satisfy the given restrictions.
What about reporting all elements which did not satisfy the given restrictions.
Example
A very simple example, e.g. let's assume that we have a list [1, 2, 3]. If we use noneSatisfy and let's say the 2nd and the 3rd element does not meet the given restrictions we only report the 2nd one.
java.lang.AssertionError:
Expecting no elements of:
  <[1, 2, 3]>
to satisfy the given assertions requirements but this one did:
  <2>

Agreed and that will be consistent with the other xxxSatisfy methods


Add "contract interacted with" info to transaction component

Once data.contract (or similar) is added to a transaction's metadata in unchained, we'll be able to display, and provide a link to, the contract that the transaction interacted with in TransactionContract.tsx in the expanded transaction view.
Blocked by https://github.com/shapeshift/unchained/issues/286.
This will look similar to how the "To" address is shown currently in the screenshot below:

Closing for now, as this needs some more thought, and direction from the product team on what we want to achieve here.
Etherscan have a Transaction Action section that we could use as inspiration, but is this too much detail?


0.8.0 release prep

[x] Get API docs building for all new classes
[x] Make all new links in releasenotes work

Ok, I've resolved the docs links issues that I could. This is ready for release!