migrate to the custom dataset

Thank you for sharing your excellent work.
Can this method be migrated to a custom dataset? At present, there are only box level annotations in the dataset, without pixel level annotations.

Thank you for your attention. However, I'm not familiar with box prediction tasks like object detection, and it is difficult for me to provide migration assistance.

Thanks for your answer. It seems to me that Image Forgery Detection is a task similar to segmentation rather than object detection, right?

Yes, "image forgery localization" may be a more accurate description than "image forgery detection".


Adding a record when jsonapi server does not accept client generated ids

Hi,
I would like to use orbit with a rails backend using jsonapi-resources.
In order to created a new record, the api expects a POST request which does not include an id.
As explained on JSON api documentation, here is what should happen.

If a POST request did not include a Client-Generated ID and the requested resource has been created
successfully, the server MUST return a 201 Created status code.
The response SHOULD include a Location header identifying the location of the newly created
resource.
The response MUST also include a document that contains the primary resource created.

However, when I call addRecord, orbitjs is automatically generating a uuid and includes it to the post data.
Is there a way to prevent orbit from generating uuid for new records ?
I am getting confused with the remoteId, feature. Is it the way to go ?
Here is what I'm doing, its largely inspired by the Getting started in the documentation.
import Store from '@orbit/store';
import Orbit, { Schema } from '@orbit/data';
import Coordinator, { SyncStrategy, RequestStrategy } from '@orbit/coordinator';
import JSONAPISource from '@orbit/jsonapi';
import 'isomorphic-fetch';

Orbit.fetch = fetch;

const schema = new Schema({
  models: {
    customer: {
      attributes: {
        name: { type: 'string' },
      },
    },
  },
});

const store = new Store({ schema });

const remote = new JSONAPISource({
  schema,
  name: 'remote',
  host: 'http://localhost:3000/api/v1',
});

const coordinator = new Coordinator({
  sources: [store, remote],
});

// Query the remote server whenever the store is queried
coordinator.addStrategy(new RequestStrategy({
  source: 'store',
  on: 'beforeQuery',
  target: 'remote',
  action: 'pull',
  blocking: true,
}));

// Update the remote server whenever the store is updated
coordinator.addStrategy(new RequestStrategy({
  source: 'store',
  on: 'beforeUpdate',
  target: 'remote',
  action: 'push',
  blocking: true,
}));

// Sync all changes received from the remote server to the store
coordinator.addStrategy(new SyncStrategy({
  source: 'remote',
  target: 'store',
  blocking: true,
}));

test('store addRecord does not force remote id', async () => {
  const customer = {
    type: 'customer',
    attributes: {
      name: 'Bob',
    },
  };

  await coordinator.activate();

  // Add record make a post query to the api, with a id gererated by orbitjs.
  // My api expects no id to be present, the server will assign an id and
  // return the created object.
  const createdCustomer = await store.update(t => t.addRecord(customer));
  console.log(createdCustomer);
});

Hi @julfla,
You'll want to use a key to represent the remote ID that's distinct from the locally generated ID. Conventionally, we use remoteId for this key. Keys are explained in the guides here:
http://orbitjs.com/v0.15/guide/modeling-data.html#Keys
You'll need to declare this key in your schema for every model:
const schema = new Schema({
  models: {
    customer: {
      keys: {
        remoteId: {}
      },
      attributes: {
        name: { type: 'string' },
      },
    },
  },
});

And you'll need to tell your serializer to use it for every resource's id:
class CustomJSONAPISerializer extends JSONAPISerializer {
  resourceKey(type) {
    return 'remoteId';
  }
}

And you'll want to pass the custom serializer to your source:
const remote = new JSONAPISource({
  schema,
  name: 'remote',
  host: 'http://localhost:3000/api/v1',
  SerializerClass: CustomJSONAPISerializer
});

You'll also need a key map that you can share among sources so that they can map between keys and local ids, and you'll need to pass this same key map into every source:
import { KeyMap } from '@orbit/data';

let keyMap  = new KeyMap();

const remote = new JSONAPISource({
  schema,
  keyMap
  name: 'remote',
  host: 'http://localhost:3000/api/v1',
  SerializerClass: CustomJSONAPISerializer
});

const store = new Store({ schema, keyMap });

I obviously need to centralize these steps into some docs. Let me know if I've missed anything.

Hi @dgeb !
Thank you very much for your detailed reply. The example is now working :slightly_smiling_face:
One thing I found confusing is that it seems that the notion of Record Identity is unaware of the keys.
As a result, and if I understand correctly, manipulation of a record knowing only its remoteId is bit tedious.
We need to manually lookup for the id in the keymap, and if missing generate an id and push it.
Here is a helper function I'm using:
function recordIdentityFromKeys({ type, id, keys }) {
  const recordIdentity = {
    type,
    keys,
    id: id || keyMap.idFromKeys(type, keys) || schema.generateId(type),
  };
  keyMap.pushRecord(recordIdentity);
  return recordIdentity;
}

Hi @julfla,
You'll want to use a key to represent the remote ID that's distinct from the locally generated ID. Conventionally, we use remoteId for this key. Keys are explained in the guides here:
http://orbitjs.com/v0.15/guide/modeling-data.html#Keys
You'll need to declare this key in your schema for every model:
const schema = new Schema({
  models: {
    customer: {
      keys: {
        remoteId: {}
      },
      attributes: {
        name: { type: 'string' },
      },
    },
  },
});

And you'll need to tell your serializer to use it for every resource's id:
class CustomJSONAPISerializer extends JSONAPISerializer {
  resourceKey(type) {
    return 'remoteId';
  }
}

And you'll want to pass the custom serializer to your source:
const remote = new JSONAPISource({
  schema,
  name: 'remote',
  host: 'http://localhost:3000/api/v1',
  SerializerClass: CustomJSONAPISerializer
});

You'll also need a key map that you can share among sources so that they can map between keys and local ids, and you'll need to pass this same key map into every source:
import { KeyMap } from '@orbit/data';

let keyMap  = new KeyMap();

const remote = new JSONAPISource({
  schema,
  keyMap
  name: 'remote',
  host: 'http://localhost:3000/api/v1',
  SerializerClass: CustomJSONAPISerializer
});

const store = new Store({ schema, keyMap });

I obviously need to centralize these steps into some docs. Let me know if I've missed anything.

We would appreciate these information in docs :)

Is there an easy way to simply not include the id parameter ? i'm using a B/E which doesn't allow this parameter even if it's empty string.

FTR, this is what my serializer looks like after the changes.
import { JSONAPISerializer } from "@orbit/jsonapi";
import { dasherize } from "@orbit/utils";

export default class CustomJSONAPISerializer extends JSONAPISerializer {
  resourceKey(type: string) {
    return "remoteId";
  }

  resourceType(type: string) {
    let caller = this.getCallerName();
    if (caller === "JSONAPIURLBuilder.resourcePath")
      return dasherize(this.schema.pluralize(type));
    return this.recordType(type);
  }

  resourceAttribute(type: string, attr: string): string {
    return attr;
  }

  getCallerName() {
    try {
      throw new Error();
    } catch (e) {
      try {
        return e.stack.split("at ")[3].split(" ")[0];
      } catch (e) {
        return "";
      }
    }
  }
}

At least in this version, when I call  await memory.update((t) => t.addRecord(newPerson));, the resourceType is called twice:

for serializing the resource path; and
for serializing the resource type

So when the caller is the resource path I change the string appropriately.
It's not beautiful but it worked: The resource path is pessoas and the resource type sent is pessoa. The attributes also are OK now.

BUT (hope this is the last thing),
When the sent data is not the ideal (e.g., when the server return status 400) I'm having some problems.
When the first request is sent I can see the following Orbit log events (in order):

[source-event] remote beforePush
[source-event] remote pushFail
[source-event] memory updateFail

When I click again in the send button nothing happens. No events, no errors. It just hangs.
About my Orbit  Schema
I'll share a piece of my  schema:

 Orbit Schema
import { Schema } from "@orbit/data";
import MemorySource from "@orbit/memory";
import Coordinator, {
  RequestStrategy,
  SyncStrategy,
  EventLoggingStrategy,
} from "@orbit/coordinator";
import JSONAPISource from "@orbit/jsonapi";
import { ApplicationPaths } from "../../components/api-authorization/ApiAuthorizationConstants";
import CustomJSONAPISerializer from "./Orbit/CustomJSONAPISerializer";
import { KeyMap } from "@orbit/data";

let keyMap = new KeyMap();

const inflectPluralize = {
  pessoas: "pessoas",
  pessoa: "pessoas",
  contato: "contatos",
  contatos: "contatos",
  endereco: "enderecos",
  enderecos: "enderecos",
};

const inflectSingularize = {
  pessoa: "pessoa",
  pessoas: "pessoa",
  contato: "contato",
  contatos: "contato",
  endereco: "endereco",
  enderecos: "endereco",
};

const schema = new Schema({
  pluralize: (word) => inflectPluralize[word],
  singularize: (word) => inflectSingularize[word],
  models: {
    pessoa: {
      keys: { remoteId: {} },
      attributes: {
        nome: { type: "string" },
        cpf: { type: "string" },
        dataDeNascimento: { type: "date" },
      },
    },
  },
});

const remote = new JSONAPISource({
  schema,
  name: "remote",
  host: 'https://whatever...',
  namespace: "api",
  SerializerClass: CustomJSONAPISerializer,
  keyMap,
});

export const memory = new MemorySource({
  schema,
  keyMap,
});

export const coordinator = new Coordinator({
  sources: [remote, memory],
});

// Query the remote server whenever the store is queried
coordinator.addStrategy(
  new RequestStrategy({
    source: "memory",
    on: "beforeQuery",
    target: "remote",
    action: "pull",
    blocking: true,
  })
);

// Update the remote server whenever the store is updated
coordinator.addStrategy(
  new RequestStrategy({
    source: "memory",
    on: "beforeUpdate",
    target: "remote",
    action: "push",
    blocking: true,
    // catch(e) {
    //     I tried to call requestQueue.skip() and the requestQueue.shift() from source and target, but I had no luck.
    //     when I do this, the original exception is lost.
    // },
  })
);

// Sync all changes received from the remote server to the store
coordinator.addStrategy(
  new SyncStrategy({
    source: "remote",
    target: "memory",
    blocking: true,
  })
);

coordinator.addStrategy(
  new EventLoggingStrategy({
    interfaces: ["pullable", "pushable", "queryable", "syncable", "updatable"],
  })
);

In summary, I need to be able to try again as much as I can, and I also need to get the data from the server, which contains a JSON API message with the error details...
Again, thank you for your support.
Any help would be appreciated.
Regards

Orbit is undeniably great！But it is hard to hide the poor quality of its documentation。I had the same problem and finally found the answer not in the document, but in issues。Good documentation can help Orbit go further and further。Thank you


Euterpea.Music.Mode should have more modes

It would be nice to have access to these modes as well: Dorian, Phrygian, Lydian, Mixolydian, and Locrian.

This is something that was actually requested many times right after the Mode datatype was initially introduced, but it was apparently forgotten about and never updated (this was from long before I was the primary maintainer). Since I know there was originally intent to expand this data structure and I don't think it will pose a significant risk of breaking code that only relies on the two modes provided that they remain where they are in constructor order, this is a rare instance of a feature addition that shouldn't cause problems. My inclination is to actually be a bit more general:

data Mode = Major | Minor | -- most commonly used terms
Ionian | Dorian | Phrygian | Lydian | Mixolydian | Aeolian | Locrian |
CustomMode String
deriving (Show, Eq, Ord)

CustomMode would serve to accommodate other situations like harmonic minor and modes for which the names are less standardized. This is also in line with some of the other changes that took place from Euterpea 1.x to 2.x.

I've rolled this in with some other changes I pushed today.


Two different unique IDs being created for device

Hi,
I seem to get two different IDs created for my panel when the home assistant add on starts.
Either 79131 or 1076889.
Is it getting a corrupted serial number or something?
Could the unique ID be forced in the config to prevent this occurring?
It creates a second set of entities and confuses my automations.
thanks

What's your config in the integration?
I noticed that if I change the prefix setting it doesn't always seem to obey this. Difficult to tell as the code is not available. I've left mine on the default "homeassistant" for now.

What's your config in the integration?
I noticed that if I change the prefix setting it doesn't always seem to obey this. Difficult to tell as the code is not available. I've left mine on the default "homeassistant" for now.

I think it's the panel giving a corrupted response that is being interpreted as a different serial.
Would be good if I could code the serial into the config so it doesn't change it.
Thanks.

I have the same problem, I have noticed when this happens if I check the MQTT messages I see the status as offline for the incorrect serial number, can we either put a check to ignore status offline ? or ideally as @B-Hartley requested can we add the serial to the config?
2531110
status = offline

I've pushed an update which removes the serial number from the MQTT topic structure. Hopefully this should prevent the issue going forward.


Merge from Minio:mint

Merge the changes from upstream into our working branch 'updated-suite'.

Sorry. Because we activated Rebase & Merge, I wasn't able to merge this. I merged the upstream changes manually and pushed to merge commit to the updated-suite branch.


Push custom rules upstream to jscs-dev/node-jscs

I've created PRs for a subset of ember-suave's custom JSCS rules:

disallowVar
requireArrayDestructuring
requireObjectDestructuring
requireEnhancedObjectLiterals

As/if they get merged upstream, we should remove them from this package.
Also, how does ember-suave's requireTemplateStringsForConcatenation from node-jscs's requireTemplateStrings?
If they're different, I'll gladly open a PR as well, I was just unsure if it was a duplicate rule.

As/if they get merged upstream, we should remove them from this package.

Thanks! I appreciate the effort to move these upstream. It was always the plan to do so, just lack of time.

Also, how does ember-suave's requireTemplateStringsForConcatenation from node-jscs's requireTemplateStrings?

ember-suave will always force template strings, except for breaking up long statements:
// not valid
let foo = 'foo' + 'bar';
let greeting = `Hello, ${name}!  ` + 'Enjoy your stay!';

// valid
let foo = 'foobar';
let greeting = `Hello, ${name}! ` +
  'Enjoy your stay!'; // ok because the string concatenation is used to break the line

I believe the rule in node-jscs will allow both those invalid cases if you select { "allExcept": ["stringConcatenation"] } as an option, and will reject the 2nd valid example if you select true to enforce template strings all the time (need to confirm though).

/cc @hzoo

Great! should be able to merge this for a 2.6 release!

Merged:

requireObjectDestructuring : https://github.com/jscs-dev/node-jscs/commit/bc6f9608c78068c089e342b4b84c7fda98fa1552
requireEnhancedObjectLiterals: https://github.com/jscs-dev/node-jscs/commit/b8969d48584e169956422120d71be8f24e73f06b
requireArrayDestructuring: https://github.com/jscs-dev/node-jscs/commit/ecec961417f2b1aef17fe10d2a2231c7f3d50717
disallowVar: https://github.com/jscs-dev/node-jscs/commit/3c2dbf7eca2bf65b9985ff46d2c54317237c55d4

Looks like they're in the 2.6.0 milestone

@seanpdoyle - Can you submit a PR that:

deprecates our internal versions with a message that they should use the new rules upstream (we can't remove because users could have specific overrides/usage of our rules directly)
changes our lib/jscsrc.json to use the newly added rules in JSCS 2.6.0
updates jscs to 2.6.0

We will have to wait for merging until 2.6.0 is released, but then we can release an update...

@rwjblue https://github.com/dockyard/ember-suave/pull/81
They're pretty weak deprecation warnings, but they can be improved once the details are set in stone after the 2.6 release.

:tada:


Add sundaeandpizza to Contributors list

@sundaeandpizza, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added Facebook share and tweet feature to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.
PS. If you close the pull request, maintainer would assume that you don't want it to be merged


feature/601 - added state entity and repo

Pull Request

created state-code.entity.ts
created state-code.repository.ts
updated hourly-apportioned-emissions.module.ts to import StateCode repo

Branch no longer needs to be merged into develop.


spvOperandTableGet() ignores the target environment.

The assemble grammar can be used to retrieve valuable spec information, like the extensions required for a given capability.
Most of the code to support it seems present, but it seems like we have only one table for operands, and we ignore the spirv version in use.
This means, no matter the SPIRV version, the Capability MultiView will require the SPV_KHR_multiview extension. I don't think this is a big issue, but would be a nice improvement the the capability trimming pass incoming.

Background:  When we originally made this, we had separate tables for each SPIR-V version.  That was going to blow up space badly, for one thing.  At some point, the SPIR-V spec itself moved to a single document to cover all versions, which is now the "unified" spec, and described by the headers in spirv-headers/include/unified1/...
The spec now has annotations of "missing before" versions.
The grammar now has "version" to say what SPIR-V version includes the functionality in core.

This means, no matter the SPIRV version, the Capability MultiView will require the SPV_KHR_multiview extension. I don't think this is a big issue, but would be a nice improvement the the capability trimming pass incoming.

The operand-kinds data has two fields to allow validating the version.
See spv_operand_desc_t in source/table.h
  // Minimal core SPIR-V version required for this feature, if without
  // extensions. ~0u means reserved for future use. ~0u and non-empty extension
  // lists means only available in extensions.
  const uint32_t minVersion;
  const uint32_t lastVersion;

The "version" field in the grammar gets mapped to minVersion.  And ViewIndex is marked with "version" 1.3.
So all the data is encoded already in the single unified table.  Validation has to pay attention to the minVersion and maxVersion.
So I think this issue is mistakenly filed.

Ah, thanks for the context.
Right, this makes sense, and I do see the version fields to inform about that.
So it's just the code which still requires a target_env, but ignores it because it's not useful anymore...
Changing this issue to be a cleanup then.


update to latest upstream

The upstream https://github.com/fergusstrange/embedded-postgres has a few bug fixes; but it also conflicts with some changes we made. For example: they introduced file renames in a similar, but different, way than how we implemented atomic renames for the same issue a few months ago.
Updating app to use this version is a bit risky: I had to resolve the conflicts, and am mostly relying on the tests in this repo to confirm it works. This could help us, or it could introduce some lurking issues.
I think it's worth merging this here, then trying to update the dependency in the app and seeing how it behaves from there.

@slimsag / @chwarwick can we close this?


Disable Auth Plugin

Added a builtin plugin to explicitly disable HTTP authentication and send an empty authorization header.

Coverage decreased (-0.02%) to 93.77% when pulling e3c9491d8096345ad313734bc18300a4f824d7c3 on Jonchun:disable-http-auth-plugin into 87e661c5f165e710ecd0863c6e3529d0a131da0d on jakubroztocil:master.

Can you mention a bit about the objective of this PR (e.g how is having a hard-coded disable mechanism is useful for your workflow)? (ideally as a separate issue that is linked to this).

Closing as stale.


Spelling mistake

https://docs.microsoft.com/en-us/azure/cosmos-db/tutorial-develop-table-dotnet
spelling mistake in above page. For reference "CustimerEntity.cs"
[Enter feedback here]

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

ID: ef1295f9-eab5-8918-ab99-3a20b8723805
Version Independent ID: 0e551ce1-761a-d379-7b6c-4caf49c5bbb2
Content: Get started with Azure Cosmos DB Table API using .NET Standard SDK
Content Source: articles/cosmos-db/tutorial-develop-table-dotnet.md
Service: cosmos-db
Sub-service: cosmosdb-table
GitHub Login: @wmengmsft
Microsoft Alias: wmeng

@ramanujam082 Thank you for pointing this out, I have updated the doc accordingly.
The changes should be live EOD or tomorrow.
We will close this issue now.
In future, if you see any minor bug fixes in the doc, feel free to click on the edit button and submit a PR to update. We love taking contributions from the community.


[BUG] - The scrollbar in the Modal with mobile view is not working

NextUI Version
2.1.13
Describe the bug
If an inside scrollbar is enabled in ModalBody, something weird occurs: the top area of ModalBody is not working while the bottom area is fine. When scrolling in the top area, the focus isn't even on the modal but on the page below, and the page below scrolls.
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
In Modal docs, the bug is just there. Use the Overflow scroll preview, open it in mobile view, try to scroll on top area of modalbody content. The modal content won't scroll but the doc page scrolls
Expected behavior
Scroll normally on modal content
Screenshots or Videos
Screen Recording - Made with FlexClip.webm
Operating System Version
Windows
Browser
Chrome

Closing - no longer reproducible


Bal build is showing compilation warnings for external modules

Description:
$title. For example, if we use an external module that does not have documented fields, we get undocumented field warnings when we compile the original project. Since the developer doesn't have any control over these warnings, it is better to remove these warnings from getting printed in the current project.
Steps to reproduce:
Build a project with an external module that has compilation warnings.
Example code:
import ballerinax/covid19;
import ballerina/http;

service / on new http:Listener(8090) {
    resource function get .(http:Request req) returns json|error? {

        covid19:Client covid19Endpoint = check new ();
    }
}

This will produce the following warnings
Compiling source
        mirajabeysekara/sandbox12:0.1.0
ballerinax/covid19:1.0.0 [central.ballerina.io -> home repo]  100% [=======================================================================] 12/12 KB (0:00:00 / 0:00:00)
        ballerinax/covid19:1.0.0 pulled from central successfully
WARNING [ballerinax/covid19/1.0.0::types.bal:(163:5,163:27)] undocumented field 'cases'
WARNING [ballerinax/covid19/1.0.0::types.bal:(164:5,164:28)] undocumented field 'deaths'
WARNING [ballerinax/covid19/1.0.0::types.bal:(165:5,165:31)] undocumented field 'recovered'
WARNING [ballerinax/covid19/1.0.0::types.bal:(367:5,367:18)] undocumented field 'cases'
WARNING [ballerinax/covid19/1.0.0::types.bal:(368:5,368:28)] undocumented field 'deaths'
WARNING [ballerinax/covid19/1.0.0::types.bal:(369:5,369:31)] undocumented field 'recovered'

Running Tests

        sandbox12

                No tests found

Generating executable
Language telemetry service is disabled.
        target/bin/sandbox12.jar

Affected Versions:
SL Beta3 RC4

@hasithaa Thoughts on this? I don't think it is correct to remove these warnings even though they are coming from a dependent module.

IMO this is not a bug since it was a conscious decision to show any errors or warnings coming from the compiler for dependent modules.
Possible improvement can be introduce a mode to the compiler for compiling dependencies where the compiler can skip checks which are not relevant to a module user. ie ( lint errors, documentation issues etc)

IMO this is not a bug since it was a conscious decision to show any errors or warnings coming from the compiler for dependent modules.

Here, the developer can't take any action to fix the warning right?
Also, these warnings will disappear on the next builds because of the caching.

Possible improvement can be introduce a mode to the compiler for compiling dependencies where the compiler can skip checks which are not relevant to a module user. ie ( lint errors, documentation issues etc)

+1
Another approach is to give flags to disable warnings like -Wundocumented-field similar to C++, but I am not sure whether it is the correct approach for Ballerina.

Yes, this is not a bug. I am closing this issue. Please create a new issue with a proposal.

Reopening this issue since this came up once again in a language design call when discussing https://github.com/ballerina-platform/ballerina-lang/issues/37463 and it was suggested that we shouldn't be showing these warnings/errors to the user.

Considering recent issues/warnings, I now believe that we should suppress compile-time warnings generated by package dependencies. We decided to allow all such warnings a few years ago, but the situation has changed now.
My proposal is to suppress such warnings by default and provide a compiler option to see them.


MNT Table header closed tag position

Parent issue

https://github.com/silverstripe/.github/issues/148

Updated


[GHSA-rrjw-j4m2-mf34] gix-transport code execution vulnerability

Updates

Affected products
CWEs
Description

Comments
This proposes two changes, with separate rationales, that I think are best made together:

While working on the newer advisory https://github.com/advisories/GHSA-98p4-xjmm-8mfh for a related vulnerability, and when updating its CWEs (#4316), I noticed that this prior advisory did not list any CWEs, and that the original reporter vin01 had attempted to add CWE-88, which I believe is a correct and applicable CWE here. That attempt was part of #3253, and I am unsure why that was closed without merging, but it may have been related to a separate URL change proposed there, which I have not included here.
The upstream advisory RUSTSEC-2023-0064 for this credits the original reporter, who does not appear to be credited anywhere in this advisory, including in its metadata. Based on #11, this omission appears to have been an artifact of how the advisory ended up in the database, rather than being the reporter's preference. If the reporter can be credited as such in the advisory's metadata (or, if that is not possible, then even perhaps with another role such as analyst?), I think that might be preferable to including the credit line from the RUSTSEC advisory. Otherwise, I think harmonizing this with the RUSTSEC advisory by adding the credit line may be justified. One outcome I am hoping to avoid is being listed as an analyst here with the original reporter not credited here at all, since that could cause readers to come to the false conclusion that I had discovered or reported this particular vulnerability.

CC: @vin01 (original reporter), @Byron (project maintainer)

Hi @EliahKagan and @Byron I appreciate the collaboration. I see that @EliahKagan has been given reporter credit via the repo GHSA, in order to also give @vin01 the report credit, @Byron needs to give them credit in the repo GHSA.

@CallmeMari Thanks for the looking into this, and for the quick reply! It looks like there may be some confusion, as there are two related vulnerabilities, and I really am the reporter of the newer one that I have credit on from its repo GHSA, just not the older related one from September 2023, which has no repo GHSA.
Specifically, I did discover and report the more recently reported "via malicious username" vulnerability, https://github.com/advisories/GHSA-98p4-xjmm-8mfh, which has this repository-local advisory, as well as RUSTSEC-2024-0335, and which was fixed in https://github.com/Byron/gitoxide/pull/1342. So that I am credited as the reporter there is correct, and I don't think that should be changed.
It is the older reported vulnerability https://github.com/advisories/GHSA-rrjw-j4m2-mf34 that @vin01 discovered and reported in September 2023. This has the separate older RUSTSEC-2023-0064 (see also https://github.com/Byron/gitoxide/pull/1032). That is the vulnerability whose advisory I am attempting to update in this pull request. As far as I am able to see, that vulnerability does not have a repository-local advisory. It looks like maybe that vulnerability was imported from RUSTSEC. Some history behind it, and its credit situation, is available at https://github.com/github/advisory-database/discussions/11#discussioncomment-7252648.

Thanks, in hindsight my concern about obscuring the reporter was mostly misguided. I'm glad this was merged, and even with me credited as an analyst and nobody else being credited in the metadata, the identity of the actual reporter remains clear due to its prominence in the advisory text itself.
Nonetheless, in case it is possible to even further improve the situation, I've opened https://github.com/github/advisory-database/discussions/4620 to ask if it's possible to make a repo GHSA corresponding to an existing global one.


Revisit unwanted permissions ( RBAC) allocated for CSI driver and sidecar PODs

Describe the bug
We have been flexible and opened some extra permissions for the PODs while running in the cluster.. Its also a security issue which we have to address by restricting only required permissions for the driver PODs and sidecar PODs.
Making it more secure has some efforts beyond RBAC like revisiting the mounts and capabiliies...etc
This track the enhancements in detail for this effort.
RBAC

[x] #3044
[x] https://github.com/ceph/ceph-csi/pull/3068
[x] https://github.com/ceph/ceph-csi/pull/3045
[x] https://github.com/ceph/ceph-csi/pull/3123

Capabilities/Mounts

Revisit the capabilities we expose in the PODs
Recheck the mounts/bind mounts we are having

@humblec isnt duplicate of https://github.com/ceph/ceph-csi/issues/3018?

@humblec isnt duplicate of #3018?

it can be part of it, added that to the descrition ..  that said, the mounts/capabilities.. etc are also has to be revisited..


Experiencing issues

I am trying to use "https://cors-anywhere.herokuapp.com/" inputting my URLs with GET requests but it is inconsistency not working sometimes.

What is the response that you're getting?

I think the site is down currently?

Ditto, I'm getting the same error as above

I'm currently trying to spin up my own proxy server. Following this SO article:
https://stackoverflow.com/questions/43871637/no-access-control-allow-origin-header-is-present-on-the-requested-resource-whe

I've restarted the server, it's up again. Thanks for sharing those steps @cesolutions .

it is currently down

I've restarted the server, it's up again. Thanks for sharing those steps @cesolutions .

Following those steps seems to not work. After cloning the repo the command heroku is not recognized. Anyways, the public url seems to be working right now though.

I've updated the application for compatibility with the latest Node.js versions, and also added some extra validation against invalid URLs. And while I'm at it, I also upgraded the Heroku stack to the latest version.
That should address the issue that resulted in downtime.

@mosesweb I applied the blacklist that was lost during the migration. Now resources are shared more fairly among all users again.

Thank you @Rob--W Rob!

@Rob--W Hello, 503 again "Application error"

Status Code: 503 Service Unavailable

@egfx I fixed that in #234.


Fix compiler errors on new jda version

We now use getJDA() in handlers instead.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


webpack 5.0.0-rc.3 hashes in chunk output filename  leads to broken bundle

Bug report

What is the current behavior?
Using for example [name].[contenthash].jsas the filename in output.filename leads to a compiled bundle where the contenthash gets compiled as a variable instead of a string.
/******/ 				var href = "" + ({}[chunkId]||chunkId) + "." + __webpack_require__.h ? __webpack_require__.h() : 33a77d7a305d7b86ce61 + ".css";

the using a different separator works - [name]-[contenthash].js
If the current behavior is a bug, please provide the steps to reproduce.
This occurs randomly - we had this error on different machines - with the same node/yarn etc. versions.
Webpack config here -> https://gist.github.com/FabianHippmann/b122bc99ed10059325720796f0259bad

Bc this also affects the mini-css-plugin i opened an issue there -> https://github.com/webpack-contrib/mini-css-extract-plugin/issues/596
What is the expected behavior?
contenthashshould be compiled as a string.
for example:
/******/ 				var href = "" + ({}[chunkId]||chunkId) + "." + __webpack_require__.h ? __webpack_require__.h() : "33a77d7a305d7b86ce61" + ".css";

Other relevant information:
webpack version:  webpack 5.0.0-rc.3
Node.js version: v12.18.4
Operating System: Ubuntu 20.04
Additional tools:

Please do not duplicate issues, close in favor https://github.com/webpack-contrib/mini-css-extract-plugin/issues/596


virt-handler: Remove duplicate socket close

Its done already in the defer function,
and isnt needed to be done twice in case the server was closed.

Update logs of grpc server
Log after the grpc server stop is finished,
in order to record only if it was stopped fully.
Signed-off-by: Or Shoval<EMAIL_ADDRESS>None

/retest

/hold

@oshoval added the hold label. Since it's virt code, @enp0s3 can you please take a look? If you're ok with the change, please remove the hold.

/approve

/retest


Celery Instrumentation Cleanup

Overview

Remove unnecessary instrumentation for Celery's build_tracer() function by patching compatibility with Celery's monkey-patching detection.
Add tests for all methods of running or enqueueing tasks in Celery.
Add additional logic for transaction naming for tasks run under map or starmap
Remove unused code and comments.

Codecov Report
Attention: Patch coverage is 72.41379% with 8 lines in your changes are missing coverage. Please review.

Project coverage is 81.71%. Comparing base (3b46fad) to head (399f6da).

Files
Patch %
Lines

newrelic/hooks/application_celery.py
72.41%
6 Missing and 2 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1128      +/-   ##
==========================================
- Coverage   81.77%   81.71%   -0.06%
==========================================
  Files         192      192
  Lines       21303    21300       -3
  Branches     3707     3706       -1
==========================================
- Hits        17420    17406      -14
- Misses       2806     2815       +9
- Partials     1077     1079       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Separate flag and phone input

Hello,
I wanted to know if there was an easy way to separate the country selection part and the phone number input?
I'd like to do something like that:

Thanks a lot,

Not currently no

Ok thanks for the answer

It would be a nice addition though

That's a good question, I don't know if there isn't a way to add that as an option.


Add credit toggle

Overview
I'm using this library with my plotter to create some map art!  While all OpenStreetMap data should be properly attributed, I'd rather do this on the back side of my art pieces as opposed to the front.  This PR adds the ability to disable the credit text in the corner using the same toggle as the original prettymaps library uses.  Also like the original library (and to keep backwards compatibility), it defaults to True to encourage users to credit things properly.

Allright! Will probably rename this to show_credits etc. before it's included in the new release, but merging this PR. Thank you!


ci: update and clean up

I didn't know about code analysis, it's pretty neat. Thanks for all the improvements!


Add insight into dual initialization errors

Complex applications making use of a custom initializer occasionally run into issues where the implicit static initialization has been called before the explicit one has had a chance to run. Of course the solution is to ensure that the custom initializer is set up before anything else happens in the process, but in large codebases accomplishing this is sometimes more complex than it should be, and references to ThreeTenBP that trigger ZoneRulesProvider can sometimes slip through earlier in the startup sequence. When that happens, an "Already initialized" crash happens at the intentional explicit setInitializer call, but it is difficult to find the source of the implicit initialization. I propose on any initializer set, implicit or explicit, keep track of the stack trace so that a potential future "Already initialized" error can include the stack trace of the earlier call.
My proposal is to update AtomicReference<ZoneRulesInitializer> INITIALIZER to store both a ZoneRulesInitializer as well as a StackTraceElement[]. For completeness, maybe also replace AtomicBoolean INITIALIZED with an AtomicReference<StackTraceElement[]>, to keep track of both setInitializer and initialize calls as both can later cause issues. When the IllegalStateExceptions are thrown, add a new exception as its cause with the stack trace set to the appropriate saved one. It might even be best to include both in the case of duplicate initialization, where the IllegalStateException would be caused by the duplicate initialization exception which would be caused by the set initializer stack trace (if it exists).
Thoughts? This is something I can put into code form if it seems like the appropriate approach to this problem.

I can see where extra detail may help, but getting a stack trace is relatively expensive for a use case that happens very rarely. Maybe an environment variable could be added that causes a stack dump to be printed when ZoneRulesProvider is initialized. Then the exception in ZoneRulesInitializer could suggest setting the environment variable.

That's a valid concern. From what I can tell, there are two parts to getting a stack trace in Java – obtaining it in some sort of native representation under the hood, and then translating it into Java StackTraceElement objects – and the second piece is the expensive part (ref). If we just create the exception in advance then we avoid the expensive part until and unless that exception actually needs to be set as a cause and thrown. Is that valid?
Unfortunately, the environment I'm using this in (Android) doesn't seem to have a way to statically declare environment variables so that they're set before anything happens in the process, and the OS doesn't really give any control over how the app process is launched. There are APIs to set environment variables at runtime, but if I'm already running into an issue where initializing as soon as possible isn't soon enough to preempt implicit initialization, then I'd run into the same issue with setting the environment variable at runtime.
Another approach to narrow this down might be to treat the default ServiceLoaderZoneRulesInitializer as unexpected when no zone rules are found, e.g. when someone builds with the no-tzdb variant. In that case, an exception could be thrown right at that moment. Or would Maven allow the no-tzdb variant to statically set the value of a constant boolean flag, which could disable the default initializer entirely and throw an exception later on if an explicit initializer has NOT been provided (basically inverting the situation here)?

While Exception#getStackTrace() is likely an order of magnitude slower than #fillInStackTrace(), that does not mean that the latter is negligible. Looking at this 2014 post by long-time JVM developer Aleksey Shipilëv shows that Exception#fillInStackTrace() is roughly two orders of magnitude slower than exception instantiation by itself. Although the few microseconds that this would require are likely negligible in an Android app start-up sequence, such a change might have a larger impact on other TTBP users.
Back to the issue at hand, though. Whatever the size of your codebase, your Android application will normally start with a call to Application#onCreate(). If you provide a custom application class in your manifest, its #onCreate() method is a prime candidate to setup a custom zone rules initializer.
Failing that, if the SPI-based zone rules initializer runs before you can set a custom initializer, then perhaps provide a dummy ZoneRulesProvider through SPI that throws (or reports) exceptions in each of its methods. That should give you the same information that a filled-in stacktrace would.
That would require:
src/main/resources/META-INF/services/org.threeten.bp.zone.ZoneRulesProvider containing the full dotted name of your dummy zone rules provider, e.g. com.example.initializerstacktrace.TracingZoneRulesProvider and provide an implementation similar to:
public class TracingZoneRulesProvider extends ZoneRulesProvider {

    @Override
    protected Set<String> provideZoneIds() {
        throw new RuntimeException("using default zone rules initializer");
    }

    @Override
    protected ZoneRules provideRules(String regionId, boolean forCaching) {
        throw new RuntimeException("using default zone rules initializer");
    }

    @Override
    protected NavigableMap<String, ZoneRules> provideVersions(String zoneId) {
        throw new RuntimeException("using default zone rules initializer");
    }
}

If you set a custom initializer in time, then the tracing provider is never instantiated. Otherwise, the default initializer will create the tracing provider and will crash with an ExceptionInInitializerError.
For more information on SPI on Android, see https://developer.android.com/reference/java/util/ServiceLoader

Good insight on the stack trace performance concerns. TracingZoneRulesProvider is a great idea, I'll give that a try. Thank you!

The Android projects that I work on specifically avoid use of ServiceLoader for performance reasons. When we started using TTBP it turned out that use of ServiceLoader made Android load all dex files and scan the entire classpath, which took too much time during app startup. With the introduction of ZoneRulesInitializer.setInitializer() we now use a custom ZoneRulesInitializer that loads the tzdb.dat file from a raw resource.
That said, I'm not aware of any inherent problems in using SPI architecture on Android. As far as I know, TTBP "just works" when included as a dependency on Android. Given that TTBP uses ServiceLoader to discover ZoneRulesProvider implementations by default, that means that SPI architecture works.
Additionally, I validated the TracingZoneRulesProvider approach above in a fresh Android project before posting. This uses the default Gradle build files generated by Android Studio for new projects. While I cannot comment on Buck specifically, use of SPI on Android is definitely possible when using Gradle builds.
If you want, I can share the sandbox project for reference.

That's good to know, sounds like not including META-INF is a Buck-specific issue then. If you could share that sandbox project that would be great.
Agreed on the performance issues with ServiceLoader on Android – I created ZoneRulesInitializer for that reason, as especially with a huge binary like ours going linearly through everything was taking forever. LazyThreeTen also helped us defer loading from resources until later in the startup sequence, although by now ThreeTenBP is used so pervasively throughout our codebase that it's probably not deferred by long anymore.
One framework which I just discovered (I've been away from the Android world for a bit) is androidx.startup, which would allow this to go into an Initializer that would run before Application.onCreate. Seems promising, I might try it out and see how peer code reviewers like it :)

Sample project: https://github.com/sschaap/threetenbp-issue-146
Looking at the buck docs, you may need to add META-INF as resources for your android_library() rule (docs)

Thanks! I missed that in the Buck docs, I'll have to play around with it to see if it can structure the directories properly. I was thrown off by java_binary having a separate meta_inf_directory argument.

Closing, as I don't think there is anything sensible for ThreeTenBp to do here.


Commented out test cases that don't work

Also fixed minor bug with importing getToolBoughtController/Presenter.


A way to render a template with whitelisted directives

What problem does this feature solve?
It would be good to have a way to render a template that includes user-provided content, while only interpreting a whitelist of directives/components and rendering only those, while ignoring all others. In my particular case, i was trying to build a comment section that allows people to put a spoiler/collapse at any point in the comment and tried to use Bootstrap-Vue's collapse ( https://bootstrap-vue.js.org/docs/components/collapse/#collapse ), however, that would require vue actually interpreting the comment that might have other directive input by the user, thus it would be good to have a way to only interpret certain whitelisted directives and components in the template.
What does the proposed API look like?
Not sure about how the API'd look like, but maybe something like a whitelist in the component  would make it only interpret these directives, like this:
{
    template: "<Post /> <!-- works --> <v-directive>test</v-directive> <!-- does not expand and if left as is, not in whitelist -->"
    whitelist: ["Post"]
}

Since this is a very specific use-case, I would recommend you doing some pre processing and post processing of the content provided by the user. Since a directive is Vue-specific, you could use a different prefix as well.
I'm confused about your example though, as you use components, you can already whitelist those with ignoredElements


vs-repeat does not detect ng-repeat on tbody

We have a table that ng-repeats tbody (so that we can have 2 rows per tbody) The vs-repeat directive gives the error 'no ng-repeat directive on a child element' when trying to use it in this way.

m getting the same problem while trying to load on body scroll. Please help!!!

Can it be that vs-repeat doesn't work on a tbody?
If have  (in PUG format)
  tbody.rows(vs-repeat="50")
          tr.transactions(ng-repeat="lineItem in main.transactions | orderBy: sortType: sortReverse | filter:main.filter")
            td {{ lineItem.account }}
            td {{ lineItem.type }}
            td {{ lineItem.description }}

when I use the same dataset in a div it works fine:
      div(vs-repeat="30")
        div(ng-repeat="lineItem in main.transactions | orderBy: sortType: sortReverse | filter:main.filter")
         div.row {{lineItem.description}}

You have a lot of examples but not with a snippet of the source code before it is compiled by angular. That would actually help. Maybe also with a real table.
Why real table? Since the resize the columns in the TH for me. I don't think I can do that easily with DIVs, can I


Calling nil? on non-nilable value in a conditional doesn't report dead code

Input
→ View on sorbet.run
# typed: true

def main
  if 5.nil?
    puts "This should error as unreachable"
  end

  unless 5
    puts "Errors as unreachable as expected"
  end
end

Observed output
editor.rb:9: This code is unreachable https://srb.help/7006
     9 |    puts "Errors as unreachable as expected"
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Errors: 1

Expected behavior
I would expect Sorbet to error stating that puts "This should error as unreachable" is unreachable (error 7006)

This is a dupe of #621


chore: Add Crowdin config file

https://support.crowdin.com/github-integration/#selecting-content-for-synchronization

Just kidding—it looks like Crowdin already pushed directly to main on my behalf.


Please REFUND themes.getbootstrap.com (customer)

Dear sir or madam,
I have been unable to reach you by email or any other way, so this is my last resort as an unsatisfied customer to reach out to you for a refund request for order #119219
Please look in to this matter.
Best regards

I'm sorry, but this isn't the place for Themes support. They have their own support channel for a reason.


Support for React Native Windows

Is there any plan to support for React Native Windows?

I did some research on this and it appears that blurring the background of an area is not possible in WPF, you can only blur the foreground of an image. Additionally, UWP only allows background blurring if you have the Anniversary Update.
http://stackoverflow.com/questions/36276856/uwp-app-realtime-blur-background-using-dx-compositor/36441888#36441888

Ideally, I'd like to re-write blur to use a custom algorithm written in C and port it to all platforms. Way easier to maintain one codebase instead of 3. Can somebody give me a hand? Just DM me on twitter.

@Kureev how would that work? snapshotting views to images and blurring those images? react-native-gl has a blur effect but that requires OpenGL https://github.com/ProjectSeptemberInc/gl-react/blob/master/docs/examples/8.md

btw, gl-react-native looks promising. I'll consider using it for a next major version 👍 👍 👍

@Kureev - just wanted to give some feedback on your idea to rewrite using a shared blur algorithm. I don't think that's actually a good idea, because on Android you would need to use the RenderScript API (which is what the 500px blur library is already doing), and on iOS I think it's better to just use the built-in blur effects. I think the only other platforms are Windows, Mac, and web. Mac is pretty much the same as iOS (with NSVisualEffectView), and web would just be a single div with a CSS3 blur filter (I might send a PR for that soon, since I need it for my app.)
I'm not sure how to handle Windows, but also note that right now Android isn't a real-time blur, it just generates a static blurred image. So that shouldn't be too hard to do in Windows.
Sorry, train of thought here, but we could probably do a real-time blur for Android. I would just need to invalidate the view 60 times per second. It's already hardware accelerated, so performance should be fine. But maybe you can turn on real-time blur as an option.


Private repos not showing in "Add Repositories"

Description:
When linking my github account, by setting up the PAT as described in the screenshot, I cannot add (personal / organization) private repos when setting up a team.
Steps to reproduce:

Set up your PAT, link GitHub
Go to Create Team
Search for a private repo

Expected behavior:
Ability to link private repositories.

Hey @MaximPiessen, apologies for the late response.
Could you try to search for the repo by typing in the name like "orgname/reponame"?
For example, for Middleware I might do "middlewarehq/middleware". Could you check this?

Thanks for your reply. Sadly, it's still not showing up; only public repos do (see screenshots)

@jayantbh any update on this? Thanks!

Hey @MaximPiessen!
Apologies for the delay and thanks for the follow up!
Let me get someone from the team involved to check this out.

I am able to find my public/private repos as well as public/private repos where I am a member or collaborator.

@MaximPiessen Are you there?

Deepest apologies for the lack of comms on this from our end, @MaximPiessen
Could you follow the troubleshooting steps here to update your Middleware image to the latest version and confirm that you're still facing the issue?


Add option to truncate item.menu(description)

Is your feature request related to a problem? Please describe.
There is an option for truncating the item name using g:completion_menu_length (yellow box in the picture above).
However, item.menu(description) is sometimes too long which blocks the hover. The section is red box in the picture above.
It would be great if there is an option for truncating item.menu(description) section.
Describe the solution you'd like
I personally modified section in completion-nvim/lua/completion/util.lua like the code below.
function M.addCompletionItems(item_table, item)
  -- word cannot be nil
  if item.word == nil then return end
  local menu_length = opt.get_option('menu_length')
  if menu_length ~= 0 then
    if string.len(item.abbr) > menu_length then
      item.abbr = string.sub(item.abbr, 0, menu_length).."..."
    end
  end
  table.insert(item_table, {
      word = item.word,
      abbr = item.abbr or '',
      kind = item.kind or '',
      -- modified section start
      menu = string.sub(item.menu,0,20) or '',
      -- modified section end
      info = item.info or '',
      priority = item.priority or 1,
      icase = 1,
      dup = item.dup or 1,
      empty = 1,
      user_data = item.user_data or {},
    })
end

Which this code will truncate item.menu to 20 characters like the picture above. Just like g:completion_menu_length option, option to truncate item.menu can be implemented.
Thank you for the awesome plugin!

Is your feature request related to a problem? Please describe.
There is an option for truncating the item name using g:completion_menu_length (yellow box in the picture above).
However, item.menu(description) is sometimes too long which blocks the hover. The section is red box in the picture above.
It would be great if there is an option for truncating item.menu(description) section.
Describe the solution you'd like
I personally modified section in completion-nvim/lua/completion/util.lua like the code below.
function M.addCompletionItems(item_table, item)
  -- word cannot be nil
  if item.word == nil then return end
  local menu_length = opt.get_option('menu_length')
  if menu_length ~= 0 then
    if string.len(item.abbr) > menu_length then
      item.abbr = string.sub(item.abbr, 0, menu_length).."..."
    end
  end
  table.insert(item_table, {
      word = item.word,
      abbr = item.abbr or '',
      kind = item.kind or '',
      -- modified section start
      menu = string.sub(item.menu,0,20) or '',
      -- modified section end
      info = item.info or '',
      priority = item.priority or 1,
      icase = 1,
      dup = item.dup or 1,
      empty = 1,
      user_data = item.user_data or {},
    })
end

Which this code will truncate item.menu to 20 characters like the picture above. Just like g:completion_menu_length option, option to truncate item.menu can be implemented.
Thank you for the awesome plugin!

Similar to #206 which abbreviate item.abbr, this is request for the option to make item.menu shorter.

That's a great suggestion. Actually the variable you mention is quite misleading. I modified the naming so that g:completion_menu_length will be the item.menu's length and g:completion_abbr_length will be the item.abbr's length. Please see if this PR works for you.

@haorenW1025 I checked new PR and it is working great except this part.
      item.abbr = string.sub(item.menu, 0, menu_length).."..."

Wouldn't this part be item.menu = string.sub(item.menu, 0, menu_length).."..."??
I also added comment on new PR. Thank you!

That's a typo there. Should be fixed now, thanks for the report:)

@haorenW1025 Everything works well! Thank you!
I hope that new PR is merged soon.
Closing this is in favor of #250 then.


PromoteAs Values are wrong

These are the correct possible values
None, HomePage, NewsArticle, Template
It currently shows HomePage, NewsPage

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

ID: c9cbd838-1888-5be7-348b-c8862d7caedb
Version Independent ID: 80961074-993c-c395-64d2-2b18bd048e31
Content: Set-PnPClientSidePage (sharepoint-pnp)
Content Source: sharepoint/sharepoint-ps/sharepoint-pnp/Set-PnPClientSidePage.md
GitHub Login: @techwriter40
Microsoft Alias: kirks

@officedocsbot assign @yogkumgit

Hello @danmyhre Dan 👍
how are you?
I will need to kindly ask you to visit this other repo to open PnP issues. PnP cmdlets are maintained by the community, a member of it will pick it up there.
Thanks

This issue was about the documentation, not the cmdlets

This issue was about the documentation, not the cmdlets

Dan, The documentation of PnP cmdlets is on every cmdlet's source code and it is directly reflected from there.

@get-itips  Thank you very much for the contribution and sharing this explanation. @danmyhre
Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

I created a pull request for the doc update I am referring to
https://github.com/MicrosoftDocs/office-docs-powershell/pull/5204

Dan, as said, the documentation for PnP is inside the PnP source code, so you have to target a pull request against this file on the referenced repo
https://github.com/pnp/PnP-PowerShell/blob/dev/Commands/ClientSidePages/SetClientSidePage.cs
Thanks for your contribution

I think I found what you are referring to:
https://github.com/pnp/PnP-PowerShell/pull/2599
The page doc had its own editable source, so I didn't realize it was automatically generated.

I think I found what you are referring to:
pnp/PnP-PowerShell#2599
The page doc had its own editable source, so I didn't realize it was automatically generated.

Exactly, it is automatically generated from the cmdlet's source code, so, if you create a PR against the markdown file, and someone merges it, it will be overwritten anyway.
Thank you for your contribution!


Carthage Error

*** Skipped building AHKNavigationController due to the error:
Dependency "AHKNavigationController" has no shared framework schemes
If you believe this to be an error, please file an issue with the maintainers at https://github.com/kingiol/AHKNavigationController/issues/new

Sorry - for some reason I had the wrong repository name

Now fixed, Thx.


updated docs

I'm not sure about this change is making a difference or not. What do you think @alioguzhan ?

No. It looks like a PR for hacktoberfest.
https://joel.net/how-one-guy-ruined-hacktoberfest2020-drama


Keyboard Shortcuts?

I know they exist, but can we get a list of what they are in all the different modes? I feel like there's many I don't know. And also maybe considering adding an "about" part in the app which links to this github and also shows the shortcut keys.

https://github.com/MyShiLingStar/ACNHPoker/wiki/Keyboard-&-Mouse-Hotkeys


Add spacing fix for footer menu links

Footer nav links need more padding for vertical spacing

Travis build config is currently broken. Overriding to merge PR.


Input a valid master token but it said it doesn't follow the AAS_ET format.

Describe the bug

I have generated an app password and successfully created the master token using this Docker. However, when setting it up for the first time, it says Master token invalid. Make sure that the full token has been specified (including 'aas_et/'). I am certain that the master token is in the correct format, like aas_et/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX= without any spaces.
Version of the integration
If you are unsure about the version check the github release here.

1.11.1

Logs

2024-07-11 16:59:00.688 ERROR (MainThread) [glocaltokens.client] master_token doesn't follow the AAS_ET format
2024-07-11 16:59:00.790 ERROR (SyncWorker_8) [glocaltokens.client] [!] Could not get access token.
2024-07-11 16:59:00.796 ERROR (MainThread) [custom_components.google_home]

seems to be the same issue as reported in: https://github.com/leikoilja/ha-google-home/issues/812
@e1018e1018, i ll close this issue in favour of the other one. @e1018e1018 would you be interested in contributing to help fix it by relaxing the check for the master token a bit as described in the other ticket?

I found that it says Token must be exactly 223 characters long in #812 , which is not the same as my token.
Finally, I discovered that the token I copied had an EOL (end-of-line) character. After removing it, I successfully logged in.
Thanks for your help 😄


Remove repo directory from Pinot distribution

Remove the repo directory from the Pinot distribution, which contains a
copy of the lib folder. This roughly halves the size of the Pinot
distribution and slightly reduces build time.

Tested running the quick start and pinot-admin tools.

Codecov Report

Merging #1858 into master will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1858      +/-   ##
==========================================
- Coverage   69.82%   69.78%   -0.05%
==========================================
  Files         813      813
  Lines       38880    38880
  Branches     5129     5129
==========================================
- Hits        27149    27132      -17
- Misses       9948     9958      +10
- Partials     1783     1790       +7

Impacted Files
Coverage Δ

...in/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
:arrow_down:

...impl/dictionary/DoubleOnHeapMutableDictionary.java
68.88% <0%> (-13.34%)
:arrow_down:

...e/impl/dictionary/LongOnHeapMutableDictionary.java
82.22% <0%> (-6.67%)
:arrow_down:

.../linkedin/pinot/transport/common/SegmentIdSet.java
51.28% <0%> (-5.13%)
:arrow_down:

...not/core/query/pruner/DataSchemaSegmentPruner.java
53.65% <0%> (-4.88%)
:arrow_down:

.../impl/dictionary/LongOffHeapMutableDictionary.java
78.18% <0%> (-3.64%)
:arrow_down:

...e/operator/dociditerators/BitmapDocIdIterator.java
60.71% <0%> (-3.58%)
:arrow_down:

...lix/core/realtime/PinotRealtimeSegmentManager.java
71.18% <0%> (-2.26%)
:arrow_down:

.../broker/routing/HelixExternalViewBasedRouting.java
90.59% <0%> (-1.75%)
:arrow_down:

...edin/pinot/common/metadata/ZKMetadataProvider.java
74.8% <0%> (-1.58%)
:arrow_down:

... and 10 more

Continue to review full report at Codecov.

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

LGTM


feat: generate completion scripts

use --completions <SHELL> to generate completion script for the SHELL.
--completions <SHELL>  Generate completion script [possible values: bash, zsh, fish, powershell, nushell

aichat --completions bash

clap_complete don't support arg dynamic completion (clap-rs/clap#5449), so --model,  --role and --session have no completion candidate.
fix #392

Clap may not support dynamic completion for half a year.
Without this feature, the completion scripts are not very useful.
so I will close this pull request.


Can we add a quasiquoter?

TH doesn't support types with nonlinear or multiplicity-polymorphic fields, which leaves users to do everything by hand for these types, using the (in progress) type
data MP1 :: forall k. Multiplicity -> (k -> Type) -> k -> Type where
  MP1 :: f a %m-> MP1 m f a

Would it be possible to help out a little with a quasiquoter? I don't know anything about those, but I'd imagine something where you give the name of the type and a copy of its definition and get back a Generic or Generic1 instance.

To be clear, are you looking for something like the lens library's declareLens, which takes a quoted declaration as an argument? If so, I don't think Template Haskell in its current state is up to the task. The problem is that GadtC and RecGadtC, the relevant Template Haskell AST constructors, don't have any way to encode multiplicity information. For example, if you try doing this:
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LinearTypes #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
module Foo where

import Data.Kind (Type)
import Control.Monad.IO.Class (MonadIO(..))
import GHC.Types (Multiplicity)
import Language.Haskell.TH hiding (Type)

$(do decs <- [d| data MP :: forall k. Multiplicity -> (k -> Type) -> k -> Type where
                   MP :: f a %m-> MP m f a
               |]
     liftIO $ do
       putStrLn $ show decs   -- show ASTs directly
       putStrLn ""
       putStrLn $ pprint decs -- show pretty-printed ASTs
     pure decs)

It will simply forget the multiplicity information on the arrow:
[DataD [] MP_6989586621679019461 [] (Just (ForallT [PlainTV k_6989586621679019463 SpecifiedSpec] [] (AppT (AppT ArrowT (ConT GHC.Types.Multiplicity)) (AppT (AppT ArrowT (AppT (AppT ArrowT (VarT k_6989586621679019463)) StarT)) (AppT (AppT ArrowT (VarT k_6989586621679019463)) StarT))))) [GadtC [MP_6989586621679019462] [(Bang NoSourceUnpackedness NoSourceStrictness,AppT (VarT f_6989586621679019464) (VarT a_6989586621679019465))] (AppT (AppT (AppT (ConT MP_6989586621679019461) (VarT m_6989586621679019466)) (VarT f_6989586621679019464)) (VarT a_6989586621679019465))] []]

data MP_0 :: forall k_1 .
             GHC.Types.Multiplicity -> (k_1 -> *) -> k_1 -> * where
    MP_2 :: (f_3 a_4) -> MP_0 m_5 f_3 a_4

In fact, I believe GHC HEAD would reject the program above with an explicit error—see GHC!6273.
Ultimately, I think this is blocked on upstream GHC improving its Template Haskell support for multiplicity. GHC#18378 tracks this.

Note: I forgot the 1 on MP. Put it in now.

It's quite possible to give special treatment to certain field types. In fact, generic-deriving already does this for certain unboxed types—see here. It should be possible to generalize that to handle something like Marker as well. The downside is the need to use Marker in your data types, but it's difficult to see how to do better without improving TH first.

The Marker newtype wouldn't be in the actual datatype; it would just be in the copy of its definition passed to deriveGenericFor. None of this is great, since the user needs to maintain two nearly-identical copies of their type definition, but it surely beats writing the instances completely by hand.

We don't try to generate the type definition. The user writes
data MP :: forall k. Multiplicity -> (k -> Type) -> k -> Type where
                   MP :: f a %m-> MP m f a
-- Sometime later, perhaps below recursive declarations
deriveGenericFor ''MP [d| data MP :: forall k. Multiplicity -> (k -> Type) -> k -> Type where
                   MP :: Marker (f a) -> MP m f a
               |]

I imagine it's probably possible to skip the ''MP in favor of looking up that name in the surrounding scope.
Like I said, it's awful, but copy/pasting the definition and performing manual surgery on it seems way easier than any of the alternatives.

One part of me wants to wrap every field in MP1, which seems more in the spirit of generics, but that will have performance consequences when the generic representation doesn't inline away, and it seems a bit rude to users who just want a better Generic1 and/or multiplicity polymorphic conversions.

Ah, now I see what you're getting at. What you're describing might be doable. Brutal, but doable. It will be tricky to get all of the details right, however:

If I understand correctly, deriveGenericFor has an invariant that the quoted declaration is alpha-equivalent to the original data type modulo Markers. I don't know what should happen if you tried $(deriveGenericFor ''MP [d| data Wat |]), for instance. Is this an invariant that should be checked, or should the onus be on the user to uphold the invariant? Implementing this check sounds... not fun. I've tried to do something like this in th-abstraction's test suite, but it's not 100% accurate.

In order to make this work, you'll need to able to map from the quoted declaration's type variables to the original declaration's reified type variables. This is because if you encounter something of type Marker m T in the quoted declaration, you don't want to generate a Rep(1) instance mentioning the quoted declaration's m—this m is completely different from the one in the original datatype. Instead, you'd want to map from the quoted declaration's m to the original declaration's m, and then generate code based on that.
Alternatively, you could just generate code using the quoted declaration's type variables. If you did this, however, you'd need to remember to use the original declaration when determining the metadata, as the quoted declaration will have completely different metadata.

None of this sounds impossible, but it would be a lot of work for a pretty heavy-handed TH workaround.

I think it's okay to expect the quoted declaration to be identical to the real one, modulo markers. No need to allow different variable names; as you said, this is just a workaround anyway. I don't know nearly enough about TH to understand most of your second paragraph. Yes, metadata would need to come from the original. I imagine the type name and constructor names would be stripped to bare strings and looked up in the environment when constructing the instance syntax.
This is all definitely a not-this-version question, unlike the issue of whether all fields should be MP1 wrapped.

No need to allow different variable names; as you said, this is just a workaround anyway.

It's not a matter not checking for different variable names—the type variable names will always be different. Here is an example to illustrate what I mean:
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LinearTypes #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneKindSignatures #-}
{-# LANGUAGE TemplateHaskell #-}
module Foo where

import Data.Kind (Type)
import Control.Monad.IO.Class (MonadIO(..))
import GHC.Types (Multiplicity)
import Language.Haskell.TH hiding (Type)

type MP1 :: forall k.  Multiplicity -> (k -> Type) -> k -> Type where
                         MP :: Marker m (f a) -> MP m f a
                      |]
     liftIO $ do
       print origDec
       print quotedDec
     pure [])

Running this yields:
DataD [] Foo.MP1 [KindedTV m_6989586621679021280 () (ConT GHC.Types.Multiplicity),KindedTV f_6989586621679021281 () (AppT (AppT ArrowT (VarT k_6989586621679021286)) StarT),KindedTV a_6989586621679021282 () (VarT k_6989586621679021286)] Nothing [ForallC [KindedTV k_6989586621679021303 InferredSpec StarT,KindedTV f_6989586621679021283 SpecifiedSpec (AppT (AppT ArrowT (VarT k_6989586621679021303)) StarT),KindedTV a_6989586621679021284 SpecifiedSpec (VarT k_6989586621679021303),KindedTV m_6989586621679021285 SpecifiedSpec (ConT GHC.Types.Multiplicity)] [] (GadtC [Foo.MP1] [(Bang NoSourceUnpackedness NoSourceStrictness,AppT (VarT f_6989586621679021283) (VarT a_6989586621679021284))] (AppT (AppT (AppT (ConT Foo.MP1) (VarT m_6989586621679021285)) (VarT f_6989586621679021283)) (VarT a_6989586621679021284)))] []
DataD [] MP_6989586621679021520 [] (Just (ForallT [PlainTV k_6989586621679021522 SpecifiedSpec] [] (AppT (AppT ArrowT (ConT GHC.Types.Multiplicity)) (AppT (AppT ArrowT (AppT (AppT ArrowT (VarT k_6989586621679021522)) StarT)) (AppT (AppT ArrowT (VarT k_6989586621679021522)) StarT))))) [GadtC [MP_6989586621679021521] [(Bang NoSourceUnpackedness NoSourceStrictness,AppT (AppT (ConT Foo.Marker) (VarT m_6989586621679021523)) (AppT (VarT f_6989586621679021524) (VarT a_6989586621679021525)))] (AppT (AppT (AppT (ConT MP_6989586621679021520) (VarT m_6989586621679021523)) (VarT f_6989586621679021524)) (VarT a_6989586621679021525))] []

Note that the type variables in each declaration all have different uniques. For instance, the former uses m_6989586621679021285 for the multiplicity of MP1, while the latter uses m_6989586621679021523. Therefore, you cannot mix-and-match type variables from different declarations, as doing so could result in unbound type variables. This is what I'm getting at with the second bullet in https://github.com/linear-generics/linear-generics/issues/6#issuecomment-939548749—you have to be careful with consistently using type variables from one or the other, as doing so is a matter of generating correctly scoped code.

A simple alternative would be to require the user to use MP1 (or Ur or any other non-linear wrapper that we provide the Generic instances for) for non-linear fields. Then deriving will just work. The user could always use pattern synonyms to hide this workaround.


Add benchmarks against nom

See https://github.com/Geal/nom/blob/main/examples/json.rs

I'll hopefully be doing this when #82 is ready for merge. Thanks for the reminder!

Closing this because it's been implemented in #94 for the zero-copy branch.


Add Asset Folder

Added asset folder and UE Mannequin for future features.

 Add a File Path for Assets


Add a link to Insights Data Schemas repo into documentation

Add a link to Insights Data Schemas repo into documentation

Done there: https://redhatinsights.github.io/insights-operator-ldapauth/references.html


Update gov call table

GM

GM! well actually gn 😅
On Tue, Feb 7, 2023 at 10:49 AM Dangergraphic @.***>
wrote:

GM
—
Reply to this email directly, view it on GitHub
https://github.com/celo-org/governance/pull/208#issuecomment-1421092596,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOAJQYHN3VYS75JU4ZNRN7TWWJ4KHANCNFSM6AAAAAAUJ5XJY4
.
You are receiving this because you commented.Message ID:
@.***>


Remove DOIs to OSF preprint

This PR removes the old DOIs which refer to the OSF preprint from the foot of each figure since the manuscript (and each figure) will get new (as yet unknown) DOIs from PLOS CB.

Absolutely OK for me, too. We have an open inquiry with the publisher though to accept this change, let's wait a bit and see if we get a reply.

I received an update from the publisher, working on the final revision now and will include this.


add update messages parsing benchmarks

This adds benchmarks for the update messages. Here are some results from my laptop:

seed dict entries
model size
total size
time (slice)
time (stream)

1
128
~272B
2.78 us
2.16 us

1000
6 kB
~1.1 kB
237 us
1.3 ms

10000
60 kB
~1.2 MB
2.3 ms
12.4 ms

10000
~1 MB
~2.1 MB
12.4 ms
30.1 ms

10000
~9 MB
~10.1 MB
98.7 ms
171.6 ms

Parsing from iterators is clearly slower (between 6x for small messages and 1.6x for large ones). I think the poor performance for small messages doesn't matter because we'll only parse multipart messages from iterators, so big ones a priori.
Based on these results, we won't be able to parse much more than a couple 10MB messages per second.

and the byte counts regarding the masks will change once #565 is merged, so we should decide on merge order such that the other can be rebased then.

and the byte counts regarding the masks will change once #565 is merged, so we should decide on merge order such that the other can be rebased then.

I'll let @finiteprods prod merge their PR first.


use icons for table links

Should preserve existing show/hide behavior and discord:// vs https:// behavior.
I don't have the whole setup to test it 🤷
Colorful icons are on a separate branch, I think they're a little more polarizing but we should be able to merge that PR on top of this one to get colorful icons.
Before:

After:

Testing against the deployed version the discord:// vs https:// behavior appears to continue to work

Going to go ahead and merge this for you because I want to do something that depends on it


prepare_window hangs for long frame hitches when experiencing background CPU load

Bevy version
10.1
Relevant system information
`AdapterInfo { name: "NVIDIA GeForce GTX 1080 Ti", vendor: 4318, device: 6918, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "516.94", backend: Vulkan }`
`SystemInfo { os: "Windows 10 Pro", kernel: "19045", cpu: "Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz", core_count: "4", memory: "32.0 GiB" }`

What you did
Ran this code with Chrome or some other task in the background, creating periods of higher background CPU usage.
use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins.set(WindowPlugin {
            primary_window: Some(Window {
                title: "Hitch".to_string(),
                ..Default::default()
            }),
            ..Default::default()
        }))
        .insert_resource(FrameTimer::new())
        .add_system(frame_system)
        .run();
}

#[derive(Resource)]
struct FrameTimer {
    last: std::time::Instant,
}

impl FrameTimer {
    fn new() -> Self {
        Self {
            last: std::time::Instant::now(),
        }
    }
}

fn frame_system(mut timer: ResMut<FrameTimer>) {
    let now = std::time::Instant::now();
    let duration = now - timer.last;
    if duration.as_millis() > 30 {
        println!("{}", duration.as_millis());
    }
    timer.last = now;
}

What went wrong
At higher CPU loads, bevy will get stuck in long hitches -- tracy shows this hang occurring in window::prepare_window.

Additional information
This seems like there's some sort of thread contention issue. There's an element of "well, duh" to this where certainly performance will degrade as CPU usage rises, but this is a pretty drastic hitch rather than a gradual framerate drop. I haven't observed behavior like this in other engines, so I'm wondering if there's some trick here to avoiding this issue and presenting a smoother experience without such a frame time contrast?

Got similar issue that is mentioned in code comment:
https://github.com/bevyengine/bevy/blob/main/crates/bevy_render/src/view/window/mod.rs#L199
get_next_texture hangs on Device::wait.
In my case during very heavy GPU workload (multiple ingame screens rendering full game content) get_next_texture hangs in every frame. I am using custom rendering pipelines, shaders so that could be an issue too. But wanted to provide additional information about observed behaviour.


Documentation on basic usage

Hey, thanks for making this open source! I have been looking for something like this. However, form  the tests/readme I cannot really get how the library is supposed to be used. Maybe you could add a small section, describing how the usage in a pytest would look like.

Fair warning: I wouldn't really recommend using this yet -- I basically coded enough to fix a need I had in another project, and no more.
That being said, if you want to use it before I get around to properly documenting it:
The "score" fixture (https://github.com/greschd/pytest-score/blob/master/pytest_score/_fixtures.py#L71) is what you want to use in your tests. It's a function which takes a numeric value (the score), and optionally you can set

less_is_better for scores where lowering the value is the target
cutoff causes the test to fail is the score is lower (higher if less_is_better) than the cutoff
tag: by default scores are per test, add unique tags if you need more than one score per test.
The scores (best, last, current) will then be printed to the terminal at the end of the test run, saved in HTML format in the "htmlscore" folder and serialized to the .pytest-score file, both on the root directory of the test run.

So, plenty to improve, but it'll do the basic job. More of a proof of concept than a finished plugin though.

I'll keep the issue open to remind me to add some documentation when (if?) I get around to polishing this.


Spacing between the clock and calendar info

Would it be possible to add a toggle/slider for the amount of spacing between the clock and the calendar info? At the moment there's way too much space and it doesn't look right.
In addition, the widget preview in the app doesn't match what it looks like. The preview shows less spacing than the actual widget and I don't see an option within the app to change it.

@doopsy4 I'll add this feature in the release v2.0.5-beta02.


[GLUTEN-1632][CH]Daily Update Clickhouse Version (20240509)

Auto commit by gluten daily build, please check the build status and merge it if it's green.

we need merge since rebase failed with https://github.com/ClickHouse/ClickHouse/pull/63488


fix: remove node https dependency

Description

removes dependency from node https package, fixes webpack browser builds

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

[x] Not Applicable

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Bad level of autoindent on GitPod link

Description
When you open the GitPod link it has all set up in the container but the linter for the code is 2 spaces but the auto-indent in the editor is 4 spaces so it's hard to write proper code. Small changes (like #1025) are not the issue but bigger changes can drive you crazy and can lead to abandoning the editing.
Screenshots
No response
Additional information
No response

Thanks for letting us know 👍

Looking at the issue description and GitPod it seems this is fixed.

thank you @jcubic 👍 This is now done 👍 so I will close this issue


Question about the aes

Just a simple question here, why only the aes encrypted library is supported here but not the rsa or the others?

Hey, I'm using only the strictly required deps. aes library at the moment is required for NIP-04 and NIP-57.


Always sort "Songs" by Artist, Album, etc.

Currently, in the Songs tab of My Library, the way songs are ordered can be selected, be that by Artist, Album, etc.
However, when the tab is changed to Artists, Albums, or, when the view is changed to anything else other than, My Library, the way the songs are ordered is reset to order by name.
Is it possible to always sort songs by Artist, Album, etc?

Unfortunately it looks like this is something on Google's end of things - if you check out the help and feedback option in the GPM menu, you could always send it as a suggestion to Google.


Manifests for  Kustomization and GitRepository applied before CRDs?

Hi, we're having an issue after having applied terraform:
...
module.flux.kubernetes_secret.main: Creating...
module.flux.kubernetes_secret.main: Creation complete after 0s [id=flux-system/flux-system]

Error: flux-system/flux-system failed to create kubernetes rest client for update of resource: resource [kustomize.toolkit.fluxcd.io/v1beta1/Kustomization] isn't valid for cluster, check the APIVersion and Kind fields are valid

Error: flux-system/flux-system failed to create kubernetes rest client for update of resource: resource [source.toolkit.fluxcd.io/v1beta1/GitRepository] isn't valid for cluster, check the APIVersion and Kind fields are valid

Completed 141 Bytes/141 Bytes (1.1 KiB/s) with 1 file(s) remaining
upload: variables/dev-beta.tfvars to s3://dev-org-us-west-2-terraform-state/tf-infra-eks/dev-beta.tfvars

Completed 141 Bytes/141 Bytes (1.3 KiB/s) with 1 file(s) remaining
upload: variables/dev-beta.tfvars to s3://dev-org-us-west-2-terraform-state/tf-infra-eks/dev-beta.tfvar
...

It seems as if the Kustomization and GitRepository get applied before the CRDs?
On the k8s cluster the source controller has restarted once, probably due to similar issue of not finding an expected CRD:
{"level":"error","ts":"2021-04-21T10:51:48.522Z","logger":"controller-runtime.source","msg":"if kind is a CRD, it should be installed before calling Start","kind":"GitRepository.source.toolkit.fluxcd.io","error":"no matches for kind \"GitRepository\" in version \"source.toolkit.fluxcd.io/v1beta1\""}
{"level":"info","ts":"2021-04-21T10:51:48.523Z","logger":"controller.helmrepository","msg":"Stopping workers","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository"}
{"level":"error","ts":"2021-04-21T10:51:50.872Z","msg":"error received after stop sequence was engaged","error":"Timeout: failed waiting for *v1beta1.GitRepository Informer to sync"}
{"level":"error","ts":"2021-04-21T10:51:50.872Z","msg":"error received after stop sequence was engaged","error":"Timeout: failed waiting for *v1beta1.Bucket Informer to sync"}
{"level":"error","ts":"2021-04-21T10:51:50.872Z","msg":"error received after stop sequence was engaged","error":"leader election lost"}
{"level":"error","ts":"2021-04-21T10:51:50.872Z","logger":"setup","msg":"problem running manager","error":"no matches for kind \"GitRepository\" in version \"source.toolkit.fluxcd.io/v1beta1\""}

After applying terraform for the 2nd time it ran okay.
We're using this in our module's main.tf:
data "aws_ssm_parameter" "github_token_ssm" {
  name = "/infra/github/repo_token"
}

locals {
  known_hosts = "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ=="
}

resource "tls_private_key" "main" {
  algorithm = "RSA"
  rsa_bits  = 4096
}

# Flux
data "flux_install" "main" {
  target_path = var.target_path
}

data "flux_sync" "main" {
  target_path = var.target_path
  url         =<EMAIL_ADDRESS>  branch      = var.branch
}

# Kubernetes
resource "kubernetes_namespace" "flux_system" {
  metadata {
    name = "flux-system"
  }

  lifecycle {
    ignore_changes = [
      metadata[0].labels,
    ]
  }
}

data "kubectl_file_documents" "install" {
  content = data.flux_install.main.content
}

data "kubectl_file_documents" "sync" {
  content = data.flux_sync.main.content
}

locals {
  install = [for v in data.kubectl_file_documents.install.documents : {
    data : yamldecode(v)
    content : v
    }
  ]
  sync = [for v in data.kubectl_file_documents.sync.documents : {
    data : yamldecode(v)
    content : v
    }
  ]
}

resource "kubectl_manifest" "install" {
  for_each   = { for v in local.install : lower(join("/", compact([v.data.apiVersion, v.data.kind, lookup(v.data.metadata, "namespace", ""), v.data.metadata.name]))) => v.content }
  depends_on = [kubernetes_namespace.flux_system]
  yaml_body  = each.value
}

resource "kubectl_manifest" "sync" {
  for_each   = { for v in local.sync : lower(join("/", compact([v.data.apiVersion, v.data.kind, lookup(v.data.metadata, "namespace", ""), v.data.metadata.name]))) => v.content }
  depends_on = [kubernetes_namespace.flux_system]
  yaml_body  = each.value
}

resource "kubernetes_secret" "main" {
  depends_on = [kubectl_manifest.install]

  metadata {
    name      = data.flux_sync.main.secret
    namespace = data.flux_sync.main.namespace
  }

  data = {
    identity       = tls_private_key.main.private_key_pem
    "identity.pub" = tls_private_key.main.public_key_pem
    known_hosts    = local.known_hosts
  }
}

# GitHub
resource "github_repository" "main" {
  name       = var.repository_name
  visibility = var.repository_visibility
  auto_init  = true
}

resource "github_branch_default" "main" {
  repository = github_repository.main.name
  branch     = var.branch
}

resource "github_repository_deploy_key" "main" {
  title      = "flux-system-${var.branch}-${var.target_path}"
  repository = github_repository.main.name
  key        = tls_private_key.main.public_key_openssh
  read_only  = var.github_repository_deploy_key_readonly
}

resource "github_repository_file" "install" {
  repository = github_repository.main.name
  file       = data.flux_install.main.path
  content    = data.flux_install.main.content
  branch     = var.branch
}

resource "github_repository_file" "sync" {
  repository = github_repository.main.name
  file       = data.flux_sync.main.path
  content    = data.flux_sync.main.content
  branch     = var.branch
}

resource "github_repository_file" "kustomize" {
  repository = github_repository.main.name
  file       = data.flux_sync.main.kustomize_path
  content    = data.flux_sync.main.kustomize_content
  branch     = var.branch
}

Maybe related issue in kubectl provider: https://github.com/gavinbunney/terraform-provider-kubectl/issues/41

In Flux CLI we check that the CRDs have been registered before applying the sync manifests, if the kubectl provider doesn't do that, then it's up to how fast is your etcd... on some clusters may work on the first try if the storage is snappy.

Thanks for the reply. We're using EKS (aws).
Well, the terraform-provider-flux is using the above mentioned kubectl provider, I'd assume it either has to use a provider that verifies that CRDs are installed first, or have the ordering and verification done in the terraform-provider-flux itself?
I assume the intermittent error could occur to other users even on other providers, it seems like a more robust solution would be desirable?

Running into a similar issue as well. Was able to get around by creating a kustomization with validation: server. But I also ran into this issue of not being able to specify it in the main kustomization, so I had to create a second kustomization.yaml that I point this one to.

@nuriel77 I would also prefer a more robust solution but currently there are not that many options when it comes to managing custom resources with Terraform.
So these issues seemed to come and go initially but seemed to disappear over the last couple of versions, even for EKS. What Terraform version are you running? Have you upgraded to 0.15?

@phillebaba thanks for your reply.

Terraform version are you running? Have you upgraded to 0.15?

No, unfortunately we're still on 0.12.
Thanks for the input, we'll try a new version when possible. For now we just have to apply twice if the issues occurs.


updating master from original repo

thank you for opening a pull request in our project: is there anything we can help you out with?

thank you for opening a pull request in our project: is there anything we can help you out with?


⚠ Young Discoverers has degraded performance

In 5e08cb1, Young Discoverers (https://youngdiscoverers.org.au) experienced degraded performance:

HTTP code: 200
Response time: 5571 ms

Resolved: Young Discoverers performance has improved in c81eb53.


cell().invalidate() strange behaviour

I came up with a solution on how to filter and order table containing select and input elements, see this answer.
However I wanted to use the code below to invalidate cell data
$('tbody select, tbody input', table.table().node()).on('change', function(){
    table.cell($(this).closest('td')).invalidate();
});

But this code produces warning after you change any input or select and then sort or search the table.

DataTables warning: table id=example - Requested unknown parameter '1' for row 2. For more information about this error, please see http://datatables.net/tn/4

This code works fine but it invalidates the entire row which I would rather avoid to affect performance.
 $('tbody select, tbody input', table.table().node()).on('change', function(){
     table.row($(this).closest('tr')).invalidate();
 });

See this jsFiddle for demonstration.

If you use the 1.10.9-dev nightly version (which is in this repo) the issue has been resolved.
In future,
Per the contributing document please post support requests in the DataTables forums.

This wasn't support request, but rather issue with the code similar to #623 I reported earlier. Seems like this is a commit that fixed the issue.


'namespaceSelector: {}' not matching all namespaces

I've installed Calico 3.1 alongside Flannel 0.10.0 as network policy controller in a K8s 1.8.10 cluster. I'm trying to allow access to kube-dns pod running in kube-system namespace from all namespaces, but can't get namespaceSelector: {} to match all namespaces. Access to kube-dns works only within the kube-system namespace. No default-deny policies exist in the cluster. In a GKE cluster with K8s 1.8.8 using Calico 2.6(?) as network policy provider, the network policy works as expected.
Expected Behavior
A simple network policy such as the one below allows access to a pod from all namespaces.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: kube-dns
  namespace: kube-system
  labels:
    k8s-app: kube-dns
spec:
  podSelector:
    matchLabels:
      k8s-app: kube-dns
  ingress:
    - from:
      - namespaceSelector: {}

Current Behavior
kube-dns pod can only be accessed from within the kube-system namespace. If I explicitly list all the namespaces with matchLabels, the policy works as expected, though this requires us to change the policy each time a namespace is created.
Steps to Reproduce (for bugs)

Create a K8s cluster with Flannel 0.10.0 as CNI plugin and Calico-node 3.1 providing network policy controller functions.
Install kube-dns in kube-system namespace.
Apply the network policy mentioned above with kubectl create -f kube-dns-netpol.yml.

% kubectl create -f netpols/kube-dns-netpol.yml
networkpolicy "kube-dns" created

Try to do a DNS lookup from a pod in the default namespace

% kubectl -n default run busybox --rm -ti --image=busybox /bin/sh
If you don't see a command prompt, try pressing enter.
/ # nslookup google.com
Server:    <IP_ADDRESS>
Address 1: <IP_ADDRESS>

nslookup: can't resolve 'google.com'

Try to do a DNS lookup from a pod in the kube-system namespace

% kubectl -n kube-system run busybox --rm -ti --image=busybox /bin/sh
If you don't see a command prompt, try pressing enter.
/ # nslookup google.com
Server:    <IP_ADDRESS>
Address 1: <IP_ADDRESS> kube-dns.kube-system.svc.cluster.local

Name:      google.com
Address 1: 2a00:1450:4009:80a::200e lhr35s02-in-x0e.1e100.net
Address 2: <IP_ADDRESS> lhr25s11-in-f46.1e100.net

Context
This issue prevents us from creating sensible network policies which don't need to be updated whenever we create a new namespace.
Your Environment

Calico version: 3.1
Orchestrator version (e.g. kubernetes, mesos, rkt): Kubernetes 1.8.10
Operating System and version: Container Linux by CoreOS stable (1688.5.3)
Link to your project (optional): n/a

@juhtie01 thanks for raising.
I think this is a bug that was introduced in Calico v3. I'm investigating a fix now.

@caseydavenport Thank you very much!


chore: have users land on /extractors instead of current home page

Problem to Solve
The current Hub homepage is lacking b/c it's not obvious the extent of connectors we have.
A proposed solution is to either setup a redirect or just copying the content on /extractors to /.

@seth-meltano @aaronsteers thoughts on this as an appropriate issue for Wil?


[BUG] https://ftp.osuosl.org/pub/open-ce/current/ points to 1.5.1 instead of current release

Thank you for hosting the pre-built packages! https://ftp.osuosl.org/pub/open-ce/current/ points to the 1.5.1 release, however the latest release is 1.7.2. I can get around this by manually specifying the version, e.g. https://ftp.osuosl.org/pub/open-ce/1.7.2/. Is this intended?

Hi @konstantinjdobler ,
I'll let the OSU team know, thanks!

I have fixed the link, sorry about that - it should have been auto-updated, but it looks like has not been happening. It may take some time before the OSL ftp mirror syncs and picks up the change.


update shortname

Update brand before shortname to identify fixture quicker.
I would suggest this change to filenames too

Thanks for your pull request!
In contrast to fixture names and keys which must be unique inside the manufacturer, shortnames must be unique globally.
So you're absolutely right in including the manufacturer in a fixture's shortname. (E.g. if American DJ also had a Mac Aura to distinguish them using "ADJMacAura" and "MartinMacAura").
Some manufacturers, like Cameo, provide their own shortnames which are already pretty good ("CLHB100RGBW" is definitely unique for Cameo devices and "CL" determines that this is a Cameo Lighting fixture). For other fixtures, we have to create our own names and these should be as short as possible but also unique and very describing (you should know which fixture you're talking about when reading the shortname).
There are still a lot of fixtures in the repo which are missing the manufacturer name, could you please add them, too? Try to use a short version of the name, like "ADJ" instead of "American DJ". Thanks in advance!

Oh, the failing tests aren't your fault, it's because our tests simply don't work with fork pull requests. I'll fix that in #258.

@dimitre Thanks for the updated shortnames!
Instead of creating multiple small pull requests, you can edit files directly in your patch-1 branch and we can see and merge all changes in one pull requests. I've merged your other PRs into this so we only have one pending PR.
Feel free to update the other manufacturers as well :)

@FloEdelmann Please review as well