Conversation Store for Message Threads

Description
Describe your issue here.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x ] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x ] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[ x] I've read and agree to the Code of Conduct.
[ x] I've searched for any related issues and avoided creating a duplicate issue.

I have a question regarding conversation stores for Slack Bolt apps. It appears that the conversation context is stored for an entire channel. Is this correct? If so, is there any way to maintain a conversation context for specific threads within a channel?
For example, User A mentions my bot in a channel, and the bot replies to that message in a new thread. User B mentions the bot in the same channel, and the bot starts a new thread for that conversation. I need to be able maintain two separate conversation contexts for the two separate threads. Is this possible?
Thanks for any assistance!

Hi @captainsham, thanks for asking the question.

It appears that the conversation context is stored for an entire channel. Is this correct?

Yes, it is.

If so, is there any way to maintain a conversation context for specific threads within a channel?

There is no built-in feature for this but you can store anything per a conversation. You can use your own data structure for managing multiple threads in a conversation. I would suggest checking the following example code to learn how you can use the provided utility method context.updateConversation().

https://github.com/slackapi/bolt-js/blob/%40slack/bolt%403.12.1/examples/hubot-example/script.js#L269-L297

For example, User A mentions my bot in a channel, and the bot replies to that message in a new thread. User B mentions the bot in the same channel, and the bot starts a new thread for that conversation. I need to be able maintain two separate conversation contexts for the two separate threads. Is this possible?

As long as your app code manages the two threads, this should be feasible. You can use thread_ts value as an identifier for each.
Checking to the following resources would be helpful as well:

https://slack.dev/bolt-js/concepts#conversation-store
https://github.com/slackapi/bolt-js/blob/%40slack/bolt%403.12.1/examples/hubot-example/script.js#L269-L297
https://github.com/slackapi/bolt-js/blob/%40slack/bolt%403.12.1/src/conversation-store.ts
https://github.com/slackapi/bolt-js/blob/%40slack/bolt%403.12.1/src/helpers.ts#L31-L102

I hope this was helpful to you.

Since we've already provided answers to the questions here, let us close this issue now. Whenever you have anything further to discuss, please feel free to write in or create a new issue for it!


Support HostPath Volume for Prometheus Storage

Thanks for opening this PR!
I'm not sure hostpath is a good idea for a Prometheus server, it's mainly meant for daemons that need actual access to the host filesystem/mount-namespace. What speaks against using local volumes? You get the same I/O characteristics but none of the usability and security problems.

It will be very useful for picking up secret files e.g. certificates or keys form the host file system, such as in the case of etcd client TLS creds when monitoring etcd.

How about this pr? @opsnull
Does prometheus-operator support hostpath as a volume resource now ? @brancz

I find a way to use hostpath,no need change code
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
   name: manual
provisioner: manual
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: prometheus-ptest-db-prometheus-ptest-0
  namespace: monitoring
spec:
  accessModes:
  - ReadWriteOnce
  dataSource: null
  resources:
    requests:
      storage: 10Gi
  storageClassName: manual
  volumeMode: Filesystem
---
kind: PersistentVolume
apiVersion: v1
metadata:
  name: prometheus-ptest-db-prometheus-ptest-0
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/data/p8stest"

you create path "/data/p8stest" on host
then,create promethues
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  labels:
    prometheus: p8s
  name: ptest
  namespace: monitoring
spec:
  baseImage: harbor.geniusafc.com/quay.io/prometheus/prometheus
  version: v2.5.0
  storage:
    volumeClaimTemplate:
      spec:
        storageClassName: manual

@metalmatze  if we can support hostpath ,it may be easy to use (many producted k8s cluster version< 1.14, it not easy to use local volume)

Hi Guys

for MTLS how do we setup volumes to the host paths where my certificates are located.


Ignored NIST statistical tests with NO_NIST_STS

Unfortunately, NIST STS requires access to genuine randomness source and tends to fail in Docker environments where /dev/random is not accessible. That's why we have an option to disable NIST STS by setting CIRICLE_TEST (sic!) preprocessor variable.
Let's improve and cleanup this mechanism a bit.

Use more obvious NO_NIST_STS environment variable instead of fiddling with CFLAGS directly
Admittedly, existing flag is more general as it allows to compile out any code when building on CI. However, it has never been used for anything other than NIST STS.

Do not compile "assess" test runner if we're not going to use it

Move NIST STS configuration to soter.mk

@shadinua I don't know for sure, but I'm pretty much convinced that our internal CI system sneakily uses CFLAGS=-DCIRICLE_TEST somewhere (though it has nothing to do with CircleCI). It should be replaced with NO_NIST_STS=1 when this gets merged.


[New Port Request] gperf tool

Library name:
gperf tool
Library description:
GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only.
Source repository URL:
https://git.savannah.gnu.org/gitweb/?p=gperf.git
Project homepage
https://www.gnu.org/software/gperf/
Anything else that is useful to know when adding (such as optional features the library may have that should be included):
gperf is a code-generating tool. It produces C code file function from a given list of strings.

Hi @matwey, thanks for reporting this issue!
gperf has been added as a tool in vcpkg, you can usevcpkg_find_acquire_program (GPERF)to use gperf or find it in VCPKG_PATH/downloads/tools/gperf.
Thanks.

Thank you for the response.
As far as I understand, vcpkg_find_acquire_program (GPERF) supposes that I develop vcpkg port and use portfile.cmake. In my project's CMakeLists.txt I have the following plain line:
find_program(GPERF NAMES gperf)
I would like to have a simple one-line way to install this binary in my development environment. Maybe scripts/buildsystems/vcpkg.cmake could substitute find_program as It does for find_package(boost)?

These tools are used in the port construction process and cannot be used directly outside of vcpkg.
vcpkg's principle of adding ports is to support build generation and not allow download of binary usage.
So you can set CMAKE_PROGRAM_PATH to VCPKG_PATH/downloads/tools/gperf and use find_program to use gperf.

Would it be ok, if there were gperf port building the tool from the source codes?

@matwey Yes, If you do find a way to build gperf, you can add it to vcpkg as a port.


enable std by default

Closes #193.

Er hang on before we do this, I don't think we want to do this by default, gimme a few hours though to get to a computer

@alexcrichton take your time, we should clarify this before the next release but we don't need to do it exactly now. It doesn't block any other work either AFAICT.

Ok I've got some more time now!
So in general enabling a default feature is very difficult to turn off. Cargo will union all features requested for a crate and the crate, when depended on, will by default enable all default features. This means that for you to actually disable the std feature of stdsimd it will require everyone to disable the std feature.
If stdsimd is a widely depended on crate (for example like libc at the extreme) then it's basically impossible to turn off default features as someone will have forgotten that they don't actually need it and they'll leave the default features activated (even though they probably don't need it). If stdsimd is not widely depended on, however, then this probably doesn't matter much as it's far easier to audit dependencies and remove any dependency where we find it.
So in that sense I just wanted to be sure to clarify this and make sure we're making the decision that "yes, stdsimd isn't that widely depended on so we can have default features". I personally think this is a reasonable conclusion (stdsimd is relatively niche and meant for "power users"). Additionally this will be moot when we integrate into libstd... somehow at least!
All in all sorry for the delay! Do y'all agree that this won't be super widely depended on? If so, let's merge!

Do y'all agree that this won't be super widely depended on?

The answer to this question depends on how we want to ship stdsimd; maybe @alexcrichton can clarify this.
Do we need to build stdsimd twice, one for core and one for std ? If so having a std feature makes our lives easier because we can do everything in a single crate, and then by using std we just switch how we build it for core and std.
OTOH if we want to have a core-only library, and then a std-module that depends (and links) the core one, then it makes more sense to have these as different crates. In this case we should remove the std feature before the next release, by removing the dependency on std::os::raw, and splitting the ARM run-time detection support into a different crate.

Ideally we'll have this crate split into two halves and one gets compiled into libcore and the other gets compiled into libstd. Precisely how that works though is... probably interesting. In any case though I don't believe we'll want to recompile everything twice

Ideally we'll have this crate split into two halves and one gets compiled into libcore and the other gets compiled into libstd.

If we do it like that one crate will be no_std and the other crate will require std unconditionally.
So we can add std as a default feature for now, but ideally we should switch to this two crate model before the next release and remove it.


How to bind documentation only to the required assembly

Hello, I am interested in the question of how to link documentation to a specific assembly.
As an C# example
There are two assemblies
Project.Web.dll
Project.Web.Api.dll
Assembly Project.Web.dll connects assembly Project.Web.Api.dll
and in this situation it is necessary to document only the assembly Project.Web.Api.dll.
Thanks in advance for your answers.

One option is to declare your Assembly1 controllers with  API explorer settings attribute:

[ApiExplorerSettings(GroupName= "name1")]

and assembly 2 controllers with another attribute API Explorer settings attribute with different name.
Then you can generate swagger documents per the attribute group:

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("doc-v1", new OpenApiInfo { Title = "name1", Version = "v1" });
    c.SwaggerDoc("doc-v2", new OpenApiInfo { Title = "name2", Version = "v1" });
}

optionally add swagger ui for one or all of them:
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/doc-v1/swagger.json", "name1");
    c.SwaggerEndpoint("/swagger/doc-v2/swagger.json", "name2");
}

you can also ignore the whole type by using: [ApiExplorerSettings(IgnoreApi = true)]

You could also consider hiding things with a schema filter.


Bumping version number without npm in release Workflow

Current dependencies on/for this PR:

main

PR #280   👈

This comment was auto-generated by Graphite.


SaaS Fulfilment API always returns 403 Forbidden while Resolving Subscription

I have followed the below link and registered an app in Azure AD
https://docs.microsoft.com/en-us/azure/marketplace/partner-center-portal/pc-saas-registration
and published my SaaS app,and while Resolving the Subscription i am always getting 403 Forbidden,mentioned in the below link
https://docs.microsoft.com/en-us/azure/marketplace/partner-center-portal/pc-saas-fulfillment-api-v2
Following steps have been followed

I have registered in App Registration in Azure AD.
Getting the tokens from it and using it in Authorization Header.
Getting the marketplace Token and using it.

I am getting 403 Status code.
I have followed through entire document,am not sure what's going wrong here?
EDIT:- This thread also speaks the same thing - https://social.msdn.microsoft.com/Forums/en-US/e1907634-0d41-45dd-b561-050e6166d639/creating-azure-ad-token-for-marketplace-authentication?forum=DataMarket

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

ID: 426842c5-260f-9180-e394-12b470163468
Version Independent ID: c781230d-4992-5e45-7e13-10d89f97a086
Content: Register a SaaS application
Content Source: articles/marketplace/partner-center-portal/pc-saas-registration.md
Service: marketplace
GitHub Login: @v-miclar
Microsoft Alias: evansma

@azhar787 Thanks for bringing this to our notice. We are investigating into the issue and will update you shortly.

@azhar787, As per the HTTP error 403: i.e Forbidden or Unauthorized. The authentication token wasn't provided or is invalid, or the request is attempting to access an acquisition that doesn’t belong to the current publisher.
Can you confirm if the token is being issued for the following resource "62d94f6c-d599-489b-a797-3e10e42fbe22". Also make sure you are doing a POST to the following endpoint "https://login.microsoftonline.com/{tenantId}/oauth2/token" and the contents in the body section is URLEncoded (x-www-form-urlencoded).
If the token issued (Access Token) by the token endpoint is not issued to the correct resource, then when the token is submitted to the Application, it fails to recognize the token and hence denies it. Which then throws a HTTP Error 403.

@souravmishra-msft
I tried everything in the world,but i didn't tried putting resource as "62d94f6c-d599-489b-a797-3e10e42fbe22". and was putting https://graph.microsoft.com.
Can you tell me what resource that GUID belongs to?
I have activated the Subscription.
But now i have activated the subscription,but where can i find whether the customer has charged or not? Because i am not able to see anything in customer Cost management section.

@azhar787, This guide "62d94f6c-d599-489b-a797-3e10e42fbe22" is the resource id for the resource "Marketplace".
You can choose to use the following PS-Cmdlet to view the consumption:
Get-UsageAggregates -ReportedStartTime "6/10/2019" -ReportedEndTime "6/11/2019" -ShowDetails $true
Also using the Cost Management + Billing >> Cost Management >> Cost Analysis  section in the azure portal

@souravmishra-msft
Thanks!!
But i am not able to see anything in the Cost Management or Invoices section. As far as my understanding goes,the Invoice will get generated in next month billing cycle? So then will i be able to see it?

@azhar787, yes, you are correct. You can check once next month with both the options mentioned in my previous response.
We would be closing this thread for now. But feel free to reach out to us in case you have any more queries around this.

In the Salesforce job market you can find a salesforce partner, the commonly recognized developer- skill hierarchy applies. The career path typically looks like this: a person starts with the Junior level, then the Middle one comes with the experience. And it requires full experience in the area of specialization and related ones to become a Senior developer.


Issues with two accounts

I have two subaru accounts linked to the Subaru integration. Initially i had no issues but after the first day I can only have a single account active at a time. The other one spits out errors and warningins into the log. Is there a way to fix this or do i need to put both vehicles into a single account?
config_entry-subaru-c4acdbe7369a44b0b47f105e10849444.json
`Logger: subarulink.controller
Source: components/subaru/init.py:131
First occurred: 10:04:43 AM (1 occurrences)
Last logged: 10:04:43 AM
HTTP 500 received when fetching vehicle information from Subaru`
`Logger: homeassistant.components.subaru
Source: helpers/update_coordinator.py:344
integration: Subaru
First occurred: 2:23:09 AM (3 occurrences)
Last logged: 9:29:37 AM
Error fetching subaru_data data: Remote query failed. Response: {'success': False, 'errorCode': None, 'dataName': 'remoteServiceStatus', 'data': {'serviceRequestId': None, 'success': False, 'cancelled': False, 'remoteServiceType': None, 'remoteServiceState': None, 'subState': None, 'errorCode': None, 'result': None, 'updateTime': None, 'vin': None, 'errorDescription': None}}
Error fetching subaru_data data: HTTP 500: {"httpCode":500,"errorCode":"error","errorMessage":"java.lang.NullPointerException - null"} RequestInfo(url=URL('https://mobileapi.prod.subarucs.com/g2v29/service/g2/remoteEngineStartSettings/fetch.json'), method='GET', headers=<CIMultiDictProxy('Host': 'mobileapi.prod.subarucs.com', 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; Android SDK built for x86 Build/QSR1.191030.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.185 Mobile Safari/537.36', 'Origin': 'file://', 'X-Requested-With': 'com.subaru.telematics.app.remote', 'Accept-Language': 'en-US,en;q=0.9', 'Accept-Encoding': 'gzip, deflate', 'Accept': '/', 'Cookie': 'JSESSIONID=0017D18A188C394ABB5C95AFAA7248DC; X-Oracle-BMC-LBS-Route=edfba615976e065ee5f0d8b86c4407c3604656770c29ab635095bdb11c08799bcd37b371e5d984b7')>, real_url=URL('https://mobileapi.prod.subarucs.com/g2v29/service/g2/remoteEngineStartSettings/fetch.json'))
Error fetching subaru_data data: aiohttp.ClientConnectionError`

Thank you for the help stboch! Didn't even know that was possible. I have both cars added now under one user but one of the cars is still giving errors for everything. Says there is no vin and won't update any of the information

It keeps coming back with an error saying invalid pin but I changed the pin on both cars to be the same and deleted the integration and readded everything


Use relative path for url_for

The FastAPI url_for comes from Starlette and produces an absolute URL, but that URL isnt accurate when youre behind a proxy like Codespaces. This overrides it to use relative URLs instead.
See https://github.com/encode/starlette/issues/843
Fixes https://github.com/Azure-Samples/azure-fastapi-postgres-flexible-aca/issues/13

This PR also adds an init.py file that was missing


Update the repo description

how a bout this?

A Dockerized PHP Microservice application to resize and crop images on the fly. Get optimized images with MozJPEG, WebP or PNG using ImageMagick to do Face detection, cropping, Face Blurring, Rotation and many other options. Runs inside a Docker container for easy to deployment. Abstract storage based on FlySystem in order to store images on any provider (local, S3,...).

and this?

A Dockerized Microservice, a PHP application to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).

Awesome! Go for it

Done


add toString()

@ryanguill do you mind doing a rebase?

I've screwed this branch up somehow, so will have to redo these changes.  I'll wait till you merge the other PR and then ill reimplement these changes and send you a new PR.


Button/modifier key to quickly unselect all but one engines

A common use case is seeing what the results of one specific engine are, which currently requires manually unselecting all other engines. There should either be a button to unselect all, or something like Alt+click unselecting all but the clicked checkbox.

You can unselect all easier now with groups and the heading checkboxes, but I like the idea of alt+click too.

Current solution seems fine :)


How can the generated waveform be saved ?

Hello,
I didn't find a consitant documentation for saving the generated waveform data.
I've tried
  wavesurfer.on('ready', function () {                 // the width of the waveform in double pixels                 var width = wavesurfer.getDuration() * wavesurfer.params.minPxPerSec * wavesurfer.params.pixelRatio;                 var dataJSON = wavesurfer.backend.getPeaks(width);                 console.log (dataJSON);  });
But its empty...
What is the best method to do this exportPCM ? backend.getpeaks() ?
Best
P.

@the1the  What are you trying to save exactly the data behind the waveform or an image of the waveform?

I want to save the waveform peaks as JSON (to load it the next time).

I don't think we have an export function for that, maybe @mspae has an idea.

@the1the you can use
var peaks = object.backend.getPeaks(960);
... where object is your wavesurfer object.
960 means 1920 long array so it is enoufg from small to widescreen if the waveform is meant to not be zoomed.
Then, just wrap this in a AJAX request to generate your json file. You can add extra infos in it (I personally add audio length and audio URL).

Thanks for the feedback.


[IRGenSIL] Force early materialization of liverange-extended values

At -Onone, we may opt to extend the liverange of a value by inserting
fake uses of the value in blocks which postdominate its def. This keeps
values available throughout the entirety of a function when stepping
through it in a debugger.
This patch makes it so that we also insert a fake use at the start of a
value's lifetime. This forces early materialization of the value, i.e it
becomes available for inspection in a debugger as soon as it's defined.
This is useful when a value has no uses except fake uses. In such cases,
ISel may (correctly!) decide to materialize the value at the end of its
scope. This is really unintuitive and unhelpful for users, because you
need to be done stepping through the value's scope before you can
inspect it.
For the same reasons, forcing early materialization is also useful when
a value does have uses. Consider:
let d = ...
print("Here is the value of d: (d)")
Without early materialization, if you set a breakpoint on the line
containing the print, you would not be able to inspect "d". That's
because "d" would be materialized right before string interpolation
happens, which is after the breakpoint PC.
rdar://38465084
(cherry picked from commit 3bdcb00)

https://github.com/apple/swift-lldb/pull/447
@swift-ci test


Diff G1GC with ParallelGC

* What went wrong:
Could not open cp_init generic class cache for initialization script '/home/runner/.gradle/init.d/build-result-capture.init.gradle' (/home/runner/.gradle/caches/7.5.1/scripts/1e64q25zpdl12rebgg3luboth).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 63

BUILD SUCCESSFUL in 5m 45s
266 actionable tasks: 240 executed, 26 from cache

Publishing build scan...
https://gradle.com/s/vuutm7n3ey2ok

BUILD SUCCESSFUL in 5m 17s
266 actionable tasks: 240 executed, 26 from cache
Publishing build scan...
https://gradle.com/s/hedibzvikrwhy

BUILD SUCCESSFUL in 5m 37s
266 actionable tasks: 240 executed, 26 from cache

Publishing build scan...
https://gradle.com/s/b3gkd6gz3vzsu


Typo (duplicate "named")

Thank you for your contribution! We will take a look at this as soon as possible.

This now has a corresponding ticket at https://clusterhq.atlassian.net/browse/FLOC-2611

Thanks zyegfryed


Switch builder images to use gcc images as base for any fallback target

Motivation
It would be much simpler for us to rely on the official gcc images: https://hub.docker.com/_/gcc.
Feature
Official gcc images are multi platform; support x86_64, arm64, arm32 and s390x.
Moreover, they are official, therefore they won't suddenly disappear.
Using them, we could drop the arch from our builder images regex, as all our builder images would be multiarch.
Moreover, we could cover any gcc version we want; finally, we would also have a single image for each gcc version (no more a single image that provides a list of gcc versions!)
I'd wait for #258 and the PR by Aldo to port the Images listing code from docker client to falcoctl.
WDYT @EXONER4TED @alacuku @Lowaiz @dwindsor ?

Considering that @alacuku will already port the builder images to correctly use a docker repository, in the end we would have: falcosecurity/docker-builder docker repository, with tags like:

any_gcc4.9.1-latest
any_gcc4.9.1-master
any_gcc6.0.0-commithash
centos_gcc4.8.5-latest

We will still need to support specific images (ie: images that do not rely on he official gcc ones but instead use distro-specific one, like the driverkit-builder-centos-x86_64_gcc4.8.5) because some drivers absolutely want their distro gcc to build.
Given that we will still support distro-specific images, i am not sure whether we want to retain the architecture field in the builder images regex name, as distro-specific images could be arch-specific.

Given that we will still support distro-specific images, i am not sure whether we want to retain the architecture field in the builder images regex name, as distro-specific images could be arch-specific.

How many distros need a distro-specific image?

For now, we only had one case (the aforementioned centos one).
But we cannot tell it in advance unfortunately. Only time will tell!

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale


Conda pip error and how to fix it

On my version of pip, the environment creation is crashing with the following error:
AttributeError: 'FileNotFoundError' object has no attribute 'read'
According to this SO answer, the issue is because of pip interface change and one needs to remove 'file:' or to  provide an absolute path to requirements.txt
  - pip:
    - -r requirements.txt

Thank you! We fixed it in https://github.com/zju3dv/LoFTR/commit/fc4871e9abb2e83b96173f4a88fe79dcc42771fc .


initialSlide not working

Hi,
So the idea of my slider is to have 4 sliders working together in sync to allow a sort of rolling effect.
I want sliders 1 2 & 3 to all start at different slides.
3 & 4 will be the same.
See here: Click me pls
However, when i set the initialSlide of sliders 1 & 2 (These are the faded out sliders to the left of the slider, the initial index will not apply.
However if i change the initialSlide of the main slider (Slider3) this updates just fine. Can you not have sliders synced and have different initialSlide's on each of them?
This is my code (react)
class FeaturedNews extends React.Component {
    initialiseSlider = () => {
        const slider1 = this.slider1;
        const slider2 = this.slider2;
        const slider3 = this.slider3;
        const slider4 = this.slider4;

        const sharedSliderSettings = {
            speed: 500,
            loop: true,
            direction: 'vertical',
            simulateTouch: true,
            snapOnRelease: true,
            mousewheel: true,
            centeredSlides: true,
            spaceBetween: 36,
            slidesPerView: 1.5,
        }

        const swiper1 = new Swiper(slider1, {
            ...sharedSliderSettings,
            initialSlide: 5,
        });

        const swiper2 = new Swiper(slider2, {
            ...sharedSliderSettings,
            initialSlide: 2,
        });

        const swiper4 = new Swiper(slider4, {
            speed: 500,
            slidesPerView: 1,
            loop: true,
            virtualTranslate: true,
            loopFillGroupWithBlank: true,
            initialSlide: 1,
        });

        const swiper3 = new Swiper(slider3, {
            ...sharedSliderSettings,
            controller: {
                control: [
                    swiper1,
                    swiper2,
                    swiper4,
                ],
                by: 'container',
            },
            pagination: {
                el: '.swiper-pagination',
                clickable: true,
            },
            freeModeSticky: true,
            freeMode: true,
            freeModeMomentumRatio: 0,
            freeModeMomentumVelocityRatio: 0,
            initialSlide: 1,
        });
    }

    render() {
        const { content } = this.props;

        return (
            <Div100vh>
                <Jacket>
                    <Row isExpanded isCollapsed isNotCollapsedOnLarge>
                        {/* Inactive Slider 1 */}
                        <Column showOnLarge large={4} pullOnLarge={2}>
                            <InactiveSlider ref={slider1 => (this.slider1 = slider1)}>

                                    {content.map((block, index) => {
                                        const src = block.node.featuredImage.fluid;
                                        const slug = '/news/' + block.node.slug;

                                        return (
                                            <Slide key={index} fade to={slug} className="swiper-slide">
                                                <Image>

                                                </Image>
                                            </Slide>
                                        );
                                    })}

                            </InactiveSlider>
                        </Column>

                        {/* Inactive Slider 2 */}
                        <Column small={4} pullOnSmall={1} large={4} pullOnLarge={2}>
                            <InactiveSlider ref={slider2 => (this.slider2 = slider2)} reversed>

                                    {content.map((block, index) => {
                                        const src = block.node.featuredImage.fluid;
                                        const slug = '/news/' + block.node.slug;

                                        return (
                                            <Slide key={index} fade to={slug} className="swiper-slide">
                                                <Image>

                                                </Image>
                                            </Slide>
                                        );
                                    })}

                            </InactiveSlider>
                        </Column>

                        {/* Interactive Slider 3 */}
                        <Column small={8} large={4} pullOnLarge={2}>
                            <ActiveSlider ref={slider3 => (this.slider3 = slider3)}>

                                    {content.map((block, index) => {
                                        const src = block.node.featuredImage.fluid;
                                        const { date } = block.node;
                                        const slug = '/news/' + block.node.slug;

                                        return (
                                            <Slide key={index} fade to={slug} className="swiper-slide">
                                                <Image>

                                                </Image>

                                                <Date>{moment(date).format('D • MM • Y')}</Date>
                                            </Slide>
                                        );
                                    })}

                                <Paging className="swiper-pagination"></Paging>
                            </ActiveSlider>
                        </Column>
                    </Row>

                    <TitleSliderJacket>
                        <Row isExpanded>
                            <Column small={12} large={4} pushOnLarge={1}>
                                <TitleSlider ref={slider4 => (this.slider4 = slider4)}>

                                        {content.map((block, index) => {
                                            const { title } = block.node;
                                            const { slug } = block.node;

                                            return (
                                                <TitleSlide key={index} className="swiper-slide">
                                                    <Link to={slug}>
                                                        <Title light>{title}</Title>
                                                    </Link>
                                                </TitleSlide>
                                            )
                                        })}

                                </TitleSlider>
                            </Column>
                        </Row>
                    </TitleSliderJacket>
                </Jacket>
            </Div100vh>
        );
    }

    componentDidMount() {
        this.initialiseSlider();
    }
}

export default FeaturedNews;

Had a very similar issue like this and I put it down to swiper doing some of priority thing with syncing. Unsure though. Hoping @nolimits4web can help you on that.

Used a different slider in the end @aaadamgo as got no help here...

However, when i set the initialSlide of sliders 1 & 2 (These are the faded out sliders to the left of the slider, the initial index will not apply.

I confirm it seem to be no way to set the initial index. That parameter, initialSlide, wont work.

It did work for me, but only with centeredSlides set to true... I would still like to have the slides not centered but already set an active slide (which also has some custom css)

@joebentaylor1995 what slider did you end up with? I'm looking for a decent react swiper, the ones out there seems unused or react-slick which includes everything even jquery >. {
    const [swiperController, setSwiperController] = useState<SwiperCore>();
    // Do my slide settings and calculations
    // ...
    const swiper = (
        <Swiper onSwiper={setSwiperController} {...settings}>
            {slides}
        </Swiper>
    );
    swiperController?.slideTo(middle);
    return swiper;
}

I hope it can help someone fiddling with Swiper.

It works for me if cssMode=false

@efriandika is it true by default?

the default value is false. for my cases, previously I always used cssMode,
When I removed the cssMode, initialSlide works as expected and other features also works including virtual slide, etc..
you can find here what feature which is not supported while u are using cssMode=true

After importing styles, initialSlide works great.

After importing styles, initialSlide works great.

initialSlides works fine if the element is visible before you initialise it.
See here: https://codesandbox.io/s/swiper-default-forked-s9lzu - read the comments, if you set the #mySwiper style to display: block before initializing it, the initialSlide will be working correctly.
What I'm trying to figure out myself now is how to get rid of the animation between slide 0 and initialSlide when using eg. in bootstrap modal: https://codesandbox.io/s/swiper-boostrap-modal-initialslide-repro-oz02z
No matter what speed or callback I set there's still an animation clearly visible. If anyone has any ideas I'd be very welcome.

Check this below implementation
My Swiper Component receiving initialSlide from the parent component, so the way I am updating the new initialState is
const SwipeView = ({
  list = [],
  swiperConfig = defaultSwiperConfig,
  initialSlide = 0,
  onSlideChange = () => {},
}) => {
  const swiper = React.useRef(null);

  const setSwiper = (newSwiper) => {
    swiper.current = newSwiper;
  };

  React.useEffect(()=>{
    if(swiper.current) {
      swiper.current.slideTo(initialSlide)
    }
  }, [initialSlide]);

  return (
    <Swiper
      slidesPerView={swiperConfig.slidesPerView}
      centeredSlides={swiperConfig.centeredSlides}
      spaceBetween={swiperConfig.spaceBetween}
      initialSlide={initialSlide}
      onSlideChange={({activeIndex}) => onSlideChange(activeIndex)}
      onSwiper={setSwiper}
    >
      {child}
    </Swiper>
  );
};


Add support for some Tiled features: class properties and object alignment

Class properties: These are properties in Tiled that are themselves dicts of additional properties. However, a basic dict cannot be used because class properties also have a "type" that is not a field.
Object alignment: Where the positioning and rotation anchor for a tile object is located.
It looks like you have more code-related commits on master than on development, so I'm creating this PR for master. Let me know if I should do development instead.

Hey thanks for the Pull Request. I will get this merged into development this week. There are a few things I wanna add to go along with(adding those features to the JSON parser and adding some extra tests for it). Class properties were somewhere on my to do list so it’ll be nice to have them done.
I can handle those extra things in development after merging though.

I'm gonna go ahead and merge this in but I'll be doing some more work on this week to add support for custom enums as well, and adding in JSON support and tests.
Once full support for classes and enums is done I'll push a release out with those features.


Git remote site versions

UX

[x] display remote site versions
[ ] push dialog try merge
[ ] push dialog overwrite
[ ] push dialog create branch (and PR)
[ ] quick sync button on content page
[ ] sync or push/pull buttons

Implementation

[ ] display remote site versions
[ ] checkout special version


ReferenceError: CHILD_WINDOW_ENFORCE_LOG_LEVEL is not defined

I started getting this error after upgrading to 6.0.54
 ReferenceError: __CHILD_WINDOW_ENFORCE_LOG_LEVEL__ is not defined
 at Object../src/component/child/index.js (node_modules/xcomponent/dist/xcomponent.js:4922:13)
My implementation is fairly straigtforward:
const baseUrl = `${window.location.protocol}${window.location.host}`
const url = `${baseUrl}/shop-list/shoplist-button`
xcomponent.create({ tag, url })

It worked just fine before the upgrade

Sorry about this, looks like it got missed in an upgrade. Can you try with the latest version?


"Nines" bug fix

What bug does this PR fix?

There's a bug where iterations of three 9s (999, 999999, 999999999, etc) should round up to the next millname (999999 should become 1M, but displays 1000k).
The cause was usage of the math.floor() when determining which prefix to append to inputted numbers. Floor rounds down to the nearest whole integer, forcing numbers that should be rounded up have one less millidx than they should at the time of string formatting. This has been replaced with python's native round() function, and has maintained the ability to use precision as an input parameter.
drop_nulls logic has also been preserved in such a way that it happens during string formatting, thus the removal of remove_exponents() function which is unneeded with the current changes.
prettify() logic remains untouched

How was this PR tested?

Ran series of millify() calls on numbers with known bugged outputs, and verified they now round up as intended.
Ran series of millify() calls on non-bugged numbers to verify they still work as intended, toggling the various outputs and testing those as well
NOTE: using a precision= value of 3 or higher still produces 1000.000k instead of 1.000M. However, it's in my personal opinion that, when using this module, users shouldn't need/want more than two decimal places showing in their string output anyway. If these changes are accepted, this note should probably go in the README / patch notes. Further, if anyone can figure out how to preserve the correct millname while using a precision value of 3 or higher, I haven't been able to yet but am open to all ideas!

Related Ticket

Closes #1
NOTE: not sure how versioning works for this project, but I've left version = 0.1.1 as-is in this PR. Should these changes be accepted, you can determine if this needed versioned up to 0.1.2 or left alone! Thanks for reading, and kind regards!

Screenshots

before (with bug):

after (bug fixed):

Open to any / all feedback or edits from you! I love this module and use it heavily in my projects, so I appreciate your consideration.

@azaitsev, could you please consider merging this PR and deploying a new version of millify on PyPI? I would like to use this improved version of millify, but my organization requires packages (and their updates) to be on PyPI.

@MitchAngenent sorry, missed this PR. I think we need to add some tests before merging.

Hi @azaitsev, I created unit tests that test @weefatboi's work, and the existing functionalities. See PR #3. Could you please look into this PR, and if agreed, merge it and publish a new version of millify to PyPI?

@azaitsev Any news about this?


Tests

We need to add tests, likely adopting mocha again.

I can take a look at this.
I love me some mocha. :coffee:

Ditto.

For reference, the transformime tests are all in mocha.


15 delete contact UI

fixes #15

@navaneethsdk
Kindly, look from the latest PR #18
I have  already made those changes.
Thanks.


ServerErrorHandler - clickhouse 23.8

Hello,
I am facing an issue that i don't know it's coming from, i tried to investigate to find what causing this issue.
I am using clickhouse with zookeeper.
Here are how i did to install both of them:
Zookeeper:
helm upgrade --install zookeeper \
    --set zookeeper.enabled=false \
    --set persistence.size=100Mi \
    --set replicaCount=1 \
    --set service.sessionAffinity=ClientIP \
    --set tls.client.enabled=false \
    --version 11.0.0 \
    oci://registry-1.docker.io/bitnamicharts/zookeeper

**clikchouse-operator**

helm repo add clickhouse-operator https://docs.altinity.com/clickhouse-operator/
helm repo update
helm upgrade --install clickhouse-operator clickhouse-operator/altinity-clickhouse-operator \
    --set secret.username=xxxx\
    --set secret.password=xxxxx \

**Install clickhouse**

apiVersion: "clickhouse.altinity.com/v1"
kind: "ClickHouseInstallation"
metadata:
  name: "chi"
spec:
  configuration:
    clusters:
      - name: "easi"
        layout:
          shardsCount: 1
          replicasCount: 1
        templates:
          podTemplate: clickhouse-stable
          dataVolumeClaimTemplate: clickhouse-data-volume
          serviceTemplate: svc-template
    zookeeper:
        nodes:
        - host: zookeeper-headless
          port: 2181
    users:
        xxxxxreadonly/profile: readonly
        xxxxx/password: xxxxxxxx
        xxxxx/profile: default
        xxxxx/quota: default
        xxxxx/networks/ip:
            - <IP_ADDRESS>/0
            - ::/0
    profiles:
      xxxxxreadonly/readonly: "1"
      # server level settings can be set here
      xxxxx/data_type_default_nullable: 1
      xxxxx/insert_distributed_sync: 1
      xxxxx/mutations_sync: 2
      xxxxx/parallel_distributed_insert_select: 2
      xxxxx/distributed_product_mode: allow
    files:
      config.d/log_rotation.xml: |-
        <clickhouse>
            <logger>
                <level>information</level>
                <log>/var/log/clickhouse-server/clickhouse-server.log</log>
                <errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
                <size>500M</size>
                <count>5</count>
                <console>1</console>
            </logger>
        </clickhouse>
  templates:
    podTemplates:
    - name: clickhouse-stable
      spec:
        # securityContext:
        #   runAsUser: easi
        #   runAsGroup: easi
        #   fsGroup: easi
        containers:
        - name: clickhouse
          image: clickhouse/clickhouse-server:23.8
          ports:
            - name: http
              containerPort: 8123
            # - name: client
            #   containerPort: 9998
            - name: tcp
              containerPort: 9000
            - name: interserver
              containerPort: 9009
          resources:
            requests:
              memory: "1024Mi"
              cpu: "500m"
            limits:
              memory: "6Gi"
              cpu: "1000m"
          securityContext:
            allowPrivilegeEscalation: false
            # readOnlyRootFilesystem: false
    volumeClaimTemplates:
      - name: clickhouse-data-volume
        spec:
          storageClassName: gp2-retain-immediate
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 2Gi

The following error occurs twice every 5 minutes:
2023.11.29 15:56:54.234040 [ 47 ] {} <Error> ServerErrorHandler: Code: 101. DB::NetException: Unexpected packet from client (expected Hello, got 22). (UNEXPECTED_PACKET_FROM_CLIENT), Stack trace (when copying this message, always include the lines below):

2023.11.29 15:56:54.257020 [ 47 ] {} <Error> ServerErrorHandler: Code: 101. DB::NetException: Unexpected packet from client (expected Hello, got 22). (UNEXPECTED_PACKET_FROM_CLIENT), Stack trace (when copying this message, always include the lines below):

2023.11.29 16:01:54.335315 [ 47 ] {} <Error> ServerErrorHandler: Code: 101. DB::NetException: Unexpected packet from client (expected Hello, got 22). (UNEXPECTED_PACKET_FROM_CLIENT), Stack trace (when copying this message, always include the lines below):

2023.11.29 15:56:54.257020 [ 47 ] {} <Error> ServerErrorHandler: Code: 101. DB::NetException: Unexpected packet from client (expected Hello, got 22). (UNEXPECTED_PACKET_FROM_CLIENT), Stack trace (when copying this message, always include the lines below):

I tried to look up for this problem and didn't find anything helpul.
I tried to understand also the source code of clickhouse but without success:
https://github.com/ClickHouse/ClickHouse/blob/4f3204b8f193edbf752510c79cc2c6a2ff3902ec/src/Server/TCPHandler.cpp#L1397
if (packet_type != Protocol::Client::Hello)
    {
        /** If you accidentally accessed the HTTP protocol for a port destined for an internal TCP protocol,
          * Then instead of the packet type, there will be G (GET) or P (POST), in most cases.
          */
        if (packet_type == 'G' || packet_type == 'P')
        {
            writeString(formatHTTPErrorResponseWhenUserIsConnectedToWrongPort(server.config()), *out);
            throw Exception(ErrorCodes::CLIENT_HAS_CONNECTED_TO_WRONG_PORT, "Client has connected to wrong port");
        }
        else
            throw NetException(ErrorCodes::UNEXPECTED_PACKET_FROM_CLIENT,
                               "Unexpected packet from client (expected Hello, got {})", packet_type);
    }

Please if you have any suggestion for me, that's would be great.
Thanks in advance
clickhouse-logs - Copie.txt

could it be your cron client script which used wrong port for connection?

could you share?
kubectl get svc --all-namespaces -l clickhouse.altinity.com/chi

Hello,
Thank you for your response, here is my output :
kubectl get svc --all-namespaces -l clickhouse.altinity.com/chi
NAMESPACE    NAME               TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                      AGE
clickhouse   chi-chi-easi-0-0   ClusterIP   None         <none>        9000/TCP,8123/TCP,9009/TCP   46h

hm, looks weird, clickhouse-operator should create one LoadBalancer service
kubectl get scv -n clickhouse?

Yes that's true,
NAMESPACE    NAME               TYPE           CLUSTER-IP      EXTERNAL-IP                                                             PORT(S)                         AGE
clickhouse   chi-chi-easi-0-0   ClusterIP      None            <none>                                                                  9000/TCP,8123/TCP,9009/TCP      46h
clickhouse   clickhouse-chi     LoadBalancer   <IP_ADDRESS>   1fd0841df98e471e8fa8452ab5bf915e-886836458.eu-west-2.lbu.outscale.com   8123:30722/TCP,9000:32513/TCP   46h

i attached a log file in the first description, but here is the latests logs:
2023.11.30 08:31:54.231034 [ 377 ] {} <Error> ServerErrorHandler: Code: 101. DB::NetException: Unexpected packet from client (expected Hello, got 22). (UNEXPECTED_PACKET_FROM_CLIENT), Stack trace (when copying this message, always include the lines below):
0. DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000000c646337 in /usr/bin/clickhouse
1. DB::NetException::NetException<unsigned long&>(int, FormatStringHelperImpl<std::type_identity<unsigned long&>::type>, unsigned long&) @ 0x0000000013162677 in /usr/bin/clickhouse
2. DB::TCPHandler::runImpl() @ 0x00000000131533f2 in /usr/bin/clickhouse
3. DB::TCPHandler::run() @ 0x0000000013167619 in /usr/bin/clickhouse
4. Poco::Net::TCPServerConnection::start() @ 0x0000000015b5dc54 in /usr/bin/clickhouse
5. Poco::Net::TCPServerDispatcher::run() @ 0x0000000015b5ee51 in /usr/bin/clickhouse
6. Poco::PooledThread::run() @ 0x0000000015c95687 in /usr/bin/clickhouse
7. Poco::ThreadImpl::runnableEntry(void*) @ 0x0000000015c9395c in /usr/bin/clickhouse
8. ? @ 0x00007efe37cfa609 in ?
9. ? @ 0x00007efe37c1f133 in ?
 (version <IP_ADDRESS> (official build))
2023.11.30 08:31:54.236337 [ 377 ] {} <Error> ServerErrorHandler: Code: 101. DB::NetException: Unexpected packet from client (expected Hello, got 22). (UNEXPECTED_PACKET_FROM_CLIENT), Stack trace (when copying this message, always include the lines below):

0. DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000000c646337 in /usr/bin/clickhouse
1. DB::NetException::NetException<unsigned long&>(int, FormatStringHelperImpl<std::type_identity<unsigned long&>::type>, unsigned long&) @ 0x0000000013162677 in /usr/bin/clickhouse
2. DB::TCPHandler::runImpl() @ 0x00000000131533f2 in /usr/bin/clickhouse
3. DB::TCPHandler::run() @ 0x0000000013167619 in /usr/bin/clickhouse
4. Poco::Net::TCPServerConnection::start() @ 0x0000000015b5dc54 in /usr/bin/clickhouse
5. Poco::Net::TCPServerDispatcher::run() @ 0x0000000015b5ee51 in /usr/bin/clickhouse
6. Poco::PooledThread::run() @ 0x0000000015c95687 in /usr/bin/clickhouse
7. Poco::ThreadImpl::runnableEntry(void*) @ 0x0000000015c9395c in /usr/bin/clickhouse
8. ? @ 0x00007efe37cfa609 in ?
9. ? @ 0x00007efe37c1f133 in ?
 (version <IP_ADDRESS> (official build))

Try to use https://github.com/eldadru/ksniff
and capture and share traffic on 9000 port inside clickhouse pod during error happens
Moreover, if you don't need public access outside your kubernetes cluster
change your chi manifest
spec:
  templates:
    serviceTemplates:
    - name: chi-service-clusterip
      generatedName: clickhouse-{chi}
      spec:
        type: ClusterIP
  defaults:
    templates:
      serviceTemplate: chi-service-clusterip

Do you still have errors in /var/log/clickhouse-server/clickhouse-server.err.log after change service to ClusterIP?
If yes share the full timestamp corresponded with captured traficc

So i did change my manifest

    serviceTemplates:
          - name: chi-service-clusterip
            generateName: clickhouse-{chi}
            spec:
              type: ClusterIP
  defaults:
    templates:
      serviceTemplate: chi-service-clusterip

and now the lb service is gone:

kubectl get svc --all-namespaces -l clickhouse.altinity.com/chi
NAMESPACE    NAME               TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                      AGE
clickhouse   chi-chi-easi-0-0   ClusterIP   None         <none>        9000/TCP,8123/TCP,9009/TCP   2d

the same error message keep occuring even after all that, i've captured a new file, here is the log error files as well as the pcapng file ( to be renamed from txt to pcapng)
log file:
clickhouse-logs.txt
the pcapng file:
clickhouse2.txt

check
kubectl get pod --all-namespaces | grep <IP_ADDRESS>
some of your pod try to use TLS connection to 9000 port instead of Native TCP

So this is what causing this issue, but why it is trying to connect on that port to clickhouse?
kg pods -A -o wide | grep <IP_ADDRESS>
teleport-kube-agent   teleport-kube-agent-0                                             1/1     Running     0               9d      <IP_ADDRESS>    ip-10-0-1-21.eu-west-2.compute.internal   <none>           <none>

Thank you very much @Slach !
Thanks to you we were able to identify who's causing the issue, and know we can fix.
Many thanks again.
Have a nice day and keep up the good work ( and investigation as well :) )!


fix Maybe only refers to a type, but is being used as a value here

Fix the issue related to the comment below.
comment
Thanks @borremosch @dotansimha!
Though if you have something like this (tested with 1.8.2-alpha-6ee6e064.78 ):
type MyType{
  myProperty: [SomeOtherType]
}

Will result in:
@TypeGraphQL.Field(type => \[**Maybe**\<SomeOtherType>], { nullable: true })
myProperty!: Maybe<Array<Maybe\<SomeOtherType>>>;

So ts will say: 'Maybe' only refers to a type, but is being used as a value here.
Originally posted by @groege in https://github.com/dotansimha/graphql-code-generator/pull/2177#issuecomment-544915163

@dotansimha
It seems like the last CI check (The Guild) has failed but I can't check the log or anything.
Could you please check why it failed?

Thank you @leejh3224 !
You can ignore this CI check for now, it's our internal CI process, we'll fix that later this week :)
Regarding this PR, I think maybe you can use this.clearOptional ? it should remove the maybe wrapper for you.

Great! I’ll check that out!

A use ver. 1.17.8 but still getting this problem
Some types generated fine and some did not.
Namely the types in the array
@TypeGraphQL.InputType()
export class CalendarEvent_Bool_Exp {

  @TypeGraphQL.Field(type => [Maybe<CalendarEvent_Bool_Exp>], { nullable: true })
  _and!: Maybe<Array<Maybe<CalendarEvent_Bool_Exp>>>;

  @TypeGraphQL.Field(type => CalendarEvent_Bool_Exp, { nullable: true })
  _not!: Maybe<CalendarEvent_Bool_Exp>;

  @TypeGraphQL.Field(type => [Maybe<CalendarEvent_Bool_Exp>], { nullable: true })
  _or!: Maybe<Array<Maybe<CalendarEvent_Bool_Exp>>>;

  @TypeGraphQL.Field(type => Cart_Bool_Exp, { nullable: true })
  cartItems!: Maybe<Cart_Bool_Exp>;
...

@OLDIN Could you please create a new issue with a minimal reproduction using our CodeSandbox template?

@ardatan ok. issue


simplify code in find_a_system_python

Thanks for recommending PIPENV_DEFAULT_PYTHON_VERSION. I was taking a look at the source, to see how it worked and this function looked ripe for simplifying.
(Not sure if micro contributions like this are always helpful, so feel free to feedback on that :smile: )
Also I see it ignores anything more detailed that x.y.

✨🍰✨


fixed appearance proxy issues

CTAssetsPageView did not apply backgroundColor
CTAssetsViewControllerTransition use page view background color as transitions background color

@ugort Thanks.


[TEP-0089] - Phase 2 Signed TaskRun

Signed-off-by: pxp928<EMAIL_ADDRESS>
Changes
Authors - @pxp928 and @lumjjb
In association with TEP-0089: Non-falsifiable provenance support
This PR is the implementation of Phase 2 of the TEP-0089: Non-falsifiable provenance support
This PR builds on Phase 1 [TEP-0089] - Phase 1 Signed TaskRun Results so that must be merged first.
Phase 2

Implement Signed TaskRuns with SPIRE
Add support for Chains verifying Signed TaskRuns

Continuation of phase 1 of TEP-0089. This PR adds signed TaskRuns by adding an annotation to that TaskRun Status. This only allows for changes from the pipeline controller to be valid. All others interactions will be marked as not valid and fail the spire verification.
Once Tekton Pipeline completes, Chains will run to verify both the TaskRun Results and the TaskRun are validated by Spire. If they do not pass the check, Chains will not sign the TaskRun.
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Docs included if any changes are user facing
[x] 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] Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes

Added TaskRun Status annotations to track the validity of the signed TaskRun
Utilizes pipeline controller spire SVID, status hash and signature
Pipeline controller continuously validates the TaskRun Status for any modifications
Tekton Chains will validate the results and status of the TaskRun after completion

Please provide feedback and improvements!

Closed to make PR upstream.


documentation: clarify that special directories can still be used for package paths

Hi,
The current documentation is a bit unfortunate when it comes to the special directories understood by the go tool.
https://golang.org/cmd/go/#hdr-Test_packages

The go tool will ignore a directory named "testdata", making it available to hold ancillary data needed by the tests.

https://golang.org/cmd/go/#hdr-Package_lists

Directory and file names that begin with "." or "_" are ignored by the go tool, as are directories named "testdata".

However, those directories can currently be used just as well for compiling. Unfortunately, I don't have a better wording yet that would describe that only certain operations will behave in this special mode for these special rules/directories.
This comes up often enough as tooling can suggest completion symbols from these directories then users can interpret this as a problem with the tooling rather than special cases in certain go tool usages.
Thank you.

Sorry, I'm not sure what you are suggesting.  What do you mean when you say "those directories can currently be used just as well for compiling?"  Whatever it means, is it an important enough use to be called out in the documentation?  Thanks.

I thought the directory 'testdata' (and sub directories) should only contain test fixtures.  My understanding from the docs was that anything placed in 'testdata' would be ignored/undefined during compile.
If I put code in a file called '.code.go', and try to reference it, it results in a compile error (undefined).  I can import code from a directory named '.pkg' however.  The behavior is at a minimum inconsistent.
I thought that

Directory and file names that begin with "." or "_"

would be treated the same as the '.code.go'

I'd agree with @russoj88. Can someone define what it really means that testdata is ignored by go tool? What are the implications?

I also expect testdata to only contain fixtures, can you clarify this? @ianlancetaylor

What it means is that commands like go test ./... will not build code that is under testdata directories.  Similarly, the go tool will ignore directories whose names start with "." or "_".
The go tool will not block you from explicitly referring to "testdata" one way or another.

will not build code that is under testdata directories

Under testdata directories or under directories whose suffix is testdata? AFAIK is the 2nd

What it means is that commands like go test ./... will not build code ...........

If my 1st assumption is correct (directories that have as suffix testdata) then go test ./... is building for me those directories

Only directories that are literally named testdata will be ignored.  There is nothing special about directories whose name has a testdata suffix.
It's fine to put Go files in a testdata directory.  You can see many examples in the standard library.  The behavior is as I stated: go test ./... will ignore the Go files under a testdata directory.  But if you, for example, cd to the directory and run go build, the go tool will build the directory as usual.  It won't look up in the file tree to see whether it is underneath a testdata directory.