Intent Detection does not update after replacing intents and entities

Hi,
After replacing our Intents and Entities via the API, we observe strange behaviours with intent detection. Actually, the intent detection behaves as if we had no entity at all (the result parameters key is an empty object). I need to manually save again all the intents (in Dialogflow's console) for the agent to work fine.
Environment details

OS: High Sierra (10.13.5 (17F77))
Node.js version: 8.9.1
npm version: 6.4.1
dialogflow version: 0.7.0

Steps to reproduce
In order to update our agent, we execute the following steps:

Remove all intents
Remove all EntityTypes
Create new EntityTypes
Create new Intents (with training phrases linked to the previously created entities)
Start Agent training.

I tried to extract a sample code source that reproduces those steps:
import * as df from 'dialogflow';

/* PROJECT AND DIALOGFLOW CLIENTS SET UP */

const projectId = '[MY_PROJECT_ID]';

const agentsClient = new df.AgentsClient({
  credentials: { private_key: '[MY_PRIVATE_KEY]', client_email: '[MY_CLIENT_EMAIL]' }
});

const intentsClient = new df.IntentsClient({
  credentials: { private_key: '[MY_PRIVATE_KEY]', client_email: '[MY_CLIENT_EMAIL]' }
});

const entityTypesClient = new df.EntityTypesClient({
  credentials: { private_key: '[MY_PRIVATE_KEY]', client_email: '[MY_CLIENT_EMAIL]' }
});

/* SAMPLE ENTITIES AND INTENT */

const myIntent = {
  displayName: 'buy',
  webhookState: 'WEBHOOK_STATE_DISABLED',
  mlEnabled: false,
  priority: 500000,
  trainingPhrases: [
    {
      type: 'TYPE_EXAMPLE',
      parts: [
        { text: 'I would like to buy some ' },
        { text: 'broccolis', entityType: '@vegetables', alias: 'vegetables' }
      ]
    },
    {
      type: 'TYPE_EXAMPLE',
      parts: [
        { text: 'Can I buy some ' },
        { text: 'banana', entityType: '@fruit', alias: 'fruit' },
        { text: ' ?' }
      ]
    },
    {
      type: 'TYPE_EXAMPLE',
      parts: [
        { text: 'I will have some ' },
        { text: 'apples', entityType: '@fruit', alias: 'fruit' }
      ]
    },
    {
      type: 'TYPE_EXAMPLE',
      parts: [
        { text: 'Spinach', entityType: '@vegetables', alias: 'vegetables' },
        { text: ' is what I need !' }
      ]
    }
  ]
};

const myEntityTypes = [
  {
    displayName: 'vegetables',
    kind: 'KIND_MAP',
    autoExpansionMode: 'AUTO_EXPANSION_MODE_UNSPECIFIED',
    entities: [
      { value: 'broccoli', synonyms: ['broccoli'] },
      { value: 'spinach', synonyms: ['spinach'] }
    ]
  },
  {
    displayName: 'fruit',
    kind: 'KIND_MAP',
    autoExpansionMode: 'AUTO_EXPANSION_MODE_UNSPECIFIED',
    entities: [{ value: 'apple', synonyms: ['apple'] }, { value: 'banana', synonyms: ['banana'] }]
  }
];

/* RESOURCES HANDLERS */

function listIntents() {
  const request = {
    parent: intentsClient.projectAgentPath(projectId),
    intentView: 'INTENT_VIEW_FULL'
  };
  return intentsClient.listIntents(request).then((responses) => responses[0]);
}

function createIntent(intent) {
  const request = {
    parent: intentsClient.projectAgentPath(projectId),
    intent
  };
  return intentsClient.createIntent(request);
}

function deleteIntents(intents) {
  const request = {
    parent: intentsClient.projectAgentPath(projectId),
    intents
  };
  return intentsClient.batchDeleteIntents(request);
}

function listEntityTypes() {
  const request = {
    parent: entityTypesClient.projectAgentPath(projectId)
  };
  return entityTypesClient.listEntityTypes(request).then((responses) => responses[0]);
}

function createMultipleEntityTypes(entityTypes) {
  return Promise.all(entityTypes.map((entityType) => createOneEntityType(entityType)));
}

function createOneEntityType(entityType) {
  const request = {
    parent: entityTypesClient.projectAgentPath(projectId),
    entityType
  };
  return entityTypesClient.createEntityType(request);
}

function deleteMultipleEntityTypes(entityTypes) {
  return Promise.all(entityTypes.map((entityType) => deleteOneEntityType(entityType)));
}

function deleteOneEntityType(entityType) {
  const requestEntities = {
    parent: entityType.name,
    entityValues: [entityType.entities]
  };
  const requestEntityType = {
    name: entityType.name
  };

  return entityTypesClient
    .batchDeleteEntities(requestEntities)
    .then(() => entityTypesClient.deleteEntityType(requestEntityType));
}

/* THE ACTUAL DATA OPERATIONS */

listIntents()
  .then((intents) => deleteIntents(intents))
  .then(() => listEntityTypes())
  .then((entityTypes) => deleteMultipleEntityTypes(entityTypes))
  .then(() => createMultipleEntityTypes(myEntityTypes)) // Sample entities (declared at the top)
  .then(() => createIntent(myIntent)) // Sample intent (declared at the top)
  .then(() =>
    agentsClient.trainAgent({
      parent: agentsClient.projectPath(projectId)
    })
  );

Once the steps are executed, the entities and intent are effectively stored in Dialogflow. As you can see on the screenshot below.

Yet, when I try to detect intents, Dialogflow does not detect any entity (not via the API, nor via the console).

This is the DIAGNOSTIC INFO provided by the console (note the empty parameters object):
{
  "responseId": "3a46e312-7900-456d-90af-39a04e3f5414",
  "queryResult": {
    "queryText": "I would like to buy some broccolis",
    "parameters": {},
    "allRequiredParamsPresent": true,
    "intent": {
      "name": "projects/[MY_PROJECT_ID]/agent/intents/[MY_INTENT_ID]",
      "displayName": "buy"
    },
    "intentDetectionConfidence": 1,
    "languageCode": "en"
  }
}

Once I save again the intent, manually this time, in the console, it works perfectly. Same for the detect intent API.

Some additional questions

First I thought the agent was not updated because I did not trigger the training of the agent (that's why I added the last step), but it does not solve my problem. Now I'm wondering... Do I have to trigger the training or is it triggered every time an intent / entity is updated (through the API I mean) ?
From time to time I get a "Entity still in use error" (related to this issue). Given the order of the steps, I really don't see why I get this error. Does the promise resolve before the entities are effectively removed ?

I am not 100% sure that this is the appropriate place to post this issue, as the problem could be rooted in Dialogflow itself, but as the doc does not cover this use case, I would really enjoy if you could give an opinion on this implementation. This issue is really important to us as it prevents us from integrating Dialogflow to our system.
Thanks a lot for your time, this SDK is very (VERY) useful.

this is more a bug than a question

Hi,
Any news on this one ? You flagged the issue as a question, but I think it's a bug: when I export intents and entities, they do appear in Dialogflow, but the detectIntent API doesn't take them into account...
Thanks for your help !

I ran into the same issue today. Did anybody figure out a workaround by any chance?

We are getting around this by doing 2 things

Calling the Train Agent API
Adding an additional 1500ms wait after making changes to give it chance to figure things out

This has been working without fail for us the past week

Thanks! May I ask: Does that also resolve the issue where the entities within the intents were not detected for you? It doesn't really seem to do that for us, even after we explicitly call train, no matter how long we wait.

Yes, we haven't had an issue since implementing it this way and detection with alias parameters show up in the detect results.
One thing that did catch us up was that we had to add parameters to the Intent directly even though we put them in the phrase parts.  For any parts that also have an alias/entity type you're going to want to make sure you add an intent parameter with displayname = alias, entityTypeDisplayName = entityType, and mandatory = true. That's how we're doing it because before this, we had the same issue

Thanks! That last part actually did the trick for us as well.

You're welcome. Great to hear - the docs don't really make it clear that you have to do that

Looks like cain06 has answered this question.
Each time the agent changes in Dialogflow it runs through a training phase to update the ML model. It's more obvious in the UI, but not in the API.
Pops up a dialog box: "Agent Training Started" then a few seconds later "Agent Training Finished"

We are getting around this by doing 2 things

Calling the Train Agent API
Adding an additional 1500ms wait after making changes to give it chance to figure things out

This has been working without fail for us the past week

I am having the same issue and i tried both things but it doesn't get resolved.

We are getting around this by doing 2 things

Calling the Train Agent API
Adding an additional 1500ms wait after making changes to give it chance to figure things out

This has been working without fail for us the past week

I am facing same issue and I did both steps (even by adding more delay 5secs) but the problem is still there, still I should go and press the save button in each intent! No new solution for this bug?

It's making me crazy, even pressing the save button for each intent and manual training from settings. It not picking up the intent.
It was working just before importing some of the intent. It broke everything here.
Sometimes it works in the console but not in connected devices.
Now old intent is working from console dialog flow but from Google Assistant, all query getting into default fallback. Plesase help

@jaymovaliya, @shzamani, @abhinavkumar985
Can you folks open a new issue and provide some info about what you are doing in your code?


Add len function for array type

Proposal
Currently, it’s not possible to compute the length of array type in Genji

It was planned for another release but I guess we can add it to the next one.
Specs
Function name: len
Arity: 1
Params: an expression that evaluates to either:

a TEXT
an ARRAY
a DOCUMENT

Example:
SELECT len("hello");
{
  "len(\"hello"\)": 5
}

SELECT len([1, 2, 3, [4, 5]]) AS length;
{
  "length": 4
}

-- len with incompatible types evaluate to NULL
SELECT len(10) AS length;
{
  "length": NULL
}

-- example with a table
CREATE TABLE foo(
  a TEXT,
  b ARRAY,
  c (
      ...
  )
);

INSERT INTO foo VALUES (
  "hello",
  [1, 2, 3, [4, 5]],
  {
    a: 1,
    b: 2,
    c: {
      d: 3
    }
  }
);

-- length of a text field
SELECT len(a) FROM foo;
{
  "len(a)":10
}

SELECT len(b) FROM foo;
{
  "len(a)": 4
}

SELECT len(c) FROM foo;
{
  "len(a)": 3
}

SELECT len(b[3]) FROM foo;
{
  "len(b[3])": 2
}

SELECT len(c.c)  FROM foo;
{
  "len(c.c)": 1
}

This looks great


[Feature Request] Filter "Now Playing" libraries

There's an option to select NOW PLAYING by User and Device, but there's no option to filter which Libraries to show.
Can this be added pls? Same as we have with the On-Demand libraries,

I'll look into it, but it may be a while due to other priorities

I tried creating an account with restricted access (just Film+TV libraries), but it seems that we get the Plex token from the owner account only, which kinda makes sense
Worth a try tho.

ok, now screen doesnt hook into libraries as such. It shows whatever is playing on the plex server. you can limit this by device, local/remote, or by user, which all reference the player device. It wouldnt make sense to limit by library as i dont have that info available.
thanks for the suggestion, but in this case i cant implement it.

Actually, i take that back. Looks like I can do this, however I will do as exclusions. Essentially, you will be able to list the library names to exclude. For most people, this should be less work. I will close this request as it is being rolled into #205

The library exclude feature is about to go live.

Nice
Thanks for persisting with it :)


can not build c-shared in andriod arm

Describe the bug
A clear and concise description of what the bug is.
If you are seeing an exception, include the full exceptions details (message and stack trace).
CGO_ENABLED=1 GOOS=android GOARCH=arm CC=/Users/xxx/sdk/andriod/ndk/25.1.8937393/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi21-clang go build -buildmode=c-shared -o build/andriod/armeabi-v7a/aaa.so main.go
# github.com/microsoft/go-mssqldb
../../../go/pkg/mod/github.com/microsoft/go-mssqldb@v0.16.0/ucs22str.go:23:18: constant<PHONE_NUMBER> overflows int

To Reproduce
Include a complete code listing that we can run to reproduce the issue.
Partial code listings, or multiple fragments of code, will slow down our response or cause us to push the issue back to you to provide code to reproduce the issue.
Expected behavior
A clear and concise description of what you expected to happen.
Further technical details
SQL Server version: (e.g. SQL Server 2017)
Operating system: (e.g. Windows 2019, Ubuntu 18.04, macOS 10.13, Docker container)
Table schema
Additional context
Add any other context about the problem here.

this commit should fix it.
https://github.com/microsoft/go-mssqldb/commit/574b5281477cacf2861ba235bb753dee533ccdd5
I was going to wait until the kerberos PR is done before pushing a new version tag.

@shueybubbles thanks


maplerichie

Guess It! is a guess song from the lyric game. Nice lyrics make a song beautiful!

[x]  I have read the Code Of Conduct.

[x]  I have followed all the steps of submission properly.

Thanks for accepting!


Stomp better

Stomping remote on join is not removing files that are not local.
Stomping on remote is not adding files that were previously added but removed when someone else stomped. This is a huge annoyance. Just add everything, if people don't want something in the workspace they should add it to the .flooignore.

Stomping works the same as sublime text now.


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220411153724338 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220411153724338 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 42.329%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
27590

Relevant Lines:
60925

💛  - Coveralls


How to make the Snackbar showing on top 'below' the toolbar ?

Hi, I try to implement the snackbar at the top of an activity (which handle 3 fragments in a tabhost). Neverthless I want it to show just under the toolbar, but after searching for a long moment, I stil having my snackbar showing (and hiding the toolbar). Do you have any solution to this ? Thanks a lot !

where is the solution.. do post it here.

Same problem
+1

Snackbar.with(SnackbarSampleActivity.this)
.position(Snackbar.SnackbarPosition.TOP)
.margin(25, 15)
.text("Single-line TOP Inside LinearLayout")


new-python-web-01 to 0.0.2

Promote new-python-web-01 to version 0.0.2

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Handle overlapping services correctly

This seems to cause problems: service store with app:store and service store-np with app:store version:v1

Why ? These are distinct services right?

The two services overlap on the same pod and we generate wrong config for envoy, causing both services to fail.

one pod two services is not supported right?
On Tue, Sep 12, 2017 at 7:31 PM Kuat<EMAIL_ADDRESS>wrote:

The two services overlap on the same pod and we generate wrong config for
envoy, causing both services to fail.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/issues/1250#issuecomment-329013590, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH0qd7aauvNn7T1OVCPRR_9lu8hehhp5ks5shxQ9gaJpZM4PU8cc
.

--
~shriram

Well that's a use case from openshift. You're welcome to tell that to all users :D

I sure can. We have a clear requirement that pods/instances belong to one service. I don't want to unnecessarily complicate our implementation for corner cases in kubernetes

Issue moved to istio/istio #1459 via ZenHub


Sample of removing event-stream for review

@owenniblock as per https://github.com/Microsoft/appcenter-cli/pull/509#issuecomment-442772582 - I wanted to put together an example of how to remove event-stream and see what you thought.  Both through2 and split2 are maintained by node core contributors and have minimal dependencies (both have readable-stream, maintained by node core. And through2 has xtend which @raynos has long frozen activity on)
Please give me feedback and we can proceed from there.

@phated - thanks for contributing! It looks good to me - I'll check those two libraries and assuming it all looks fine I test here and then merge this in (probably some time next week I would guess).
It looks like a minor dependency issue on the CI server:
npm ERR! cipm can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
npm ERR!
npm ERR!
npm ERR! Missing<EMAIL_ADDRESS>npm ERR! Invalid: lock file's<EMAIL_ADDRESS>does not satisfy<EMAIL_ADDRESS>npm ERR! Missing<EMAIL_ADDRESS>npm ERR! Missing<EMAIL_ADDRESS>npm ERR!

Please could you take a look at fixing that before we test over here?
Thanks again 🙂

Shout out to @phated for contributing!! 💯 Your contributions help us make the code better, so thank you again!

I'm a bit worried that split2 hasn't been touched for a little while (it's a minor grumble though) - otherwise those module choices look good to me.

Split2 is by Matteo, who is the Principal Architect at nearform and is like the head of the node streams working group. Libraries don't need to be constantly updated to be maintained. Changes got us into the event-stream mess, after all.

@phated - please don't take it as a dig at either you, Matteo Collina or the library itself - it was just an observation I thought worth writing down.
Whilst changes caused the event-stream mess - the underlying catalyst was a project whose maintainer had let the project lapse who then passed maintenance on to an unvetted 3rd party.
I looked at the projects and decided that this wasn't a worry here but wanted to make a note of it (in the unlikely event that we find issues - we may decide to contribute if we need to - so it felt like a worthy note to make).

I'll update the package-lock but did you know that relying on a package-lock in a module published to npm actually puts your users at risk?  npm does not cascade package-lock files upon npm install so when you include one in your module, your dev and CI environments will likely be using different versions of packages than your end-users are installing.  If you want cascading lockfiles, you need to use a shrinkwrap file, not a package-lock (package-lock files are meant to be used in end-user application code).

I've done more removal and cleanup to get closer to removing event-stream.  The one hang up I am having is that the equivalent package to es.writeArray is concat-stream but the type definitions at @types/concat-stream hard code the callback data as Buffer when they actually can be a bunch of different types.
I thought maybe I could do custom types but I have no idea how to do that in the project.
I also think that the .pipe calls on every stream should be changed to use https://nodejs.org/api/stream.html#stream_stream_pipeline_streams_callback but that would require pulling in the readable-stream module to have support in node <10.  The problem I encountered there was that there is no @types/readable-stream but it would be just a copy of the node-core stream types.

ping

Hi @phated - sorry for the delay. I'm deep in a piece of feature work at the moment and haven't had time to check this out. It'll probably be next week before I get to it.
@amchew - please discuss with Mads if you'd like to get this prioritised so we can find a way to fit it in sooner.

It's extremely disappointing that my last changes were made 11 days ago and this is still sitting 😭

Hey @phated ! This is on me, I dropped the ball on this one. I will work on this today, and get back. Sorry for the delay!

@owenniblock can do! Should I comment them, skip them or delete them (or some variation)?  Thanks for pushing forward on this!

@phated - please delete them. I'll refer to the diff in the bug I raise in Azure DevOps so we don't forget.

I believe I've finished removing it but I'm having a little trouble running the tests locally.  Pushed it to check on CI.

@owenniblock awesome! Thanks for getting this merged 😸


investigate dependency graph issues

I've heard from @joshlong and @marcingrzejszczak that sleuth'd traces aren't showing up in zipkin's UI dependency graph view.
The dependency graph view is special cased for zipkin "server" annotations. That's due to a number of reasons, including keeping the rules simple, the input data small and avoiding double-counting.
The following patterns will trigger nodes in the dependency tree.

server span

A span has a SERVER_RECV("sr") annotation, but no CLIENT_ADDR("ca")

uninstrumented client+server span

A span has a CLIENT_ADDR("ca") binary annotation and a SERVER_RECV("sr") annotation
A span has both CLIENT_ADDR("ca") and SERVER_ADDR("sa") binary annotations

client-only span

A span has a SERVER_ADDR("sa") binary annotation, but no SERVER_RECV("sr")

If sleuthed spans don't produce combinations like above, stop here, and try and figure out why or what's missing.
If sleuthed spans look right per above, yet no dependency graph is showing up in either mem or mysql storage...
catch a trace via http://zipkinhost:9411/api/v1/trace/your_trace_id and ask about it in https://gitter.im/openzipkin/zipkin, preferably a pared down trace (vs one with a 100+ spans).
If you want details, there are a number of tests that account for behaviors, addressing specific instrumentation use cases.
https://github.com/openzipkin/zipkin-java/blob/master/zipkin/src/test/java/zipkin/internal/DependencyLinkSpanTest.java
https://github.com/openzipkin/zipkin-java/blob/master/zipkin/src/test/java/zipkin/internal/DependencyLinkerTest.java
https://github.com/openzipkin/zipkin-java/blob/master/zipkin/src/test/java/zipkin/DependenciesTest.java

ps added this to try and find a good place to document this in a way that doesn't require familiarity with java https://github.com/openzipkin/openzipkin.github.io/issues/13

There are still issues in messaging and Zuul

Related to: https://github.com/openzipkin/zipkin-java/pull/144

Messaging fixed in https://github.com/spring-cloud/spring-cloud-sleuth/commit/caba82c740dbd8a4a0b7b1dcc25366c86d0f1516
Zuul fixed in https://github.com/spring-cloud/spring-cloud-sleuth/commit/b3c78c139dab25af6420d5ed43b5dc6c98221263


Make EthereumAdapter more robust

Right now we're simply using RPC and IPC event subscriptions. This is a tenuous solution at best.
Once we implement block explorer data we should switch to an implementation that resembles https://github.com/ethereumjs/ethereumjs-blockstream.
This will ensure that we're not dependent on long-lived connections to reliably produce a stream of events.
Providing an EthereumBlockStream component with an impl EventProducer<Block> for EthereumBlockStream would be nice. It could take a block range and fetch existing blocks the usual way and future blocks as described. We could then turn that stream into block explorer data stored in Postgres.

cc @Jannis
Here's a first pass at a high-level description. Next, I'll get more specific with how this fits with existing components, Streams, etc and nail down some naming, but feedback is welcome!
Configurable parameters:

what chain to use (TODO spec this)
history_depth (positive integer): how far back to store blocks

the number of blocks in the inclusive range [latest_block, oldest_block] will be at least history_depth

DB tables:

chains

id
head_block_hash
head_block_height

blocks

hash
parent_hash
height
JSON blob with remaining info?

On set up:

ask for latest block
recursively request parent blocks until # of blocks is history_depth
insert a chain with appropriate ID and head_block_hash == latest block hash

After set up, the following invariants are maintained in DB:

chain.head_block_height == height of block with hash chain.head_block_hash
chain.head_block_hash points to a block present in DB and whose history_depth-1 ancestors are also present in DB

On startup:

subscribe to receive new blocks from Eth node

web3.eth_subscribe().subscribe_new_heads()
each notification received triggers a BlockIngestEvent

ask for latest block

web3.eth().block(BlockId::Number(BlockNumber::Latest))
trigger a BlockIngestEvent

note: block may not be new to us, trigger event anyway

if none received in last 5 minutes, log error, restart subscription, check again for latest block
On BlockIngestEvent (parameter: a list of blocks to ingest):

upsert each new block into blocks table with appropriate chain ID

note: if none of the blocks were new, this will be a no-op

start a DB transaction:

check for gaps:

select all blocks in this chain where:

parent_hash does not correspond to a block in table, AND
the block's height > (largest block height of any block in the table)-history_depth+1

note: ensures block is recent enough that we care about its parent

if # == 0 then continue (there are no gaps in the region we care about)
if # > 0 then there are missing blocks:

get parent_hash from each block in this list
dedupe list of parent_hashes
end transaction
outside of DB transaction:

load these blocks
trigger a new BlockIngestEvent with list of blocks
end

note: if we are here, then (in this chain) every block with height > max(block.height)-history_depth+1 has its parent block in DB
get (block_hash, block_height) of some block with max(block.height) in this chain

note: if multiple blocks have the same largest height, it doesn't matter which we pick

if chain.head_block_height < block_height:

note: use of strict inequality here should mean less thrashing
set chain.head_block_hash = block_hash
set chain.head_block_height = block_height

if chain was modified, trigger ChainUpdateEvent, probably via postgres pubsub?

clean up:

note: this is optional, could be done in a background process periodically, etc
for each chain:

delete all blocks with block height <= max(block height)-history_depth

On ChainUpdateEvent (received from DB, indirectly)

advise each runtime of new head hash
each runtime:

let common_ancestor = first common ancestor of [new_head, current_head]
get list of blocks on range [current_head, common_ancestor)

empty list if current_head == common_ancestor

trigger RewindBlockEvent for each
get list of blocks on range (common_ancestor, new_head]
trigger ProcessBlockEvent for each
note: ideally, runtime tracks current_head in DB, updating current_head (compare and set?) in the same transaction as any other database updates to prevent double processing/rewinding of blocks

alternative: could do same, but with Process/RewindLogEvent, tracking current_log in DB

@timmclean Perfect!
A couple notes:

The On ChainUpdateEvent section is still a bit rough but we can make that more specific as we go.
I wonder if it's worth subscribing to new blocks at all or if polling is going to more stable/reliable. It's easy enough to poll in a worker thread using a timeout. Dealing with subscription errors (connections being dropped etc.) could be a pain.
If we store block data using JSONB, that keeps our table schema simple and may allow us to to deserialize/serialize the blocks that we get from rust-web3 (https://docs.rs/web3/0.3.1/web3/types/struct.Block.html) without much extra work (may require a newtype wrapper that implements serde traits but that's easy). So I like that approach.

I like that suggestion on using polling over subscriptions. That sounds a lot easier!
What do you think about this blocks table schema:

hash (primary key)
parent_hash
height
as_json (JSONB)

Do you think it's better if I move parent_hash and height inside the JSONB? Or keep them split out into separate columns for easier querying?
IIRC primary keys have to have their own column though, so there will have to be at least a bit of redundancy there with hash being in both the JSONB column and its own column.

I think that's fine. Those fields are so essential in the ingestion algorithm that we can (maybe even should) have dedicated columns for them. The schema looks good to me.


fix(TableModel): setting totalDataLength to 0 is no longer ignoring it

Closes IBM/carbon-components-angular#2071
0 || null will always evaluate as null making the getter pickup the data length instead. Checking if the provided length is not a number would fix the issue.
Changelog
Changed

setting TableModel.totalDataLength to 0 is no longer ignoring it

@Donisius could you review as well please?


Update start-stop-cluster.md

it is expected behavior to have pod age more than node age hence add that note

#sign-off

I will create private one hence close this one


CloudWatch LogGroup not destroyed

Hello,
To reproduce this you can create a VPC with thoses inputs
  create_flow_log_cloudwatch_log_group      = true
  create_flow_log_cloudwatch_iam_role       = true
  flow_log_cloudwatch_log_group_name_prefix = "/my-log-grou-name/"

This will create VPC, enable flow log and create log group as expected.
Then destroy it.
The log group is not destroyed.
However the destroy command succeded.
In reality the log group is destroyed when we issued the destroy command...but as the IAM policy contains logs:CreateLogGroup so when a flow log is logged, it will create the log group again.
Do we really need that policy ? In my opinion no as the one who will apply this module has enough permission to create it.

Hi,
The IAM policy is for AWS Service "vpc-flow-logs.amazonaws.com" and that service needs to have permissions to create log groups and log streams.
Or I didn't understand what you mean?

Hi,
No this is not needed as the log group is created while deploying the module in the following resource
  count = local.create_flow_log_cloudwatch_log_group ? 1 : 0

  name              = "${var.flow_log_cloudwatch_log_group_name_prefix}${local.vpc_id}"
  retention_in_days = var.flow_log_cloudwatch_log_group_retention_in_days
  kms_key_id        = var.flow_log_cloudwatch_log_group_kms_key_id

  tags = merge(var.tags, var.vpc_flow_log_tags)
}```

I see, and I think you are right - "logs:CreateLogGroup" is not needed in any of two cases (when log group is provided or when it is created by the module).

Yes exactly


GLITCH_ADMIN: (header - h1) 'https://html.spec.whatwg.org/' says: 'A header element is intended to usually contain the section's heading (an h1–h6 element or an hgroup element), but this is not required

ISSUE: 'https://html.spec.whatwg.org/' says: 'A header element is intended to usually contain the section's heading (an h1–h6 element or an hgroup element), but this is not required. The header element can also be used to wrap a section's table of contents, a search form...'.
TAG PAIR: header - h1

For this issue no problems found. You can't include header inside h1 but otherwise no problem.


panic: interface conversion: ast.Node is *ast.CodeBlock, not *ast.FencedCodeBlock

I just tried the latest release of Mark and tried it on something that worked well previously, but now I am getting this error:
panic: interface conversion: ast.Node is *ast.CodeBlock, not *ast.FencedCodeBlock

Here's the stack trace:
goroutine 1 [running]:
github.com/kovetskiy/mark/pkg/mark.(*ConfluenceRenderer).renderCodeBlock(0xc000399050?, {0x16393f0?, 0xc0003ab500?}, {0xc000415800?, 0x151f?, 0x1800?}, {0x163d918?, 0xc0002b7f80?}, 0x0?)
	/Users/lorenc/go/pkg/mod/github.com/kovetskiy/mark@v0.0.0-20230328145404-93218f1e69a9/pkg/mark/markdown.go:317 +0x829
github.com/yuin/goldmark/renderer.(*renderer).Render.func2({0x163d918, 0xc0002b7f80}, 0x78?)
	/Users/lorenc/go/pkg/mod/github.com/yuin/goldmark@v1.5.4/renderer/renderer.go:166 +0xc7
github.com/yuin/goldmark/ast.walkHelper({0x163d918, 0xc0002b7f80}, 0xc00033f778)
	/Users/lorenc/go/pkg/mod/github.com/yuin/goldmark@v1.5.4/ast/ast.go:492 +0x34
github.com/yuin/goldmark/ast.walkHelper({0x163db58, 0xc0002bb4d0}, 0xc00033f778)
	/Users/lorenc/go/pkg/mod/github.com/yuin/goldmark@v1.5.4/ast/ast.go:498 +0x8e
github.com/yuin/goldmark/ast.Walk(...)
	/Users/lorenc/go/pkg/mod/github.com/yuin/goldmark@v1.5.4/ast/ast.go:487
github.com/yuin/goldmark/renderer.(*renderer).Render(0xc0002b0d70, {0x1634580?, 0xc0004012f0?}, {0xc000415800, 0x151f, 0x1800}, {0x163db58, 0xc0002bb4d0})
	/Users/lorenc/go/pkg/mod/github.com/yuin/goldmark@v1.5.4/renderer/renderer.go:161 +0x225
github.com/yuin/goldmark.(*markdown).Convert(0xc0003ab000, {0xc000415800, 0x151f, 0x1800}, {0x1634580, 0xc0004012f0}, {0x0, 0x0, 0x0})
	/Users/lorenc/go/pkg/mod/github.com/yuin/goldmark@v1.5.4/markdown.go:117 +0x10b
github.com/kovetskiy/mark/pkg/mark.CompileMarkdown({0xc0003b6000, 0x14f8, 0x1500}, 0xc0002ae4a0)
	/Users/lorenc/go/pkg/mod/github.com/kovetskiy/mark@v0.0.0-20230328145404-93218f1e69a9/pkg/mark/markdown.go:423 +0x67a
main.processFile({0xc000354fc0, 0x35}, 0xc00033ff70?, {{0x7ff7bfeff80f, 0x6}, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
	/Users/lorenc/go/pkg/mod/github.com/kovetskiy/mark@v0.0.0-20230328145404-93218f1e69a9/main.go:356 +0xe1d
main.main()
	/Users/lorenc/go/pkg/mod/github.com/kovetskiy/mark@v0.0.0-20230328145404-93218f1e69a9/main.go:158 +0x5fc

Unfortunately, I don't know much about golang.
One thing that could be causing this is that one code block has an "inner code-block", e.g.
this is a code block
```a comment in the language/Splunk query here```
rest of the code block

it worked well with the previous markdown parser, but seems the new one doesn't like this construction.

Please test with 9.0.1 and let us know if it works.
I've added a test for CodeBlocks as well.

It indeed helped with the code block, thank you!
Now I am getting some error response from Confluence because of tables rendering, but I'll file a new issue when I collect the evidence.


fix docublocks parameter naming

Scope & Purpose
Parameters are named wrong

[x] Bug-Fix for devel-branch (i.e. no need for backports?)
[x] Bug-Fix for a released version (did you remember to port this to all relevant release branches?)

Testing & Verification
This change is a trivial rework / code cleanup without any test coverage.
http://jenkins01.arangodb.biz:8080/view/Documentation/job/arangodb-ANY-examples/402/

http://jenkins01.arangodb.biz:8080/view/Documentation/job/arangodb-ANY-examples/403/

http://jenkins01.arangodb.biz:8080/view/Documentation/job/arangodb-ANY-examples/404/


Complete the Random Forests and Decision Trees tutorial first draft

This is optional material- I have something for this already and will open a PR at some point in the near future.

Merged.


Bring in fitting scripts and data loading modules

This WIP PR contains working code for running diffmah fits of HACC cores in parallel. The fitter works fine and is pretty fast, but there is not really any I/O parallelism: each rank loads in the same chunk of simulated MAHs, and then discards all rows except for the ones that pertain to its rank number. When running on more than a few ranks, this leads to an I/O bottleneck that dominates the runtime (and also leads to memory overflow problems).
To fix this, the I/O of a chunk of MAHs needs to be parallelized. The simplest thing would just be to have one reader rank that distributes the data to the rest of the ranks. A fancier version of this would use grouped communicators to support the more general case of having n_readers distribute to n_ranks_per_reader.
Dependencies for running this script:

https://github.com/ArgonneCPAC/HACCyTrees
https://github.com/ArgonneCPAC/diffmah
https://github.com/ArgonneCPAC/dsps

@aphearin I have a fix, can you give me access rights so I can push it to this branch?

Oh also, is adding a dependency to diffopt okay in this script? I used a utility function from there for scattering N-dimensional arrays across ranks.


Request, Spawner Module, accept more items

I'd like to be able to add more items to the spawner.cfg
My use case is wanting to add more expensive higher tech items to the control with redstone_cpntrol, but want to have more then one item work for that function.

Hm, yeah that was previously possible with the crt integration.  I can either rebuild that or make it accept a tag, which would allow you to specify your own set of items.
The only thing a tag would not allow would be nbt.

Either would work for my usecase, I suspect a tag would have more useful implications.


[stable/container-linux-update-operator] Introduce the chart

What this PR does / why we need it: Introduces the container-linux-update-operator chart
Special notes for your reviewer: Thanks :sparkles:
It's pretty barebones right now, so there isn't much too it, but it's confirmed working and utilized currently, so it'd be cool if we could get this into stable.

What happened to this PR? Can we bring it up to date and have it merged? It would be useful...

Yeah, it'd be cool if we got some movement on this


Using Git submodules doesn't work with private repository

Agent version and platform
2.105.5
Windows
VSTS type and version
Team Services
What's not working?
Git submodules are not working when using GitHub private repositories.
 Fix merge
git submodule init
git submodule update -f
Cloning into 'C:/agent/_work/2/s/Core'...
bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Username for 'https://github.com': Invalid argument
fatal: clone of 'https://github.com/user666/MyRepoCore.git' into submodule path 'C:/agent/_work/2/s/Core' failed
Git submodule update failed with exit code: 1

Current workaround:
Install latest Git on Windows agent. Set system.prefergitfrompath to true in build definition variables.

@alxbog what's version of git.exe did you installed? is your submodule public repository?

@TingluoHuang
System Git version is 2.10.0
VSTS agent embedded Git version from externals folder is 2.9.3
Submodule is a private repository. There's no issue when using public ones.

@alxbog  #619 will fix this issue, and we will release a newer version agent with the fix.

#619 is merged.  Look for it in 2.107.1 agent this next week

I have a very similar issue where same unmodified for months project and repository suddenly fails with
Git submodule update failed with exit code: 1
My setup is a private bitbucket repository that has a submodule for a private bitbucket repository.
Hosted Agent successfully assigned.
Configuring connection settings for Hosted Agent
Starting Hosted Agent
Initializing connection to Hosted Agent
******************************************************************************
Starting: Build
******************************************************************************
Current agent version: '2.107.0'
Downloading task: PowerShell
******************************************************************************
Starting: Get Sources
******************************************************************************
Syncing repository: bitbucket.org - sarafian.github.io (Git)
Prepending Path environment variable with directory containing 'git.exe'.
...

git submodule init
Submodule 'themes/my-hugo-future-imperfect'<EMAIL_ADDRESS>registered for path 'themes/my-hugo-future-imperfect'
git submodule update -f
Cloning into 'C:/a/1/s/themes/my-hugo-future-imperfect'...
bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Password for<EMAIL_ADDRESS>Invalid argument
fatal: clone of<EMAIL_ADDRESS>into submodule path 'C:/a/1/s/themes/my-hugo-future-imperfect' failed
Git submodule update failed with exit code: 1

Last successful build was on 15/9. I can't provide a detailed log compatison, because it's not available by VSTS. Seems like VSTS is cleaning up high level log messages

@Sarafian can you share your .gitmodules file from your main repository?
We switch to use git.exe instead of libgit2sharp in the build agent, that causing the break. i can work with you to help you unblock.

@Sarafian
https://www.visualstudio.com/sl-si/docs/build/define/repository#what-kinds-of-submodules-can-i-check-out

@TingluoHuang
[submodule "themes/my-hugo-future-imperfect"]
	path = themes/my-hugo-future-imperfect
	url =<EMAIL_ADDRESS>

@Sarafian
What is your main repository url?
ex: if you main repository url is<EMAIL_ADDRESS>then: git submodule add "themes/my-hugo-future-imperfect" "../my-hugo-future-imperfect.git"

Worked. Thank you very much!

@martingust what do you mean you added the app to your submodules? I'm facing a similar problem and I'm stuck here.
Here's what I got (all under the same teamproject and private repos):

Main repo in https://account1.visualstudio.com/TeamProject/_git/mainrepo
I added two submodules like this using gitExtensions:
[submodule "ext"]
path = ext
url = https://account1.visualstudio.com/TeamProject/_git/ext
[submodule "packages"]
path = packages
url = https://account1.visualstudio.com/TeamProject/_git/packages

And locally it all works perfect, can update the submodules and all that. But once I check the "Checkout Submodules" checkbox within the Azure Build Pipeline I got the following errors. Any help will be apreciated! Thank you!
`##[section]Starting: Checkout
Task         : Get sources
Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version      : 1.0.0
Author       : Microsoft
Help         : More Information
Syncing repository: mainrepo (Git)
Prepending Path environment variable with directory containing 'git.exe'.
##[command]git version
git version 2.18.0.windows.1
##[command]git config --get remote.origin.url
##[command]git config gc.auto 0
##[command]git config --get-all<EMAIL_ADDRESS>##[command]git config --get-all http.proxy
##[command]git -c http.extraheader="AUTHORIZATION: bearer ***" fetch --tags --prune --progress --no-recurse-submodules origin
##[command]git checkout --progress --force 74e91f54080342119fb07b29b08dc7a8b40a0a91
HEAD is now at 74e91f5 add submodules
##[command]git submodule sync
Synchronizing submodule url for 'ext'
Synchronizing submodule url for 'packages'
##[command]git -c<EMAIL_ADDRESS>bearer ***" submodule update --init --force
Cloning into 'C:/vsts-agentx64/_work/126/s/ext'...
fatal: could not read Username for 'https://account1.visualstudio.com': terminal prompts disabled
fatal: clone of 'https://account1.visualstudio.com/TeamProject/_git/ext' into submodule path 'C:/vsts-agentx64/_work/126/s/ext' failed
Failed to clone 'ext'. Retry scheduled
Cloning into 'C:/vsts-agentx64/_work/126/s/packages'...
fatal: could not read Username for 'https://account1.visualstudio.com': terminal prompts disabled
fatal: clone of 'https://account1.visualstudio.com/TeamProject/_git/packages' into submodule path 'C:/vsts-agentx64/_work/126/s/packages' failed
Failed to clone 'packages'. Retry scheduled
Cloning into 'C:/vsts-agentx64/_work/126/s/ext'...
fatal: could not read Username for 'https://account1.visualstudio.com': terminal prompts disabled
fatal: clone of 'https://account1.visualstudio.com/TeamProject/_git/ext' into submodule path 'C:/vsts-agentx64/_work/126/s/ext' failed
Failed to clone 'ext' a second time, aborting
##[error]Git submodule update failed with exit code: 1
##[section]Finishing: Checkout`

@martingust what do you mean you added the app to your submodules? I'm facing a similar problem and I'm stuck here.
[EDIT] Nevermind - I just didn't know how to set the relative path to my submodule repositories. I had to change the url in the .gitmodules file to url = ../submodulerepositoryname

It saved my day


can't install GPy by any way

Hello,
I have installed GPy before using pip install Gpy. Then By mistake, I delete my anaconda's path, I guess it's still on my computer but I couldn't reach it. So I install a new one. Then the problem came out. I can not install Gpy again by any method. I have tried: 1. pip install GPy(this pip is related to the new anaconda) 2: git clone https://github.com/SheffieldML/GPy.git
cd GPy
git checkout devel
python setup.py build_ext --inplace
nosetests GPy/testing
Neither of them help. The error looks like:
Cloning into 'GPy'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 37648 (delta 5), reused 12 (delta 5), pack-reused 37634
Receiving objects: 100% (37648/37648), 61.79 MiB | 5.25 MiB/s, done.
Resolving deltas: 100% (26297/26297), done.
yingxiaomatoMacBook-Pro:Documents yingxiaokong$ cd GPy
yingxiaomatoMacBook-Pro:GPy yingxiaokong$ ls
AUTHORS.txt	LICENSE.txt	appveyor.yml	doc		travis_tests.py
CHANGELOG.md MANIFEST.in	benchmarks	setup.cfg
GPy		README.md	codecov.yml	setup.py
yingxiaomatoMacBook-Pro:GPy yingxiaokong$ git checkout devel
Already on 'devel'
Your branch is up-to-date with 'origin/devel'.
yingxiaomatoMacBook-Pro:GPy yingxiaokong$ ptyhon setup.py build_ext --inplace
-bash: ptyhon: command not found
yingxiaomatoMacBook-Pro:GPy yingxiaokong$ python setup.py build_ext --inplace
running build_ext
building 'GPy.kern.src.stationary_cython' extension
creating build
creating build/temp.macosx-10.7-x86_64-3.7
creating build/temp.macosx-10.7-x86_64-3.7/GPy
creating build/temp.macosx-10.7-x86_64-3.7/GPy/kern
creating build/temp.macosx-10.7-x86_64-3.7/GPy/kern/src
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/yingxiaokong/anaconda3/include -arch x86_64 -I/Users/yingxiaokong/anaconda3/include -arch x86_64 -I/Users/yingxiaokong/anaconda3/lib/python3.7/site-packages/numpy/core/include -I. -I/Users/yingxiaokong/anaconda3/include/python3.7m -c GPy/kern/src/stationary_cython.c -o build/temp.macosx-10.7-x86_64-3.7/GPy/kern/src/stationary_cython.o -O3
In file included from GPy/kern/src/stationary_cython.c:242:
In file included from /Users/yingxiaokong/anaconda3/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /Users/yingxiaokong/anaconda3/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
In file included from /Users/yingxiaokong/anaconda3/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1823:
/Users/yingxiaokong/anaconda3/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning:
"Using deprecated NumPy API, disable it by "          "#defining
NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it by "
^
GPy/kern/src/stationary_cython.c:2271:21: warning: code will never be executed
[-Wunreachable-code]
if (1 == 0) abort();
^~~~~
GPy/kern/src/stationary_cython.c:2271:13: note: silence by adding parentheses to
mark code as explicitly dead
if (1 == 0) abort();
^
/* DISABLES CODE */ ( )
GPy/kern/src/stationary_cython.c:4234:134: warning: code will never be executed
[-Wunreachable-code]
...__pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_li...
^~~~~~~
GPy/kern/src/stationary_cython.c:5456:134: warning: code will never be executed
[-Wunreachable-code]
...__pyx_t_1++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_li...
^~~~~~~
GPy/kern/src/stationary_cython.c:7433:138: warning: code will never be executed
[-Wunreachable-code]
...__pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_li...
^~~~~~~
GPy/kern/src/stationary_cython.c:7425:137: warning: code will never be executed
[-Wunreachable-code]
...__pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_li...
^~~~~~~
GPy/kern/src/stationary_cython.c:10966:138: warning: code will never be executed
[-Wunreachable-code]
...__pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_li...
^~~~~~~
GPy/kern/src/stationary_cython.c:10958:137: warning: code will never be executed
[-Wunreachable-code]
...__pyx_t_5++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_li...
^~~~~~~
GPy/kern/src/stationary_cython.c:11583:138: warning: code will never be executed
[-Wunreachable-code]
...__pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_li...
^~~~~~~
GPy/kern/src/stationary_cython.c:11575:137: warning: code will never be executed
[-Wunreachable-code]
...__pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_li...
^~~~~~~
GPy/kern/src/stationary_cython.c:19389:21: error: no member named 'exc_type' in
'struct _ts'
*type = tstate->exc_type;
~~~~~~  ^
GPy/kern/src/stationary_cython.c:19390:22: error: no member named 'exc_value' in
'struct _ts'; did you mean 'curexc_value'?
*value = tstate->exc_value;
^~~~~~~~~
curexc_value
/Users/yingxiaokong/anaconda3/include/python3.7m/pystate.h:237:15: note:
'curexc_value' declared here
PyObject *curexc_value;
^
GPy/kern/src/stationary_cython.c:19391:19: error: no member named
'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
*tb = tstate->exc_traceback;
^~~~~~~~~~~~~
curexc_traceback
/Users/yingxiaokong/anaconda3/include/python3.7m/pystate.h:238:15: note:
'curexc_traceback' declared here
PyObject *curexc_traceback;
^
GPy/kern/src/stationary_cython.c:19403:24: error: no member named 'exc_type' in
'struct _ts'
tmp_type = tstate->exc_type;
~~~~~~  ^
GPy/kern/src/stationary_cython.c:19404:25: error: no member named 'exc_value' in
'struct _ts'; did you mean 'curexc_value'?
tmp_value = tstate->exc_value;
^~~~~~~~~
curexc_value
/Users/yingxiaokong/anaconda3/include/python3.7m/pystate.h:237:15: note:
'curexc_value' declared here
PyObject *curexc_value;
^
GPy/kern/src/stationary_cython.c:19405:22: error: no member named
'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
tmp_tb = tstate->exc_traceback;
^~~~~~~~~~~~~
curexc_traceback
/Users/yingxiaokong/anaconda3/include/python3.7m/pystate.h:238:15: note:
'curexc_traceback' declared here
PyObject *curexc_traceback;
^
GPy/kern/src/stationary_cython.c:19406:13: error: no member named 'exc_type' in
'struct _ts'
tstate->exc_type = type;
~~~~~~  ^
GPy/kern/src/stationary_cython.c:19407:13: error: no member named 'exc_value' in
'struct _ts'; did you mean 'curexc_value'?
tstate->exc_value = value;
^~~~~~~~~
curexc_value
/Users/yingxiaokong/anaconda3/include/python3.7m/pystate.h:237:15: note:
'curexc_value' declared here
PyObject *curexc_value;
^
GPy/kern/src/stationary_cython.c:19408:13: error: no member named
'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
tstate->exc_traceback = tb;
^~~~~~~~~~~~~
curexc_traceback
/Users/yingxiaokong/anaconda3/include/python3.7m/pystate.h:238:15: note:
'curexc_traceback' declared here
PyObject *curexc_traceback;
^
GPy/kern/src/stationary_cython.c:19451:24: error: no member named 'exc_type' in
'struct _ts'
tmp_type = tstate->exc_type;
Did anyone has same problem as me?

Yes, I have the same problem. In https://github.com/SheffieldML/GPy/issues/649 they claim to have solved, but following those instructions I still have some issue.


All links in API.md are broken

Current Behavior
Links in the file API.md are broken
https://github.com/node-red/node-red/blob/master/API.md
Environment
main branch

I can open pr for that
It is this folder
https://github.com/node-red/node-red/tree/master/packages/node_modules/node-red
Plus the folders from here
https://github.com/node-red/node-red/tree/master/packages/node_modules/%40node-red

Yes please go ahead.

@dceejay Will this repo support Hacktoberfest?.

The links are correct for how this file is used. We generate API documentation using jsdoc. This file is included as the index page of those docs as you can see here: https://nodered.org/docs/api/modules/v/1.3/
In that context, the links are correct. But I can certainly see how someone viewing the raw file in GH would see the links as broken.
Not sure the best approach to address that - but just changing the links isn't going to be the right answer as it will break the generated docs.
Regarding Hacktoberfest - we've had mixed experiences with that in the past with an influx of trivial, incorrect and inappropriate PRs. I hadn't realised it was starting so soon (October is a week away!) - we'll discuss it internally before making a decision.

Should I close this issue?.

I'm going to close this as I'm not sure what else we'll do with it. The whole area of the API docs needs looking at, but that's a broader topic than just this issue.
Thank you for flagging it up regardless :)


[Apple Notes] All attachments become "error reading attachment" after import

I am on macOS 14.0 (23A344). Zero attachments are actually imported.

@dinghaoz This is because the importer is having trouble getting the path to where your attachments are stored. Unfortunately

Do you use 'On My Mac' instead of storing your Apple Notes in iCloud?
Are any of the notes you've trying to import shared with other people, or by other people?
Your files should be stored in /Users/yourusername/Library/Group Containers/group.com.apple.notes/Accounts/bunchofrandomnumbers/Media/. Are there images in the subfolders there?
Does your user folder have any special characters or is otherwise unusual?

Thanks for the reply. Here are the answers:

I store my Apple Notes in iCloud.
Yes, I do share a few notes with my wife, but not all.
No, /Users/yourusername/Library/Group Containers/group.com.apple.notes/Accounts/bunchofrandomnumbers/ doesn't have Media folder. But /Users/yourusername/Library/Group Containers/group.com.apple.notes/Media exists and it seems like it is where all the attachments located.
Yes, they do.
Yes, I prefix my notes folder with emojis to make them look more like Notion and my notes' titles are mostly in Chinese.
Yes I have.

I feel that the issue might be related to question 3. The code seems assuming the attachments are under group.com.apple.notes/Accounts/account-UUID/Media but they are actually at group.com.apple.notes.
				const account = row.ZACCOUNT6 || row.ZACCOUNT5;
				sourcePath = path.join(
					this.resolvedAccounts[account].path,
					'Media', row.ZIDENTIFIER, row.ZGENERATION1 || '', row.ZFILENAME
				);

But my folder hierarchy looks like this

Yeah, I think this is it.
It’s not to do with the macOS version I think, I’m on Sonoma and everything is under the Accounts folder for me. Worst case scenario if I can’t figure out I can always just have it check both the first time to determine which one to use.

@mirnovov there may be some useful prior art in Apple Notes Liberator to find the location of the database

Unfortunately there isn’t, it assumes the notes are in the Accounts folder like this importer currently does.

This should now be fixed if you update to Importer 1.5.3


Making references/classification/train.py and references/classification/utils.py  compatible with python2

This PR solves recent lint errors caused by incompatibility of print statements in the above programs for python2.
cc : @soumith

thank you!

Thanks!


Add LLM wrapper for HuggingFace text-generation local inference server

Feature request
HuggingFace has a nice API for serving local LLMs in their text-generation repo. I'd like to have a wrapper for this implemented in langchain.llms.
Resolves Issues

Feature Request Issue 4433
Feature Request Issue 4280

Usage would basically be something like:
# Both of these examples assume you already have a local LLM server
# running. See the HuggingFace text-generation documentation for more
# information on how to do this.
from langchain.llms import HuggingFaceTextgen

prompt = "What is Deep Learning?"
host = "localhost"
port = 8080

# Basic example (no streaming)
llm = HuggingFaceTextgen(host=host, port=port)
print(llm(prompt))

# Streaming response example
from langchain.callbacks import streaming_stdout

callbacks = [streaming_stdout.StreamingStdOutCallbackHandler()]
llm = HuggingFaceTextgen(
    host=host,
    port=port,
    callbacks=callbacks,
    stream=True
)
print(llm(prompt))

Motivation
There are a few existing HF LLM wrappers in langchain, but they seem to be more focused towards HF Hub use-cases. One of the biggest things the existing implementations lack (at least so far as I can tell), is they don't support streaming tokens back, which helps reduce perceived latency for the user.
Your contribution
Pull Request 4434
See also PR 4447 - coincidentally implemented same feature at the same time - either one of these PRs should close the associated issues

Closed in PR 4447


Unable to embed in iOS application

What I tried:

Installed tns-ios v3.2.0
Copied the NativeScript PreBuild run script phase from a new (tns create HelloWorld) NativeScript project (see below for details)
Added the following to Other linker flags: -sectcreate __DATA __TNSMetadata "$(CONFIGURATION_BUILD_DIR)/metadata-$(CURRENT_ARCH).bin"

At this point the build fails with errors on @import and a few others.

The run script looks like this:
"$SRCROOT/TeacherUITests/js/nativescript-pre-build"

And nativescript-pre-build looks like this (updated the path to map to correct location):
#!/usr/bin/env bash
set -e

pushd "$SRCROOT/TeacherUITests/js/node_modules/tns-ios/framework/internal/metadata-generator/bin"
./build-step-metadata-generator.py
popd

I tried to embed a very simple NativScript application into an existing and rather large iOS app and am running into this also. I'm on nativescript 3.4.2 and tns-ios 3.4.1 both of which are current as of today. I see build failures during metadata generation similar to those above and those in https://github.com/NativeScript/sample-ios-embedded/issues/3 even though I'm on Xcode 9.2. What can I do to resolve this?

Hi, @jzilske
When you added the metadata generation script to build phases, did you drag it up to the second location (as it is demonstrated here)?

When you added the metadata generation script to build phases, did you drag it up to the second location (as it is demonstrated here)?

Yes I did, but to no avail.

What is the exact error message you are getting? Thank you.

What is the exact error message you are getting? Thank you.

Thank you for trying to help, but I did manage to find a way around it. Metadata generation failed if I built RealmSwift which my app depends on in Swift 3.2 instead of 4 mode. Switching to Swift 4 resolved the issue for me.


Develop

What does this PR do?
It edits the readme to be more clearer in it's setup explanation

Changes Unknown when pulling 2ddca27aca8e8ce9ef1dbf46ece6ca91c0b5fbf6 on develop into ** on master**.


Example does not work

The simple example doesn't work in bevy example file
    RenetClient::new(current_time, socket, client_id, connection_config, authentication).unwrap()

renet client should be like this having 5 arguments instead of 4.

For the sake of adding also a solution to it and not let everyone figure it out themselfs....
Check the tag 0.0.9 which has a slight different approach.
https://github.com/lucaspoffo/renet/blob/0.0.9/demo_bevy/src/bin/client.rs


feat: Unlocking Corporate Innovation: How Collaborative Robots are Enabling Digital Transformation and Agile Development

:tada: This PR is included in version 1.58.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Create .NET Framework version

Cannot reference version 5.0.0 in WinForms because there is no .NET Framework version. It would be helpful otherwise I have to override all of the PocketSharp methods & objects in a separate .NET Standard class.

Oh, realizing that .NET Framework 6.1 must be used in order to use .NET Standard nuget packages: https://stackoverflow.com/a/48219436/2246411
Sorry for the false reporting


Kqlmagic not installed in Azure Notebooks by default

The tutorial "Use a Jupyter Notebook and Kqlmagic extension to analyze data in Azure Data Explorer" states that it's not necessary to install Kqlmagic on Azure Notebooks.
However, when I try to run %reload_ext Kqlmagic from a fresh Azure Notebook, I get an error: ImportError: No module named 'Kqlmagic'
Should Kqlmagic be added so that it's installed by default?

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

ID: f497838f-e309-f36a-43af-6d58b5e6b1e9
Version Independent ID: e078d7f3-1b9b-99f0-cc89-0c9c814a2ddf
Content: Use a Jupyter Notebook to analyze data in Azure Data Explorer
Content Source: articles/data-explorer/kqlmagic.md
Service: data-explorer
GitHub Login: @orspod
Microsoft Alias: orspodek

it seems like Kqlmagic is pre-installed for Python 3.6 Azure Notebooks but not for Python 3.5 ones

@jruales Thank you for pointing this out. Yes it seems to be working with kernel version 3.6.
I will edit the article to add a note accordingly

@KalyanChanumolu-MSFT I started an discussion with one of the authors of Kqlmagic and he has mentioned that "Kqlmagic requires python version 3.6 and up" (see discussion here). I think that this documentation page should mention this requirement.

Thank you @jruales
I have made changes to the document to mention this.
The PR is merged and the edit should go live in the next 24 hours.
We will proceed to close this issue now. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


There's something to do with pictures

…I don't know yet what but I was looking for an app where I was able to write some texts and add some pictures.
I've done a try with writeily by moving a picture in the writreily folder and it works.
I was able to do:
my text…

![](my-picture.jpg)

Handle photo preview
Maybe it could be great when writeily sees a picture, and you click on it, instead of crashing, it could open the default image reader?
Add camera button
Maybe it could be great to add a camera button in the markdown bar to add a picture.

It opens the default camera app
There the user takes a shot
Either it asks where to save it or it saves it in a special folder in writeily folder like "pictures"
It makes the markdown syntax for picture like ![](pictures/IMG_034932143.jpg)

In any ways, it works like a charm. I use writeily + es explorer + syncthing; I've got the perfect system. :D

Cool idea. I have pretty much the same setup  + simpletask

Nice idea, this seems more plausible for a 2.0 release. Let's hold on to this until after the next (few?) updates :)

Cool!


Undefined constant - showing the error at line number 56

The below error is showing after installing the plugin.
Undefined contant at line number 56
I removed the line and working. Any suggestion.
if ( !defined( "NWSI_FOLDER_NAME" ) ) {
define( NWSI_FOLDER_NAME, basename( DIR ) );
}

Fixed!
Fyi, NWSI_FOLDER_NAME is now renamed to NWSI_DIR_NAME.


Cooling not supported?

Hi I just tried for testing purpose to set my multimatic to "cooling" using HA.
I got the following error:
[140023989430208] Cannot put https://smart.vaillant.com/mobile/api/v4/facilities/<serial>/systemcontrol/v1/configuration/quickmode, status: 400, response: {"errorCode":"INVALID_PARAMS"},payload: {'quickmode': {'quickmode': 'QM_COOLING_FOR_X_DAYS'}}
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 189, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1627, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1664, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 677, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 964, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 714, in _handle_entity_call
    await result
  File "/config/custom_components/multimatic/climate.py", line 499, in async_set_hvac_mode
    await self.coordinator.api.set_zone_operating_mode(self, mode)
  File "/config/custom_components/multimatic/coordinator.py", line 304, in set_zone_operating_mode
    await self._manager.set_quick_mode(mode)
  File "/usr/local/lib/python3.9/site-packages/pymultimatic/systemmanager.py", line 405, in set_quick_mode
    await self._call_api(
  File "/usr/local/lib/python3.9/site-packages/pymultimatic/systemmanager.py", line 80, in wrapper
    return await func(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/pymultimatic/systemmanager.py", line 857, in _call_api
    response = await self._connector.request(method, url, payload)
  File "/usr/local/lib/python3.9/site-packages/pymultimatic/api/connector.py", line 164, in request
    raise ApiError(
pymultimatic.api.error.ApiError: Cannot put https://smart.vaillant.com/mobile/api/v4/facilities/21200500202609650938006303N3/systemcontrol/v1/configuration/quickmode, status: 400, response: {"errorCode":"INVALID_PARAMS"},payload: {'quickmode': {'quickmode': 'QM_COOLING_FOR_X_DAYS'}}

Hello,
which version of HA and component are you using ?
Did you call the set_quick_mode service ?
Sounds like you called the service with  quick_mode parameter but without the duration

Ah, I didn't know I allowed that :sweat_smile:
I will provide a fix to handle that. In the meantime, you can directly call set_quick_mode service with QM_COOLING_FOR_X_DAYS quick_mode and you should specify a duration. (in day)

@thomasgermain It is working fine now. Thanks for the fast fix!


Documentation about "Using within the Django admin" is wrong about embed_settings

Hi,
README suggests the following way of using djangocodemirror within the admin site:
class MyModelAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.TextField: {'widget': CodeMirrorWidget(config_name='default', embed_settings=True)},
    }

However, when I try to apply this as follows:
from django.db import models
from django.contrib import admin

from djangocodemirror.fields import CodeMirrorWidget
from reversion.admin import VersionAdmin

from .models import (
    Template,
    StyleSheet,
)

class StyleSheetAdmin(VersionAdmin):
    list_display = ('name', 'active')

    formfield_overrides = {
        models.TextField: {'widget': CodeMirrorWidget(config_name='default', embed_settings=True)},
    }

class TemplateAdmin(VersionAdmin):
    list_display = ('name', 'active')

    formfield_overrides = {
        models.TextField: {'widget': CodeMirrorWidget(config_name='default', embed_settings=True)},
    }

admin.site.register(Template, TemplateAdmin)
admin.site.register(StyleSheet, StyleSheetAdmin)

I get the following error:
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/japsu/Hobby/venv-tracontent/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/Users/japsu/Hobby/venv-tracontent/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/Users/japsu/Hobby/venv-tracontent/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/japsu/Hobby/venv-tracontent/lib/python2.7/site-packages/django/apps/registry.py", line 115, in populate
    app_config.ready()
  File "/Users/japsu/Hobby/venv-tracontent/lib/python2.7/site-packages/django/contrib/admin/apps.py", line 22, in ready
    self.module.autodiscover()
  File "/Users/japsu/Hobby/venv-tracontent/lib/python2.7/site-packages/django/contrib/admin/__init__.py", line 24, in autodiscover
    autodiscover_modules('admin', register_to=site)
  File "/Users/japsu/Hobby/venv-tracontent/lib/python2.7/site-packages/django/utils/module_loading.py", line 74, in autodiscover_modules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/japsu/Hobby/tracontent/resources/admin.py", line 21, in <module>
    class TemplateAdmin(VersionAdmin):
  File "/Users/japsu/Hobby/tracontent/resources/admin.py", line 25, in TemplateAdmin
    models.TextField: {'widget': CodeMirrorWidget(config_name='default', embed_settings=True)},
  File "/Users/japsu/Hobby/venv-tracontent/lib/python2.7/site-packages/djangocodemirror/widgets.py", line 28, in __init__
    super(CodeMirrorWidget, self).__init__(attrs=attrs, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'embed_settings'

The behaviour is the same using the newest djangocodemirror from PyPI or GitHub HEAD. See models.py here.

Yeah 'embed_settings' attribute has been removed since a long time but i forgotted to update the README, in the widget there is some code in its render() method so it should append the settings Javascript code below the textarea HTML.
So you just have to remove , embed_settings=True part from Widget usage sample and it should play nice.

It's done since major refactoring with last version from 1.x


Convert crate to no_std

Everything used in the crate from std is found in core, so this is very straight forward.

Good idea, thanks!

Released as 0.3.3

Very serendipitous. I just recently learned about this crate 6 days ago. I came across a use for it today, in an embedded context. Thanks for adding no_std support.


Add WalletState -> SyncingMempool?

After: https://github.com/nopara73/HBitcoin/issues/6
Related: https://github.com/nopara73/HBitcoin/issues/11
Right now the Wallet have 3 states:
Doing nothing, syncing and synced.
Probably it'd be a better idea to have: 4:
doing nothing,
syncing blocks,
syncing mempool,
synced

If you look at the pooler, blocks and trx are all the time syncing so the wallet doesn't need to be in a state, the tracker just needs to handle new blocks and new trx (trx concurrently) and manage reorg when a new block is pushed which is not referencing prev.

GitHub repository search doesn't find match to the word "pooler" neither in the StratisBitcoinFullNode, nor the Breeze repository.

I'll answer to this other question here, since they are related. At that issue the question was what my mempoool, more specifically MemPoolJob does:
Until blocks are synced mempool level transactions should not be coming, they should not use bandwidth at that point. This is what the "StallMempool" issue (https://github.com/nopara73/HBitcoin/issues/11) is created for. I implement this logic, but I lose 1-2 seconds at: between the last block is downloaded and the mempool starts syncing.
So what does it do?

Until blocks are fully synced: nothing.
Keeping an up to date list of all transaction hashes the nodes I am connected to have in their mempool.
Raising an event when a new transaction arrives (not only its hash).

I don't see how can you avoid having "syncing mempool state", since you have to initially download/go through all the transactions from the mempool and that's not small data.
In fact there are 3 mempool specific states I defined in the ApiSpecification:

mempoolStalling
syncingMempool
synced

The mempoolStalling state unrelated to issue https://github.com/nopara73/HBitcoin/issues/11 , in that issue the mempool is stalling, because headers are changing, however the mempoolStalling state in the ApiSpecification is API user indicated mempool stopping with the GET /wallet/mempool/?allow=[true/false] - Allows or disallows mempool syncing. In fact it might be better to call it mempoolStopped or something like this, anyway this is not implemented yet, but not big deal.
The rest 2 states are evident.

ah ops a type I meant the block poller.
I don't think you need to sync mempool's from peers, this is heavy and unnecessary. if anything then we only need to do that once on start. once we are connected to nodes we will start to listen for broadcast transactions from peers (this is done using a NodeBehavior and a TransactionSignaled object), when a trx is received we immediately check if it's "ours" then keep it and notify the GUI of a pending trx. if its not ours we just discard (or keep the hash so we don't check again).
Then when a block is received the trx is marked as confirmed
I think actually as oppose to a full node we need to listen to trx even if the node is not synced as you might be syncing then also receive a trx to your wallet
Its very likely you open the wallet expecting a trx but the node is still catching up.

What?

I don't think you need to sync mempool's from peers, this is heavy and unnecessary.
&&
I think actually as oppose to a full node we need to listen to trx even if the node is not synced as you might be syncing then also receive a trx to your wallet
Its very likely you open the wallet expecting a trx but the node is still catching up.

This is a contradiction, if you don't sync the full mempool you'll not see any transaction that has been propagated before the user opened the wallet and blocks are not confirmed.
When?

if anything then we only need to do that once on start....

Yes, this would resolve that. The question is when?

Before the blocks are synced.
After the blocks are synced.

You proposed (1) before the blocks are synced, what can lead to unexpected behaviours and slow down the block syncing, too, as you put it "this is heavy".  Basically I aim to follow an order, which reflects the states and with that make sure things doesn't go wrong: not started -> header download -> block download -> mempool stopped -> mempool syncing -> mempool synced
You can always hack and break things later, so I'd propose to keep the order of the things and go with the (2) after the blocks started syncing.
Missing
There is one thing that's missing from your proposed scheme and I don't see how to resolve, you might do.
I wan't an up-to-date list of mempool transactions. Right now I only store the hashes for performance, but I could easily sotore all transactions if I'd wanted to. I will most likely need this later, however I need it today at only one place.
The Tracker is tracking mempool transactions too. If the tx malleated or never confirmed (fall out of mempool) then it should not be tracked anymore. Right now this is how I solve this:
foreach(var tx in trackedMemPoolTransactions)
{
	// If we are tracking a tx that is malleated or fall out of mempool (too long to confirm) then stop tracking
	if(!MemPoolJob.Transactions.Contains(tx.GetHash()))
	{
		Tracker.TrackedTransactions.TryRemove(tx);
		Debug.WriteLine($"Transaction fall out of MemPool: {tx.GetHash()}");
	}
}

As you see I use the up-to-date transaction hashes of the mempool of the connected nodes.
One sloppy solution would be to do this check at the initial mempool syncing, however
(1) it is sloppy, what if for example someone runs our software forever? It'll never detect the above described falling out transactions?
(2) it will not have an updated list of transactions in the mempool and therefore limiting my future possibilites, possibly TumbleBit integration.

You'r current approach of having a mirrored mempool of peers and continuously sync with peers to keep up to date is not what I had in mind.
If we ask peers to relay trx then we don't need to ask the mempool (only once at start) after that we will keep getting notifications when new trx appear on the network.
When a transaction "falls out" its up to each node to decide if it doesn't want to keep that trx in memory anymore, to be honest once a trx not form the nodes wallet is relayed and the node is not a mining node I don't see why it needs to keep transactions (maybe for compact blocks or inv requests).

https://github.com/nopara73/HBitcoin/commit/987dfc6dc753708ee8e249bb4d44f039713d7fa6


added shell_sort documentation

Explained the shell sort and working algorithm of shell sort

Description 📜
Added documentation for shell_sort. I have explained the shell_sort and the working of algorithm of shell sort
Fixes #5342

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[ ] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[ ] Android Dev #(Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[ ] C/#CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[ ] DSA
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[ ] Frontend Dev #HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[ ] Interview #Prep
[ ] Java_#Domain
[ ] JavaScript_#Domain
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[ ] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

Checklist ✅

[X] I follow Contributing Guidelines & Code of conduct of this project.
[X] I have performed a self-review of my own code or work.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] My changes generates no new warnings.
[X] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

Done @Muskan-creator please check.

https://github.com/girlscript/winter-of-contributing/pull/5759 @Muskan-creator please check this PR I made another PR


rename want_sap to want_cd

This change should reflect that the continuous delivery is not SAP specific but just another type of channel.

cc'ing @tpatzig on this. We discussed this yesterday, and he was fine keep it the way it is, but I guess a change is fine too. However, this needs to be coordinated since it impacts CI.


added validation check to see if the node is an Array

I was getting the same issue posted here.
https://github.com/microsoft/kiota-typescript/issues/1151
I added a simple validation check to confirm the node is an Array.

@microsoft-github-policy-service agree


Updating the function extract_l4_granule

Replaced urlopen() with urlretrieve().
Everything works good now in local machine.

Coverage increased (+0.2%) to 95.749% when pulling c34b5e773e26884dac02ca664d05e6a3ad3ff170 on Omkar20895:master into 65a80db7cbbd9e7f2ec79837d6f5bf982e26f0a5 on lewismc:master.

OK! Hold on. 😅

@Omkar20895 Can you please post a URL that I can use for testing?
I'm using http://podaac-opendap.jpl.nasa.gov/opendap/allData/ghrsst/data/GDS2/L4/GLOB/CMC/CMC0.2deg/v2/1991/245/19910902120000-CMC-L4_GHRSST-SSTfnd-CMC0.2deg-GLOB-v02.0-fv02.0.nc and this does not even work in browser.

@jarifibrahim I am using the same url that you are using mate. :)

@Omkar20895 @jarifibrahim @lewismc
The 403 error we are getting is a result of attempting to download the data via opendap instead of FTP (note that the test passing python 2.7 was also a false positive, it simply downloaded a webpage containing the 403 error code). I do not know if this is was your original intent but switching to FTP should fix the problem. See my review.

To be precise, we should change lines 587 in podaac.py to:
            url = root[12][7].attrib['href']

and remove line 588.

Yep, seems like this is the solution:
https://travis-ci.org/agoodm/podaacpy/builds/172159186
Since I went ahead and tested my own fork anyway, I will go ahead and start a new PR for this.

@agoodm agreed 👍  Thank you very much!


chore: Disabling failing test

Related Issues/PRs
Disabling a Rapids unit tests as it has been failing, causing the build to be marked as failed. We will fix this unit test, in the meantime, we are disabling this test
How is this patch tested?
Trigger unit test to validate everything runs as expected.
Does this PR change any dependencies?

[X] No. You can skip this section.
[ ] Yes. Make sure the dependencies are resolved correctly, and list changes here.

Does this PR add a new feature? If so, have you added samples on website?

[ ] No. You can skip this section.
[ ] Yes. Make sure you have added samples following below steps.

Find the corresponding markdown file for your new feature in website/docs/documentation folder.
Make sure you choose the correct class estimators/transformers and namespace.
Follow the pattern in markdown file and add another section for your new API, including pyspark, scala (and .NET potentially) samples.
Make sure the DocTable points to correct API link.
Navigate to website folder, and run yarn run start to make sure the website renders correctly.
Don't forget to add <!--pytest-codeblocks:cont--> before each python code blocks to enable auto-tests for python samples.
Make sure the WebsiteSamplesTests job pass in the pipeline.

/azp run

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 20.37%. Comparing base (2758261) to head (a832b0c).

:exclamation:  There is a different number of reports uploaded between BASE (2758261) and HEAD (a832b0c). Click for more details.
HEAD has 149 uploads less than BASE

Flag
BASE (2758261)
HEAD (a832b0c)

151
2

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #2311       +/-   ##
===========================================
- Coverage   84.52%   20.37%   -64.15%
===========================================
  Files         326      326
  Lines       16769    16769
  Branches     1480     1480
===========================================
- Hits        14174     3417    -10757
- Misses       2595    13352    +10757

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

This is not correct, closing the PR

/azp run

/azp run

/azp run

/azp run

/azp run


Write script to prepopulate TRAEFIK_LAYER_7_TLS_PROXY_ROUTES

To install an app behind a second proxy is a two step process:

Configure and install the app.
Create the route through the sentry.

We can somewhat improve this by pre-populating TRAEFIK_LAYER_7_TLS_PROXY_ROUTES with a list of routes for potentially installed apps. These routes would be configured and become active before they are they are ever needed, but they would just resolve to a 404 until installed.
This improves the admin situation to be a one step process, for the simple case where you want to use the pre-populated domain name (name.ROOT_DOMAIN):

Configure and Install the app with the pre-populated TRAEFIK_HOST name.

This would not work if you wanted to customize the domain name for an app, but this has an important benefit for remote adminstration:

If you use the pre-populated domain name, you don't have to restart the sentry, and therefore if you are remotely administering the sentry through the same VPN connection the sentry is hosting, you won't be disconnected :)

? Layer 7 TLS Proxy:
  List layer 7 ingress routes
  Add new layer 7 ingress route
  Remove layer 7 ingress routes
> Auto-generate layer 7 ingress routes for all apps
  Disable layer 7 TLS Proxy

So if you ran that option, you would end up with a TRAEFIK_LAYER_7_TLS_PROXY_ROUTES pre-populated with a generated domain name for every single d.rymcg.tech app.

Closed in favor of #312


Collapse all when DIV loses focus?

I've been looking for the last 2 days for a solution and have been unable to find one.
Is there a way to trigger close_all when the tree DIV loses focus?
I've tried the following but the event fires every time you click on a new item in the tree.
 $('#'+returnDiv) .on('focusout.jstree'   , function () { console.log('focus out jsTree');   }) .on('focusout'          , function () { console.log('focus out');          }) .on('unset_focus.jstree', function () { console.log('unset focus jsTree'); }) .on('unset_focus'       , function () { console.log('unset focus');        }) .on('blur.jstree'       , function () { console.log('blur jsTree');        }) .on('blur'              , function () { console.log('blur focus');         });
Thanks

Sorry, I can not think of a solution except monitoring the selected element (I believe there is a document level event for that) and then checking if its parent is a tree, and if not - collapse the tree - that should do the trick, but it will be a document level event handler.


update go package name for 2.0

@alexcrichton I updated the package name(s) to work right with go's notions of a version 2.0.
I have found three tests that are failing, all because of problems with traps.  These three tests all seem to be expecting that the c language level will be returning things to them that, in version 2, they are not.
I have added comments in the code to point these out.  I'm not sure what the best choice is here, because I would expect that somebody who understands the c language interface could probably fix these in 5 minutes it would take me a while.
You can delete/close/destroy this PR at will, I have no allegiance to it and it is not, in any real sense, a "fix" for anything other than the name of the package.
I tested this locally with my own wasmtime-dependent code and it compiled and linked.  I am currently seeing NewModuleFromFile() hang, but I'm investigating that.

Yeah, some investigating reveals
	err := C.wasmtime_module_new(engine.ptr(), wasmPtr, C.size_t(len(wasm)), &ptr)

NewModule() at the go level in module.go is hanging, so I'm going to revert to 1.0 until I figure out what this problem is.

Thanks! I can sort out the test errors, although I'm curious about the package renaming. Does that mean that users would need to do something like v2.NewEngine()? Or does wasmtime.NewEngine() still work?
Subsequently releases of Wasmtime are planned to be "major verison" releases, so does that mean that the package needs to always be renamed? If so do you know of alternate versioning schemes in Go?

Thankfully, you don't need to change the name every time. Instead, update the package name inside go.mod. Here's how Stripe does it.
module github.com/bytecodealliance/wasmtime-go/v2

go 1.18

require github.com/stretchr/testify v1.8.0

require (
	github.com/davecgh/go-spew v1.1.1 // indirect
	github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
	github.com/pmezard/go-difflib v1.0.0 // indirect
	gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect
	gopkg.in/yaml.v3 v3.0.1 // indirect
)

Oh nice that makes sense, @iansmith would you be up for modifying this PR for that?

I think this was addressed with https://github.com/bytecodealliance/wasmtime-go/pull/161 so I'm going to close this.

I think this is handled now with a 3.0.1 release but please let me know if something is wrong.


[stdlib] Remove duplicates in Optional

I found that the exact same code was declared twice.

Remove duplicates in Optional.swift

@swift-ci please smoke test

@swift-ci please smoke test

Hi, Chanhee, welcome to the project! Triggering tests requires write access.
I don’t think these operator function overloads are redundant. Have a look at the parameters: one is for when nil is the left operand, the other one is for when nil is the right operand.

Hi, Chanhee, welcome to the project! Triggering tests requires write access.
I don’t think these operator function overloads are redundant. Have a look at the parameters: one is for when nil is the left operand, the other one is for when nil is the right operand.

oh you're right! thank you for letting me know!


Driving Behavior Identification

Deep Learning Simplified Repository (Proposing new issue)
:red_circle: Project Title : Driving Behavior Identification
:red_circle: Aim : Using Deep Learning And Machine Learning To Predict Driving Behavior
:red_circle: Dataset : https://www.kaggle.com/datasets/outofskills/driving-behavior
:red_circle: Approach : Try to use 3-4 algorithms to implement the models and compare all the algorithms to find out the best fitted algorithm for the model by checking the accuracy scores. Also do not forget to do a exploratory data analysis before creating any model.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name :
GitHub Profile Link :
Email ID :
Participant ID (if applicable):
Approach for this Project :
What is your participant role? (Mention the Open Source program)

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Please share the details mentioned in the issue template @pranav-bot

plz assign me this issue
Full name : siddarth
GitHub Profile Link : https://github.com/sid-im
Email ID<EMAIL_ADDRESS>Participant ID (if applicable):
Approach for this Project : ill use Random Forest Classifier to complete this project
What is your participant role? (Mention the Open Source program)

i had my clg exams....i have completed the task soon ill be make a pr

@abhisheks008
i had my clg exams....i have completed the task soon ill be make a pr


Make ROOT_PATH, MODELS_PATH and DOWNLOADS_PATH environment variables

All config files I've seen so far have the following variables:
"ROOT_PATH": "~/.deeppavlov",
"DOWNLOADS_PATH": "{ROOT_PATH}/downloads",
"MODELS_PATH": "{ROOT_PATH}/models"

Should we make them environment variables?
This would be better for the following reasons:

No need to define the same variables across all configs
No need to redefine variables for your system. For example, I do not store source code and downloads/models at same place (cause of their huge size), so I need to change configs for me and change them back to make PR (that is kind of ridiculous). If these variables were in the environment, I'd have to change them only one time - after deeppavlov installation.
Make configs working directory independent (no '~/'-paths)

If someone implements this, change variable names to something specific like "DEEPPAVLOV_ROOT_PATH" in order to avoid name clashes.

Proposed solution: environment variable DP_VARIABLE_NAME should be interpreted as VARIABLE_NAME variable in configs

Another solution: use syntax like ENV:VARIABLE_NAME in configs to reference any env variable


fix(release): Using semantic release instead of lerna

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


bug: Creation of AAD Groups and assignment of custom role

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Versions
2.1.1

Please paste the output of terraform version command from within the initialized directory:
<output of terraform version>

Please enter the module version that you are using:
<module version>

Description
I would like to create AAD groups for a new subscription in the same run as creation of the new subscription, and assign appropriate roles to these groups on the newly created subscription. One of these roles is a custom role whose definition is on the intermediate root management group.
For this I create an additional groups.tf, in which the AAD groups are created and then the roles on the subscription are assigned.
//AAD Group creation
resource "azuread_group" "contributor_no_network" {
  display_name     = "AZ_RBAC_subscriptionContributorNoNetwork"
  security_enabled = true
}

//Management group association
resource "azurerm_management_group_subscription_association" "mg_association" {
  management_group_id = "/providers/Microsoft.Management/managementGroups/${var.management_group_id}"
  subscription_id     = module.lz-vending.subscription_resource_id
}

//Role assignment
resource "azurerm_role_assignment" "contributor_no_network" {
  depends_on = [ azurerm_management_group_subscription_association.mg_association]
  scope              = module.lz-vending.subscription_resource_id
  role_definition_id = var.roledefinition_customRole_SubscriptionContributorNoNetwork_id
  principal_id       = azuread_group.contributor_no_network[0].id
}

My problem is that the subscription is created by default under the tenant root management group, on which the custom role is not defined. I perform in the same code an association of the subscription under a management group that contains the definition.
However, Terraform still does not find the definition and returns the follwing error:
│ Error: authorization.RoleAssignmentsClient#Create: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="RoleAssignmentScopeNotAssignableToRoleDefinition" Message="The role [DEV] Subscription-Contributor-NoNetwork is not available for assignment at the requested scope."
││   with azurerm_role_assignment.contributor_no_network[0],
│   on groups.tf line 49, in resource "azurerm_role_assignment" "contributor_no_network":│   49: resource "azurerm_role_assignment" "contributor_no_network" {
│

Only when I run the same code a second time, the assignment of the Custom Role works.
I tried

doing the management group association via the lz-vending module, but that does not work either. Doing it in the groups.tf gives me at least the opportunity to work with "depends_on".
adding a timer_delay of 60 seconds betweend management group association and role assignment.

Does creating AAD groups in the same run even match the idea of the lz-vending module? Or should I do this in a separate code? Thanks for any answers and suggestions!
Steps to Reproduce

step 1
step 2
you get it...

Screenshots

Additional context

Hi @cssja,
You could try setting the default management group in the hierarchy to one that does have the custom role definition in-scope. I have written a Terraform module to do this but the resource definition is here:
https://learn.microsoft.com/azure/templates/microsoft.management/managementgroups?pivots=deployment-language-terraform
Let me know if that solves your issue

related to #155

Hi @matt-FFFFFF,
thank you for the quick response!
It would be a possible workaround that I have already considered, but its not entirely satisfactory. We work with a DevTest architecture like in this article. In this scenario there will also be two role definitions of the custom role: customRole_Prod on the management group "Contoso" and customRole_Dev on "Contoso-Canary". So if I now set the default management group to Sandbox-Canary, for example, and then drag the Subscription from there, under a management group in Prod, I would get the same problem.

Hi @cssja
Thanks for getting back to me. I understand your issue and how the RBAC role definitions seemingly aren't immediately consistent when the subscription is moved into the mg.
Have you tried the following:

Increasing the time_wait between the mg association and the role assignment? I would be interested to understand how long this takes.
Checking in the portal once the subscription has been moved to see if you can make the assignment manually?

I think this is probably a caching issue, and refreshing the access token may fix it (hence me asking you to check in the portal.
I believe this is related to Azure/terraform-azurerm-caf-enterprise-scale#536, though this affects AzureRM - and is subsequently tracked upstream by Hashicorp hashicorp/go-azure/helpers#141
Thanks

Internal AB#26425

Hi @matt-FFFFFF ,
i increased the time_sleep to 4 minutes and it seems to work now within one run. That solution is fine for me. Thanks a lot for your help!
For anyone who is facing the same problem, this is the code that works for me:
resource "azurerm_management_group_subscription_association" "mg_association" {
  management_group_id = "/providers/Microsoft.Management/managementGroups/${var.management_group_id}"
  subscription_id     = module.lz-vending.subscription_resource_id
}

resource "time_sleep" "wait_240_seconds" {
  depends_on      = [azurerm_management_group_subscription_association.mg_association]
  create_duration = "240s"
}

# Role assignments
resource "azurerm_role_assignment" "contributor_no_network" {
  depends_on         = [time_sleep.wait_240_seconds]
  scope              = module.lz-vending.subscription_resource_id
  role_definition_id = var.roledefinition_customRole_SubscriptionContributorNoNetwork_id
  principal_id       = azuread_group.contributor_no_network[0].id
}

Thanks @cssja this is good to know and I'll close this issue now.


Docs for repo labels

For https://github.com/abapGit/abapGit/pull/5814
@larshp Could you pls add me as a colaborator to this repo

@sbcgua try again, I've granted you more privileges