Question: consistency of XAML/Visual transform properties and related APIs

Overview
Opening this issue as a follow up to this Windows Community Toolkit PR related to introducing an attached property for the "Visual.Transform" property. While working on it I've noticed a number of inconsistencies with the way some related APIs are currently structured and documented, and it took me a while to actually figure out how the code needed to be laid out.
Here I'd like to recap my findings and ask for some clarification to the team(s) working on these APIs, and also possibly discuss some improvements that could be made to both the docs and the actual APIs in UWP XAML and WinUI 3 (since they're the same). I'll just list all my observations/questions/proposals below in a numbered list for easier reference:

Why is the Visual.Translation property hidden/magic? By that I mean:

It needs to specifically be enabled beforehand via ElementCompositionPreview.SetIsTranslationEnabled
It's not directly exposed on the Visual class, instead needs to be accessed through Visual.Properties.TryGetVector3.

With respect to 1., would it be possible to actually enable it by default (like every other Visual) property, and possibly to also add a mapping property to the Visual class, just like other properties such as eg. Scale and Offset? The way "Translation" works makes it a bit clunky and requires special handling that isn't needed for any of the other properties.
The docs for ElementCompositionPreview.SetIsTranslationEnabled don't mention where the enabled property actually is (as in, that it's in the .Properties object of Visual). I think the docs should be updated to add more context, such as how to get/set values for this properties directly (using .Properties), and that it can be animated by just using the "Translation" property on Visual from a keyframe composition animation, even though the Visual class doesn't actually have that property (which could be confusing for especially beginner devs).
As I mentioned here, it is my understanding that there are at least 3 different ways to manipulate the translation of a UI element, which all get stacked on top of one another and can be set/animated indipendently. Specifically, we have Visual.TransformMatrix.Translation, Visual.Properties["Translation"] and UIElement.Translation. Is there a specific reason why this is the case? I mean, considering UIElement.RenderTransform there's a total of 4 different ways to set/animate the translation of UI elements, as far as I can tell. That's a lot 😄
With respect to 4., I noticed that UIElement.Translation doesn't just act as a proxy for Visual.Translation, but instead is completely indipendent from it, why? Where is this additional translation value stored, and why is it indipendent?
I noticed that when using properties such as UIElement.Rotation, or UIElement.Scale, trying to then use ElementCompositionPreview.GetElementVisual on a UIElement throws an exception (UnauthorizedAccessException) saying eg. "Access denied. Calling ElementCompositionPreview.GetElementVisual API is not allowed on this object at this time, as this object currently has the TranslationTransition property in use.". Why is this the case?
With respect to 6., that seems like a very critical aspect of those APIs, that isn't currently documented in the docs.

NOTE: I'd be happy to help update the docs once I got the necessary feedbacks and we all agreed on what to change 🙂

Related Links

https://github.com/windows-toolkit/WindowsCommunityToolkit/pull/3956
https://github.com/microsoft/microsoft-ui-xaml/issues/2130

@jeffstall and @codendone FYI

@gegao18 and @kmelmon as well

Hi @Sergio0694,
Thanks for your observations and questions!  I'll try and answer them and provide some context to help clarify.
First:  The Visual obtained by ECP.GetElementVisual is an object from a lower level component in the platform.  See https://docs.microsoft.com/en-us/windows/uwp/composition/visual-layer for a good overview and explanation of the layering.  This layering produced a number of the behaviors you're observing and should help clarify why things work the way they do.
The Visual.Translation property is actually not a first class property on Visual.  The XAML layer "knows" how to superimpose this property into the visual tree it builds, as it's the one that turns the XAML tree into a visual tree.  There is a cost to doing this, so XAML requires apps to opt-in to using the property, to only pay this cost if the app is actually using the feature.
We discussed making Translation a first class property on Visual, but for various reasons that go beyond the scope of a discussion here, we decided against this.
I agree the docs on SetIsTranslationEnabled could be improved.  I opened this issue to track:
https://github.com/microsoft/microsoft-ui-xaml/issues/4929
It can be confusing to deal with the visual layer.  It is helpful to first understand the layering.  Once this is understood, you might begin to use the visual layer in scenarios where it provides the power of the Windows.UI.Composition features.
The properties you're asking about have evolved over time and this is partly why there are multiple ways of manipulating the visual.  The original API was not in the visual layer at all (UIElement.RenderTransform), but this layer is above the visual layer, and so doesn't have the power of that layer.  We then made it possible to drop down to the visual layer, as it was already being used internally.  This has some history:
-In Windows 10 Creators Update we added the SetIsTranslationEnabled
-Later, in Windows 10, version 1809, we introduced the so-called "facade properties", which includes UIElement.Translation.  This was a major upgrade to the ElementCompositionPreview APIs, and is the recommended way to drop down to the visual layer, provided your app is targeting version 1809 or greater.  if you do use the "facade" properties, you should not also use the ElementCompositionPreview APIs on the same UIElement as they weren't designed to work together (facades is the modern way to drop down to the visual layer, so just use that if it's available on your target platform).  I agree that the exception that gets thrown when trying to use the two types of APIs together is not well documented.  I opened this issue to track:
https://github.com/microsoft/microsoft-ui-xaml/issues/4931
Once you drop down to the visual layer, you'll need to understand the Visual properties, which do stack according to well-defined rules.  I believe the order is:
Offset
Translation (as a pseudo property)
Rotate
Scale
TransformMatrix
I may have Rotate and Scale reversed.  Lemme know if you need this clarified.
When we added the Translation property, we decided it should be just after Visual.Offset, in order to provide a "post-layout" translation.  This extra property makes it possible to use XAML layout, which ends up putting the layout offset into Visual.Offset, plus have an additional translation, without stomping over the layout offset.  Visual.TransformMatrix is much later in the stacking order, and is useful for scenarios where you want to control everything.  However it comes with a risk of "property stomping" as UIElement.RenderTransform ends up being mapped to this property.
Hope this answers your questions!  Closing this question for now, feel free to reopen if you have more questions.


Fix dynamic import issue

Re-order class/variable declaration to fix dynamic import issue #13 .

@davidrleonard @randyaskin Hi David/Randy, our team depends on dynamic import to use Predix-ui components at React, so far most components have been tested out successfully, that'll be very appreciated if this PR can get merged to fix issue #13.
Thanks,
Jonathan

This makes sense to me. See https://eslint.org/docs/rules/no-use-before-define. Thanks for the contribution @shinxi. Need to see why the test are failing then we can merge. Test fail might be unrelated to this change. I’ll check back today.


chore(master): release 1.2.0

:robot: I have created a release beep boop
1.2.0 (2023-07-22)
Features

allow to pass custom normalizers, response factory is fluent now (e62bda8)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/laravel-symfony-serializer/releases/tag/v1.2.0 :sunflower:


Add drawer folder list - Part 2

Second part of the drawer folder list implementation #8118. The direct dependencies, like AccountsViewModel and FoldersViewModel, have been moved to the feature module. The UI related functionality has been separated from the FolderRepository and moved into DisplayFolderRepository, to clarify responsibilities. Related data models have been moved out of legacy to where they are actually used.
This introduces a new :core:mail:folder:api module for folder specific declarations.

LGTM
Side note: The classes in a feature module that are not part of the exposed "API" could use the internal visibility modifier.

Right, I'll do that in a follow up pull-request


The vendored bazil.org/fuse needs to be bumped…

On OS X, kbfsfuse won't successfully mount using osxfuse 3.3 or higher, because the flag MOUNT_FUSEFS_CALL_BY_LIB was changed to MOUNT_OSXFUSE_CALL_BY_LIB. Upstream was modified at https://github.com/bazil/fuse/commit/19db53613b to reflect the new Env flag.

Closing because I opened: https://github.com/keybase/keybase-issues/issues/2281


Pruning slashing protection storage

Hey! I'm wondering how to handle pruning of the database for information on slashing protection since dirk doesn't provide any options for it.
First, I'd like to know whether there's a reason for not having such an option? If not, up to which point is it safe to prune the database then?
Thanks!

The internal data does not grow, as it contains only the information about the latest attestations and block proposals.  However, the on-disk format can grow over time.  I will look in to how best to provide the database maintenance process (either internally as a dirk command or externally as a procedure) and update the repository accordingly.

Turns out that this can be carried out in-process. #14 addresses this issue.


Pods and Channels Missing

Deployment
This is a brand new GKE cluster on 1.12.7-gke.10. My control machine is a brand new Ubuntu 18.04 LTS VM.
My install appears to be missing pods and channels vs. what the 0.2.0 docs tell me to expect:
$ kubectl get pods -n keptn
NAME                                                 READY   STATUS    RESTARTS   AGE
authenticator-xvjv5-deployment-766c6b899-v28td       3/3     Running   0          33m
control-l8snp-deployment-8699fc947-8rrvs             3/3     Running   0          33m
docker-registry-66bb5d6d98-2lfjr                     2/2     Running   0          34m
event-broker-ext-zrcqq-deployment-86896c9856-z4sgj   3/3     Running   0          33m
event-broker-h2l8s-deployment-766f88cd5-7kdm5        3/3     Running   0          33m
github-service-7xv8p-deployment-566f869b5d-tngf5     3/3     Running   0          29m
jenkins-deployment-854d4565c-t9zvz                   2/2     Running   0          33m
jenkins-service-h22ww-deployment-577b4bb7dc-cfkkw    3/3     Running   0          29m

So I'm missing these:
authenticator-h7ftc-pod-cd730a
control-9hw4x-pod-7d4b93
event-broker-2fwtg-deployment-ffdd57984-t8jbn
event-broker-bcsdr-pod-15d743
event-broker-ext-2rndl-pod-0fe9f3
github-service-kt7x5-pod-cd2884
jenkins-service-ghcpz-pod-1f5a6a
pitometer-service-v8n47-pod-99ace2
servicenow-service-bj9hv-pod-650ed4

istio-system pods look fine:
adam@ubuntu:~/keptn/install/scripts$ kubectl get pods -n istio-system
NAME                                     READY   STATUS      RESTARTS   AGE
cluster-local-gateway-6687d7bffc-4swdm   1/1     Running     0          38m
istio-citadel-5bbbc98c6d-rbpfs           1/1     Running     0          39m
istio-cleanup-secrets-b65xh              0/1     Completed   0          39m
istio-egressgateway-77dfd495df-4tcd8     1/1     Running     0          39m
istio-egressgateway-77dfd495df-9rgj9     1/1     Running     0          35m
istio-galley-744969c89-64kqd             1/1     Running     0          39m
istio-ingressgateway-6bb7555c76-fb2mp    1/1     Running     0          39m
istio-pilot-6cbbb9bd95-pcq99             2/2     Running     0          38m
istio-pilot-6cbbb9bd95-r9rgk             2/2     Running     0          38m
istio-pilot-6cbbb9bd95-rbbvx             2/2     Running     0          39m
istio-policy-755477988-5hz6k             2/2     Running     0          39m
istio-policy-755477988-s6xkf             2/2     Running     0          29m
istio-security-post-install-84wp4        0/1     Completed   0          39m
istio-sidecar-injector-856b74c95-gmkvg   1/1     Running     0          38m
istio-telemetry-78f76f9d6-297jw          2/2     Running     0          30m
istio-telemetry-78f76f9d6-blwf2          2/2     Running     0          39m
istio-telemetry-78f76f9d6-qw5qp          2/2     Running     0          30m
istio-telemetry-78f76f9d6-w44vd          2/2     Running     0          35m
istio-telemetry-78f76f9d6-zfh5b          2/2     Running     0          32m
zipkin-f5f4b99b8-j6zbm                   1/1     Running     0          34m

knative-serving pods are also fine:
adam@ubuntu:~/keptn/install/scripts$ kubectl get pods -n knative-serving
NAME                          READY   STATUS    RESTARTS   AGE
activator-56555cfd8f-gmlkb    2/2     Running   2          35m
autoscaler-6d768b4f67-46fw2   2/2     Running   2          35m
controller-6cf6f85976-wt54h   1/1     Running   0          35m
webhook-6f7dfd6946-ckphv      1/1     Running   0          35m

keptn routes are OK:
adam@ubuntu:~/keptn/install/scripts$ kubectl get routes -n keptn
NAME                 DOMAIN                                         READY   REASON
authenticator        authenticator.keptn.<IP_ADDRESS>.xip.io        True
control              control.keptn.<IP_ADDRESS>.xip.io              True
event-broker         event-broker.keptn.svc.cluster.local           True
event-broker-ext     event-broker-ext.keptn.<IP_ADDRESS>.xip.io     True
github-service       github-service.keptn.<IP_ADDRESS>.xip.io       True
jenkins-service      jenkins-service.keptn.<IP_ADDRESS>.xip.io      True
pitometer-service    pitometer-service.keptn.<IP_ADDRESS>.xip.io    True
servicenow-service   servicenow-service.keptn.<IP_ADDRESS>.xip.io   True

Here are the keptn channels:
adam@ubuntu:~/keptn/install/scripts$ kubectl get channels -n keptn
NAME                    READY   REASON
configuration-changed   True
deployment-finished     True
evaluation-done         True
keptn-channel           True
new-artefact            True
problem                 True
tests-finished          True

So I'm missing:
start-deployment
start-evaluation
start-tests

Hey Adam,
The missing pods are no problem. We've switched from Knative build to provision our services with prebuilt images hosted on Dockerhub. The listed pods are the Knative build pods, and I agree, those should be removed from the documentation as they are misleading.
There are no start-deployment, start-evaluation, and start-tests channels in keptn. Those were once part of a design doc but have never been implemented.
Point taken, we need to update the documentation more carfully.
Thanks for your feedback, Adam, it's appreaciated.
Cheers,
Dirk

Updated documentation accordingly.


Duplicate Types from @types/react-native

Bug

Adding this new Picker lib to a React Native TypeScript project is causing compilation errors (related to duplicate identifiers) when running tsc.
node_modules/@react-native-community/picker/typings/Picker.d.ts:56:15 - error TS2300: Duplicate identifier 'Picker'.

56 declare class Picker extends React.Component<PickerProps, {}> {
                 ~~~~~~

node_modules/@react-native-community/picker/typings/Picker.d.ts:56:15 - error TS2395: Individual declarations in merged declaration 'Picker' must be all exported or all local.

56 declare class Picker extends React.Component<PickerProps, {}> {
                 ~~~~~~

node_modules/@react-native-community/picker/typings/Picker.d.ts:69:14 - error TS2300: Duplicate identifier 'Picker'.

69 export const Picker;
                ~~~~~~

node_modules/@react-native-community/picker/typings/Picker.d.ts:69:14 - error TS2395: Individual declarations in merged declaration 'Picker' must be all exported or all local.

69 export const Picker;
                ~~~~~~

node_modules/@react-native-community/picker/typings/Picker.d.ts:69:14 - error TS7005: Variable 'Picker' implicitly has an 'any' type.

69 export const Picker;
                ~~~~~~

node_modules/@react-native-community/picker/typings/PickerIOS.d.ts:12:1 - error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier.

12 class PickerIOSItem extends React.Component<PickerIOSItemProps, {}> {}
   ~~~~~

node_modules/@react-native-community/picker/typings/PickerIOS.d.ts:23:15 - error TS2300: Duplicate identifier 'PickerIOS'.

23 declare class PickerIOS extends React.Component<PickerIOSProps, {}> {
                 ~~~~~~~~~

node_modules/@react-native-community/picker/typings/PickerIOS.d.ts:23:15 - error TS2395: Individual declarations in merged declaration 'PickerIOS' must be all exported or all local.

23 declare class PickerIOS extends React.Component<PickerIOSProps, {}> {
                 ~~~~~~~~~

node_modules/@react-native-community/picker/typings/PickerIOS.d.ts:27:14 - error TS2300: Duplicate identifier 'PickerIOS'.

27 export const PickerIOS;
                ~~~~~~~~~

node_modules/@react-native-community/picker/typings/PickerIOS.d.ts:27:14 - error TS2395: Individual declarations in merged declaration 'PickerIOS' must be all exported or all local.

27 export const PickerIOS;
                ~~~~~~~~~

node_modules/@react-native-community/picker/typings/PickerIOS.d.ts:27:14 - error TS7005: Variable 'PickerIOS' implicitly has an 'any' type.

27 export const PickerIOS;

Environment info

react-native info output:
System:
    OS: macOS Mojave 10.14.6
    CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
    Memory: 4.74 GB / 32.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 12.13.0 - ~/.nvm/versions/node/v12.13.0/bin/node
    Yarn: 1.16.0 - /usr/local/bin/yarn
    npm: 6.12.0 - ~/.nvm/versions/node/v12.13.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.9.0 - /Users/brent.kelly/.rvm/gems/ruby-2.6.3/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
    Android SDK:
      API Levels: 23, 26, 27, 28, 29
      Build Tools: 28.0.2, 28.0.3, 29.0.0, 29.0.1, 29.0.2, 29.0.3
      System Images: android-21 | Intel x86 Atom_64, android-22 | Intel x86 Atom_64, android-23 | Google APIs Intel x86 Atom_64, android-24 | ARM 64 v8a, android-25 | Intel x86 Atom_64, android-27 | Intel x86 Atom_64, android-28 | Google APIs Intel x86 Atom_64, android-29 | Google Play Intel x86 Atom_64
      Android NDK: Not Found
  IDEs:
    Android Studio: 3.6 AI-192.7<IP_ADDRESS>08749
    Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_201 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.11.0 => 16.11.0
    react-native: 0.62.2 => 0.62.2
  npmGlobalPackages:
    *react-native*: Not Found

Library version: 1.3.0
Steps To Reproduce

Create new RN project
npx react-native init PickerTypes --template react-native-template-typescript
Add the Picker lib
yarn add @react-native-community/picker
Import Picker in App.tsx
import { Picker } from '@react-native-community/picker';
Compile TypeScript
yarn tsc
Describe what you expected to happen:
TypeScript compile should return no compilation failures.
Reproducible sample code

@mrbrentkelly
Seems like #63 fixed the issue. :tada:
This should be fixed in the latest version.
Please feel free to re-open an issue if the problem persists :+1:


Aniwave giving error

Source information
Aniwave 14.69
Source language
English
Steps to reproduce
Open any content in this extension
Expected behavior
Should start playing
Actual behavior

Aniyomi version
<IP_ADDRESS>
Android version
Android 10
Other details
Also they changed the domain, although this extension which is aniwave.to, still works, i think you should update it to their latest domain Aniwavetv.to , maybe this is why the error's coming?
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

fix


Allow export of configured (individual) services/proxies

it would be good if you could download the files that you uploaded, or configurations you added

related #15

you will be able to access the files once #15 is fixed - but i think this is more part of the load/save feature


Implement Similarity Based Saliency Maps

The following PR brings in a new implementation of Similarity-Based Saliency Maps [paper] based on ImageSimilaritySaliencyMapGenerator.

That's one flavor. I had in my head the use of 4 unique images, like having a similar cat similar to the dual-subject image, or something that doesn't match at all. The important bit is that we example something that is informative for the purpose.

@brianhhu @Purg I added a 4x4 image grid of cross and self-similarity.

To add to what @Purg mentioned, we'll also need the license file for the dog image. Without increasing the number of images, we could swap the query and retrieved images (this would provide another example), as well as show self-similarity for each of the two images. If I understand Paul correctly, this would fill out the 2x2 query retrieved pairings.

@Purg Regarding the license for dog.png, does *.txt content count as code duplication?

@Purg Regarding the license for dog.png, does *.txt content count as code duplication?

It's not "code" duplication but it's duplication nonetheless. I believe we discussed offline how I think we can just replace the existing "catdog-LICENSE.txt" and the "new" one with just a "coco-imagery-license.txt" or similar.

@brianhhu @Purg I added a 4x4 image grid of cross and self-similarity.

This presentation in the final cell is still a little uninformative to me, but if @brianhhu is alright with this I can be as well. I don't want to bikeshed on the notebook here so as to get the underlying algo impl merged. We can fiddle more with the notebook in a later PR.

Yeah, I agree with @Purg that the presentation in the notebook could be improved. We could also strive for consistency with our other notebook (e.g. in terms of helper functions, etc.) However, I don't want to hold this PR up if we're satisfied with the implementation portion itself, we can always edit the notebook in a later PR.

Just to circle back, what's pending for this PR still?
My understanding is

[ ] Replace dog image with one that we have a URL for
[ ] change license text file to one that is more generically named for included COCO dataset images.


How can I use custom image

I would like to use custom image that add a few things to pulsar, pulsar-manager, minio, etcd.
for example
apachepulsar/pulsar:2.8.2 -> myrepo/pulsar:2.8.2

Which part should I change?

@byeongjokim
You can change  the spec.dependencies.pulsar.inCluster.values.image.<pulsar-component-name>.repository field in milvus CR to myrepo/pulsar
For more infomation, check https://github.com/milvus-io/milvus-operator/blob/main/docs/CRD/milvus.md. It has a complete list of all fields and their references.

@haorenfsa
It works.
Thank you!!


Phoneme sequence padding

Hi, I'm trying to train StyleTTS with custom data, and I got a little cofusion when padding the phoneme sequence.
When pre-training AuxiliaryASR, in meldataset.py the _load_tensor function pad the phoneme sequence by blank_index.
   def _load_tensor(self, data):
        wave_path, text, speaker_id = data
        speaker_id = int(speaker_id)
        wave, sr = sf.read(wave_path)

        # phonemize the text
        ps = self.g2p(text.replace('-', ' '))
        if "'" in ps:
            ps.remove("'")
        text = self.text_cleaner(ps)
        blank_index = self.text_cleaner.word_index_dictionary[" "]
        text.insert(0, blank_index) # add a blank at the beginning (silence)
        text.append(blank_index) # add a blank at the end (silence)

        text = torch.LongTensor(text)

        return wave, text, speaker_id

But in StyleTTS's meldataset.py the _load_tensor function just pad the phoneme sequence by 0.
    def _load_tensor(self, data):
        wave_path, text, speaker_id = data
        speaker_id = int(speaker_id)
        wave, sr = sf.read(wave_path)
        if wave.shape[-1] == 2:
            wave = wave[:, 0].squeeze()
        if sr != 24000:
            wave = librosa.resample(wave, sr, 24000)
            print(wave_path, sr)

        wave = np.concatenate([np.zeros([5000]), wave, np.zeros([5000])], axis=0)

        text = self.text_cleaner(text)

        text.insert(0, 0)
        text.append(0)

        text = torch.LongTensor(text)

        return wave, text, speaker_id

The questions are:

If I pre-train ASR with blank_index, should  I keep it that way in StyleTTS?
If the input wavs are well-trimed(with no silence at begining and end), should I still pad the phoneme?

Thank you.

Note that the ASR model (text aligner) is trained E2E with the TTS model, so it will eventually adapt to the padding token in the TTS model. The preprocessing code between ASR and StyleTTS repo is different, and I didn't update the ASR repo for the latest change.
If it is well-trimmed, there is no need to pad the phoneme (and the waveform), but I do notice some boundary effect for AdaIN, which is why I always pad with leading and ending silence to mitigate this effect. Maybe it doesn't affect your dataset.

Thanks, but since you mentioned that you didn't update ASR repo, I noticed that ASR repo's nad pitchExtractor's model.py is slightly different from the models in StyleTTS's Utils/ASR/models.py and Utils/JDC/model.py.
Should I use the model code from StyleTTS's to train ASR and pitchExtractor?

No, model.py is modified for inference only (like removing dropout etc.), and for training you still have to use the training repo in the original repo. You only need to change the preprocessing.


.

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

L

Hey
Thank you for opening this pull request.
This is a standard message notifying you that we've reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Thank you and happy coding.


Replication for BM25 Baselines on MS MARCO Passage Retrieval and MS MARCO Doc Retrieval Tasks

Environment:
OS: MacOS Mojave 10.14.4
Java: openjdk version "1.8.0_152-release"
Python: 3.6.8
Issues for BM25 Baselines on MS MARCO Passage Retrieval:

The first command in this section should have a path prefix of collections/. I've changed it in my PR

The second command in the same section above will return an error

tenseisBookpuro:msmarco yangtiancheng$ python ./src/main/python/msmarco/retrieve.py --hits 1000 --threads 1  --index indexes/msmarco-passage/lucene-index-msmarco --qid_queries collections/msmarco-passage/queries.dev.small.tsv  --output runs/run.msmarco-passage.dev.small.tsv
Initializing BM25, setting k1=0.82 and b=0.68
Traceback (most recent call last):
  File "./src/main/python/msmarco/retrieve.py", line 58, in <module>
    hits = searcher.search(query.encode('utf8'), int(args.hits))
  File "/anaconda3/lib/python3.6/site-packages/pyserini/search/pysearch.py", line 99, in search
    return self.object.search(JString(q.encode('utf8')), k)
AttributeError: 'bytes' object has no attribute 'encode'

No issues found for BM25 Baselines on MS MARCO Doc Retrieval Task, everything runs well.

Please recheck with my branch: https://github.com/castorini/anserini/pull/1238

Please recheck with my branch: #1238

I've updated, and the error
AttributeError: 'bytes' object has no attribute 'encode'

still exists.

From your "files changed" in this PR, it doesn't seem like you've pulled the latest master?

From your "files changed" in this PR, it doesn't seem like you've pulled the latest master?

I've updated to this commit 2947a16),
is it the latest one?

From your "files changed" in this PR, it doesn't seem like you've pulled the latest master?

I pulled from the remote repository and then force push the updates to my own forked repository

From your "files changed" in this PR, it doesn't seem like you've pulled the latest master?

Sorry the issue of AttributeError was resolved, when I was testing I run the command in the directory of the old version of the castorini (I have the habit to backup the previous step) by mistake.


[SPARK-15973] [PYSPARK] Fix GroupedData Documentation

This contribution is my original work and that I license the work to the project under the project's open source license.
What changes were proposed in this pull request?
Documentation updates to PySpark's GroupedData
How was this patch tested?
Manual Tests

Can one of the admins verify this patch?

ok to test

Test build #60703 has started for PR 13724 at commit 8f3ea3e.

Test build #60703 has finished for PR 13724 at commit 8f3ea3e.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60703/
Test FAILed.

Hello, first commit here.  Trying to get started by tackling some "trival" tickets around documentation.  I'm at a loss about how my changes are causing the unit tests to fail in types.py.  Any help would be appreciated.

The issue is that there are still some references to the old GroupedData._jdf attribute - if you click on the the Jenkins link you'll find where (but I pasted below too):
Error Message
'GroupedData' object has no attribute '_jdf'
Stacktrace

Traceback (most recent call last):
  File "/home/jenkins/workspace/SparkPullRequestBuilder/python/pyspark/sql/tests.py", line 682, in test_aggregator
    self.assertEqual([Row(**{"AVG(key#0)": 49.5})], g.mean().collect())
  File "/home/jenkins/workspace/SparkPullRequestBuilder/python/pyspark/sql/group.py", line 40, in _api
    jdf = getattr(self._jdf, name)(_to_seq(self.sql_ctx._sc, cols))
AttributeError: 'GroupedData' object has no attribute '_jdf'

Test build #60719 has started for PR 13724 at commit 9e9363d.

Test build #60719 has finished for PR 13724 at commit 9e9363d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60719/
Test PASSed.

Thanks - merging in master/2.0.

@josh-howes what's your jira id?

@rxin, I just created a ASF Jira Account.  I didn't have one previously.  Here's my info: full name is Josh Howes and username is (josh dot howes at gmail dot com).


vueJS incompatible @click inside modal button

I made a new vue component .
@click inside the custom modal does not work. I placed it in the login button to call the TEST method on my vue which basically just console.log('test'). But if i place my @click on the parent div it will work. there's something conflicting with @click event inside the modal.

 //if i put @click here on the main div it will work
        <button data-iziModal-close class="icon-close">x</button>

            Sign in

            <template v-for="input in inputs">
                <input :type="input.type" :placeholder="input.placeholder">
            </template>

                <button data-iziModal-close>Cancel</button>
                <button class="submit" @click="TEST">Log in</button> //@click does not work here

is issue resolved? i have the same problem

in izimodal you have the afterRender attribute, which you can use like this:
    $("#modal").iziModal({         afterRender: function() {             $('#select').on('change', function () {                 /* things */             });             $('#button').click(function () {                 /* things */             });         }     });

instance vue in afterRender make vue work again


Move jit crate to environ

Initial draft of changes discussed in: https://github.com/bytecodealliance/wasmtime/issues/7652

This is looking good! Let me know if you need any help and/or have questions and/or if there's something in specific you'd like me to review early.


Use long long for indexing in sparse_sandwich

Closes #160
I added a unit test, but it's of not much use, because we don't have enough memory in CI to run it, so I'm skipping it.

@jtilly, can you wait before merging this. I'm trying to figure out if we can replace win_integral with int64_t everywhere. I think this might solve future problems and be more efficient computationally.


Remove AutoDetectAndSetShaderMode method since it seems it does nothing

Except cause an exception because for some reason in one of the projects I get this:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
  at System.Collections.Generic.List`1[T].get_Item (System.Int32 index) [0x00009] in <dc753a1061284f8e971ee88ee4826eee>:0
  at ImmersiveVRTools.Editor.Common.WelcomeScreen.Utilities.AssetPathResolver.GetAssetFolderPathRelativeToScript (UnityEngine.ScriptableObject scriptableObject, System.Int32 folderDistanceFromFileRoot) [0x00022] in <9139b57e70db41b1b3e8ae7302e30088>:0
  at FastScriptReload.Editor.FastScriptReloadPreference.SetCommonMaterialsShader (FastScriptReload.Editor.FastScriptReloadPreference+ShadersMode newShaderModeValue) [0x00001] in D:\git\borbeli\Assets\Plugins\Packages\handzlikchris.fastscriptreload\Source\Scripts\Editor\FastScriptReloadWelcomeScreen.cs:833

The reason I think it is not needed is that it calls FastScriptReloadPreference.SetCommonMaterialsShader which tries to set the shader on materials found in plugin's directory named Point but there are no materials in plugin's directory.

It's part of common scripts that I use for other assets. Shouldn't be throwing exceptions though - I'll try to have a peek at some point. Does it happen every time you start? It should run just once when you installed plugin from what I remember.

It happens after every recompile. One thing I changed is that I moved the plugin to a folder under Plugins but I don't see how that could cause this.


prime generation failed on multi-core machines

Host: kvm machine, 48C64G
OS：CentOS-7.2
openssl version：openssl-1.0.1e
I'm using ssh-keygen to generate rsa key, but that failed, then I debug step by step with gdb
it call openssl libs finally, the function call chain:
...
-> RSA_generate_key_ex [crypto/rsa/rsa_gen.c:154]
    -> rsa_builtin_keygen [crypto/rsa/rsa_gen.c:399]
        -> BN_generate_prime_ex [crypto/rsa/rsa_gen.c:450]
            -> BN_generate_prime_ex [crypto/bn/bn_prime.c:159]
                -> BN_is_prime_fasttest_ex [crypto/bn/bn_prime.c:199]
                    -> BN_pseudo_rand_range [crypto/bn/bn_prime.c:322]
                        -> bn_rand_range [crypto/bn/bn_rand.c:233]

finally, error and stop here:

But, it's OK when I adjust kvm machine to 4C8G.
May be it's a bug that can reproduce on powerful kvm machine.
My machine info:

My guess would be your RNG source is dud.
There are some known problems with RDRAND and RDSEED on some CPUs.  There are additional issues in VM environments.
I think it's worth checking out what's coming out of the instruction.

OpenSSL 1.0.1 is long out of support.

It's OK when update openssl to 1.0.2k. close the issue.
Thanks.


Want to add footer to the contact page

Is your feature request related to a problem? Please describe.
Describe the solution you'd like
There are footers in home, about and our page but there is no footer in contact which doesn't go wit the theme, want to add footer in the same.
Screenshots

Will two PR/RM in same repository be counted as 2PRs or 1PR?

hey, can you assign this to me

@KAMYAVERMA and @disha815 There is already a footer in the contact page.
Plz create valid issues or look for other issues.
Show your support by stargzing the repo 🌟


Unmap Ctrl-M from Minimizing

I have clink and PSReadline installed on Command Prompt and PowerShell, respectively, to provide readline library, and I do use all its shortcuts including Ctrl-M as/for/rather than/instead of Enter.
I know there's Ctrl-J for the same end but I'm used to Ctrl-M.
How could I unmap Ctrl-M from minimizing Hyper and make it to do accept-line /  Enter if it will not fall back to readline shortcuts unmapped?
I'm on Windows 10 using Hyper 1.3.3.

close in #1876


Allow detect whether it's in a database transaction for a context.Context

Fix #19513

Should this check be build-in in WithTx()? It may be needed to deprecate TxContext(), otherwise we end up calling InTransaction in a lot of places.

Should this check be build-in in WithTx()? It may be needed to deprecate TxContext(), otherwise we end up calling InTransaction in a lot of places.

Done. And also introduced a new function named MustTx. Different from WithTx will return an error if context contains a transaction, MustTx will reuse transaction in context when possible.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@385462d). Click here to learn what that means.
The diff coverage is 77.15%.

@@           Coverage Diff           @@
##             main   #21756   +/-   ##
=======================================
  Coverage        ?   48.21%
=======================================
  Files           ?     1031
  Lines           ?   140641
  Branches        ?        0
=======================================
  Hits            ?    67812
  Misses          ?    64712
  Partials        ?     8117

Impacted Files
Coverage Δ

models/asymkey/gpg_key.go
56.54% <0.00%> (ø)

models/asymkey/gpg_key_verify.go
10.00% <0.00%> (ø)

models/asymkey/ssh_key_verify.go
0.00% <0.00%> (ø)

models/auth/session.go
2.59% <0.00%> (ø)

models/avatars/avatar.go
33.62% <0.00%> (ø)

models/issues/issue_lock.go
0.00% <0.00%> (ø)

models/issues/issue_project.go
31.06% <0.00%> (ø)

models/organization/team_unit.go
21.05% <0.00%> (ø)

models/project/board.go
29.67% <0.00%> (ø)

models/project/issue.go
25.80% <0.00%> (ø)

... and 75 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Should this check be build-in in WithTx()? It may be needed to deprecate TxContext(), otherwise we end up calling InTransaction in a lot of places.

The check now built-in in WithTx(parentCtx), AutoTx(parentCtx) and TxContext(parentCtx). WithTx and TxContext are compatible as before. Some places should use AutoTx(parentCtx) to replace WithTx(parentCtx) but I think it needs case by case.

besed the one nit awesome work .. yes will fix my issue :tada:

PS: we should use more errors.New if possible ... like ErrSSHDisabled could be one, but that's for another refactor


Update web-runner (v1.1.15)

Describe the task
Update web-runner v1.1.15: https://github.com/Koniverse/SubWallet-Extension/releases/tag/v1.1.15

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-222-1057-merge-2023-10-02T08-13-30.ipa
Device test: IP 11

[ ] Do not display the token logo

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-222-1057-merge-2023-10-03T02-33-59.ipa
Device test: IP 11
Validation passed.


Export the LogContext type

Change-type: minor
Signed-off-by: Carol Schulze<EMAIL_ADDRESS>

@balena-ci I self-certify!


add mDBG as a tool

ref https://github.com/ekimb/rust-mdbg and https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>7586v1
I think this is maybe a job for @rchikhi :)

keeping in mind mdbg will only work for long sequences-vs-long sequences queries, no short reads


Refactor example app to be more readable

Majority of the example app lives in https://github.com/ably/ably-flutter/blob/main/example/lib/main.dart, which is a stateful widget of 815 lines. We should refactor the code into multiple widgets, service classes and constants, and also using state management solutions if necessary.

We could of course do more work in refactoring, but a big step was done by https://github.com/ably/ably-flutter/pull/240


Unsupported HookLoader version error

Upon trying to load in the MC client once dropping in Mekanism, the client crashes with the error "UnsupportedClassVersionError : mekanism/common/asm/LoadingHook : unsupported major.minor version 51.0"
I have tried multiple versions of Mekanism, including the newest release.
The full client log of the error can be found here: http://pastebin.com/aqsMhN32

Update Java.

I am running Java version 8 update 48…I do believe that is the absolute latest version of Java.

On Jul 21, 2015, at 7:40 PM, Aidan<EMAIL_ADDRESS>wrote:
Closed #2833 https://github.com/aidancbrady/Mekanism/issues/2833.
—
Reply to this email directly or view it on GitHub https://github.com/aidancbrady/Mekanism/issues/2833#event-361765660.

You may want to double check that, it seems you have Minecraft running on a Java 6 install.  Check your Minecraft game profile's JVM arguments.

I’m confused…my system is on Java 8, I have just confirmed. I’m not sure what to put for the JVM arguments.
I’m using the Minecraft vanilla launcher to test a modpack that I am putting together.

On Jul 21, 2015, at 7:46 PM, Aidan<EMAIL_ADDRESS>wrote:
You may want to double check that, it seems you have Minecraft running on a Java 6 install. Check your Minecraft game profile's JVM arguments.
—
Reply to this email directly or view it on GitHub https://github.com/aidancbrady/Mekanism/issues/2833#issuecomment-123519586.

I think Apple Java strikes again. Minecraft is for some reason not using the JVM you want it to. Don't know why Apple haven't updated their shipping JVM yet but I'm starting to doubt they ever will.

Yeah, seems like it.
I’m researching how to manually change the Java version the launcher uses.

On Jul 21, 2015, at 7:57 PM, Ben Spiers<EMAIL_ADDRESS>wrote:
I think Apple Java strikes again. Minecraft is for some reason not using the JVM you want it to. Don't know why Apple haven't updated their shipping JVM yet but I'm starting to doubt they ever will.
—
Reply to this email directly or view it on GitHub https://github.com/aidancbrady/Mekanism/issues/2833#issuecomment-123521157.

They never will :(

I was able to get it working! Thank you!
P.S. sorry about filing a false bug report. I was unaware that regardless I have Java 8 installed, Minecraft was running Java 6.
Keep up the great work on Mekanism! Is there anywhere I can track what you're up to next?

Great! No worries, we get that report a lot.
You can keep up with me on Twitter or my website (aidancbrady.com), and I know @unpairedbracket has a (very aesthetically pleasing) site in the works at unpairedbracket.github.io. Glad you like Mekanism :)

Oh it’s overtaken the spot as my favorite Tech mod for sure!
Can’t wait for the next update!

On Jul 21, 2015, at 8:13 PM, Aidan<EMAIL_ADDRESS>wrote:
Great! No worries, we get that report a lot.
You can keep up with me on Twitter or my website (aidancbrady.com), and I know @unpairedbracket https://github.com/unpairedbracket has a (very aesthetically pleasing) site in the works at unpairedbracket.github.io. Glad you like Mekanism :)
—
Reply to this email directly or view it on GitHub https://github.com/aidancbrady/Mekanism/issues/2833#issuecomment-123524075.

@aidancbrady and @unpairedbracket just as a heads up that I don't see mentioned here, to get a Mac to properly use Java 8, users NEED the Java 8 JDK, not the JRE. Dunno why exactly this is but that's how it currently works.

Seems to have something to do with minecraft using CLI stuff and the damned apple shipped jre overrides the jre from oracle somehow. You'd think oracle would be suing apple over that.


Transfer into asdf-community?

I use pyenv, but I've heard about asdf, and was researching to see if it was worth changing. I had heard asdf supported Python, but when I followed the latest documentation, this was pretty hard to discover.
The asdf plugin add docs encourages using GitHub repo URL’s over short names. So I understood I wanted to find the Python GitHub repo.
The "Plugins" menu on the site lists first party plugins, then community plugins in the asdf-community organization, then "GitHub Topics Search" and "Plugin shortname index". The last two options don't seem well supported to me as a new user, so after checking asdf-community it felt like using asdf for python isn't really supported... Only after further searching did I find this plugin.
I think you could really help discoverability by transferring to asdf-community - I spotted the docs here: https://github.com/asdf-community/.github#how-do-i-move-plugins-here

Hey Adam, I recently have decided to give asdf a go to manage Python installs. I concur, and I hope someone takes action so this project can get some wider support and love from the Python community

I agree with OP. I currently use pyenv but I regularly use other programming languages as well and wanted to give asdf a try. This repo was very hard to find. Please consider moving it to asdf-community for better visibility and support. Thanks :)

Any thoughts? @danhper

Thanks for the comments.
Definitely happy to do that!
I'll check out what the steps to do that are.


Remove context menu background transparency

Remove context menu background transparency in chromium based apps like webcord, chromium, brave etc.
Fix for PR #50

Thanks


Dropdown doesn't work when nodeIntegration set to true

OS: Windows 10
Browser: Electron 5.0.1 (aka Chromium)
Bootstrap: 4.3.1
React 16.8
NodeJS LTS 10.16
I'm having a bit of a bizzare issue with Electron and React. I have a bootstrap dropdown menu in one of my React components. It was working fine and dandy until I realized it wasn't working while testing a separate and unrelated component.
I've diagnosed this issue to setting nodeIntegration to true in webPreferences of Main.js. When it set to false (which is the default), the dropdown displays all of its content as normal. However, once I set it to true, clicking on the dropdown menu does absolutely nothing. Setting it back to false fixes the issue. However, I need to set nodeIntegration to true for another one of my features. I'm pretty baffled as to why the dropdown menu won't work with nodeIntegration: true and I searched around but found nothing. Would anyone here have ideas?

EDIT: Solved using preload.js as a workaround, which allowed me to access Node APIs while setting nodeIntegration to false


Issue: Layout Shift on Hamburger Icon Click

https://github.com/user-attachments/assets/52138d31-4eb2-4525-b7a4-d727f94b1aa5
Description: When the user clicks on the hamburger icon, there is a sudden shift in the layout, causing a poor user experience. The layout movement appears abrupt, making it less smooth and visually unappealing.
Expected Behavior: Clicking the hamburger icon should trigger a smooth transition, where the layout shifts gradually, creating a more polished and pleasant experience for the user.
Steps to Reproduce:
-> Open the application/website.
-> Click on the hamburger icon.
-> Observe the sudden shift in layout.
Suggested Solution:
-> Implement a smooth CSS transition for the elements that shift when the hamburger menu is toggled.
-> This could include transitions on positioning, width, or opacity, depending on the layout.
Impact:
-> Negative impact on user experience due to abrupt layout changes.
-> Could affect the overall visual design and feel of the application/website.

@Siddheshuncodes @MehulPardeshi Can I work on this issue

Yes you can work on it @Jayesh-Kr

Thanks for this issue I have Assigned you this issue to start working on it and if you have any issues then ping me.


[MAISTRA-625] Enable Istio CNI by default

/hold until 0.13 is open

I think we should query the api server to see if it supports NetworkAttachmentDefinition resources and if it does, then we should use it.  This would effectively mean that we remove this setting from the smcp spec.

Will close and open another one


Create a listprograms strategy

It would be handy to be able to list all the elm programs in a given app.
To achieve this we could cross check all djelm_src scripts with programs in src to be fairly sure we are looking at an Elm program entry file.

Considering we are expecting listprograms to list all installed programs it has abit of a different meaning to listwidgets which lists all installable widgets.
Perhaps findprograms is the right language to use.

Released in 0.15.0


Move the README example, remove the nightly feature and CI run

Moving the code example from the README to the examples simplifies our CI setup and makes one of the runs redundant.

This will also make the src/lib.rs not duplicate the README.md as module document.

Minor transient, unrelated conformance test failure:
   1) .pubsub.subscribe
       multiple connected nodes
         should send/receive 100 messages:
     FetchError: request to http://<IP_ADDRESS>:50591/api/v0/pubsub/pub?arg=pubsub-tests-1lMH0rnEyHDDEks3xkAnX failed, reason: read ECONNRESET
      at ClientRequest.<anonymous> (node_modules\node-fetch\lib\index.js:1455:11)
      at Socket.socketErrorListener (_http_client.js:426:9)
      at emitErrorNT (internal/streams/destroy.js:92:8)
      at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
      at processTicksAndRejections (internal/process/task_queues.js:84:21)

bors r+


Move CoreRT specific CopyTo code to .CoreRT file

I am not sure if it should go to Array as it does (T[])this; which throws for not matching source arrays (e.g. object[])

It looks like a dead code. It may be best to delete it.


Remove references to plugins

Fixes #480
This PR:

Removes the delete command
Fixes the add command, allowing it to now deploy template powered databases
Removes all references of plugins

https://github.com/railwayapp/docs/pull/470 :)


add(tools): @ngneat/tailwind

Name
Link

@ngneat/tailwind
https://github.com/ngneat/tailwind

Angular schematics that will integrate Tailwind CSS into Angular application.

[x] My item is in the right category
[x] My item is logically grouped below similar items
[x] My item's name and description respects the conventions of the list
[x] My item is awesome
[x] I have read and followed the contribution guidelines

Thank you!

Thank you!


Fix vpmDependency Check

Having a package that requires greater than 3.2.0 of the com.vrchat.worlds package does not actually bump the SDK package, but will still install itself, leading to a broken project since my package requires new features in 3.2.0
Changing to >= will ensure this doesn't happen anymore, and that UdonSharp doesn't block SDK bumps
Original issue made in VCC repo https://github.com/vrchat-community/creator-companion/issues/275

Closes Mattshark89/OpenFlight-VRC#26

I dont believe that the package version itself needs to be bumped, as long as the live package.json itself gets updated

Changed to ^3.1.x. this will allow all minor version releases (Semantic Versioning mandates minor releases are backwards compatible feature updates) and will also allow all patches, but not allow any major version changes


Missing translation with url params

It seems that the last route element is not translated as soon as query parameters are given. I would assume that a split at ? is missing. For example:
http://localhost:4200/aboutUs?Name=Test
I think it would be done if you add an if in the ngx-translate-routes-route.service.ts (Line 32) like below (I dont test it):
const subPaths = this.#router.url.includes('?') ? this.#router.url.split('?')[0].split('/') : this.#router.url.split('/')

In my opinion, it would be best to only translate the route and, if possible, make the translation of the query parameters optional. To do this, I would add an additional boolean variable to the NgxTranslateRoutesConfig, which makes translation possible. To follow your logic, I would probably name it “enableQueryParamsTranslate:? boolean”. Maybe you could alsow allow a queryParamPrefix, if somebody need it.

Ok thanks for your reply I’ll take a look as soon as possible. I like the idea of optional translate params.

First of all, thank you @darioegb for the fast reaction and implementation.
I think there is an issue with the new implementation. If if initialize my project i get the error message:
Yt(...).call(...).find is not a function
And if i try to navigate in my project i get the following error message:
K.findIndex is not a function
The new option "enableQueryParamsTrans" is set to false. Maybe it could also affected by #10 Navigation via browser button and location

Hi @MaTo04.
No problem. Try cleaning the local storage, it seems to me that the problem comes from there. Since the format of the structure that is cached was changed.

@darioegb i test it without translate the query parameters and it works very well. Thanks for it.


Support for NextJS 15

Hey,
Trying to move my project to NextJS 15, I'm running the latest version 0.1.11 of @propelauth/nextj, it only supports Next13 and Next14
Is support for Next15 on the timeline ?
Thank you in advance

Hey - apologies for the delay in closing this. v0.2.1 and forward have support for Next15, and our docs have been updated to reflect any differences.
The main thing to note is there are now async versions of the route handler functions (app/api/auth/[slug]/route.ts):
export const GET = routeHandlers.getRouteHandlerAsync
export const POST = routeHandlers.postRouteHandlerAsync


Unicode issues with NexStar

In Python 3.6.5 I get unicode errors.
For example, this program:
import point
t = point.NexStar('/dev/cu.usbserial')
print(t.get_time())

Give this output:
$ python testit.py
Traceback (most recent call last):
  File "testit.py", line 4, in <module>
    print(t.get_time())
  File "/Users/wiseman/Dropbox/src/point/point/nexstar.py", line 197, in get_time
    response = self._send_command('h', 8)
  File "/Users/wiseman/Dropbox/src/point/point/nexstar.py", line 42, in _send_command
    self.serial.write(command)
  File "/Users/wiseman/Dropbox/src/point/env/lib/python3.6/site-packages/serial/serialposix.py", line 532, in write
    d = to_bytes(data)
  File "/Users/wiseman/Dropbox/src/point/env/lib/python3.6/site-packages/serial/serialutil.py", line 63, in to_bytes
    raise TypeError('unicode strings are not supported, please encode to bytes: {!r}'.format(seq))
TypeError: unicode strings are not supported, please encode to bytes: 'h'

Should I be using a different version of Python?

It looks like maybe the NexStar code wasn't updated for the transition from Python 2.7 to Python 3+. Would you be open to a PR updating it?

Originally this project was targeted at Python 2, but eventually I convinced Brett that we should move it over to Python 3. Evidently the NexStar file got overlooked when we did that. :man_facepalming:
I've just pushed a new branch that should bring everything up-to-speed with using Python 3 bytes rather than str. I don't have the hardware to actually test it, but pylint tells me it's at least syntactically correct. Give it a try and see if it works.
https://github.com/bgottula/point/tree/nexstar-unicode
@bgottula, I'll leave it up to you to merge this if it looks good to you and tests properly.

LGTM (except for one small thing I commented on), and I will test it soon.

New branch. Same as the previous one, but with a fix for the hash terminator.
https://github.com/bgottula/point/tree/nexstar-unicode-v2

That works great on my NexStar 130SLT.

@wiseman thanks for reporting and testing!

Merged! :ok_hand:

@bgottula Now that I think about it, you should probably test this with your NexStar mount as well, when you have the time.

Yeah, I did not do comprehensive testing, just ran a little test script to exercise a few areas of the API I was interested in.
(As a heads up, my interest in this was that I was investigating writing an optical tracker for aircraft--now I see you have the track project, which I'll be looking at soon.)

I tested all of the methods in the NexStar class with my 130SLT and did not find any regressions.


Update POLICYFILE_README.md

Fixed some typos.

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@bcorner13

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

Thank you!


Showcase: Default theme to Nova Light

Currently the default theme is Omega which is an old icon styled theme.
Default to modern theme Nova Light.

I also dropped Aristo as a possible option in the theme dropdown.


🪲 Bug Report - 1_wara_collector.ps1 doesn't work correctly when cross Sub and RG mix collection

Describe the bug
The 1_wara_collector.ps1 version 2.1.14 does not work correctly when cross subscription and resource group mix collection.
In the following case, the script collects the specified resource groups only. Any data from the subscription A was not collected.

Use the SubscriptionIds parameter for collect the entire subscription A.
Use the ResourceGroups parameter for collect specific resource groups in the subscription B.

To Reproduce

Run the 1_wara_collector.ps1 like following:
$params = @{
    TenantID        = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
    SubscriptionIds = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'  # SubA
    ResourceGroups  = @(
        '/subscriptions/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb/resourceGroups/rg1',  # RG1 in SubB
        '/subscriptions/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb/resourceGroups/rg2'   # RG2 in SubB
    )
}
.\1_wara_collector.ps1 @params

Run the 2_wara_data_analyzer.ps1 with the JSON file that the output file of step 1.

Expected behaviour

Collect the entire subscription A.
And collect specific resource groups in the subscription B.

Screenshots 📷

Additional context
n/a

Confirmed. Working on a resolution now.


[GPII-3868]: Gracefully rotate deployment credentials

This is a proof-of-concept solution that gracefully rotates SA credentials managed in TF (https://github.com/gpii-ops/gpii-infra/pull/429).
It needs new kubectl that is capable of doing rolling restarts (https://github.com/gpii-ops/exekube/pull/59).

Is it possible to destroy the old keys only when the pods are using the new ones?, my concern here is that would be some kind of disruption between the keys are destroyed and when the pods are restarted to get the new credentials.

Is it possible to destroy the old keys only when the pods are using the new ones?

@amatas Keys are not being used all the time. On startup, trace-agent would use the keys to generate token, which is valid for 1 hour. Token remains valid even if the key is destroyed, so we can safely re-generate new credentials and rolling restart deployments.

So this is something I wanted to avoid - investing time in implementing high-level logic to fix some low-level issue, non-portable and tightly coupled with rake code and our deployment process.
Seems the predicate our previous conversation was based on, that the app will notice the change of credentials without restart, is not true. But this simply means that should we want to rotate the credentials, we have to restart the pods - yet this can still be done in or outside of the cluster.
Some of the issues:

Tightly coupled with our deploy process - if we don't run deployments (let's say it Christmas break, or simply in future the project is stable that it doesn't need changes) the credentials won't be rotated
Static credentials are pulled to the CI and stored in Terraform state, as opposed to never leaving cluster/GCP (or not having static credentials at all)
Not portable and conceptually in the wrong place - this does not belong to the rake code - if we use Helm as a packaging format for our applications, this should be handled there
Obviously having to restart the application because of rotating tracing credentials does not seem to be very nice
An issue with dependency on the unsupported version of kubectl - this can be worked-around as mentioned in gpii-ops/exekube#59
Complexity - instead of fixing the underlying issue, we're introducing more code (== read more opportunities for failure)

Keys are not being used all the time. On startup, trace-agent would use the keys to generate token, which is valid for 1 hour. Token remains valid even if the key is destroyed, so we can safely re-generate new credentials and rolling restart deployments.

Also there will be a short window where the existing key is disabled, but the pods have not been updated and restarted. If the app would try to get a new token in that time, I assume it would fail.
For all of the above, my preferences for any other than short temporary solution would be:

Fix the underlying issue (btw. I would like to know how the tracing behaves with the new GKE Workload Identity)

If not, then Implement this in-cluster, my idea is a Cron job that

Uses gcloud via metadata credentials to generate the new svc account key that the app is able to consume
Uploads this key to kubernetes secret
Uploads some annotation on the deployment to trigger a restart of all the apps (I really dislike the restart part)
Revokes the old key

While this wouldn't avoid the restart, the solution would be self-contained in the Helm Chart, the credentials would never leave cluster, we wouldn't need to modify rake code and the key rotation would reliably happen at predictable interval. Downside is we would need a docker image containing both gcloud and kubectl (I don't think we have one atm.).

So this is something I wanted to avoid - investing time in implementing high-level logic to fix some low-level issue

@stepanstipl Well, as you know, low-level issue is not something that we can fix ourselves. So far I've invested 1 hour of my time into this proof-of-concept and already have working solution that does the job (I, honestly, spent more time in this argument than working on this implementation).

Tightly coupled with our deploy process - if we don't run deployments (let's say it Christmas break, or simply in future the project is stable that it doesn't need changes) the credentials won't be rotated

Pipeline runs nightly and goes all the way to prod regardless of the fact that there may be no new changes to deploy.

Static credentials are pulled to the CI and stored in Terraform state, as opposed to never leaving cluster/GCP (or not having static credentials at all)

They are handled entirely by TF, never written to disk, TF state is encrypted.

Not portable and conceptually in the wrong place - this does not belong to the rake code - if we use Helm as a packaging format for our applications, this should be handled there

I am not sure why it has anything to do with rake or Helm.

Obviously having to restart the application because of rotating tracing credentials does not seem to be very nice

Do you have an alternative that does not require pod restarts?

An issue with dependency on the unsupported version of kubectl

Just a simplest tool for the purpose that I used to provide this proof-of-concept. We can keep kubectl1.15 only to do rollout restarts or switch to another less convenient solution.

Complexity

But alternative solution that you are proposing look even more complex: in addition to the same credentials rotation logic that just moves to different level, we'll need to build and maintain separate image for sidecar (or cron, whatever it is), need to monitor that it is actually running and credentials are being rotated.

instead of fixing the underlying issue

Do you have a proposition on how to fix the underlying issue? If not - then what is the point of this argument?

Also there will be a short window where the existing key is disabled, but the pods have not been updated and restarted. If the app would try to get a new token in that time, I assume it would fail.

Thats why this proof-of-concept does rollout restart twice: first – to make sure that all pods generated new tokens, second – so new pods can use updated credentials.

Fix the underlying issue (btw. I would like to know how the tracing behaves with the new GKE Workload Identity)

This is actually a good idea. Let me try this – looks like it can be enabled on current GKE version, so there is no need to upgrade to non-default 1.13.

If not, then Implement this in-cluster, my idea is a Cron job that

Sorry, but having a cron that constantly restarts pods in the cluster sounds like a pretty bad idea to me.

Thanks @natarajaya for replies.

@stepanstipl Well, as you know, low-level issue is not something that we can fix ourselves. So far I've invested 1 hour of my time into this proof-of-concept and already have working solution that does the job (I, honestly, spent more time in our argument than working on this implementation).

I get that, however, time spent on a solution does not proportionally correlate with its quality.
This PoC would potentially restart both preferences up to 3 times in one deployment:

Once when the image is actually updated as part of rake run
2nd & 3rd time when the rake rotate_deployment_credentials runs

I did a quick test in my dev cluster and one restart of preferences took 3m:
Fri  5 Jul 2019 12:02:20 BST
deployment.extensions/preferences restarted
Waiting for deployment "preferences" rollout to finish: 1 out of 2 new replicas have been updated...
Waiting for deployment "preferences" rollout to finish: 1 out of 2 new replicas have been updated...
Waiting for deployment "preferences" rollout to finish: 1 out of 2 new replicas have been updated...
Waiting for deployment "preferences" rollout to finish: 1 old replicas are pending termination...
Waiting for deployment "preferences" rollout to finish: 1 old replicas are pending termination...
deployment "preferences" successfully rolled out
Fri  5 Jul 2019 12:05:04 BST

Now we have to do this 2x, for both preferences & flowmanager, so this solution adds 12m to every pipeline run, probably more (I'm not counting the other steps and deployments in stg/prd have more pods.. btw how does this approach scale?).

Pipeline runs nightly and goes all the way to prod regardless of the fact that there may be no new changes to deploy.

The pipeline needs 2 manual promotions to run in prod. To illustrate this on last week - pipeline in prd ran on Jul 28th, 9:34pm and then next time on Jul 2nd, 2L34pm - 4 days gap.  So if there are no manual promotions -> no runs in prod -> no rotation.

I am not sure why it has anything to do with rake or Helm.

Everything the app needs to operate should be in the app package if possible, in our case Helm -> not on other layers of our stack.

Sorry, but having a cron that constantly restarts pods in the cluster sounds like a pretty bad idea to me.

Can you elaborate on how is this worse than restarting all pods in workload up to 3 times on deployment, with unpredictable intervals between credentials rotation and adding a substantial amount of time to our pipeline?

Anyway, I think this whole discussion is now not really relevant anymore:
I did try to enable GKE Workload Identity on 1.12 cluster and tracing seems to work out of the box.
$ gcloud auth list
Credentialed Accounts
ACTIVE  ACCOUNT
*<EMAIL_ADDRESS>

So my proposal here is to:

Drop workarounds with static credentials injection to pods
Get rid of service-account-assigner
Enable and migrate to GKE Workload identity

This will give us a Google-managed & supported solution that works without any hacks out-of-the-box with google-cloud/trace-agent and our apps. The only downside I see is that it's in beta, but I would go for it.

I get that, however, time spent on a solution does not proportionally correlate with its quality.

@stepanstipl This is a proof-of-concept that with minimum effort (and minimal downside) improves security of an ugly temporary workaround for metadata issues. Why exactly are we talking about quality here?

so this solution adds 12m to every pipeline run, probably more (I'm not counting the other steps and deployments in stg/prd have more pods.. btw how does this approach scale?)

From my observations – it takes from 30 seconds to 3 minutes to complete rollout restart in prod-like environment. This adds extra 5-8% to the total pipeline duration. Regarding scalability: rollout duration does not necessarily increase with the number of pods, it mostly depends on rolling update strategy and amount of available resources in the cluster. Also, any solution that requires pod restarts will have to face similar issues.

To illustrate this on last week - pipeline in prd ran on Jul 28th, 9:34pm and then next time on Jul 2nd, 2L34pm - 4 days gap

I think this is pretty much worst case scenario – 4 days without rotation. How often we rotate CI keys atm?

Everything the app needs to operate should be in the app package if possible, in our case Helm -> not on other layers of our stack.

Yes, and normally our apps should be able to retrieve access tokens using metadata API and does not require static credentials. We are dealing with workaround here – I don't understand why higher levels of the stack (that are already involved in secret management) can't be involved here.

Can you elaborate on how is this worse

From the top of my head:

Credential rotation and pod restarts happen when we expect them (on pipeline run) and actively monitor systems VS everything happens in background periodically.
In case of any failure, we get notified immediately (failed pipeline) VS something fails quietly in background and requires additional monitoring.
Smoke tests are being executed after rotation and restarts to make sure that all systems are functional VS we rely on K8s entirely and hope that nothing goes wrong during background rollouts, opening new potential ways for a failure.

I did try to enable GKE Workload Identity on 1.12 cluster and tracing seems to work out of the box.

@stepanstipl Thanks for giving this a try! I got same result from my experiments, however, it turned out that it has nothing to do with Workload Identity, and the real culprit here is service-account-assigner! :(
With Workload Identity disabled, I was able to get proper SA token responses from metadata API after changing disable-legacy-endpoints to false on node pool and destroying service-account-assigner proxy.

Drop workarounds with static credentials injection to pods Get rid of service-account-assigner Enable and migrate to GKE Workload identity

This plan looks reasonable, though I am a little worried that migration to Beta Workload Identity may bring another complications. As alternative that does not require migration from existing SA workflow, we can try to fix service-account-assigner server to respond with proper Metadata-Flavor header on token requests.

Closing this, since there is now a fix for service-account-assigner that solves the metadata problem.

thanks @natarajaya.

since there is now a fix for service-account-assigner

Can you please link to the fix?

@stepanstipl Sure: https://github.com/gpii-ops/k8s-gke-service-account-assigner/pull/2


PaginatorSequence should return values even if there is only one page of values

Issue
This fixes an open issue on the AWS Swift SDK repo awslabs/aws-sdk-swift#588.
Description of changes

The PaginatorSequence struct does not return values if there is only one page of values (no pagination required).
This is because of a code block that breaks the loop if the input page token and the page token in the API response are equal. But if there is only one page of values, then both input page token and page token in the API response would both be nil.

Code snippet to reproduce issue
import AWSCloudWatchLogs
import AWSClientRuntime

let aws_config = AWSCredentialsProviderStaticConfig(
    accessKey: "REPLACE_THIS",
    secret: "REPLACE_THIS"
)

do {
    let client_config = try CloudWatchLogsClient.CloudWatchLogsClientConfiguration(
        region: "us-west-2",
        credentialsProvider: AWSCredentialsProvider.fromStatic(aws_config)
    )
    let client = CloudWatchLogsClient(config: client_config)
    let response = client.describeLogGroupsPaginated(input: DescribeLogGroupsInput())

    print("Printing output...")
    for try await i in response {
        print("--- Received log line ---")
        print(i)
    }
    print("-#-#- Call to AWS complete")
} catch {
  print("AWS init error")
}

For test scenarios/examples before fix, please refer to notes on awslabs/aws-sdk-swift#588

Test scenarios after fix
[Scenario] Should return any values from first page if no pagination required

This was the scenario with the issue reported in awslabs/aws-sdk-swift#588.

This scenario was run without any changes to the code snippet posted above. Log output below.
client config successful
Printing output...
2022-07-13T17:09:37+0700 info CloudWatchLogsClient : Request: POST https:443
 Path: /,
 Authorization: REDACTED,
User-Agent: aws-sdk-swift/1.0 api/cloudwatch-logs/1.0 os/macOS/12.4.0 lang/swift/5.6,
X-Amz-Date: 20220713T100937Z,
Content-Type: application/x-amz-json-1.1,
X-Amz-Target: Logs_20140328.DescribeLogGroups,
Host: logs.us-west-2.amazonaws.com,
Content-Length: 2,
x-amz-user-agent: aws-sdk-swift/1.0
 Optional([])
2022-07-13T17:09:37+0700 info CRTClientEngine : Creating connection pool for Optional("https://logs.us-west-2.amazonaws.com/?")with max connections: 50
2022-07-13T17:09:39+0700 info CRTClientEngine : Connection was acquired to: Optional("https://logs.us-west-2.amazonaws.com/?")
2022-07-13T17:09:39+0700 info CRTClientEngine : headers were received
2022-07-13T17:09:39+0700 info CRTClientEngine : headers were received
2022-07-13T17:09:39+0700 info CRTClientEngine : headers were received
2022-07-13T17:09:39+0700 info CRTClientEngine : headers were received
2022-07-13T17:09:39+0700 info CRTClientEngine : header block is done
2022-07-13T17:09:39+0700 info CRTClientEngine : incoming data
2022-07-13T17:09:39+0700 info CRTClientEngine : stream completed
--- Received log line ---
DescribeLogGroupsOutputResponse(REDACTED)
-#-#- Call to AWS complete
2022-07-13T17:09:39+0700 info CRTClientEngine : Connection to endpoint: Optional("https://logs.us-west-2.amazonaws.com/?") is closing

[Scenario] Should return values paginated if there are more than one page of values

This scenario worked fine before the fix too. Just testing this to ensure nothing else breaks.

The below scenario was run after updating the pagination input to 1 in the above example code snippet.
Change DescribeLogGroupsInput() to DescribeLogGroupsInput(limit: 1) to reproduce below scenario.
The log groups would all be listed one per page (so 3 pages).

Log output below.
client config successful
Printing output...
2022-07-13T17:17:58+0700 info CloudWatchLogsClient : Request: POST https:443
 Path: /,
 Content-Type: application/x-amz-json-1.1,
Content-Length: 11,
X-Amz-Target: Logs_20140328.DescribeLogGroups,
Host: logs.us-west-2.amazonaws.com,
x-amz-user-agent: aws-sdk-swift/1.0,
Authorization: REDACTED,
X-Amz-Date: 20220713T101758Z,
User-Agent: aws-sdk-swift/1.0 api/cloudwatch-logs/1.0 os/macOS/12.4.0 lang/swift/5.6
 Optional([])
2022-07-13T17:17:58+0700 info CRTClientEngine : Creating connection pool for Optional("https://logs.us-west-2.amazonaws.com/?")with max connections: 50
2022-07-13T17:18:00+0700 info CRTClientEngine : Connection was acquired to: Optional("https://logs.us-west-2.amazonaws.com/?")
2022-07-13T17:18:00+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:00+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:00+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:00+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:00+0700 info CRTClientEngine : header block is done
2022-07-13T17:18:00+0700 info CRTClientEngine : incoming data
2022-07-13T17:18:00+0700 info CRTClientEngine : stream completed
--- Received log line ---
DescribeLogGroupsOutputResponse(REDACTED)
2022-07-13T17:18:00+0700 info CloudWatchLogsClient : Request: POST https:443
 Path: /,
 X-Amz-Target: Logs_20140328.DescribeLogGroups,
Content-Type: application/x-amz-json-1.1,
Host: logs.us-west-2.amazonaws.com,
User-Agent: aws-sdk-swift/1.0 api/cloudwatch-logs/1.0 os/macOS/12.4.0 lang/swift/5.6,
X-Amz-Date: 20220713T101800Z,
Authorization: REDACTED,
Content-Length: 82,
x-amz-user-agent: aws-sdk-swift/1.0
 Optional([])
2022-07-13T17:18:02+0700 info CRTClientEngine : Connection was acquired to: Optional("https://logs.us-west-2.amazonaws.com/?")
2022-07-13T17:18:02+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:02+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:02+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:02+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:02+0700 info CRTClientEngine : header block is done
2022-07-13T17:18:02+0700 info CRTClientEngine : incoming data
2022-07-13T17:18:02+0700 info CRTClientEngine : stream completed
--- Received log line ---
DescribeLogGroupsOutputResponse(REDACTED)
2022-07-13T17:18:02+0700 info CloudWatchLogsClient : Request: POST https:443
 Path: /,
 Content-Length: 104,
Authorization: REDACTED,
Content-Type: application/x-amz-json-1.1,
x-amz-user-agent: aws-sdk-swift/1.0,
User-Agent: aws-sdk-swift/1.0 api/cloudwatch-logs/1.0 os/macOS/12.4.0 lang/swift/5.6,
X-Amz-Target: Logs_20140328.DescribeLogGroups,
Host: logs.us-west-2.amazonaws.com,
X-Amz-Date: 20220713T101802Z
 Optional([])
2022-07-13T17:18:04+0700 info CRTClientEngine : Connection was acquired to: Optional("https://logs.us-west-2.amazonaws.com/?")
2022-07-13T17:18:05+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:05+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:05+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:05+0700 info CRTClientEngine : headers were received
2022-07-13T17:18:05+0700 info CRTClientEngine : header block is done
2022-07-13T17:18:05+0700 info CRTClientEngine : incoming data
2022-07-13T17:18:05+0700 info CRTClientEngine : stream completed
--- Received log line ---
DescribeLogGroupsOutputResponse(REDACTED)
-#-#- Call to AWS complete
2022-07-13T17:18:05+0700 info CRTClientEngine : Connection to endpoint: Optional("https://logs.us-west-2.amazonaws.com/?") is closing

Scope

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks for the PR @HashNuke
Looks good to me, merged.


error: Sign in with Google temporarily disabled for this app

Please confirm the following:

I have upgraded to the latest GYB release from https://github.com/jay0lee/got-your-back/releases and I still have this issue. ☑
I am typing the command as described in the GAM Wiki at https://github.com/jay0lee/got-your-back/wiki

kind of. The linux instructions to run gyb.py only work when you download the source distribution (1.31) and install the requirements file. I did this. I also downloaded what appeared to be the latest binary distribution (the one with glibc2.23) and had to run ./gyb instead of python3 gyb.py . Either way, I was prompted to run --action create-project instead of --action estimate. Either way, the error message was the same.

This appears related to an old issue, #194 .
Full steps to reproduce the issue:
I have tried this with the latest source distribution as well as the latest binary distribution. I have tried this with a gmail account and a Google Apps domain account.

(with source distribution) run python3 gyb.py --email [MY EMAIL] --action create-project
go to the link provided and click on my account

Expected outcome (what are you trying to do?):
a project is created and everything works
Actual outcome (what errors or bad behavior do you see instead?):
I'm redirected to an error page that says:

⚠
Sign in with Google temporarily disabled for this app
This app has not been verified yet by Google in order to use Google Sign In.

screenshot:

Thanks for catching this. It may take me awhile to get this resolved but in the meantime you can workaround the issue by whitelisting the GAM Creation project:
Go to https://admin.google.com/AdminHome?hl=en#Oauth2ScopeManagement:subtab=trusted
Click the yellow + Circle at bottom right.
For app type select "Web Application"
For OAuth2 Client ID put:
297408095146-fug707qsjv4ikron0hugpevbrjhkmsk7.apps.googleusercontent.com
Go grab a cup of coffee (wait 5-10 minutes).
After a few minutes, you should be able to rerun the install or rerun GYB command and be allowed to accept the application.

Does whitelisting GAM Creation Project introduce any vulnerabilities?

No. If it makes you uncomfortable you can remove the whitelisting after
you've finished the setup process.
On Sat, Dec 7, 2019 at 10:12 AM Wyoming IBC<EMAIL_ADDRESS>wrote:

Does whitelisting GAM Creation Project introduce any vulnerabilities?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/got-your-back/issues/240?email_source=notifications&email_token=ABDIZMBAYJE2JS45O5BUHZ3QXO4MZA5CNFSM4JW53U2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGI2EY#issuecomment-562859283,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDIZMFQ2UNIZIPNGUCUQJDQXO4MZANCNFSM4JW53U2A
.

This workaround is for G-Suite users only. What about non G-Suite accounts?

What do you mean? Cloud Identity? Google Apps Free?
On Mon, Dec 9, 2019, 4:30 AM Vaibhav Avasarala<EMAIL_ADDRESS>wrote:

This workaround is for G-Suite users only. What about non G-Suite accounts?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/got-your-back/issues/240?email_source=notifications&email_token=ABDIZMGFH6DBBFIPO6JJ67LQXYF3PA5CNFSM4JW53U2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGIOIMQ#issuecomment-563143730,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDIZMD76KZQFW73F2IIX53QXYF3PANCNFSM4JW53U2A
.

What i meant was for, for google accounts which are not of G-Suite category, this workaround doesn't help.

Hello !
What VaibhavAvasarala said is happening also for me :

Go to https://admin.google.com/AdminHome?hl=en#Oauth2ScopeManagement:subtab=trusted
This workaround is for G-Suite users only. What about non G-Suite accounts?

I mean, I do not have an G-Suite account (administrator), I have only a regular Gmail account .
Next, trying to use gyb (in the Windows command prompt) , I get the following response:
C:\GYB>gyb --action create-project --email<EMAIL_ADDRESS>Go to the following link in your browser:
https://gyb-shortn.jaylee.us/xxyyzz
Enter verification code:
Well, If I try to access that link, I get a login request :
Choose an account to continue to GAM Project Creation
.... and after login (using my regular Gmail account) , I get the following response from GSuite page (admin.google.com):
admin.google.com is for G Suite accounts only. Regular Gmail accounts cannot be used to sign in to admin.google.com. Learn more
So ... how may I resolve the problem, while I do not have any admin account ?!
Thanks a lot and have a nice day,
Funkmuseum

I have a QNAP with archived accounts. I tried restoring and I am getting this error. I also tried restore with new GYB and was told the data is in version 5 and 6 is needed.

this is now fixed.

I seem to be getting this same error now with the newest version (1.34).  Any thoughts?


Allow accessing and modifying of NBT data (through a DataContainer)

I am missing the possibility modify data of objects that is not built in the API. For example if I wanted to modify ItemStacks of modded items, then there's no easy way to modify their NBT data without having to cast them to MC ItemStacks.
I suggest adding a key like Keys.RAW_DATA that returns the NBT of the object as a DataContainer (should also allow setting).
Possibly related: SpongePowered/SpongeCommon#950

@BrainStone and I think @pie-flavor I think it's time to officially call DataHolder#setRawData() to officially work properly. Considering that the API is not designed to re-invent the storage query wheels, I'd be willing to expose the raw data container output such that the full NBT values can be re-set through the DataContainer passed in. This means however that developers taking advantage of the system to set all the raw data values wouldn't necessarily work out well enough to support manipulating all of vanilla's raw data.
That being said, I'm considering of making the setRawData to accept the Sponge formatted containers, where some obvious options will be excluded (like the entity type if it's being set back on an entity), while some other options may include re-setting things like damage values for item stacks will be quasi supported as it's pulled from the container.
Thoughts @kashike and @Zidane? As far as I'm concerned, the Data API is already well used and I can support offering this setting back for customized items and developers abusing it can be told they're abusing it if there's problems ;)

On the API side data has been revamped in API 8. setRawData is still there https://github.com/SpongePowered/SpongeAPI/blob/992ef50c171183070bede2d234379052613d830e/src/main/java/org/spongepowered/api/data/SerializableDataHolder.java#L81 so as far as the API is concerned this needs to be fixed in the implementation.
There's already a spongecommon issue very similar to this so I'm closing this.
https://github.com/SpongePowered/SpongeCommon/issues/1694


Tekton dashboard should be either not accessible or password protected

If people are deploying Epinio in production, we should not expose more services than we need to the public.
The Tekton dashboard is accessible to anybody without a password (Unless #376 changes that).
If we decide we want the dashboard to be available, we should make sure it's password protected and served over tls.
If we don't need it, we should not deploy it at all.

(Unless #376 changes that).

It doesn't. Focus of 376 was the API ingress only.

The tekton dashboard looks to be a viewer for the tekton resources in the system, mainly pipelines and tasks, and their runs.
I do not see this as something the user needs access to.
It is a nice way of looking at the tekton things when debugging an issue with tekton.
That said, all the information shown is likely also accessible via regular kubectl commands.
If not as pretty.
Personal verdict: Should not be exposed.
@jimmykarily @thardeck @manno ^ Your opinions ?

I think we should not deploy the dashboard at all. I agree, all the needed information is available via kubectl.


ddns-updater: disable updates

By disabling updates r-ryantm will stop trying to update it. This can be reverted once a newer version of ddns-updater is released
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This is largely to prevent issues like https://github.com/NixOS/nixpkgs/pull/334101 from cropping up again.


$auth.loggingIn need to be explicitly = true

Combined with angular-ui router in the resolve object. I need to explicitly set $auth.loggingIn = true; otherwise I get undefined and, in my case, this.helpers(); refuse to return the Mongo cursor

After some effort I've found a solution. If it interest someone in the community, please be my guess :
https://forums.meteor.com/t/auth-angular-ui-router-resolved/20082