is not a Invalid JSON file

Description :
After upgrading my Terraform stack to 0.14.4 and Terraform Compliance version 1.3.9 when I run the compliance scan I get the following error
ERROR: deployment.tfplan.json is not a valid JSON file
This worked fine when using TF 0.13.4 and Terraform Compliance 1.3.3
I have validated the JSON using https://jsonlint.com/
To Reproduce

Generate a TF Plan and then use TF Show and pipe the results to a JSON file

{
  "format_version": "0.1",
  "terraform_version": "0.14.4",
  "variables": {
    "region": {
      "value": "eu-west-2"
    }
  },
  "planned_values": {
    "root_module": {
      "resources": [
        {
          "address": "aws_s3_bucket.b",
          "mode": "managed",
          "type": "aws_s3_bucket",
          "name": "b",
          "provider_name": "registry.terraform.io/hashicorp/aws",
          "schema_version": 0,
          "values": {
            "acl": "private",
            "bucket": "my-tf-test-bucket",
            "bucket_prefix": null,
            "cors_rule": [],
            "force_destroy": false,
            "grant": [],
            "lifecycle_rule": [],
            "logging": [],
            "object_lock_configuration": [],
            "policy": null,
            "replication_configuration": [],
            "server_side_encryption_configuration": [],
            "tags": {
              "Environment": "Dev",
              "Name": "My bucket"
            },
            "website": []
          }
        }
      ]
    }
  },
  "resource_changes": [
    {
      "address": "aws_s3_bucket.b",
      "mode": "managed",
      "type": "aws_s3_bucket",
      "name": "b",
      "provider_name": "registry.terraform.io/hashicorp/aws",
      "change": {
        "actions": [
          "create"
        ],
        "before": null,
        "after": {
          "acl": "private",
          "bucket": "my-tf-test-bucket",
          "bucket_prefix": null,
          "cors_rule": [],
          "force_destroy": false,
          "grant": [],
          "lifecycle_rule": [],
          "logging": [],
          "object_lock_configuration": [],
          "policy": null,
          "replication_configuration": [],
          "server_side_encryption_configuration": [],
          "tags": {
            "Environment": "Dev",
            "Name": "My bucket"
          },
          "website": []
        },
        "after_unknown": {
          "acceleration_status": true,
          "arn": true,
          "bucket_domain_name": true,
          "bucket_regional_domain_name": true,
          "cors_rule": [],
          "grant": [],
          "hosted_zone_id": true,
          "id": true,
          "lifecycle_rule": [],
          "logging": [],
          "object_lock_configuration": [],
          "region": true,
          "replication_configuration": [],
          "request_payer": true,
          "server_side_encryption_configuration": [],
          "tags": {},
          "versioning": true,
          "website": [],
          "website_domain": true,
          "website_endpoint": true
        }
      }
    }
  ],
  "configuration": {
    "provider_config": {
      "aws": {
        "name": "aws",
        "expressions": {
          "region": {
            "references": [
              "var.region"
            ]
          }
        }
      }
    },
    "root_module": {
      "resources": [
        {
          "address": "aws_s3_bucket.b",
          "mode": "managed",
          "type": "aws_s3_bucket",
          "name": "b",
          "provider_config_key": "aws",
          "expressions": {
            "acl": {
              "constant_value": "private"
            },
            "bucket": {
              "constant_value": "my-tf-test-bucket"
            },
            "tags": {
              "constant_value": {
                "Environment": "Dev",
                "Name": "My bucket"
              }
            }
          },
          "schema_version": 0
        }
      ],
      "variables": {
        "region": {
          "description": "The AWS region"
        }
      }
    }
  }
}

terraform-compliance --planfile  deployment.tfplan.json
This is run within a Docker Container
ERROR: deployment.tfplan.json is not a valid JSON file

Expected behavior :
It loads the passed in JSON file and runs ours compliance tests.
Tested versions :

<terraform-compliance version 1.3.8 and 1.3.9>
<terraform version 0.13.4 and 0.14.4>

Hi @JPScutt
Thanks for submitting the issue. Would minifying the JSON help you? I managed to load and run tests on the plan by converting it to a single line JSON file.

Hi @JPScutt
Thanks for submitting the issue. Would minifying the JSON help you? I managed to load and run tests on the plan by converting it to a single line JSON file.

Hi @Kudbettin,
That resolved my issue, Thanks

Hi @Kudbettin,
That resolved my issue, Thanks


767/evmos custom tx

Description

closes #767
Checklist

[ ] Ran Linting
[ ] Targeted PR against correct branch.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit tests.
[ ] Added an entry to the CHANGELOG.md file.
[ ] Re-reviewed Files changed in the Github PR explorer.

I need some time to figure out how to display the evm module


Update Easey-Quartz-Scheduler to .net COR v6.0  (By end of PI11 2/28)

[ ] Update to new version due to depreciated build pack

Includes testing effort for after conversion

Testing done by Dev Team


[Bug] An error occurred when adding the extension dubco-metadata-report-etcd

Pre-check

[X] I am sure that all the content I provide is in English.

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache Dubbo Component
Java SPI Extensions (apache/dubbo-spi-extensions)
Dubbo Version
Dubbo Java: 3.2.11
JDK: 1.8
Steps to reproduce this issue
1、maven import
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-metadata-report-etcd</artifactId>
    <version>2.7.23</version>
</dependency>

2、error message
2024-05-07 20:29:03.365 ERROR 7088 --- [eduler-thread-6] org.apache.dubbo.config.ServiceConfig    :  [DUBBO] Failed register interface application mapping for service org.apache.dubbo.springboot.demo.idl.Greeter, dubbo version: 3.2.11, current host: <IP_ADDRESS>, error code: 5-10. This may be caused by configuration server disconnected, go to https://dubbo.apache.org/faq/5/10 to find instructions.
2024-05-07 20:29:08.370  INFO 7088 --- [eduler-thread-4] org.apache.dubbo.config.ServiceConfig    :  [DUBBO] Try to register interface application mapping for service org.apache.dubbo.springboot.demo.idl.Greeter, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:08.375  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 1. Next retry delay: 17. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:08.470  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 2. Next retry delay: 20. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:08.496  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 3. Next retry delay: 68. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:08.570  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 4. Next retry delay: 93. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:08.668  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 5. Next retry delay: 83. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:08.756  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 6. Next retry delay: 81. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:08.842  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 7. Next retry delay: 95. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:08.941  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 8. Next retry delay: 32. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:08.978  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 9. Next retry delay: 89. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:09.070  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 10. Next retry delay: 89. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>
2024-05-07 20:29:09.164  INFO 7088 --- [eduler-thread-4] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Failed to publish service name mapping to metadata center by cas operation. Times: 11. Next retry delay: 55. Service Interface: org.apache.dubbo.springboot.demo.idl.Greeter. Origin Content: null. Ticket: null. Excepted context: dubbo-springboot-demo-idl-provider, dubbo version: 3.2.11, current host: <IP_ADDRESS>

What you expected to happen
1、EtcdMetadataReport unrealized registerServiceAppMapping method returns false by default.
2、Nacos and zookeeper implement this method
Anything else
No response
Are you willing to submit a pull request to fix on your own?

[X] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@songxiaosheng PTAL

2.x has been EOL and may be incompatible with dubbo 3.2
You can try the new version of dubbo-metadata-report-etcd, the registerServiceAppMapping method may support in the future version.
<dependency>
    <groupId>org.apache.dubbo.extensions</groupId>
    <artifactId>dubbo-metadata-report-etcd</artifactId>
    <version>3.2.0</version>
</dependency>

@aofall Thank you for your thoughts, but the error is still reported, here is my maven related information.
...
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<dubbo.version>3.2.11</dubbo.version>
<spring-boot.version>2.6.4</spring-boot.version>
...
<dependency>
    <groupId>org.apache.dubbo.extensions</groupId>
    <artifactId>dubbo-registry-etcd3</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>org.apache.dubbo.extensions</groupId>
    <artifactId>dubbo-metadata-report-etcd</artifactId>
    <version>3.2.0</version>
</dependency>
...

Reference project: https://github.com/dubbo/dubbo-samples/tree/master/1-basic/dubbo-samples-spring-boot/dubbo-samples-spring-boot-provider

okay，let's try to fix it.

pr has been submitted https://github.com/apache/dubbo/issues/14256 Please close this issue as Complete

pr has been submitted apache/dubbo-spi-extensions#380 Please close this issue as Complete

Is it necessary to wait for pr to be completed？

pr has been submitted apache/dubbo-spi-extensions#380 Please close this issue as Complete

Is it necessary to wait for pr to be completed？

It doesn't matter. The address stays the same and you can see it if you turn it off


LogicException: The promise is already rejected

Guzzle version(s) affected: 7.*
PHP version: 8.3
cURL version: 8.10.1
Description
Error "LogicException: The promise is already rejected" randomly happens when running lots of unsuccessful concurrent requests.
How to reproduce
See small application to reproduce: https://github.com/iliayatsenko/guzzle-bug-report
Possible Solution
Looks like aggregate promise is rejected more than once.

This has been resolved in promises release 2.0.4.

Does guzzle/promises#173 fix your issue? It fixed it in my testing of your reproducer.

I only have this reproducer now, so if you tested with it and issue is gone, it's all right :)
Thank you very much!


can't resize window panels with mouse drag

resize cursor don't appear and console can't be resized. Shortcut to toggle visibility still works as a workaround for now
Version: 1.46.0-insider
Commit: d0a3feff23c47876412f5e289b935aabf02c71ae
Date: 2020-05-13T05:34:04.109Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 5.3.0-51-generic

While waiting for a fix, what's the shortcut?

This is already fixed in the latest insiders.

Thanks for the quick reply and fix :)
@ngollan default is CTRL + ` (backtick)


Error on install with yarn

I get an error when I try to install this package with yarn.

I am rookie in yarn, if I install this dependency with npn works fine.

@xzegga think you've got single quotes on there?


Relative paths are not supported

If you compile webpack bundles on one machine (like some CI) then deploy the application in production in a different directory, webpack-bundle-tracker can't read files. The reason for this is the bundles contains absolute paths, which may be different during runtime than when bundles were created.
This is a common case with CI environments and when target machines aren't powerful enough.

Same here. However the workaround in #4 works for me.

Was looking at implementing options from #4, #10 & #25
Extracting out the use cases:

path to be removed entirely
path to be relative rather than absolute (to fix build on one machine and use on another)

Otions:

a postChunkHook option that gets called on each chunk before writing the results to disk
an array of postChunkHooks. The default array would only contain the functionality for generating publicPath. Removing path, or making the path relative would hooks added to the list. An advantage of this is that you could apply multiple independent hooks. Compared to the first option, this is only a few lines of extra code but does add interface complexity without a clear use-case (no-one has yet shown a need for multiple modifications)

@owais Do you have a preference?

@levic I'm find with changing it so that path refers to the relative path instead of absolute path provided:

It does not break django-webpack-loader. Fix django-webpack-loader if it does. Bump major version.
It does not conflict with django-webpack-loader documentation. Fix docs if it does. Bump major version.
Support all possible cases such as ../../some_dir/bundles/bundle.js

But it raises some questions.

What should the path in relative to? The webpack config file? package.json file? That is not clear to me.
Should BundleTracker require another argument to specify the root to which the paths should be relative to?
Should it be required or optional? If optional, what should the plugin default to?

We'll need to prepare a major version release for webpack-bundle-tracker and if needed for django-webpack-loader as well.
Happy to accept PRs but please discuss action plan first in case you find something is missing in django-webpack-loader.
/cc @n3ssi3 @alexhayes @darkowic

What should the path in relative to? The webpack config file? package.json file? That is not clear to me.

const relativePathRoot = path.join(process.cwd(), 'dist', **path.sep); // the workaround from #4

In my case, I use a relative path to dist directory. Though, it should be fully configurable IMHO. Hmm, but in most cases, if someone wants to set relative path it will be probably app src directory.

Should BundleTracker require another argument to specify the root to which the paths should be relative to?

Yes.

Should it be required or optional? If optional, what should the plugin default to?

It should be optional. The default should behave like current implementation.
Basically, I think that this functionality should be optional by providing relative path

Basically, I think that this functionality should be optional by providing relative path

You mean specifying the root path should be optional but path should always be present and should always be relative the the root path. I agree with that.
I'd like to add another constraint to make sure implementation is flexible:

If rootPath option is set to / then the resultant paths should essentially by absolute paths.

What should the path in relative to? The webpack config file? package.json file? That is not clear to me.

In my case, I use a relative path to dist directory. Though, it should be fully configurable IMHO. Hmm, but in most cases, if someone wants to set relative path it will be probably app src directory.

I'm not sure about this. I think the default root should be webpack config's directory. If this does not make sense then I'd suggest to make it a required option.

I proposed a pr to resolve this issue in that following way :

When path is defined in options and relative, chunk file path is relative to the resolved path.

What do you think about that @owais  ?
(PS: Sorry for my poor english :))

Defined in webpack options or specifically in bundle tracker options?

@owais I use the option of plugin named path to determine whether his path is relative or absolute and then modify path of chunks when it's relative.
I read all solutions you proposed here. I think the plugin must stay simple and should always use relative path to tracking file. I'm not sure what to do to add some magics without adding complexity and breaking existing builds. I have fixed my personnal use case like that :
const path = require('path')
const each = require('lodash/fp/each')
const BundleTrackerPlugin = require('webpack-bundle-tracker')

// https://github.com/ezhome/webpack-bundle-tracker/issues/25
class RelativeBundleTrackerPlugin extends BundleTrackerPlugin {
  convertPathChunks(chunks){
    each(each(chunk => {
      chunk.path = path.relative(this.options.path, chunk.path)
    }))(chunks)
  }
  writeOutput(compiler, contents) {
    if (contents.status === 'done')  {
      this.convertPathChunks(contents.chunks)
    }

    super.writeOutput(compiler, contents)
  }
}

module.exports = RelativeBundleTrackerPlugin

I've found @melck's solution to work for me (I used the code from your branch, not the code here, for what it's worth - I believe the logic is the same) but I did find that it was a little unusual when your webpack-stats.json is not in the root of your app. I've currently got my stats file in the same directory as my bundles.
My settings ended up being:
new BundleTracker({path: '.', filename: "./path/to/webpack-stats.json"})
Which resulted in a chunk that looked like {"example":[{"name":"example.css","path":"example.css"} in my stats file. This feels correct to me - the path to the bundle is right, relative to my stats file.
I found this quite a weird setup, though. I'd expect to configuration to look more like
new BundleTracker({path: './path/to/', filename: "webpack-stats.json"})
But due to the way chunk filenames hit this code, that gave me a stats file that looked like this: {"example":[{"name":"example.css","path":"../../example.css"}
So it looks like the path that we're working relative to here, for each chunk, is simply the filename, not the actual destination path of the chunk.

@veryhappythings It's maybe when publicPath is set. Could you give me a fictive path of stat file and publicPath option  on your 2 examples to better reproduce  ?

Sure thing! Here's what I've got, slightly anonymized. I'm not using publicPath in this setup.
module.exports = {
  mode: "production",
  entry: {
    first: [
      "./app/assets/js/index.js",
      "./app/assets/scss/first.scss",
    ],
    second: [
      "./app/assets/js/index.js",
      "./app/assets/scss/second.scss",
    ],

  output: {
    path: path.resolve('./app/static/bundles/'),
    filename: "[name].js",
  },
  plugins: [
    new MiniCssExtractPlugin(),
    new BundleTracker({path: '.', filename: "./app/static/bundles/webpack-stats.json"})
  ],
  module: {
    rules: [
      {
        // Load fonts from bootstrap
        test: /\.woff2?$|\.ttf$|\.eot$|\.svg$/,
        loader: "file-loader",
        options: {
            name: "[name].[ext]"
          }
      },
      {
        test: /\.scss$/,
        loader: [
          MiniCssExtractPlugin.loader,
          "css-loader?sourceMap",
          "sass-loader?sourceMap"
        ]
      }
    ]
  }

So it looks to me like chunk.path is giving me just the chunk name - first.css - the path of the file relative to my target output path.

@veryhappythings I have checked behavior of my pull request. You was totally right. It was not working as intended. I have fixed her.
@owais what do you think about this pull-request ? Do you need help on this project ?

Nice one. I'm a bit concerned that we don't have any tests for this and I'm not well versed enough in django-webpack-loader's code to know if this will work with it reliably. Maybe someone else can help on those fronts :)
I'm also wondering if this behaviour is getting a little too implicit - people have been using workarounds to get this working for a while, so perhaps we should just have an explicit flag to enable relative paths? I suppose there might be cases where you would want relative paths in your webpack config (which is typically checked into git and shared) but need absolute paths in your stats file (which might not be in git, and might be generated specifically for production).

@owais did you see this pr? https://github.com/owais/webpack-bundle-tracker/pull/29
I need that to compile my assets on my local instances and add to repo in order to avoid issues when it's compiling on production instances.

Fixed by https://github.com/owais/webpack-bundle-tracker/pull/29


ci: update release process for routine updates

PR Checklist

[ ] Unit Tests have been added for new changes
[ ] API tests have been updated if applicable
[ ] All commented code has been removed
[ ] If you've added a dependency, you've ensured license is compatible with Apache 2.0 and clearly outlined the added dependency.

What are you changing?

Anything the reviewer should know when reviewing this PR?
If the there are associated PRs in other repositories, please link them here (i.e. open-amt-cloud-toolkit/repo#365 )

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

GitHub release
v2.13.11

Your semantic-release bot :package::rocket:


Detecting timezone based on VTIMEZONE values

Since forever we've been mapping VTIMEZONE objects to PHP timezones based on the TZID, X-LIC-* properties and others.
This system works pretty well, but every now and then we run across a VTIMEZONE object that we don't support. For those we should really fall back on parsing VTIMEZONE objects and figuring which PHP timezone they map to based on their values.
See #247

+1 from me

Related to #44.
Also some previous research here: https://gist.github.com/SimonSimCity/9950755

:+1:

We are experiencing a related issue with iCalendar attachments received from Microsoft Exchange Server 2010, where the sender is in the UK (Europe/London timezone). For some reason, Exchange sometimes uses a TZID of 'GMT' for these users, but include STANDARD and DAYLIGHT DST rules and specifies Europe/London times.
I'm mentioning this because even though the VTIMEZONE's TZID is supported, it is incorrect. In this case at least, a PHP timezone found by examining the DST rules should be used in preference to that indicated by TZID, and not as a fallback.
This example illustrates the problem:
`// Event with GMT timezone
$eventGmt = <<<EVENT
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft Exchange Server 2010
VERSION:2.0
BEGIN:VTIMEZONE
TZID:GMT Standard Time
BEGIN:STANDARD
DTSTART:16010101T020000
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T010000
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ORGANIZER;CN=Mr Person;SENT-BY="MAILTO:me@person.com":MAILTO
<EMAIL_ADDRESS>ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Mrs Colleague
<EMAIL_ADDRESS>DESCRIPTION;LANGUAGE=en-US:\n\n
SUMMARY;LANGUAGE=en-US:GMT Meeting
DTSTART;TZID=GMT Standard Time:20160807T080000
DTEND;TZID=GMT Standard Time:20160807T090000
UID:04000B16B00B1E50008200E00074C5B7101A82E0080005007B0F59FC1D101000000000000000
0100000002DA3DB6FC7061B4680DAEF792F5776F8
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20160608T150813Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:0
LOCATION;LANGUAGE=en-US:Meeting Venue
X-MICROSOFT-CDO-APPT-SEQUENCE:0
X-MICROSOFT-CDO-OWNERAPPTID:1896376288
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:0
X-MICROSOFT-DISALLOW-COUNTER:FALSE
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:-PT15M
END:VALARM
END:VEVENT
END:VCALENDAR
EVENT;
// Read the 'GMT' event
$cal = Sabre\VObject\Reader::read($eventGmt);
$vevent = current($cal->select('VEVENT'));
echo $vevent->DTSTART->getDateTime()->format('r').' '.$vevent->DTSTART->getDateTime()->getTimezone()->getName(). "\n";
echo $vevent->DTEND->getDateTime()->format('r').' '.$vevent->DTEND->getDateTime()->getTimezone()->getName()."\n\n";
// Read the same event but with Europe/London TZID
$cal = Sabre\VObject\Reader::read(str_replace('GMT Standard Time', 'Europe/London', $eventGmt));
$vevent = current($cal->select('VEVENT'));
echo $vevent->DTSTART->getDateTime()->format('r').' '.$vevent->DTSTART->getDateTime()->getTimezone()->getName()."\n";
echo $vevent->DTEND->getDateTime()->format('r').' '.$vevent->DTEND->getDateTime()->getTimezone()->getName()."\n";
`

Makes sense! Having this in place would be hugely beneficial

@evert how would you suggest that we handle the getDateTime method call on something like DTSTART since we need a Timezone for that no?  Seems like we would have to map the custom timezone definition to something that the php "knows" since it doesn't look like you can set transitions or anything on the DateTimeZone standard php class without creating a custom class to extend it.

The goal of this enhancement would be to read the information from VTIMEZONE, and based on the rules specified in DAYLIGHT and STANDARD, we would try to find the closest match to an olson identifer.
So I would still want to map to PHP's DateTimeZone, but instead of making an educated guess based on some properties, getTransitions and match it up with the data contained in VTIMEZONE.
But even for those cases I would only want to this if we don't have an exact match for TZID, because this system would definitely be a lot slower, and possibly less accurate. If an iCalendar object states TZID=Europe/Amsterdam, I still want to assume that that's correct and ignore the information from VTIMEZONE.

@evert if that is the case, wouldn't it be just much easier (although more hacky) to add a mapping table from the Exchange Identifiers (since Exchange seems to be the biggest violator) to the php ones as a simple workaround with a lot less work for now?

Exchange timezones are mapped here:
https://github.com/fruux/sabre-vobject/blob/master/lib/timezonedata/exchangezones.php

@DominikTo then I guess it is missing a few since I received one not mentioned there (I guess that was the point of this issue ... to automatically figure that out without needing to maintain the mapping).  Want me to create a pull request for these additional mapping names or wait until it is solved via parsing the VTIMEZONE records?
BEGIN:VCALENDAR
METHOD:PUBLISH
PRODID:Microsoft Exchange Server 2010
VERSION:2.0
X-WR-CALNAME:Calendar
BEGIN:VTIMEZONE
TZID:(UTC-05:00) Eastern Time (US & Canada)
BEGIN:STANDARD
DTSTART:16010101T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DESCRIPTION:3 Homes for Builder requiring Photography & Walk through Video
 of each home.
UID:040000003232E00074C5B7876A82E00800000000FD0CCC288FF8D101000000000000000
<PHONE_NUMBER>6F59CB9230499438F3AB6F603BBFA69
SUMMARY:PHOTO & VIDEOS for Joe Smith
DTSTART;TZID="(UTC-05:00) Eastern Time (US & Canada)":20160823T100000
DTEND;TZID="(UTC-05:00) Eastern Time (US & Canada)":20160823T170000
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20160822T184151Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:0
LOCATION:
X-MICROSOFT-CDO-APPT-SEQUENCE:0
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:0
X-MICROSOFT-DISALLOW-COUNTER:FALSE
END:VEVENT
END:VCALENDAR

The goal of this issue is to solve situations where the 'automatic mapping' fails. However, until then, I would be happy to receive patches or bug reports for obvious missing entries.
However, I'm doubting a little bit if the sample file you submitted here is correct. Exchange-generated iCalendar files usually have the X-MICROSOFT-CDO-TZID property set, which appears to be stripped from your sample file.
So my answer to situations like this is always, please find out what software generates this file, so we can determine how widespread the issue is and based on that figure out if we need a workaround. Is this a reproducible case?
The reason this is important for me, is because I want to make absolutely sure we're not adding a workaround that we'll have to maintain for years to come for some persons script that does a poor job handing iCalendar. At the very least I must know what produces this.
Anyway, this is off-topic for this github issue, so please open a new one if you want to continue the conversation.

@evert The links that you and @jpirkey have posted above seem to indicate that the case I reported above (invites from Exchange in Europe/London timezone with TZID:GMT Standard Time) should already be correctly handled, or am I misunderstanding?
Microsoft's Exchange Identifiers map "GMT Standard Time" to "Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London", and the Sabre mappings map "Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London" to "Europe/Lisbon" ie the correct timezone.
If this is correct, I can do some further investigations into why it's not working as expected and open a new issue if appropriate.
Thank you.

@lightstream I believe it works fine (at least for the scenarios I have encountered).  The issue I reported was due to the timezone offset being prepended from some exchange installs: https://github.com/fruux/sabre-vobject/issues/344 .. so now we strip that off and try to find the identifier without it.

@jpirkey I read your linked issue. The problem we have is that invites received from Exchange with TZID:GMT Standard Time are parsed into DateTime objects with timezone of GMT, when they should have a timezone of Europe/London.
What I wasn't sure of was whether Sabre is applying the Exchange mappings from the link you posted, or just the ones in the file linked by @evert if that makes sense!

Just the ones in the the mapping files.  Not only the file @evert linked to, but also the ones in the other mapping files under lib/timezonedata .. they are merged together to create one mapping in TimeZoneUtil::loadTzMaps

Thanks for that @jpirkey, gives me a starting point to investigate my issue further.

@lightstream it looks like the mapping is there in the windowszones.php file:
'GMT Standard Time'               => 'Europe/London',

Thank you very much for all your help on this @jpirkey, it does look like it should be handling these timezones correctly.
I think my issue isn't relevant here after all. I will report it to the Kolab Calendar project (a roundcube plugin that uses Sabre).
Apologies to all for polluting this thread...

For future commenters, if you have a timezone related problem, and you're not sure how it pertains to this ticket, open a new one!

2.2.54 [RFC2445] Section 4.6.5, Time Zone Component
V0058:
The specification describes the VTIMEZONE component.
Microsoft® Office Outlook® 2007, Microsoft® Outlook® 2010, Microsoft® Outlook® 15 Technical Preview
On import, Outlook attempts to approximate VTIMEZONE components to a VTIMEZONE with one annually-recurring standard-to-Daylight Saving transition date, and one annually-recurring Daylight Saving-to-standard transition date. The approximation process is specified in [MS-OXCICAL] section <IP_ADDRESS>.1.19. Only the following properties are used to approximate a VTIMEZONE, all other properties are ignored: TZID (in VTIMEZONE components), DTSTART (in DAYLIGHT or STANDARD components), RRULE (in DAYLIGHT or STANDARD components), TZOFFSETFROM (in DAYLIGHT or STANDARD components), and TZOFFSETTO (in DAYLIGHT or STANDARD components). If a time zone cannot be approximated or parsed, it is ignored.

I think this problem not just to add mapping, the reason is the Microsoft handle the timezone different others. Above section contents on the pdf of [MS-STANOICAL].


Xamarin Mac setup

Hi Eric, do you copy the Xamarin.Mac stuff from OSX into Windows? Trying to figure out why this gives me an error

That builds on my machine.  Do you have Xamarin.Mac installed?

Are you building on a Mac or PC? I didn't know I could install Xamarin.Mac
on the PC but I'll look for it.
On Tue, Dec 13, 2016 at 9:15 AM, Eric Sink<EMAIL_ADDRESS>wrote:

That builds on my machine. Do you have Xamarin.Mac installed?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ericsink/SQLitePCL.raw/issues/121#issuecomment-266800452,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJoRn6MwvGBXizVP4Zl38WEXQctVenkks5rHtKcgaJpZM4LL-E_
.

I'm building on Windows.  I don't remember how I installed stuff, but on my machine, \Program Files (x86)\MSBuild\Xamarin\Mac\ contains stuff.

I remember ages ago I copied stuff from Xamarin Studio on OSX to my PC.
Maybe you did that.
On Tue, Dec 13, 2016 at 10:05 AM, Eric Sink<EMAIL_ADDRESS>wrote:

I'm building on Windows. I don't remember how I installed stuff, but on my
machine, \Program Files (x86)\MSBuild\Xamarin\Mac\ contains stuff.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ericsink/SQLitePCL.raw/issues/121#issuecomment-266814362,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJoRntQGAFMREWJXBpqVikVpBqu6a_Zks5rHt5fgaJpZM4LL-E_
.

No, I'm reasonably certain I didn't do that.

maybe installed this?
https://github.com/xamarin/xamarin-macios
On Tue, Dec 13, 2016 at 10:10 AM, Eric Sink<EMAIL_ADDRESS>wrote:

No, I'm reasonably certain I didn't do that.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ericsink/SQLitePCL.raw/issues/121#issuecomment-266815803,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJoRoyviZIUuSDuKRhBVk3l51Kvc8Ipks5rHt-wgaJpZM4LL-E_
.

Not from Github I didn't.  I'm pretty sure I just ran the regular Xamarin Visual Studio installer.
I do have my system paired with a Mac for builds.  It's possible that Xamarin copied the files from my Mac as part of the pairing process.

Interesting, I do have it paired also, but I think it only does anything for iOS. I'll try installing XVS again.

I just updated Xamarin for VS and it looks like they have it as an option
now... will try it
[image: Inline image 1]
On Tue, Dec 13, 2016 at 10:18 AM, Eric Sink<EMAIL_ADDRESS>wrote:

Not from Github I didn't. I'm pretty sure I just ran the regular Xamarin
Visual Studio installer.
I do have my system paired with a Mac for builds. It's possible that
Xamarin copied the files from my Mac as part of the pairing process.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ericsink/SQLitePCL.raw/issues/121#issuecomment-266817830,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJoRqHSzBFv87n-98sPL2t2GuSvIsuqks5rHuGGgaJpZM4LL-E_
.


🪲[BUG] SerialPIO and USB Host conflicting

Describe the bug you encountered:
USB Host prevents SerialPIO RX from working.
What did you expect to happen instead?
SerialPIO should work at the same time as USB Host
What actually happened in your case?
USB Host PIO connected to GP6, 7.  SerialPIO connected to GP28, 29.
If SerialPIO starts first, the RX works correctly but Core1 fails to boot and USB Host does not work.
If USB Host starts first, it works correctly but SerialPIO RX does not.
Additional information

This sketch shows the issue, adapted from example from this version.  Set #define USBFIRST to start USB first, comment out to start SerialPIO first.
Changing the USB Host configuration settings to the Pico W compatibility settings does not fix this issue.
/* Example sketch altered to include SerialPIO on GP28, GP29
 * USBHost is blocking SerialPIO and vice-versa
 */

// pio-usb is required for rp2040 host
#include "pio_usb.h"
#define HOST_PIN_DP   6   // Pin used as D+ for host, D- = D+ + 1

#include "Adafruit_TinyUSB.h"

#define LANGUAGE_ID 0x0409  // English

// USB Host object
Adafruit_USBH_Host USBHost;

// holding device descriptor
tusb_desc_device_t desc_device;

SerialPIO mySerial(28, 29);

//#define USBFIRST

// the setup function runs once when you press reset or power the board
void setup()
{

  Serial.begin(115200);

#ifndef USBFIRST
  mySerial.begin(31250); // if this is started first, it works but USB fails
#endif

  while ( !Serial ) delay(10);   // wait for native usb

#ifndef USBFIRST
  Serial.println("SERIAL FIRST");
#endif

  Serial.println("TinyUSB Dual Device Info Example");

#ifdef USBFIRST
  Serial.println("USB FIRST");
  delay(3000);
  mySerial.begin(31250); // if this is started last, USB works and Serial fails
#endif

  Serial.println("CORE0 BOOT COMPLETE");

}

void loop()
{

  // test routine for separate RX
  if (mySerial.available() ) {
    // read the incoming byte:
    char incomingByte = mySerial.read();

    // say what you got:
    Serial.print("I received: ");
    Serial.println(incomingByte, DEC);
  }

}

// core1's setup
void setup1() {
  while ( !Serial ) delay(10);   // wait for native usb
  Serial.println("Core1 setup to run TinyUSB host with pio-usb");

  // Check for CPU frequency, must be multiple of 120Mhz for bit-banging USB
  uint32_t cpu_hz = clock_get_hz(clk_sys);
  if ( cpu_hz != 120000000UL && cpu_hz != 240000000UL ) {
    while ( !Serial ) delay(10);   // wait for native usb
    Serial.printf("Error: CPU Clock = %u, PIO USB require CPU clock must be multiple of 120 Mhz\r\n", cpu_hz);
    Serial.printf("Change your CPU Clock to either 120 or 240 Mhz in Menu->CPU Speed \r\n", cpu_hz);
    while (1) delay(1);
  }

  pio_usb_configuration_t pio_cfg = PIO_USB_DEFAULT_CONFIG;
  pio_cfg.pin_dp = HOST_PIN_DP;

// these settings make no difference to the result
#if defined(ARDUINO_RASPBERRY_PI_PICO_W)
  /* https://github.com/sekigon-gonnoc/Pico-PIO-USB/issues/46 */
  pio_cfg.sm_tx      = 3;
  pio_cfg.sm_rx      = 2;
  pio_cfg.sm_eop     = 3;
  pio_cfg.pio_rx_num = 0;
  pio_cfg.pio_tx_num = 1;
  pio_cfg.tx_ch      = 9;
#endif /* ARDUINO_RASPBERRY_PI_PICO_W */

  USBHost.configure_pio_usb(1, &pio_cfg);

  // run host stack on controller (rhport) 1
  // Note: For rp2040 pico-pio-usb, calling USBHost.begin() on core1 will have most of the
  // host bit-banging processing works done in core1 to free up core0 for other works
  USBHost.begin(1);

  Serial.println("CORE 1 BOOT COMPLETE");
}

// core1's loop
void loop1()
{
  USBHost.task();
}

//--------------------------------------------------------------------+
// TinyUSB Host callbacks
//--------------------------------------------------------------------+

// Invoked when device is mounted (configured)
void tuh_mount_cb (uint8_t daddr)
{
  Serial.printf("Device attached, address = %d\r\n", daddr);
}

/// Invoked when device is unmounted (bus reset/unplugged)
void tuh_umount_cb(uint8_t daddr)
{
  Serial.printf("Device removed, address = %d\r\n", daddr);
}

PIO USB TX requires 22 instructions and Serial PIO requires 13 instructions. Therefore, they do not work together in this version.

I'm currently developing a version that requires fewer instructions.
https://github.com/sekigon-gonnoc/Pico-PIO-USB/tree/single-pio

Thanks for the info, I have downloaded the single-PIO fork and it is working with my hardware.


Bug in Quickstart tutorial Java example

In this section of the Quickstart tutorial, there is a mismatch between the Scala and Java code examples.
The Java example reads:
deltaTable.as("events")
  .merge(
    newData,
    "oldData.id = newData.id")
  .whenMatched()
...

but "events" should be "oldData".

Thanks for reporting this @AFFogarty. We'll fix this.

This has been fixed!


Add one-click connect for Zap Desktop wallet via an lndconnect: link

Zap Desktop now supports part of the lndconnect: protocol link format that can enable a smoother node connection process for users of Zap Desktop.
There are some docs here: https://github.com/LN-Zap/zap-iOS/blob/master/docs/lnd_connect_uri.md
Essentially, if you trigger the opening of a url that follows the lndconnect format, it will trigger ZapDesktop to open with all of the connection info already filled out. The user then just needs to confirm the details in ZapDesktop and submit the form.
eg:
lndconnect:?cert=/path/to/cert&macaroon=/path/to/macaroon&host=<IP_ADDRESS>:10009

In the future we will also enable the ability to pass the actual encoded cert and macaroon data directly in the link, but for the time being we just support paths to files.
We plan to update https://github.com/LN-Zap/zapconnect to support this new connection format, so you could then embed zapdesktop within your app and just use that to generate the properly encoded connection string.

I noticed that the iOS app supports deep linking with those urls also which is very useful.
I provided @PierreRochard with some code that he already added to https://github.com/PierreRochard/node-launcher/issues/54 to generate the lndconnect string and the qrcode based on the reference javascript implementation here https://github.com/LN-Zap/lndconnect/blob/master/lnd_connect_uri.md
I haven't been able to make it work on iOS though but once I can I'll submit a pull request trying to add this functionality.

@manecosta the documentation in https://github.com/LN-Zap/lndconnect/blob/master/lnd_connect_uri.md refers to a slightly updated version of lndconnect which is not yet fully supported in Zap Desktop.
For ZapDesktop, the format should be as per my previous comment for the time being.

Ok, that's actualy simpler as there's no chance to mess it up when file parsing and base64 encoding.


Build routes from directory

Possible suggestions:

Blacklist/whitelist? files
Support sub routes
Support route naming(url/slug) without the need to define them in the config file.

As far as I have tested, 1st level pages work great and their routes are created successfully. I simply haven't tested sub-routes yet. I believe they should theoretically work, since it is a glob callback already here: https://github.com/nozzle/react-static/blob/v6/src/static/getRoutes.js#L144-L164

not stale


Problem with wkhtmltopdf

Hi
Having a problem using wkhtmltopdf for generating my pdfs. Originally, I was using the default dompdf setup, which worked fine, but the output (particularly of tables) wasn't very good. So I installed wkhtmltopdf on my server (running Ubuntu 18.04) and copied it to the Bookstack directory (which is exactly what I did on my other install on a different server - running CentOS 8.1).
I changed the permissions for wkhtmltopdf to root:root 0750 (same as my other server), but when I try to create a pdf I get:
An Error Occurred
An unknown error occurred
Instead I tried adding the path to wkhtmltopdf in the .env file, but same result.
Anyone any suggestions how to sort this?
Thanks
Mark

@techauthoruk You can follow the debugging guide to gain more detail on the error:
https://www.bookstackapp.com/docs/admin/debugging/
Sometimes I have had to run wkhtml through xvfb-run before since WKHTML sometimes needs an X server depending on version and system, But the logs should have some clues as to what's happening.

@ssddanbrown
Thanks for that. This is the error detail:
RuntimeException
The exit status code '126' says something went wrong: stderr: "sh: 1: /var/www/bookstack/wkhtmltopdf: Permission denied " stdout: "" command: /var/www/bookstack/wkhtmltopdf --lowquality --print-media-type '/tmp/knp_snappy5eab9d91b32850.22533742.html' '/tmp/knp_snappy5eab9d91b331a7.99555749.pdf'.
I don't understand the permission denied error, as all the permissions look ok as I previously mentioned. In the laravel log file I see this several times:
command: /var/www/bookstack/wkhtmltopdf --lowquality --print-media-type '/tmp/knp_snappy5e9e59e5d3bcf1.53933425.html' '/tmp/knp_snappy5e9e59e5d3c652.35544182.pdf'. {"userId":1,"exception":"[object] (RuntimeException(code: 1): The exit status code '1' says something went wrong:
stderr: "The switch --print-media-type, is not support using unpatched qt, and will be ignored.QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-www-data'
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.
So is this what you mentioned about running wkhtmltopdf through xvfb-run? How would I do that?
Many thanks for your asssitance.
Mark

@ssddanbrown
Problem solved - I found a tutorial explaining how to set up xvfb, and wkhtmltopdf now works with Bookstack
Thanks for the help - I will close this issue now.
Mark

@techauthoruk Ah, great, glad you got it working!

Just a note to anyone who is having issues with this. The setup is as follows:

Install Wkhtmltopdf from the official source
Follow the step 1 & Step 2 from this guide
Edit the .env file and set the following:

WKHTMLTOPDF="/usr/bin/xvfb-run wkhtmltopdf"
ALLOW_UNTRUSTED_SERVER_FETCHING=true

Updated the above with a note of the security implications of using the displayed options.

How to enable wkhtmltopdf in the docker compose version


dogfooding

I just discovered this cool TS feature called "annotating your code with types", so I figured I'd artificially inflate the compiler size contribute to safety by adding some types, so you can check types while you check types.
I've probably left many untyped cuz I'm lazy as an exercise for the reader.
Doesn't fix any issue whatsoever.

@tycho01,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

I do prefer the style of annotating function return types. I don't know the other team members' opinions though.
The tslint rule typedef with the "call-signature" option would enforce this.

I very much like this change as well. Anyone object?

@sandersn wasn't a fan

😠 ⚔ 😠

I'll concede most function names are quite descriptive, making the return types for them somewhat evident. I'll also admit the explicit annotations are slightly more verbose still.
As a relative newcomer to the code-base though, every now and then I find myself doing regex searches across the project for function signatures with given inputs and outputs.
For that purpose at least, I'd personally considered the explicit return types somewhat helpful -- such searches would be limited to find what is explicitly reflected in the code.
I agree inferred return types are great -- in fact, on occasion the inferred return types may even be more specific than the manually annotated ones.
I imagine there might be a way to achieve some best of both worlds there. It would be great if we could somehow ask TS to explicitly annotate our functions with the inferred return types, or suggest narrowing down existing annotations to more specific inferred types where possible.
I think these are considerations relevant for all TS projects out there, and I hope with these discoverability and self-documentation could improve just a little further. Incidental behavior mismatches uncovered this way, like that isClassDerivedFromDeclaringClasses, are just icing on the cake.

@tycho01 Your title is also a little wrong, since if we started annotating all our return types, we would no longer be dogfooding our return type inference... I'm with @mhegazy, I like our types inferred where possible; I am the one who originally made and then enabled the no-inferrable-types tslint rule. If it was possible to efficiently check every annotation everywhere for redundancy, I probably would.


Test certificate file location from connection strings

Multiple of our connectors allow to configure a certificate file via the connection string (at leat PostgreSQL, MySQL and MongoDB). We document that to be relative to the Prisma schema location - but it is unclear if that means only the default prisma/schema.prisma or also other locations via --schema or the prisma.schema object in package.json.
We should have tests for all these configurations (all engines, all connectors, all possible locations).
(There might also be other connection string parameters that expect a file, so these could also be tested the same way.)

Hi there,
As part of our effort to clean up our GitHub repo, we’re closing this issue to help focus on features and improvements that align with our focus areas and those of our community.
This issue was originally created for internal tracking purposes, but if you feel this is important to you, feel free to reopen the issue and get like-minded users to upvote as we will prioritize fixing issues based on community interest.
For more insight into our priorities and how we’re thinking about the future of Prisma, please see our blog post: https://www.prisma.io/blog/prisma-orm-manifesto.
Thank you for your understanding and support!


Validate parameters and workspaces for referenced pipelines

Prior to this, we skipped validation of propagated parameters and workspaces was skipped in the reconciler until pod creation time. As a result, validation of the pipeline spec from remote pipelines was completely ignored and we added accidental support for propagated params for remotely referenced pipeline. This PR fixes issue #6670

Changes

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
Validate parameter and workspace usage for referenced pipelines.

/kind bug

/hold wait to merge PR https://github.com/tektoncd/pipeline/pull/6694

/assign @lbernick

/cc @jerop since you led the TEP on propagated params.

/milestone 68

/hold cancel

/assign

We may also need a release note for this PR, as it contains some user-facing change?

@chitrangpatel should I move this PR over to the next milestone?

Yes, I think that would be good.

@chitrangpatel I think I found an alternative way of doing this that may be more robust: https://github.com/tektoncd/pipeline/pull/6887

@chitrangpatel I think I found an alternative way of doing this that may be more robust: #6887

Thanks Lee! I love that approach. I think it helps us contain most of the validation logic in one place. And its clear where everything happens in that approach.

Closing this since https://github.com/tektoncd/pipeline/pull/6887 was merged and handles this much better.


Update accounting-myob-setup.md

Updating broken MYOB link
Description
Include a summary of the new content you're adding or the reason for the change.
Include relevant context.
Don't link to work items.
Type of change
Please delete options that are not relevant.

[ ] New document(s)/updating existing
[ ] Fixes
[ ] Styling
[ ] Bug fix (non-breaking change which fixes an issue)

Reviews and merging
You are responsible for getting your PR merged. Address review comments promptly and make sure to merge the PR when ready.
Feel free to 'Enable automerge' - your PR will automatically merge when accepted and passing the build.

Fixing broken MYOB link


Search no longer works

This is because only 10 bots are displayed at once.

This issue is "fixed" in the #76.
Preview this here


Missing 'credentials' when the integration type is Lambda function

Is this expected or is there anything I should add when running the command?

Could you please provide more information what kind of credentials are missing?
Do you mean that "Invoke with caller credentials" flag is not exported into swagger file?

In "x-amazon-apigateway-integration" section, I got  type / httpMethod / uri, but 'credentials' is not present, which is to set the role that makes the API call the target Lambda function.

Interesting, how did you create your API? Did you use API Gateway Importer or created it manually?
I tested it on different APIs that were created using API Gateway Importer and 'credentials' were exported.

I created the API manually using the AWS API Gateway console.

How do you specify the role when you select lambda integration type for your API resource/method?
When I tried to select lambda integration type using the AWS API Gateway console it didn't ask me to enter an execution role. When I exported the API -- 'credentials' were missing.

Yes, it does NOT ask the role and it seems like adding a necessary role internally. I tried to find the role in IAM console, but couldn't. Not sure how they manage it.

After some research I found this
http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started.html

Because the API Gateway console specifies for you the required invocation role/policy for the Lambda functions integrated with your API, you can skip the steps (below) to create the Lambda invocation role and its policy. However, if you set up the API without using the API Gateway console, such as when importing an API from Swagger, you must explicitly create, if necessary, and assign an invocation role/policy for the API Gateway to invoke the Lambda functions.

And I have the same observation: when I use API Gateway console for lambda integration it doesn't create or update anything in IAM. So looks like authorization is done internally.
To handle this case I can add a command line argument "default execution role". If no credentials were explicitly set for integration then it will use the default value while exporting.


Typecast throws an error when the connection to DB is down

Description:
I get the following error,
error: {ballerina}TypeCastError {"message":"incompatible types: 'stream<$stream$anon$constraint$>' cannot be cast to 'stream<Result>'"}
        at $value$$anonType$_0:$get$list$*(sample.bal:25)

For the following Ballerina code,
import ballerina/http;
import ballerina/sql;
import ballerina/log;
import ballerina/lang.runtime;
import ballerinax/java.jdbc;
import ballerinax/mysql as _;
import ballerinax/mysql.driver as _;

type Result record {|
    string registrationID;
    string firstName;
    string lastName;
|};

service / on new http:Listener(8090) {
    resource function get list/[string country]() returns json|error {
        jdbc:Client jdbcClient = check new ("jdbc:mysql://localhost/customers_db", "userabc", "passdef");
        log:printInfo("Started sleep");
        runtime:sleep(15);
        log:printInfo("Done sleep");

        stream<Result, sql:Error> resultStream = <stream<Result, sql:Error>>jdbcClient->query(
        `SELECT registrationID, firstName, lastName FROM Customers WHERE country LIKE ${country}`, Result);

        map<json> resultOutput = {};

        error? iterationError = resultStream.forEach(function(Result result) {
                                                         resultOutput[result.registrationID] = {
                                                             fistName: result.firstName,
                                                             lastName: result.lastName
                                                         };
                                                     });

        if (iterationError is error) {
            log:printError(string `Error while reading data from the database. `, 'error = iterationError);
            return iterationError;
        }

        return resultOutput;
    }
}

Steps to reproduce:

Create a local mysql DB server with a DB (in the above case customers_db) and a table (in the above case Customers).
Paste the above code in a new .bal file and run it with SL Alpha 5.11 (e.g., bal run sample.bal)
Invoke the api (e.g., curl http://localhost:8090/list/USA)
Shutdown the mysql server after you see the message curl http://localhost:8090/list/USA
After some time you should get the above type cast error

Affected Versions:
Ballerina SL alpha 5.11
OS, DB, other environment details and versions:
Ubuntu 20.04

The issue seems to be in the line https://github.com/ballerina-platform/module-ballerina-sql/blob/master/native/src/main/java/io/ballerina/stdlib/sql/nativeimpl/QueryProcessor.java#L107
This is returning an open record stream instead of a typed record stream.


Remove duplicated entry (rhtml)

This PR removes duplicated entry in language files (rhtml vs html+erb)

First of all, could you provide a bit of detail describing the language(s) involved? Just a brief summary explaining what RHTML is will aide those of us unfamiliar with the format. 😉  (It also improves a PR's visibility in search results, since there's more text to match against a prospective keyword).
Secondly—and this relates to the build errors you're getting—removing a language involves a few other steps. They haven't been documented anywhere, because we generally don't remove languages unless it's for a damn good reason (reasons which you'll also need to provide in the PR description).
To remove a language from Linguist:

Delete the language's entry from languages.yml.
Delete the ./samples/{LANGUAGE_NAME}/ directory.
If necessary, merge its contents into the samples directory of a more appropriate language.
Update any heuristics that reference the language.
Delete any heuristics where the removed language is the only candidate (indicated by entries containing a rules list with only one entry:- extensions: ['.ext']
  rules:
  - language: Name of Language Being Removed
    pattern: '…'

Update any tests that reference the language.
Usually, this will include test_samples.rb.
Unregister any grammar module used to highlight the language.
I'll omit the details here, since they're convoluted and difficult to explain, and the topic is irrelevant to this particular removal.
Regenerate the grammar index by running script/list-grammars.

/cc @lildude, who's best-equipped to handle Ruby-related matters.

@Alhadis ready

@lildude I'm leaving this ball in your court, as you're probably far more familiar with embedded Ruby (or anything Ruby-related, for that matter). Ergo, don't mistake my approval as a sign to merge this: I'm merely acknowledging that an ancillary change I requested was actioned. 😉

@lildude I'm leaving this ball in your court, as you're probably far more familiar with embedded Ruby (or anything Ruby-related, for that matter). Ergo, don't mistake my approval as a sign to merge this: I'm merely acknowledging that an ancillary change I requested was actioned. 😉

NP. It means I've got manual work to do when I deploy this to prod to remove the old name. It's the same thing I do when we rename a language, so nothing unusual.

@sheerun I've just noticed we don't have any .rhtml sample files to train the classifier. Can you find a real-world sample with a liberal license and add it to samples/HTML+ERB/ please. 🙇

@lildude I've added https://github.com/leej35/Billing-Module/blob/6ec6abc9553d8a9e0797ff0735a83e0b97b12a23/app/views/report/disaggregated_diagnosis.rhtml which is licensed under Mozilla Public License as in the readme: https://github.com/leej35/Billing-Module

Lovely. Thanks @sheerun 🙇♂


added decimals to get_asset_price

Added support for using the Chainlink price feed's decimals function.

Thanks for this issue! It doesn't return the price in its converted format though :/
Can you update this to make it so it'll return the price converted based on the decimals?

No problem! I thought it returns the price divided by 10 ** decimals, am I missing something?


fix(chart): update chart data query

🐛  Bug Fix
Update chart data queries to fit the new requirements of API /api/v1/chart/data
(logic copied from incubator-superset)

Seems like there's some refactor work ahead (I like the SupersetClientV1 idea with schema'd & freeform endpoints), but this seems mergeable for now, if rebased.

I think this PR has been rendered obsolete by https://github.com/apache-superset/superset-ui/commit/b7903428e9469cb0980471b57a1033f9c4bb9602
There are more refactoring work going on with buildQuery et al. but I was distracted by something else. Will come back to this in the next couple of weeks,


keyman: add new keywords

newcontext, postkeystroke and readonly are new keywords in Keyman 15.0.

Thank you for the PR @mcdurdin!
Could please add the new keywords to the appropriate test? More information on updating tests can be found here.
To make the CI pass, you also need to rebuild Prism and commit the changes. Just run npm ci && npm run build and commit the changes to components/prism-keyman.min.js.

Thank you for the PR @mcdurdin!

😁

Could please add the new keywords to the appropriate test?

Done.

commit the changes to components/prism-keyman.min.js.

Done.

Thank you for contributing @mcdurdin!


let user save their data

another suggestion - would love feature to save online what I've filled out so that I can come back to it later on and add new stuff using your interface. I imagine that this would especially be useful for people who don't know latex and don't want to edit the downloaded source themselves

I think using browser's local storage is a better option than saving in the server. If you have resources, you can consider saving user data in the server. 😄

This is something I was planning on implementing. I'd rather not use up server resources, but I was thinking something along the lines of importing/exporting your current resume data as JSON. That way you won't have any local storage issues if you clear your data.

JSON format seems a great idea, would be easily editable for developers to add bullets, change stuff, etc manually as well.

Yaml or Toml might be easier if people want to edit/read it directly

JSON Resume

The open source initiative to create a JSON-based standard for resumes.

It would be great if it could import/export resumes in the jsonresume format.

I further support json IO of stuff.

Yes! I'm trying to make a change in my resume but I can't figure out how to convert it back to PDF now. :/

Hey all, I know this is insanely late, but the new branch saves your session as well as letting you import/export your resume as JSON (compatible with JSON resume). Looking forward to releasing this new version soon.

@kmahar I just added you as a contributor to the README, let me know if you'd rather not be on there. Thanks your contribution :)

@saadq fine with me! thanks for implementing the feature!!! :)


k9s is not configured in Ubuntu

If I start an opensuse standard image, I immediately get k9s access, on Ubuntu on the other hand I have to point it to the k3s config

This has now been addressed


Update readme

New homebrew version

I had the same problem when using cask and wish to update Readme ASAP.


Bump Go to 1.14.2

What this PR does / why we need it:
Bump Go to the latest version
Release note:

NONE

/assign @munnerz

/lgtm

/kind cleanup
/milestone v0.15


Rework the EventBus to use the Repeater service capabilities

The Repeater service provides WebSocket-based communication, allowing real-time interactions between different components of our application. It offers features such as event broadcasting and request-response mechanisms.
Tasks

Integration with Repeater Service

Update the EventBus to establish a WebSocket connection with the Repeater service

Event Broadcasting

Modify the EventBus to broadcast events using the Repeater service.
Ensure that events published via the EventBus are correctly propagated to subscribers through the Repeater service.

Request-Response Mechanism

Implement a request-response mechanism using the Repeater service within the EventBus.

Error Handling

Implement error handling mechanisms to deal with connection issues, message delivery failures, and other potential errors when using the Repeater service.

Testing and Documentation

Create unit tests to validate the functionality of the reworked EventBus with the Repeater service.
Update documentation to reflect the changes made and provide instructions on how to use the enhanced EventBus.

@ostridm, we need to remove the event bus. The issue description is not accurate enough; please update it accordingly


Added Russian & Hindi translations

Thanks for translating the config file. I’ll merge it really quick. All your work is greatly appreciated and helpful.


cargo doc should support documenting only dependencies

The cargo doc command will document a package and all its dependencies, and supports --no-deps to only document the package. However, during development it can be useful to have the dependency documentation available without caring about the current crate's docs (notably, the current crate may not be in a compiling state). cargo doc should support this with a --deps-only flag, or alternatively with a -p SPEC flag a la cargo test.

@alexcrichton So how do you document all dependencies, but not the current crate that doesn't compile? I don't quite get how the linked commit fixes this problem? Do we have to list all dependencies and all their dependencies manually on the cli? Or comment out all code in the current crate until it compiles?
And even after listing all dependencies, --open is now broken...:-(


Fresh clone fails build in latest Android studio

Summary:
Fresh clone fails build in latest Android Studio/SDK
Steps to reproduce:
How can we reproduce the issue?

Fork project and go through quick start guide
Fresh Android Studio install: I have 3.2.1. It setup with SDK 28
Setup project via 'import from version control'

What did you expect the app to do, and what did you see instead?
Expected:

Project syncs and builds
Actual:
Sync/build failed. Checked Android Studio and saw references to android-27. Installed that in Sdk manager. Still had issues. Logs showed that I needed buildtools 27.0.3. Installed those specific tools as described in: https://stackoverflow.com/questions/47721952/how-to-solve-failed-to-find-build-tools-revision-26-0-2

This is more an Android Studio project setup issue. I noticed that root gradle.properties contains:
buildToolsVersion=27.0.3

Thanks for approving the PR :)


[release-4.17] Pin version of origin-cli-artifacts and kube-rbac-proxy

Background / Context

Issue / Requirement / Reason for change

Solution / Feature Overview

Implementation Details

Other Information

/retest

/retest

/retest

/lgtm


The loss calculation appears as nan

nan occurs when loss_bhp is calculated, so that nan occurs throughout

Excuse me, I have also encountered this situation. May I ask how this problem was resolved.

Excuse me, I have also encountered this situation. The loss_ce seems correct, but the loss_bhp shows NAN


Add  sponsorship related columns to state tables.

[x] accounts

[x] accounts_data

[x] accounts_signers

[x] trust_lines

[x] offers

[x] claimable_balances

[x] Add columns num_sponsored and num_sponsoring to accounts.

Fixed in https://github.com/stellar/go/pull/2884


Added Solution of Postfix Evaluation using Stack

Description
Added solution of postfix Evaluation using Stack Data Structure.
LGM-SOC'21
Fixes #937
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation Update

Checklist:

[ ] My code follows the style guidelines(Clean Code) of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works

@ravikr126 why you closed this PR. In repo there is no solution of postfix expression evaluation using stack. So there is no conflict to merge this PR in main. So please review it again.
LGM-SOC'21
Thank You


CIF ontology file needs to be updated

The CIF DDL ontology file in the repo cif-ddl.ttl not based the latest version of the DDLM dictionary available.  Please update as currently the creation of the dic2owl command line tool fails on the 'Word' datatype.

This is (if not a duplication) then at least related to the existing issue #76


add test case for InvokerListener

What is the purpose of the change
add test case for InvokerListener
see more detail from #7872
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #7874 (ec05e9e) into master (028153a) will decrease coverage by 0.19%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #7874      +/-   ##
============================================
- Coverage     59.46%   59.27%   -0.20%
  Complexity      555      555
============================================
  Files          1086     1088       +2
  Lines         43844    43807      -37
  Branches       6399     6367      -32
============================================
- Hits          26074    25965     -109
- Misses        14885    14950      +65
- Partials       2885     2892       +7

Impacted Files
Coverage Δ

...a/org/apache/dubbo/rpc/filter/AccessLogFilter.java
28.35% <0.00%> (-50.75%)
:arrow_down:

...va/org/apache/dubbo/rpc/support/AccessLogData.java
53.16% <0.00%> (-37.98%)
:arrow_down:

...rg/apache/dubbo/remoting/utils/PayloadDropper.java
76.92% <0.00%> (-15.39%)
:arrow_down:

...ng/transport/dispatcher/WrappedChannelHandler.java
43.47% <0.00%> (-15.22%)
:arrow_down:

...dubbo/common/status/support/LoadStatusChecker.java
50.00% <0.00%> (-11.54%)
:arrow_down:

...in/java/org/apache/dubbo/common/utils/JVMUtil.java
81.13% <0.00%> (-11.33%)
:arrow_down:

...che/dubbo/remoting/transport/mina/MinaChannel.java
35.52% <0.00%> (-10.53%)
:arrow_down:

...g/apache/dubbo/remoting/p2p/support/FileGroup.java
41.50% <0.00%> (-9.44%)
:arrow_down:

.../dubbo/remoting/transport/netty4/NettyChannel.java
56.43% <0.00%> (-7.93%)
:arrow_down:

...mmon/threadpool/support/fixed/FixedThreadPool.java
80.00% <0.00%> (-7.50%)
:arrow_down:

... and 43 more

Continue to review full report at Codecov.

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


Crash when picking and switching terrain provider

Can be a pain to reproduce because it only happens sometimes, but here are the steps:

wait for globe to load ellipsoid terrain
click Enable Terrain button and immediately move the mouse
scene.pick causes a crash.  We're executing some kind of command that is already destroyed.

var viewer = new Cesium.Viewer('cesiumContainer');

var hpr = new Cesium.HeadingPitchRange(0, -0.5, 5000);
var scene = viewer.scene;

var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function(movement) {
    var pickedObject = scene.pick(movement.endPosition);
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

viewer.camera.lookAt(Cesium.Cartesian3.fromDegrees(-90.5974899906479, 32.03876681766648, 85), hpr);

Sandcastle.addToolbarButton('Enable Terrain', function() {
    viewer.terrainProvider = Cesium.createWorldTerrain();
});

Sandcastle-client.js:120 Uncaught DeveloperError: This object was destroyed, i.e., destroy() was called.
Error
    at new DeveloperError (http://localhost:8080/Source/Core/DeveloperError.js:43:19)
    at VertexArray.throwOnDestroyed (http://localhost:8080/Source/Core/destroyObject.js:45:19)
    at continueDraw (http://localhost:8080/Source/Renderer/Context.js:997:12)
    at Context.draw (http://localhost:8080/Source/Renderer/Context.js:1034:9)
    at DrawCommand.execute (http://localhost:8080/Source/Renderer/DrawCommand.js:523:17)
    at executeCommand (http://localhost:8080/Source/Scene/Scene.js:2075:25)
    at executeCommands (http://localhost:8080/Source/Scene/Scene.js:2285:17)
    at executeCommandsInViewport (http://localhost:8080/Source/Scene/Scene.js:2852:9)
    at updateAndExecuteCommands (http://localhost:8080/Source/Scene/Scene.js:2700:13)
    at Scene.pick (http://localhost:8080/Source/Scene/Scene.js:3531:9)

@bagnell any ideas here?


exec-watch stops working after a while

Consider the following systemd unit:
[Unit]
Requires=docker.service etcd.service
After=docker.service etcd.service

[Service]
ExecStartPre=/usr/bin/docker run --rm -v /opt/bin:/opt/bin ibuildthecloud/systemd-docker

ExecStart=/bin/sh -c "\
   export DB_HOST=`etcdctl get /services/db/host` && \
   if [ ! $DB_HOST ]; then exit 1; fi; \
   etcdctl exec-watch --recursive /services/db/host -- systemctl restart %n & \
   /opt/bin/systemd-docker run --rm --name %p busybox"

Restart=always
RestartSec=10
Type=notify
NotifyAccess=all
TimeoutStartSec=120
TimeoutStopSec=15

[Install]
WantedBy=multi-user.target

It launches etcdctl exec-watch in the background and the docker container in the foreground.
The idea is to restart the service when something was changed in the etcd key.
After a while (about a week, maybe a couple of days) it has stopped reacting on a change in the key. The etcdctl exec-watch process is alive.

Can you please provide the log, etcdctl and etcd versions?

@SHSE I think this should be fixed in etcd 2.0. I am closing this now. Reopen it if you still have a problem.


Response caching authenticated vs non authenticated for the same page

Is your feature request related to a problem? Please describe.
I'm wondering if the following situation in asp.net core mvc can be handled
http://www.cyberkruz.com/blog/2012/6/06/outputcache-for-unauthenticated-requests-aspnet-mvc
Describe the solution you'd like
Basically I want to have the ability to cache pages when a user isn't authenticated, but if they visit the same page while they are logged in then I don't want the cache to be used. Is this possible?
Describe alternatives you've considered
I could just use the taghelper for various sections of the page, but it's not the same as what I would really like

@JunTaoLuo

We don't have a first class way of doing this at the moment. However, we do have some unofficial "pubternal" extensibility points you can try out. What you could try is create a type derived from ResponseCachingPolicyProvider and override the AttemptResponseCaching method to skip response caching all together if there exist an authenticated user. Note that you'll need to add your derived type to the DI container to ensure the response caching middleware resolves it.
Again, this isn't officially supported and I recommend you to try this out only in a test environment. If it is sufficient for your intended use cases, please ping us on https://github.com/aspnet/AspNetCore/issues/2612 and we'll re-prioritize.


fix room visibility translation

Details

I fixed the room visibility translation
Fixed Issues

$ https://github.com/Expensify/App/issues/8537
Tests

Go to preferences and change the language to espanol
Go to a room and tap on room avatar and click settings
See the visibility at the bottom

[x] Verify that no errors appear in the JS console

PR Review Checklist

Contributor (PR Author) Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

PR Reviewer Checklist

[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

QA Steps

Go to preferences and change the language to espanol
Go to a room and tap on room avatar and click settings
See the visibility at the bottom

[x] Verify that no errors appear in the JS console

Screenshots

Web

Mobile Web

Desktop

iOS

Android

I have read the CLA Document and I hereby sign the CLA

Some checkboxes weren't applicable for this PR should I also check them? I checked PRs of other people and some of them had marked all the checkboxes

While working on this PR I found that when a workspace gets deleted then for the rooms of that workspace we show unavailable workspace, shouldn't we tell user that the workspace has been deleted and also in settings we aren't showing anything but we show workspace name when the workspace isn't deleted.

Some checkboxes weren't applicable for this PR should I also check them?

Feel free to leave them unchecked if they are not applicable to your PR

While working on this PR I found that when a workspace gets deleted then for the rooms of that workspace we show unavailable workspace, shouldn't we tell user that the workspace has been deleted and also in settings we aren't showing anything but we show workspace name when the workspace isn't deleted.

Great suggestion, feel free to bring it up in #expensify-open-source as a bug and then we can proceed from there

Thanks for the reply, I will post it on slack.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @thienlnam in version: 1.1.55-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @yuwenmemon in version: 1.1.55-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Large size on disk when installing for just one service

This isn't really a bug, but more just unexpected behavior for me.
moto is a relatively large dependency on-disk, installed it's around 58MB for me. A huge portion of that seems to be big json files that define things like AMI's available for every region, all ec2 types, etc.
We only use moto for s3, and when I saw there was a way to install moto[s3] I assumed that also meant I wouldn't be downloading big json files for all the other AWS services moto supports mocking out.
Is there any way to exclude data for other services? moto is now the largest dependency of our pretty heavy monolithic application. botocore has a similar issue, but currently it's down to 17MB on disk.

Doing what botocore did, by just including gzip'd versions of the larger resource files as part of the distribution, seems like the right path here.  Marking this as an enhancement.


Share textures across models in a limited but useful case

This PR shares textures across models in the limited case of textures that come from regular old images.  Textures that come from arraybuffers (e.g. compressed textures. textures embedded in a binary glTF) or from images with really long URLs (e,g, data URIs) are not supported here because determining a suitable cache key would be tricky.
My use case is a 3D Tiles tileset with lots of overlap in the textures used by different tiles.  The images are all external to the b3dm files.  Before this PR, heaps of duplicate textures would be created and eventually WebGL context would be lost after exceeding GPU memory.  After this PR, it works great.
It's safe to say we'll want to support sharing textures (and probably other resources) in more scenarios eventually, but this incremental improvement is pretty useful.
One possible criticism of this PR is that loadImage is still called even for textures that do not need to be created because they're already in the cache.  I didn't think it was worth the extra complexity that would be necessary in parseTextures to fix this, since the browser should already do a pretty good job of making this fast.

Yes, I would like to review.  Please give me a week or two.

Thanks again for your contribution @kring!
No one has commented on this pull request in 30 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 30 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

@cesium-concierge stop

I'm going to close this PR due to inactivity, but keep the branch around for when we want to revisit this.


Redirect pan gesture event to ScrollView

I have a ScrollView that takes up a portion of the screen. I am trying to respond to pan gestures from any place on the screen by scrolling the ScrollView (but make it happen automatically on the native side, without manually scrolling in JS). So in other words, I am trying to capture all pan gestures and redirect them to the ScrollView. Is it possible to accomplish this with react-native-gesture-handler?

This would also be interesting since it would allow a PanGestureHandler (to capture touch events) to be used with a FlatList (to efficiently render a large list).

My issue is actually related to #420, I'm trying to achieve similar functionality with this.


update telegram version

Thank you for the contribution. It was merged directly as 2ffedc26e6d467a5e5f35fe8ee4a46a755139744 to keep commit history cleaner. Your contribution is still credited to you.


Added support for requestBodies. Fixes #20

just for review; dont merge
I added generation for models from the requestBodies section. Because of #203, I had to change a few test files which contained that bug. I guess we could also leave it and have the test files be errorneous.
I also changed a few dependencies from testImplementation to testCompileOnly to make it clear that they're not used for actually running the tests and applied a minor change which causes the media types of annotations on controller functions to be unique (i.e. you won't have produces = ["application/json", "application/json", "application/json"] anymore)

Do i see correctly, that the request bodies are now non-optional?

Do i see correctly, that the request bodies are now non-optional?

The generation cannot be enabled/disabled by the user of Fabrikt, if that's what yoh mean?

Do i see correctly, that the request bodies are now non-optional?

The generation cannot be enabled/disabled by the user of Fabrikt, if that's what yoh mean?

Yes that i what I meant. Thank you for clarifying.
Perhaps the readme should be updated in any case.

Yes that i what I meant. Thank you for clarifying. Perhaps the readme should be updated in any case.

Updated how exactly?

Yes that i what I meant. Thank you for clarifying. Perhaps the readme should be updated in any case.

Updated how exactly?

Perhaps in the introduction list : advanced support for features such as: ..
Or in the example if it is fitting. If you don't think it is important to highlight in the readme, ignore this comment :)

Perhaps in the introduction list : advanced support for features such as: .. Or in the example if it is fitting. If you don't think it is important to highlight in the readme, ignore this comment :)

In my humble opinion, this isn't so much of a special feature but more of something that I would have expected to be supported by default, but it just wasn't. So, I'd have gone the other way and written "Does not yet support requestBodies" in the README until now.

@ttobollik Thanks for the great review :)


zlib.h not found when compile tensorflow with GPU support

I am trying to compile tensorflow from source. I can build it successfully with CPU support only( i.e. not use --config=cuda) .
But when I try to build it with GPU support, I get error:
[chaowei@node07 tensorflow]$ export EXTRA_BAZEL_ARGS='-s --verbose_failures --ignore_unsupported_sandboxing --genrule_strategy=standalone --spawn_strategy=standalone --jobs 8'
[chaowei@node07 tensorflow]$
[chaowei@node07 tensorflow]$ /gpfs/home/chaowei/download/bazel-0.1.5/output/bazel  build -c opt --config=cuda --linkopt '-lrt' --copt="-DGPR_BACKWARDS_COMPATIBILITY_MODE" --conlyopt="-std=c99" //tensorflow/tools/pip_package:build_pip_package
...........
WARNING: Sandboxed execution is not supported on your system and thus hermeticity of actions cannot be guaranteed. See http://bazel.io/docs/bazel-user-manual.html#sandboxing for more information. You can turn off this warning via --ignore_unsupported_sandboxing.
INFO: Found 1 target...
ERROR: /gpfs/home/chaowei/.cache/bazel/_bazel_chaowei/2ce35f089de902cec16e4a2c6a450834/external/grpc/BUILD:485:1: C++ compilation of rule '@grpc//:grpc_unsecure' failed: gcc failed: error executing command /gpfs/home/chaowei/software/gcc-6.1.0/bin/gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -fPIE -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 ... (remaining 39 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
external/grpc/src/core/compression/message_compress.c:41:18: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
                  ^
compilation terminated.
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 71.894s, Critical Path: 58.77s

I also compile python3 from source in my computer. And when I import zlib, it works fine.
Here is the information of my system:
[chaowei@mgt ~]$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago)
[chaowei@node07 gcc-6.1.0]$ gcc -v
built-in specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/gpfs/home/chaowei/software/gcc-6.1.0/libexec/gcc/x86_64-pc-linux-gnu/6.1.0/lto-wrapper
Target：x86_64-pc-linux-gnu
Configured with：./configure --prefix=/gpfs/home/chaowei/software/gcc-6.1.0
Thread model：posix
gcc version 6.1.0 (GCC)

I wonder  why I get zlib.h error  when I only build tensorflow with GPU support.

You need zlib1g**-dev** installed.

@hholst80 I have tried yum install zlib-delve before and it showed zlib-devel has been installed

@333caowei: Where is your zlib.h?

Closing as duplicate of #2536, which was filed later but seems to have a more useful thread.


Is installing spyder from spyder-ide conda channel recommended?

Hi,
I noticed that spyder 5.2 is missing from spyder-ide conda channel but is present on conda-forge. Is spyder-ide channel still supported / recommended?

No, the spyder-ide channel is not maintained anymore.

Please use conda-forge instead.

Ok, thanks!

Clarification please, is ... https://anaconda.org/anaconda/spyder ... still being maintained? albeit, it is slow.

Yes, it is, although not by us but by Anaconda, the company.