How to set up Apollo Client 2.0, ApolloLink with subscriptions etc..

I spent some time to figure it out, so just in case anyone wants to try:
// Apollo imports
import ApolloClient from 'apollo-client';
import { HttpLink } from 'apollo-link-http';
import { ApolloLink, concat, split } from 'apollo-link';
import { InMemoryCache } from 'apollo-cache-inmemory'
import { WebSocketLink } from 'apollo-link-ws';
import { getMainDefinition } from 'apollo-utilities';

//Vue imports
import Vue from 'vue'
import VueApollo from 'vue-apollo'
import router from './router'

//Component imports
import App from './App'
import VModal from 'vue-js-modal'

import { GC_USER_ID, GC_AUTH_TOKEN } from './constants/settings'

import store from './store/index' // Vuex

const httpLink = new HttpLink({ uri: 'https://api.graph.cool/simple/v1/xxxxxxxxx' });

const authMiddleware = new ApolloLink((operation, forward) => {
  // add the authorization to the headers
  operation.setContext({
    headers: {
      authorization: localStorage.getItem(GC_AUTH_TOKEN) || null,
    }
  });
  return forward(operation);
})

// Set up subscription
const wsLink = new WebSocketLink({
  uri: `wss://subscriptions.us-west-2.graph.cool/v1/xxxxxxxx`,
  options: {
    reconnect: true
  }
});

// using the ability to split links, you can send data to each link
// depending on what kind of operation is being sent
const link = split(
  // split based on operation type
  ({ query }) => {
    const { kind, operation } = getMainDefinition(query);
    return kind === 'OperationDefinition' && operation === 'subscription';
  },
  wsLink,
  httpLink,
);

const apolloClient = new ApolloClient({
  link: concat(authMiddleware, link),
  cache: new InMemoryCache()
});

Vue.use(VueApollo)
Vue.use(VModal, { dialog: true })

Vue.config.productionTip = false

const apolloProvider = new VueApollo({
  defaultClient: apolloClient,
  defaultOptions: {
    $loadingKey: 'loading'
  },
  errorHandler (error) {
    console.log('Global error handler')
    console.error(error)
  }
})

const userId = localStorage.getItem(GC_USER_ID)
/* eslint-disable no-new */
window.vm = new Vue({
  el: '#app',
  store,
  apolloProvider,
  router,
  data: {
    userId
  },
  render: h => h(App)
})

Works great, however I needed to do some adjustments to authorization, in case anyone needs it, this worked for me.
instead of:
const authMiddleware = new ApolloLink((operation, forward) => {   // add the authorization to the headers   operation.setContext({     headers: {       authorization: localStorage.getItem(GC_AUTH_TOKEN) || null,     }   });   return forward(operation); })
used:
const token = localStorage.getItem(GC_AUTH_TOKEN) || null const authMiddleware = new ApolloLink((operation, forward) => {   // add the authorization to the headers   operation.setContext({     headers: {       authorization: Bearer ${token}     }   })   return forward(operation) })
Thanks @kjetilge !!!

Why use localstorage instead of cookies? It won't be shared across subdomains and http/https

Why not use websockets for everything? Why split?

Just my 2c for future visitors (and those who asked the questions):

I also prefer HttpOnly cookies.  In the browser (not in Node), you can use credentials: 'include' to pass cookies to your API without having them accessible via JS.  This is the safest approach I've found so far for protecting auth tokens.  Granted, you'll need to set up your API to look for the auth token in both a cookie and/or auth header.  I have my back-end look for the cookie auth token first, and then write that to the request's Authorization/Bearer header.  Then, business as usual.

I've been using WS on the server, and HTTP in the browser.  In my particular case, the back-end isn't accepting cookies (by choice, and due to web socket's lack of CORS; which results in a CSWSH vulnerability), so the only way to send the auth token in the upgrade handshake would be to make it accessible to JS in the browser.  You can do this by setting the store in nuxtServerInit and accessing it via window.__NUXT__.state.authToken.  The problem is that now your auth token is accessible to all of JS, and you may-or-may-not feel comfortable doing that.

Hi @bjunc
Can you make an example repo about this?

Yeah, I think I can do that.  I was actually planning on doing a Medium article about this setup (along with the back-end; which is in Elixir).
Also worth noting, is that you can use @nuxtjs/proxy to make your browser-based queries/mutations.  You set your GraphQL URI to /graphl, and then proxy this to the actual API endpoint.  In doing this, the HttpOnly cookie is shared between the API and the Nuxt app.  That allows you to use the cookie for page auth; as well as for API requests.  It also negates the CORS pre-flight and other origin related issues.  So at no point is your auth token accessible via JS in the browser.

I'm currently building a full demo in the tests/demo folder that will also be used for the e2e tests, and it already has a user system with authentication.

The solution above to set authentication headers via middleware uses apollo-link and apollo-client. Is it possible to have middlewares using apollo-boost to set custom headers dynamically for each request?

Are there any examples of using the default out-of-the-box boilerplate with bearer tokens?
As in, when using vue add apollo in vue-cli where do I set the token I get from my auth provider? (auth0)

@hades200082 in your vue-apollo.js scaffolded out by the cli tool, there's a getAuth() method in the options, you can ues that to return the token.
i.e.
  // Override the way the Authorization header is set
  getAuth: () => {
    // get the authentication token from local storage if it exists
    const token = localStorage.getItem(AUTH_TOKEN)
    // return the headers to the context so httpLink can read them
    if (token) {
      return 'Bearer ' + token
    } else {
      return ''
    }
  }

Works great, however I needed to do some adjustments to authorization, in case anyone needs it, this worked for me.
instead of:
const authMiddleware = new ApolloLink((operation, forward) => {
  // add the authorization to the headers
  operation.setContext({
    headers: {
      authorization: localStorage.getItem(GC_AUTH_TOKEN) || null,
    }
  });
  return forward(operation);
})

used:
const token = localStorage.getItem(GC_AUTH_TOKEN) || null
const authMiddleware = new ApolloLink((operation, forward) => {
  // add the authorization to the headers
  operation.setContext({
    headers: {
      authorization: `Bearer ${token}`
    }
  })
  return forward(operation)
})

Thanks @kjetilge !!!

How to do this for the connection_terminated? I want to send a payload together

FF to 2019: this is the new approach
import { ApolloClient } from 'apollo-client';
import { createHttpLink } from 'apollo-link-http';
import { setContext } from 'apollo-link-context';
import { InMemoryCache } from 'apollo-cache-inmemory';

const httpLink = createHttpLink({
  uri: '/graphql',
});

const authLink = setContext((_, { headers }) => {
  // get the authentication token from local storage if it exists
  const token = localStorage.getItem('token');
  // return the headers to the context so httpLink can read them
  return {
    headers: {
      ...headers,
      authorization: token ? `Bearer ${token}` : "",
    }
  }
});

const client = new ApolloClient({
  link: authLink.concat(httpLink),
  cache: new InMemoryCache()
});

basically the change is that use of setContext, which is to my opinion cleaner.

This is my entire apollo boot file when using subscriptions:
import { ApolloClient } from 'apollo-client';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { setContext } from 'apollo-link-context';
import { split } from 'apollo-link';
import { HttpLink } from 'apollo-link-http';
import { WebSocketLink } from 'apollo-link-ws';
import { getMainDefinition } from 'apollo-utilities';

// You should use an absolute URL here
const options = {
  httpUri: process.env.GRAPHQL_HTTP_ENDPOINT || 'http://localhost:7001/graphql',
  wsUri:   process.env.GRAPHQL_WS_ENDPOINT  || 'ws://localhost:7001/graphql',
};

let link = new HttpLink({
  uri: options.httpUri,
});

// Create the subscription websocket link if available
if (options.wsUri) {
  const wsLink = new WebSocketLink({
    uri:     options.wsUri,
    options: {
      reconnect: true,
    },
  });

  // using the ability to split links, you can send data to each link
  // depending on what kind of operation is being sent
  link = split(
      // split based on operation type
      ({ query }) => {
        const definition = getMainDefinition(query);
        return definition.kind === 'OperationDefinition' &&
            definition.operation === 'subscription';
      },
      wsLink,
      link,
  );
}

const authLink = setContext((_, { headers }) => {
  // get the authentication token from local storage if it exists
  const token = localStorage.getItem('authorization_token');
  // return the headers to the context so httpLink can read them
  return {
    headers: {
      ...headers,
      authorization: token ? `Bearer ${token}` : '',
    },
  };
});

export const cache = new InMemoryCache();

// Create the apollo client instance
export default new ApolloClient({
  link: authLink.concat(link),
  cache,
  connectToDevTools: true,
});

@Akryum @emahuni The middleware has no affect on webSocketLink.
the headers seems to only be set via connectionParams.
Is there a way to change the headers dynamically? in case the token has been refreshed

You have to restart the websocket connection.

@Akryum how do i do that without restarting apollo instance?

Here is an example: https://github.com/Akryum/vue-cli-plugin-apollo/blob/a52696165732381787dafe6b8e694d4b30af4826/graphql-client/src/index.js#L187-L205

I've been using WS on the server, and HTTP in the browser.  In my particular case, the back-end isn't accepting cookies (by choice, and due to web socket's lack of CORS; which results in a CSWSH vulnerability), so the only way to send the auth token in the upgrade handshake would be to make it accessible to JS in the browser.  You can do this by setting the store in nuxtServerInit and accessing it via window.__NUXT__.state.authToken.  The problem is that now your auth token is accessible to all of JS, and you may-or-may-not feel comfortable doing that.

Thank you; your post nicely summarizes the issue, and one way to resolve it.
In my case, I did not want to let the frontend code ever have access to the auth-token.
So, I use the following approach instead:

When frontend loads, it sends an http request to the server, calling getConnectionID; because it's an http-request, the http-only auth-token cookie gets included.
The server generates a random UUID for the current connection, and associates it with the user-data it read/verified from the http-only cookie.
The frontend sends its connection-id back to the server, except this time over the persistent websocket connection.
The server checks for a matching connection-id; if found, the user-id associated with the connection-id is now associated with the websocket connection as well. The server then marks the connection-id as "used up", preventing any additional "associate-with-websocket-connection attempts".
Now for all future GraphQL requests over the websocket connection, the server knows what user-data is associated with it.

Is the approach above safe/sound?
If so, I prefer it over making the auth-token accessible to the frontend js, because of this benefit:

The server only allows usage/"redemption" of the connection-id one time. This means that if there is malicious code in the frontend that is harvesting the connection-ids, it should not be an issue because no one after the first caller will be able to use it.


chore: removed api calls to fetch default docs from github

Description
The top 5 results on omnibar documentation search are default docs fetched from github (raw githug api). Removing this since we are fetching this from algolia itself by adding a "isDefault" attribute to these docs.
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manual

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

/ok-to-test sha=e8f78f1


request for ultra-high precision model, thanks.

Hi, thank you for your contributions!
Can you please share the ultra-high precision model you trained and training code with me.
My email<EMAIL_ADDRESS>Thank you very much！

Hi, thank you for your contributions!
Can you please share the ultra-high precision model you trained and training code with me.
My email<EMAIL_ADDRESS>Thank you very much！


Testgrid add unnecessary db entries when a testplan of a product is run

Description:
Setup: I have three jobs configured in my testgrid (X, Y, Z).
When I run a testplan with run-testplan command for a given job (say X), then it add the success/failure status of it into the db. This is the expected behavior. But, when I check the test_scenario db, I also see new DB entries for Y and Z as well.
This is quite an strange behavior since the test-run of X should not add entries for Y and Z.
See the db entries below. In here, four entries at top of the list are added during test-run of wso2is.local2 (pattern-2).
mysql> select p.name, ts.created_timestamp, ts.modified_timestamp, ts.name, ts.status, dp.name as pattern from test_scenario as ts INNER JOIN test_plan as tp ON ts.TESTPLAN_id=tp.id INNER JOIN deployment_pattern as dp INNER JOIN product p ON PRODUCT_id=p.id ORDER BY ts.created_timestamp DESC;
+------------------+---------------------+---------------------+------------+---------+------------------------------------+
| name             | created_timestamp   | modified_timestamp  | name       | status  | pattern                            |
+------------------+---------------------+---------------------+------------+---------+------------------------------------+
| wso2is-5.4.0-LTS | 2018-02-12 15:51:23 | 2018-02-12 15:51:26 | solution01 | SUCCESS | cloudformation-templates/pattern-1 |
| wso2is.local     | 2018-02-12 15:51:23 | 2018-02-12 15:51:26 | solution01 | SUCCESS | pattern-2                          |
| wso2is.local2    | 2018-02-12 15:51:23 | 2018-02-12 15:51:26 | solution01 | SUCCESS | pattern-2                          |
| wso2is5.4.0LTS   | 2018-02-12 15:51:23 | 2018-02-12 15:51:26 | solution01 | SUCCESS | cloudformation-templates/pattern-1 |

Affected Product Version:
0.9.0-m12
OS, DB, other environment details and versions:
Steps to reproduce:
See above.
Related Issues:

This may have happened since the infra yaml contain the same productName across all these jobs:
https://github.com/wso2/testgrid/blob/b1442767c934df3f5856c20540c8b4cefcd73c7a/test-scripts/local-is-deployment/test-config.yaml#L18
I think it is wrong to use the product name from this file since it comes as an input.

Hmm.. I changed this and run, but still the behavior is same!

The infra yaml has become testgrid.yaml. The product name is not there in it now. Hence, closing the issue.


added ability to pass in logger

This should fix issue #5
Now you can pass in any arbitrary object that responds to debug info warn error and fatal as the logger. As an example, you can now call:
Logplexer.error( "Will log to Rails logger", logger: Rails.logger )

@8bitDesigner Could you take a look at this and make sure it fulfills your requirements?

This is close, but I'd love to configure this on a per env basis: Like:
(in /config/environments/development.rb
config.logplexer.logger = Rails.logger

@8bitDesigner Good idea, I'll try to shim that into the Rails config.

The ability to add global configuration has been added in v1.0.0


Introduce includeLocalVariables option

Problem Statement
As per https://github.com/getsentry/develop/pull/813, add a includeLocalVariables option that controls if local variables should be included in the stackframes of exception events that gets sent to Sentry.
Note: this should only influence the data that is sent to Sentry, not the actual stacktraces of PHP exceptions.
Solution Brainstorm
Update sentry options.

We do have to be careful to link to here when we document that feature for PHP, otherwise we will get even more confused support questions about it than we already do 😅

It should be true by default.

I'm not in favor of adding this option to the PHP SDK.
The presence of exception args is tightly coupled to the zend.exception_ignore_args ini directive.
By default, this directive is set to On, which already caused a lot of confusion from people using Sentry in the past.
I also don't see the use-case that someone would set zend.exception_ignore_args: Off and then disable includeLocalVariables.
If in the unlikely case, someone really needs to do that, they can utilize the ini_set() PHP function.

In the drupal integration we do have this setting (with a different name of course). This is because it controls what data is sent to Sentry (i.e. sent externally) vs what data is simply available internally to the application or other loggers. If our sentry send args setting is disabled but exception stack frames do contain the args due to the php ini setting, then we loop thru and remove them.  For the opposite case, we document that users need to both enable this setting and disable php's ignore_args ini setting.  For PHP errors and non-exception application error or debug events, we generate the stack frames ourselves by calling debug_backtrace() and use our sentry send args setting to determine if we call it with DEBUG_BACKTRACE_IGNORE_ARGS (no args) or 0 (with args but no object).

Closing, for now, people can control the behavior via zend.exception_ignore_args


Refactoring

Hi @bartdegraeuwe
A few cosmetic changes:

Re-arrange imports
Turn comments into docstring

ok

ok


Question regarding candidate selection

How is ice candidate pair selection currently done? Is it first successful connection?
It seems that sometimes my TURN candidates are being used even when a local pair exists. And in some cases (T-Mobile 6to4 detected) I’d like to force usage of a specific TURN server over the STUN pair.
I’m considering implementing a flexible mechanism to make network specific decisions but would like to understand the current rationale first.

How is ice candidate pair selection currently done? Is it first successful connection?

Yes it is, the ICE module is based on the aioice code and is influenced by the specification of the reference implementation.
The ICE specification does not define criteria for selection, so there is room for optimization
https://datatracker.ietf.org/doc/html/rfc8445#section-8.1.1

The criteria for stopping the connectivity checks and for picking a
pair for nomination are outside the scope of this specification.
They are a matter of local optimization.  The only requirement is
that the agent MUST eventually pick one and only one candidate pair
and generate a check for that pair with the USE-CANDIDATE attribute
set.

Thanks for the explanation!
Currently I am using trickle ice and slightly delaying delivery of undesirable candidates before calling addIceCandidate in werift. This seems to work well enough for my purposes. I see there is an iceFilterStunResponse option as well that can allow me to avoid the problematic Tmobile 6to4 candidates.


what are the requirements for finetuning llava-next models?

The requirements.txt does not work for this model.

@haon-chen
Thank you for letting me know! I just checked my environment, and it seems we need to update the Transformers library to version 4.46.3. Please let me know if that resolves the issue.


fix(ellipsis): Remove inline-flex from ellipsis.

Remove inline-flex from ellipsis mixin as it was breaking in more cases than it was actually solving
an edge case with inline-block.
Fix #360

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Bug:Delhi weather forecast causes app crash

This is not only for Delhi. It crashes for multiple cities.

API seems to be giving correct output.
@aman0408 Can you look into the reason?

Yes I'm looking into it. API is giving the correct response. The drawable is null. I'm working on it.

The issues is because of missing icons drawable xml in the app. There is only "wi_day_rain" present. No other icon is present.

Recently a lot of files were deleted but they were supposed to be unused resources, can you verify if the files needed for weather were present in any of the following PRs?
https://github.com/project-travel-mate/Travel-Mate/pull/725
https://github.com/project-travel-mate/Travel-Mate/pull/718

Yeah the required files are present in those PRs.

You can check the previous version of repo and download files from there.
This is the repo version just before that PR: https://github.com/project-travel-mate/Travel-Mate/tree/b48ae53090242680803937d8e5c44fbfa91da6f9
I would recommend to add those drawables back, but also, even when the drawables are not there, app should not crash.

I would recommend to add those drawables back, but also, even when the drawables are not there, app should not crash.

I think we can do a conditional check and provide a drawable icon, any idea what default drawable should be?

I have created a PR for the issue.


bug: 'ionic upload' adds "ZERO WIDTH NO-BREAK"

From @tobbbe on May 22, 2015 8:57
Type: bug
Platform: all
When doing 'ionic upload' while 'ionic serve' is running a "ZERO WIDTH NO-BREAK"-character (&#65279) is added at the top of index.html. This causes the view to be to high

Copied from original issue: driftyco/ionic#3809

From @bodinaren on May 22, 2015 11:58
I believe this would better fit in the Ionic CLI repo, no?
https://github.com/driftyco/ionic-cli/issues

Closing duplicate.


Update basket number of items visible counter after login

Prevents displaying a "0" next to the basket icon while the
basket contains items!

ℹ Unfortunately the Travis-CI pipeline is still unavailable due to missing OSS credits. I've pinged them on the respective support ticket once again, but haven't heard back from them yet. Reviews and merging of open PRs will resume once our CI/CD is back online. Thanks for your contribution and patience! 👍


Add NPM shield & clean up readme

For a while I've been wondering what the NPM version
was, so a shield kindly fixes that for me.
Also, I believe that the library is usable from a POC
point of view, but only for transient event stores
at the moment.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

: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:


Correct Decrementing/Incrementing in forest-cli sync wait

Issue summary

Currently, it appears that forest-cli sync wait displays an absolute epoch in the Todo: field (beginning with the target epoch) and decrements the epoch until reaching the current snapshot epoch, whereas Lotus displays a differential count of validations remaining. Forest should also display the differential count and possibly add amount of messages validated and/or validations per second (see Lotus screenshot). Lotus also appears to be incrementing the Current Epoch: field.
Other information and links

Forest screenshot:

Lotus screenshot:

Working on this is a bit difficult without calibnet. It is possible to test with mainnet, though. Perhaps on a droplet.


inject html displays for zeppelin note coming from databricks scala notebook with displayHTML function

%spark
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// this snippet needs to be injected into first cell of a Zeppelin note that is created from a Scala
// databricks notebook with 'displayHTML' --- this renders html in the zeppelin note coming from databricks
///////////////////////////////////////////////////////////////////////////////////////////////////////////
def displayHTML(htmlInput:String):  Unit = {
println("%html")
println(htmlInput)
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////

I think the best way to do this is to write a small utility that adds cells to a notebook (which can then be run separately on pinot's output). pinot does not currently attempt to define or track anything like an "origin format" of a notebook.

Yes, this is a good idea. Would you be able to do such an injection for zeppelin notebooks coming from databricks? Then we will be done with the databricks to zeppelin pipeline for notebooks. We may need a similar injection for jupyter ipynb notebooks from databricks too.


minor docs update

Pull Request Test Coverage Report for Build 346

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 34.534%

Totals

Change from base Build 342:
0.0%

Covered Lines:
537

Relevant Lines:
1555

💛  - Coveralls


Unable to Figure Out How to Use COMMAND_LIST_LOOKUP Suggestions From Documentation

I'm trying to use this mod to fix some of the issues I have with Essential Command's (Fabric Mod) syntax and make it more like the syntax from EssentialsX (Paper Plugin). Essentially map /home tp home to just simply /home and then any other home to /home {home name}. So far I've figured out how to get everything working but the suggestions, and the documentation seems to cover nothing but CommandAliases' built-in database.
{
	"schemaVersion": 1,
	"commandMode": "COMMAND_CUSTOM",
	"command": "home",
	"message": "Teleporting to default home",
	"children": [
	{
		"child": "homename",
		"type": "argument",
		"argumentType": "minecraft:word",
		"suggestionProvider": {
			"suggestionMode": "COMMAND_LIST_LOOKUP",
			"suggestion": "essentialcommands:home tp"
		},
		"actions": [
		{
			"command": "essentialcommands:home tp {{homename}}",
			"commandType": "CLIENT"
		}
		]
	}
	],
	"actions": [
	{
		"command": "essentialcommands:home tp home",
		"commandType": "CLIENT"
	}
	]
}

(For clarity, I've remapped /home to essentialcommands:home, and the commands themselves do work).
When I try this I get the following message in my server console:
[Server thread/ERROR]: [SERVER] COMMAND_CUSTOM - Invalid suggestion "essentialcommands:home tp": <filepath>\homehome.json

I'm sure there's some other syntax I'm supposed to be using for this use case. Any help would be much appreciated!
Thanks!

For now I've gotten around the problem by switching to the internal database and mimicking the behavior of the homes example file and writing a command to add and remove homes from a database.
Since I believe using command-literals as child commands is also undocumented in the Wiki, here's the JSON I wrote as an example:
{
	"schemaVersion": 1,
	"commandMode": "COMMAND_CUSTOM",
	"command": "dbhome",
	"message": "Give argument /dbhome <set|del> <home_name> to add home to tab-complete list",
	"children": [
	{
		"child": "set",
		"type": "literal",
		"message": "Add home to database",
		"children": [
		{
			"child": "home_name",
			"type": "argument",
			"argumentType": "minecraft:word",
			"message": "Added home {{home_name}} to database.",
			"actions": [
			{
				"command": "commandaliases database put $executor_name().homes.suggestions.{{home_name}} {{home_name}}",
				"commandType": "SERVER"
			}
			]
		}
		]
	},
	{
		"child": "del",
		"type": "literal",
		"message": "Remove home from database",
		"children": [
		{
			"child": "home_name",
			"type": "argument",
			"argumentType": "minecraft:word",
			"message": "Removed home {{home_name}} from database.",
			"actions": [
			{
				"command": "commandaliases database delete $executor_name().homes.suggestions.{{home_name}}",
				"commandType": "SERVER"
			}
			]
		}
		]
	}
	]
}

I hope this helps someone with a similar issue! I'll leave this open for now as documentation for COMMAND_LIST_LOOKUP would still be extremely helpful. This is a tremendously useful plugin, so thank you to the maintainers.


1 uncaught error

Type: Bug
No clue why
VS Code version: Code 1.77.3 (704ed70d4fd1c6bd6342c436f1ede30d1cff4710, 2023-04-12T09:16:02.548Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: Yes
Extensions (34)

Extension
Author (truncated)
Version

vscode-django
bat
1.10.0

vscode-deno
den
3.17.0

gitlens
eam
13.5.0

verse
epi
1.0.24583855

codespaces
Git
1.14.7

remotehub
Git
0.56.0

vscode-pull-request-github
Git
0.62.0

gitlab-workflow
Git
3.62.0

vsc-python-indent
Kev
1.18.0

start-git-bash
McC
1.2.1

isort
ms-
2022.8.0

python
ms-
2023.6.1

vscode-pylance
ms-
2023.4.40

jupyter
ms-
2023.3.1201040234

jupyter-keymap
ms-
1.1.0

jupyter-renderers
ms-
1.0.15

vscode-jupyter-cell-tags
ms-
0.1.8

vscode-jupyter-slideshow
ms-
0.1.5

remote-ssh
ms-
0.100.0

remote-ssh-edit
ms-
0.84.0

azure-repos
ms-
0.32.0

cmake-tools
ms-
1.14.31

cpptools-extension-pack
ms-
1.3.0

powershell
ms-
2023.5.0

remote-explorer
ms-
0.4.0

remote-repositories
ms-
0.32.0

autodocstring
njp
0.6.1

vscode-yaml
red
1.12.2

cmake
twx
0.0.17

intellicode-api-usage-examples
Vis
0.2.7

vscodeintellicode
Vis
1.2.30

vscode-spring-initializr
vsc
0.11.2

jinja
who
0.0.8

verse
Wor
1.1.5

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
vscccc:30610679
282f8724:30602487
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
showlangstatbar:30730054
vsctsb:30705553
azdwalk:30721579
pythonms35:30701012
pythonfmttextcf:30716743
fixhidewlkth:30730051
showsbindicator:30730056

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.78.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Thanks for filing this issue, Unfortunately theres not enough information to assist you.
Please could you provide more information about the error and how one could replicate this issue.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


kinect and arduino

can I stream real time data from kinect to mobile phone through internet and control kinect from mobile using arduino??.....thnx in advance

The Kinect assemblies themselves aren't in PCL (Portable Class Library) format I think, so to use the same types from a Windows Phone (or other phone via Xamarin's C#), you'd have to copy-paste their definitions and make your own assembly with same namespace to use on the phone.

You'd have to serialize the data types (say into XML or JSON) and deserialize them at the other end of the wire. This has some extra penalty though in time, so it might have some lag. Could also opt to use some binary serialization format for more speed

When you say control Kinect via Arduino, do you mean setting some parameters of Kinect via commands send from Arduino? Kinect is a sensor and it doesn't have an actuator apart from turning say IR illumination on/off (Kinect v1 also had a tilt motor, but it is removed in Kinect v2 which has a wider field of view). If you mean the other way arround, to read Kinect data from Arduino, it should be possible too (see [1] above), but a bit harder to process skeleton stream etc. data on Arduino, it's quite slow and just a controller. Best bet would be to do most of your logic on the PC via a .NET process that talks to Kinect and communicates to Arduino via the virtual serial port it defines over its USB connection (there are APIs in .NET to read/write from/to the serial port). Could also make it untethered, via XBee or some more expensive Arduinos that have Wifi-based connection to the PC (think you still use the virtual serial port in that case, no need to mess with TCP/IP)

Hello. You can't connect Kinect to an Arduino board directly. However, you can transmit Kinect data over the network.

i meant to ask that only may be my question was wrong farmed .Still thnx to u both

We are glad we could help you :-)


Int to float conversion bug

In some numeric validators, we have a bug due to float conversion.(1u64 << 54) - 1 is<PHONE_NUMBER>9481983 and ((2u64 << 53) - 1) as f64 is<PHONE_NUMBER>9481984.0 which is +1. This causes various bugs on the corner cases:
{"minimum":<PHONE_NUMBER>9481984u64} should fail on<PHONE_NUMBER>9481984u64 - 1, because the latter is smaller. but it doesn't because the latter rounds to<PHONE_NUMBER>9481984 and the validation fails. Interestingly that<PHONE_NUMBER>9481984u64 - 2 doesn't fail and after the power of  53 we have these ranges that should fail but they don't:

2 ^ 54 - 2 ^ 0 -> 2 ^ 54 - 1
...
2 ^ 63 - 2 ^ 9 -> 2 ^ 63 - 1

I.e with having the right part as the minimum value all values to the left part will pass validation

Oh ... even worse:
9007199254740995f64 is<PHONE_NUMBER>740996.0

Ideally we should try to reduce as much as possible floating point operations (https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp).
At the current stage we rely on floats on few validators (min, max, const and multipleOf), we might want to explore ways to have more accuracy without a big hit in performance.

Indeed, I found multiple cases when was testing the Python bindings in #54 with Hypothesis - some of them are inevitable like<PHONE_NUMBER>740995f64 which has the same behavior in Python but for the others, we need to avoid it and I believe that the performance penalty won't be big. Also, it is great that we can have a lint for it :)


[2018] Fix video text and layout.

Did a small fix to it: "s/Scoiomantic/Sociomantic", but your text is quite nice. Thanks!


Render work

/bibdata endpoint showing a material, including schema.org markup

I left a "open" function in api.js that I think could be usefull . Calling it  when the user choose an item in the autocomplete list

I split hooking the result list and work view into #21


regeneratorRuntime not found

I'm encountering a "regeneratorRuntime not found" when I'm importing the library on a create react app project. I'm currently using version 1.3.12.

hey john,
I use create react app as well. you want to check out the example in the meantime? https://github.com/bluebill1049/react-simple-img/tree/master/example
i can take a look your issue later this week. thanks

I'll check it out. Thanks!

Apparently it's still okay up until 1.3.5. When I use 1.3.6, it displays the regeneratorRuntime error.

yea man i will sort it out. probably going to remove babel-polyfill all together in this package.

<EMAIL_ADDRESS>fixed 👍

Already did. 😄
Awesome! I'll try it out as soon as I can. Thanks for the hard work! 🎉

haha thank you mate! :)


Mismatch data points when data() function is called

The data can be fetched from Quandl sucessfully. However, when I try to get the data function I got the following error.
Quandl::Dataset.get("JOHNMATT/PLAT").data( params: {limit:1})
Quandl::InvalidDataError: number of column names does not match number of data points in a row!
Is quandl changed its data format or something else?
EDITED: I checked the json api from quandl website here. It seems now the data source sometime skipped the field when there is no data available. (in this case the data fields NEW YORK data are skipped)
https://www.quandl.com/api/v3/datasets/JOHNMATT/PLAT.json?api_key=2MVpQPNBkBzLTGunfQPB&start_date=2017-10-01

This does indeed look like an error in the data. We will investigate this issue and get back to you shortly.

@Aiken00
We’re aware of this issue with that particular database and currently working on fixing it. We don’t have an ETA just yet. In the mean time, the following code can be used and should work.
Quandl::Dataset.get("JOHNMATT/PLAT").data(params: { limit: 1, column_index: [1,2,3,4] })
I’ll close this issue for now but please let us know if you find any other issues.

Sorry but the point is that your gem does have a checking to see if the number of columns of headers is the same as your first line of dataset.
I will still get an error regardless of settings.
https://github.com/quandl/quandl-ruby/blob/b9c07916bf290d9042b1e27a45963933d6ef585b/lib/quandl/model/data.rb


feat(vouch-add): vouching timeout for bad vouchers

As discussed on the PoH governance forum, vouchers that had a vouchee challenged and removed in the last 60 days shouldn't be able to vouch. This will help mitigate vouch and challenge attacks.
For any enquiry on this modifications I can be reached on Telegram (https://t.me/nicobilinkis)

I believe this should be merged but holding off until we get more feedback as it is proving to be a contentious change.
Please bring your discussions to this issue: https://github.com/Proof-Of-Humanity/proof-of-humanity-web/


Support for RediSearch Wildcard Support

https://github.com/RediSearch/RediSearch/pull/2886
Hi @slorello89 Hope you had a good Thanksgiving.  Can we get support for .StartsWith("vatore") vatore* / .EndsWith("vatore") *vatore, and .Contains("vatore") *vatore* now that wildcard support has been added to RediSearch?
As in #244, we start to want different logic out of the same .Contains() method, and how do we manage that going forward?  Can it be contextual enough to overload the .Contains(), or should there be a new unambiguous methods to separate out the logic? .ContainsWildcard() for #264, and .ContainsSearch() for #244 ?

Hey @slorello89.  Hope all is well.  Any updates as to when we can see these new filters implemented?
I'm desperately missing the x=> x.StringProperty.Contains("needle") filter, that would translation into the new *needle* filter.

Yep @VagyokC4 - there's a lot in v2.6.1 that I want to look at adding (it also allows you to index arrays of numbers, geo's, and full text search)

Hi @slorello89.  Any movement on this feature?  I'm finding myself more and more wanting to do a .StartWith(), .EndsWith() and .Contains() query.

Hey @VagyokC4 - it's on my todo list - don't have an ETA yet.

Woohoo!!!


Metadata for Quicklisp

Please consider adding :description, :author and :license information to your ASDF system. This will greatly help Quicklisp users and make it easier for them to report bugs.
More information:
http://blog.quicklisp.org/2015/05/looking-for-more-metadata.html
https://www.quicklisp.org

The ASDF system file already contains author, description, and license information.
Did I include them incorrectly?  Are they in the wrong format?  Please take a look at
https://github.com/brown/snappy/blob/master/snappy.asd
and let me know what I should change.  Thanks!

Thank you for the reply. It would be great to have all systems populated with that information, but if its too much trouble, I understand. I will likely submit pull requests for projects that have it missing only from tests.


Lots of errors when building with rust 1.73.0 nightly

I'm on Intel macOS Monterey, with rustc 1.73.0-nightly (32303b219 2023-07-29) installed.
And already had  riscv64gc-unknown-none-elf installed via rustup target add riscv64gc-unknown-none-elf
When building the OS:
cargo build --target riscv64gc-unknown-none-elf
I got these errors:
error[E0425]: cannot find function, tuple struct or tuple variant `Err` in this scope
   --> src/kernel/proc.rs:911:19
    |
911 |             break Err(NoChildProcesses);
    |                   ^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `Ok` in this scope
   --> src/kernel/proc.rs:932:5
    |
932 |     Ok(())
    |     ^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `Err` in this scope
  --> src/kernel/semaphore.rs:27:24
   |
27 |                 return Err(InvalidArgument);
   |                        ^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `Ok` in this scope
  --> src/kernel/semaphore.rs:36:9
   |
36 |         Ok(())
   |         ^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `Some` in this scope
   --> src/kernel/uart.rs:159:13
    |
159 |             Some(uart.read(Rbr))
    |             ^^^^ not found in this scope

...
...
...
error[E0425]: cannot find function, tuple struct or tuple variant `Ok` in this scope
   --> src/kernel/vm.rs:588:9
    |
588 |         Ok(())
    |         ^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `Ok` in this scope
   --> src/kernel/vm.rs:613:9
    |
613 |         Ok(())
    |         ^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `Some` in this scope
   --> src/kernel/vm.rs:645:9
    |
645 |         Some(Self {
    |         ^^^^ not found in this scope

Some errors have detailed explanations: E0405, E0412, E0425, E0432, E0433, E0463, E0531, E0554, E0635.
For more information about an error, try `rustc --explain E0405`.
warning: `libkernel` (lib) generated 5 warnings
error: could not compile `libkernel` (lib) due to 797 previous errors; 5 warnings emitted

Perhaps a specific rust is needed for succesful built?

I'm using rustc 1.73.0-nightly (32303b219 2023-07-29) on macOS Venture and can't reproduce. Could you try doing a cargo clean and then build again? octox is being developed to support the latest version of Rust.

No response, cannot reproduce, and no other reports, so close.


Is this a dead project?

I'm presuming from the long string of unanswered issues and the lack of commits to the code that this is a dead project? As such, I'm adding it to a list I of abandoned web-based chat software I maintain, in case the code is informative to active or new projects:
https://www.coactivate.org/projects/disintermedia/slacking-off/
If I am wrong, and Candy is still being actively maintained, please let me know.

Yes

Thanks for the confirmation. Do you know whether any of the other
Adhearsion Foundation projects are still alive?

Thanks for the info @benlangfeld

I've been considering moving to Mattermost for my private chat service platform.
There really doesn't seem to be a high level XMPP web ui available these days (I last did market research about 6 mo ago). Everything has weird UI/UX decisions or are dead as well.

@lkraav and anyone else interested,
I am curating a list of web-based chat apps that are free code software, with the primary goal of helping people find self-hostable, user-respecting replacements for Slack, and figure out wich ones is most suitable for their use case. Any additions, corrections, and other feedback is most welcome:
https://www.coactivate.org/projects/disintermedia/slacking-off/
For those particularly interested in federated systems, I encourage you to check out the Matrix federation protocol, which is a web-native alternative to XMPP, and potentially easier to write web clients for:
https://matrix.org/docs/guides/faq.html#what-is-the-difference-between-matrix-and-xmpp

@benlangfeld It might be helpful to add a prominent note at the top of the ReadMe file, so folks can see at a glance that this project is unmaintained.


 Thanks!

@MangoFighter87 - Is this related to RealSense?

Nope..

Perhaps ROS / Kobuki message boards would be a more appropriate forum. This GitHub project is dedicated to all things RealSense. Thank you for understanding


Lock-free BlockingIdentifierGenerator LoHi

This is a version that pay a single allocation cost per each  blockSize to save any synchronized to happen.
It can be made gc-free by playing some bit tricks packing both lo/hi into a long (and assuming there are no negative values for both, likely) - or with some more complex coordination mechanism (yet to be designed).
I don't know few things yet before un-drafting:

If many concurrent state.next(hi) happen do we need to enforce validation of (hi,lo) based on existing values? new hi > old hi (or diff by blockSize?) && old low >= blockSize.
If many concurrent state.next(hi) happen do we need to ensure some ordering of updates?  eg concurrent next(10), next(20),next(30) updates in this pr are not yet guaranteed to be set in any specific order and  I cannot see any ordering enforced in the original code, but better be safe then sorry with concurrency
blockSize is a constant? I'm assuming it is...

I'd challenge you in ever noticing the current synchronized on profiling data :)

if we met later in the week as I'm facing 200+ emails and dms this morning 🥴

eheh I know, but it won't cost anything to make it lock free like this I think, I'm more concerned instead by this -> https://github.com/hibernate/hibernate-reactive/pull/1610#issuecomment-1519467511

To quote myself of the future (and @Sanne ) re https://github.com/hibernate/hibernate-reactive/pull/1610#issuecomment-1519467511
this is not a "real" problem leading to break anything, but just an efficiency one; in short, if more then one concurrently try to increase the sequence due to exhaustion and succeed, but update hi/lo in the "wrong" order (ie by creating gaps or "jumping forward" before previously existing ones will be "consumed") it can just cause the consumers to request to the DB more sequences then necessary (again) because in both cases (missing new or "old" created batches) would still cause someone to be left unsatisfied.
The existing tests are not verifying this hence there was no reason to noticed that.

@Sanne undrafting, but feel free to pick what you like for next works on this bud ;)


ISPN-5190 DefaultExecutorService throws ISE if constructed with ManagedExecutorService

https://issues.jboss.org/browse/ISPN-5190
Based on a PR by @pferraro

Looks good, thanks


Container resource requirements and HPA

Description of the feature or enhancement:
Containers can set their resource limits/requests.
Use Case:
Horizontal Pod Autoscaler requirs containers to set resource requirements.
Proposed Solution:
const container = deployment.addContainer({
 resources: {
   cpu: {
     request: Cpu.millis(100),
     limit: Cpu.units(0.5),
   }
 }
});
container.resources.memory.request = Size.mebibytes(100);
container.resources.memory.limit = Size.gibibytes(1);
// optional?
container.resources.setHugepage("2Mi", {
  ...
})

Other:

[x] :wave: I may be able to implement this feature request
[x] :warning: This feature might incur a breaking change

This is a :rocket: Feature Request

Any update here? Thanks.

@akefirad We are not currently working on this. Would you be interested in contributing?

Sure, but I would probably need help, since I'm not familiar with the internal of the library.

You'll want to start with adding the resources property to the container interface here and just look at how other properties are propagated onwards.
Hopefully the relevant code is clear enough, but let us know if you have some specific questions.
Thanks!


Feature: Add support for genimportscript to output keys as a txt file

It would be nice if the genimportscript has another optional flag added to spit out a txt file with all addresses/private keys inside of it.

Implemented in v0.9.3 (commit ce3cc2ceefcc3dbca3e1ca96752f7d4e5aa6dc5c).


Add stubs on calibration and PySB modules to tutorial

Codecov Report

Merging #509 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #509   +/-   ##
=======================================
  Coverage   80.24%   80.24%
=======================================
  Files         101      101
  Lines       10650    10650
=======================================
  Hits         8546     8546
  Misses       2104     2104

Continue to review full report at Codecov.

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


Ease of use updates for C/SWIG interface

Current configuration requires a few extra steeps that could be streamlined (some might propagate up to C++) for easier use. Initial suggestions:

Once a federate exists, it takes 3 functions to successfully get rid of it and in many cases to effectively exit the program (or get back to the command prompt in MATLAB, etc.). (terminate, free, and close library) Seems there could be a single function that does all of these and hence can easily be used to exit from error conditions, etc.
Must specify the number of federates at initialization. Seems this could default to 1

Will post others as I work through some MATLAB (via SWIG) updates.

Terminate is a call into HELICS to disconnect a federate from the federation.  It is still queriable and usable after this call.  All created subscriptions are still usable for instance to get the last data.
In the C library, free will release the small wrapper around a federate.  It may or may not actually destroy the underlying federate Object depending on whether it was cloned or not.
The closeLibary call destroys everything that has been instantiated thus far and shuts down all threads.
These are all very distinct operations, and I am a little unclear what operations should be performed in various cases if you were to make a single call.
The 2.0 API is still open for enhancements so any suggestions are welcome.

@phlptp I agree that these are different functionality and think we should certainly keep this fine grained control for advanced users/use cases, but in practice many federates will be standalone programs or otherwise have a simple configuration where all of these need to be performed during shut down. Having a unified function that does them all in this common sequence would make clean shutdowns and particularly multiple paths to shutdowns (such as on errors, etc.) much cleaner. See also the discussion on #429 for an example

In the 2.0 release we will be moving to a single output API, with an error object, so I think that will be a little more intuitive for the interface API's, and get rid of the status output.

The destroy function was added in #444, and will also be included in HELICS 2.0

Great!
From: Philip Top<EMAIL_ADDRESS>Reply-To: GMLC-TDC/HELICS-src<EMAIL_ADDRESS>Date: Monday, September 10, 2018 at 10:45 AM
To: GMLC-TDC/HELICS-src<EMAIL_ADDRESS>Cc: Bryan Palmintier<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [GMLC-TDC/HELICS-src] Ease of use updates for C/SWIG interface (#425)
The destroy function was added in #444https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGMLC-TDC%2FHELICS-src%2Fpull%2F444&data=02|01|bryan.palmintier%40nrel.gov|bdc74688a8994652ae9308d6173cdf3f|a0f29d7e28cd4f5484427885aee7c080|0|0|636721947548779151&sdata=k2yXCxJ1wHdOC2fx29TGVI1ap5N5zmBNCiCHkC58RmM%3D&reserved=0, and will also be included in HELICS 2.0
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGMLC-TDC%2FHELICS-src%2Fissues%2F425%23issuecomment-419980960&data=02|01|bryan.palmintier%40nrel.gov|bdc74688a8994652ae9308d6173cdf3f|a0f29d7e28cd4f5484427885aee7c080|0|0|636721947548779151&sdata=e9HLffyFut8wpUgx11lQ5j1HSmDIQl%2B93AjZSbIKXpA%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAPNuFm8mUYVmUHaafSioGfz2F2oeQl0ks5uZpc9gaJpZM4Vt4nV&data=02|01|bryan.palmintier%40nrel.gov|bdc74688a8994652ae9308d6173cdf3f|a0f29d7e28cd4f5484427885aee7c080|0|0|636721947548779151&sdata=vNi%2B%2BcZGPUT2UaLgA2KnsseWBfS74LS8lrGgTHRdgZY%3D&reserved=0.


refactor: add support for function calls in summarization

Modify the commit.go file:

Add a new variable summaryPrix and initialize it as an empty string
If client.AllowFuncCall() is true, make a function call to openai.SummaryPrefixFunc and assign the response to resp
If resp.Choices has more than 0 elements, extract the prefix from the arguments and assign it to summaryPrix
Set data[prompt.SummarizePrefixKey] to summaryPrix
If client.AllowFuncCall() is false, make a completion call and assign the response to resp
Trim the content of resp and assign it to summaryPrix
Set data[prompt.SummarizePrefixKey] to summaryPrix

Modify the openai.go file:

Add a new function AllowFuncCall() that returns true if the model supports function calls

ref: #91

Codecov Report

Merging #101 (d8e99e4) into main (b218141) will decrease coverage by 0.46%.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #101      +/-   ##
==========================================
- Coverage   23.96%   23.51%   -0.46%
==========================================
  Files           8        8
  Lines         313      319       +6
==========================================
  Hits           75       75
- Misses        232      238       +6
  Partials        6        6

Files Changed
Coverage Δ

openai/openai.go
0.00% <0.00%> (ø)


gulp e2e failures

C:\Users\builder\marklogic-samplestack>gulp e2e
[18:16:47] Starting 'clean'...
[18:16:47] Starting 'middle-tier-start'...
[18:16:47] Finished 'middle-tier-start' after 1.06 ms
[18:16:47] Starting 'selenium-start'...
[18:16:47] using local Selenium server
[18:16:48] Finished 'clean' after 399 ms
[18:16:48] Starting 'bower-files'...
[18:16:48] Finished 'bower-files' after 367 ms
[18:16:48] Starting 'build'...
Updating selenium standalone
downloading https://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2
Updating chromedriver
downloading https://chromedriver.storage.googleapis.com/2.14/chromedriver_win32.zip...
[18:16:49] processing files
chromedriver_2.14.zip downloaded to C:\Users\builder\marklogic-samplestack\node_modules\protr
[18:16:51] saw 221 files
[18:16:52] Finished 'build' after 3.61 s
selenium-server-standalone-2.45.0.jar downloaded to C:\Users\builder\marklogic-samplestack\no
[18:16:54] Finished 'selenium-start' after 6.2 s
Samplestack LDAP server up at: ldap://<IP_ADDRESS>:33388
Starting selenium standalone server...
[launcher] Running 1 instances of WebDriver
Selenium standalone server started at http://<IP_ADDRESS>:54107/wd/hub
@landing-page
Feature: Landing Page
Users who visit the "home page" of the application should see the explore
state.
Scenario: The page title is correct              # specs\features\as-anyone\landing-page.fe
When I visit the "landing" page                # specs\features\as-anyone\landing-page.fe
Then the page title is "explore - samplestack" # specs\features\as-anyone\landing-page.fe
@explore-docs-by-resolved-only @explore
Feature: Explore Docs By Resolved Only
When searching for documents, a facet filter may be applied to limit results to
those documents which are only resolved.
Scenario: As a contributor filtering by resolved only, I see the correct results
Given I am a contributor
And I am using the brief seed data
And I visit the "explore" page
And I clear all filters
When I filter documents by resolved only = "true"
Then the docs count is "1903"
When I focus on the "first" search result
Then the result "title" is "Q: Mary's Question Number 0"
When I focus on the "last" search result
Then the result "title" is "Q: Show modal if page refreshed, but not if a link is followe
@explore-docs-by-date-range @explore
Feature: Explore Docs By Date Range
When searching for documents, a facet filter may be applied to limit results to
those documents which created by the user.
@explore-docs-by-mine-only @explore
Feature: Explore Docs By Mine Only
When searching for documents, a facet filter may be applied to limit results to
those documents which created by the user.
Scenario: As a contributor filtering by mine only, I see the correct results   # specs\feat
Given I am "Joe"                                                             # specs\feat
When I visit the "ask" page                                                  # specs\feat
And I type "mine only test" as the question title                            # specs\feat
And I type "test" as the question content                                # specs\feat
And I enter "e2eTests" as a question tag                                     # specs\feat
And I submit the question                                                    # specs\feat
And I visit the "explore" page                                               # specs\feat
And I clear all filters                                                      # specs\feat
And I clear the search text                                                  # specs\feat
When I filter documents by mine only = "true"                                # specs\feat
Then the docs count is less than "100"                                       # specs\feat
@ask-question
Feature: Ask Question
Any Contributor may ask questions with Markdown formatting, associating one or
more (existing) "tags" with the question.
Scenario: Ask a question with Markdown preview      # specs\features\as-mary\ask-question.f
Given I am "Mary"                                 # specs\features\as-mary\ask-question.f
And my user name is "MaryAdmin"                   # specs\features\as-mary\ask-question.f
When I visit the "ask" page                       # specs\features\as-mary\ask-question.f
And I type "" as the question title               # specs\features\as-mary\ask-question.f
Then the submit button is disabled                # specs\features\as-mary\ask-question.f
When I type "foo" as the question title           # specs\features\as-mary\ask-question.f
And I type "bar" as the question content      # specs\features\as-mary\ask-question.f
And I enter "javascr" as a question tag           # specs\features\as-mary\ask-question.f
Then the question title is "foo"                  # specs\features\as-mary\ask-question.f
And the question content is "bar"             # specs\features\as-mary\ask-question.f
And the question tags menu appears                # specs\features\as-mary\ask-question.f
And the submit button is not disabled             # specs\features\as-mary\ask-question.f
And the previewed content is not displayed        # specs\features\as-mary\ask-question.f
When I click a question tag in the menu           # specs\features\as-mary\ask-question.f
Then the question tag is "javascript"             # specs\features\as-mary\ask-question.f
When I preview the content                        # specs\features\as-mary\ask-question.f
Then the previewed content is displayed           # specs\features\as-mary\ask-question.f
And the previewed content has "strong" formatting # specs\features\as-mary\ask-question.f
And I submit the question                         # specs\features\as-mary\ask-question.f
Then the page title is "doc - samplestack"        # specs\features\as-mary\ask-question.f
@vote-on-question
Feature: Vote on Question
Contributors may vote questions up or down. One may only vote on a question
once. When an upvote is made to a quesiton, the author of the question
gains reputation points. When a downvote is made to a  question, the author
of the question loses reputation points.
Scenario: Mary votes for Joe's question                                # specs\features\as-
Given I am "Joe"                                                     # specs\features\as-
When I visit the "ask" page                                          # specs\features\as-
And I type "test votes" as the question title                        # specs\features\as-
And I type "test" as the question content                        # specs\features\as-
And I enter "e2eTests" as a question tag                             # specs\features\as-
And I submit the question                                            # specs\features\as-
And the question id is known as "qid"                                # specs\features\as-
And I am "Mary"                                                      # specs\features\as-
When I visit the "qnadoc" page with id equal to "qid"                # specs\features\as-
And I focus on the question                                          # specs\features\as-
And the content contributor reputation is known as "reputation"      # specs\features\as-
And I vote it up                                                     # specs\features\as-
Then the content contributor reputation is greater than "reputation" # specs\features\as-
AssertionError: expected 51 to be above 51
@list-docs
Feature: List Docs
When no search criteria are specified, the explore page lists documents
only according to any applied filters. Such a list is not considered
a true "search". When listing documents, the results are displayed
differently. In particular, snippets are not displayed and the default
sort is different.
Scenario: As a visitor I can see some, but not all of the docs   # specs\features\as-vi
Given I am a visitor                                               # specs\features\as-vi
And I am using the brief seed data                                 # specs\features\as-vi
When I visit the "explore" page                                    # specs\features\as-vi
Then the docs count is "1903"                                      # specs\features\as-vi
@explore-docs-by-text @explore
Feature: Explore Docs By Text
When searching for documents, a text filter may be applied to limit results to
those documents which match the search text criteria.
Scenario: As a visitor searching for "Math", I see the correct results
Given I am a visitor
And I am using the brief seed data
When I visit the "explore" page
And I perform a search for "Math"
Then the docs count is "54".
When I focus on the "first" search result,
Then the result "title" is "Q: How can I detect the distance that the user's mouse has mo
AssertionError: expected 'Q: Get element -moz-transform:rotate value in jQuery' to equa
When I focus on the "last" search result,
Then the result "title" is "Q: Nested For loop for initializing array of arrays for Javas

Scenario: As a contributor searching for "Math", I see the correct results
Given I am a contributor
And I am using the brief seed data
When I visit the "explore" page
And I perform a search for "Math"
Then the docs count is "77".
When I focus on the "first" search result,
Then the result "title" is "Q: How can I detect the distance that the user's mouse has mo
AssertionError: expected 'Q: Get element -moz-transform:rotate value in jQuery' to equa
When I focus on the "last" search result,
Then the result "title" is "Q: Length of Number in JavaScript"

@login
Feature: Login
The application allows both authenticated and unauthenticated access through
login and logout operations. Authenticated users have access to more content
and features.
Scenario: Try to log in, fail, then succeed        # specs\features\login-logout\login.feat
Given I am a visitor                             # specs\features\login-logout\login.feat
And I am using the brief seed data               # specs\features\login-logout\login.feat
When I start to log in                           # specs\features\login-logout\login.feat
And I attempt to log in with invalid credentials # specs\features\login-logout\login.feat
And my login attempt is denied                   # specs\features\login-logout\login.feat
And I attempt to log in as a Contributor         # specs\features\login-logout\login.feat
Then I am logged in                              # specs\features\login-logout\login.feat
Scenario: Log In as Mary           # specs\features\login-logout\login.feature:17
Given I am "Mary"                # specs\features\login-logout\login.feature:18
Then my user name is "MaryAdmin" # specs\features\login-logout\login.feature:19
@view-contributor
Feature: View Contibutor
Any user may view "contributor detail" about themselves or other contributors
of content to the system. If the user is a "local contributor", a custom
dialog displays basic information. If the user is a StackOverflow user, then
a new window is opened to display that user's StackOverflow profile.
Scenario: View Contributor Mary                                                # specs\feat
Given I am "Mary"                                                            # specs\feat
And I am using the brief seed data                                           # specs\feat
And I visit the "qnadoc" page with id "5dce8909-0972-4289-93cd-f2e8790a17fc" # specs\feat
And I focus on the question                                                  # specs\feat
And I view the content contributor                                           # specs\feat
Then the contributor display name is "MaryAdmin"                             # specs\feat
And the contributor votes cast are greater than "4"                          # specs\feat
And the contributor reputation is greater than "99"                          # specs\feat
And dismiss the dialog                                                       # specs\feat
Scenario: View Contributor Joe                                                 # specs\feat
Given I am "Joe"                                                             # specs\feat
And I am using the brief seed data                                           # specs\feat
And I visit the "qnadoc" page with id "778d0b9c-419f-496a-a300-44815d79708d" # specs\feat
And I focus on the question                                                  # specs\feat
And I view the content contributor                                           # specs\feat
Then the contributor display name is "JoeUser"                               # specs\feat
And the contributor votes cast are greater than "2"                          # specs\feat
And the contributor reputation is greater than "49"                          # specs\feat
And dismiss the dialog                                                       # specs\feat
(::) failed steps (::)
AssertionError: expected 51 to be above 51
AssertionError: expected 'Q: Get element -moz-transform:rotate value in jQuery' to equal 'Q:
AssertionError: expected 'Q: Get element -moz-transform:rotate value in jQuery' to equal 'Q:
Failing scenarios:
C:\Users\builder\marklogic-samplestack\specs\features\as-mary\vote-on-question.feature:9 # Sc
C:\Users\builder\marklogic-samplestack\specs\features\explore-docs-by-text.feature:7 # Scenar
C:\Users\builder\marklogic-samplestack\specs\features\explore-docs-by-text.feature:18 # Scena
12 scenarios (3 failed, 9 passed)
105 steps (3 failed, 4 skipped, 98 passed)
Shutting down selenium standalone server.
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 3 test(s)
[launcher] overall: 3 failed spec(s)
[launcher] Process exited with error code 1
Stopping LDAP worker...

This appears to be the same one recently verified to have been fixed...

AssertionError: expected 'Q: Get element -moz-transform:rotate value in jQuery' to equal 'Q:
AssertionError: expected 'Q: Get element -moz-transform:rotate value in jQuery' to equal 'Q:
has to do with the new algorithm changes that went in recently.  So I am just updating the tests to match the expected change in search results.
I saw AssertionError: expected 51 to be above 51 on the first execution of gulp e2e, but in subsequent executions all the tests passed.  I'm looking into why that is now.

Running the exact same steps manually for "Vote on Question" work fine.  But I did notice that the first time I clicked vote, there was a slight delay before the UI changed.  With subsequent votes this issue was not observed.  Digging deeper to see if I can figure out why that might be.

For QA :
Also verify (MAC)
gulp e2e --sauce=osx10.10-firefox-34
once the bug is fixed , as of now its giving out 3 failures too .

Yea the failures are platform & browser independent.  @gghai While you're at it, can you verify a second run only returns two errors?

Ok, so my best guess is we have e2e timing problems on the first vote.
I've been looking over the step definition code and fixed a few differences with regard to the voting test, but none have impacted the outcome of the test.   Every time you run that test after a clean setup of the DB, it fails the "contributor reputation is greater than" check.  But only on the first run.  Run it again, and it works.
I noticed in my manual tests that the first vote took 281ms where the subsequent votes took only 63ms.  But the bit of lag on the first attempt shouldn't matter anyway… right @laurelnaiad ?
  this.Then(
    /content contributor reputation is greater than "(.*)"/,
    function (repAlias, next) {
      var self = this;

      expect(this.currentPage.focusedItem.metadata.reputation)
        .to.eventually.be.greaterThan(self[repAlias])
        .then(this.notifyOk(next), next);
    }

The ".to.eventually.be.greaterThan" should wait for the value to update, right?
If you have any other ideas on why this would fail only on first run after db install, I'm all ears.  It seems like a timing problem, but I could be wrong.  I'm still pretty n00b when it comes to protractor/chai.

@clockworked247  That is correct , i ran the above command twice , 1st time -> 3 failures , 2nd time -> 2 failures .

I've got those two fixed, it's just the spooky first run one having to do with reputation.
I think I'll just commit what I have for now and keep on this phantom test bug.

@gghai Fixes merged, I'm still trying to figure out the error on first run of e2e tests.  It's good to know that it's not indicative of actual breakage, but just some problem with the tests.

I can confirm we are now down to last 1 failure.

and only on first run, yes?

Yes !!

the bit of lag on the first attempt shouldn't matter anyway… right @laurelnaiad ?

Right -- *unless something is timing out the test (but I doubt that).

The ".to.eventually.be.greaterThan" should wait for the value to update, right?

Technically what it does is resolve the returned value as a promise and evaluate the result of that.... if the promise is resolved before the value is update the test would fail, for instance.

I threw in a couple log statements and am seeing the ".to.eventually.be.greaterThan" statement finish even before the vote route is hit.
Failure execution order:
And I vote it up (test output)

*** START contributor reputation is greater than ***
*** greaterThan checked FAILURE ***
*** vote route start ***
*** vote complete ***
Successful execution:
*** vote route start ***
And I vote it up (test output)
*** START contributor reputation is greater than ***
*** vote complete ***
*** greaterThan checked SUCCESS ***
So in the failure case, the request to the middle tier only happens after the eventually statement finishes.  What's confusing is this only occurs on first run...  I'm pretty stumped on why there is a difference at all.

It could be a bug in the protractor promises, the selenium promises, or the Samplestack promises, or the Chai-as-promised promises, or... :smile:

Yea, taking lots of stabs in the dark to try to figure it out where the breakage is.  Nothing has hit the mark yet.

This is actually a dupe of #564


Optional flag for tie-breaking vs tie-making

If multiple events occur at the same time (due to dirac delta functions), we have a choice between:

executing the events in an arbitrary order (some events may invalidate other ones scheduled for the same instant)
enforcing that the events must be compatible (other wise error) and then execute concurrently (https://github.com/AlgebraicJulia/AlgebraicRewriting.jl/issues/60)

This could be a parameter to ABM. Finer granularity would involve opting in for specific rules to allow them to have automatic tie-breaking.

Parallel events get executed in an arbitrary order. It seems challenging (but possible) to check whether the order does not matter when there are PAC/NAC involved.


How can i get the video and audio pairs of audioset?

hi there,
I think youtube-dl is most commonly used to download AudioSet.
Due to copyright reasons, we cannot provide raw audio and videos of AudioSet.
-Yuan

Hi Yuangong,
I am wondering whether you could provide the script for downloading the AudioSet via youtube-dl? I tried myself on eval set so far but found some videos were missing/failed to download. It would be great if you could provide the download script if possible so that I could do more consistent comparison in the end. Thank you!

hi @sukun1045,
Thanks for reaching out.
Unfortunately, I do not have that script (I am not the one who downloaded the dataset) and the script might no longer work. FYI, it is not trivial to download AudioSet from YouTube and you need some engineering effort.

I tried myself on eval set so far but found some videos were missing/failed to download

This is actually very common because YouTube videos can be removed with time. But if you can download the majority of the video, that would be fine.

It would be great if you could provide the download script if possible so that I could do more consistent comparison in the end.

We already tried our best to release the ids we used for training and evaluation. If you are only interested in Audio, you should be able to find a direct download link online. I am not aware of a video download link though.
-Yuan

Hi @YuanGongND ,
Thanks for your reply. In terms of audio-only, I have yet to find a link that could download all the audio files. It would be super helpful if you could point me to the direct download link.

@sukun1045
Please check this https://github.com/YuanGongND/ast/issues/108#issuecomment-1663723686.
Also please kindly read that thread on how to reproduce the results based on that version.
-Yuan

@YuanGongND
Got it! Thanks!


Default parameter can't reuse name from outer scope

If one uses a default parameter value that has a same name in inner and outer scopes, the result is that the value gets null by default. I think this definitely breaks the "rule" that parameters are in the inner scope and arguments (including defaults) in outer scope.
a = "Not undefined"
do (a=a) -> a

Compiles to
// Generated by LiveScript 1.3.1
var a;
a = "Not undefined";
(function(a){
  a == null && (a = a);
  return a;
})();

Which clearly doesn't use the default value from the outer scope. Coffeescript does the same thing, but it sort of makes sense with its mad scoping, and they hack around the do-case by passing defaults as arguments.

That's for the better.

WTF?

Is this really the state of LiveScript community and developers too? Could you honor me even with a line of explanation on why "That's for the better"?

We don't want coffee's confusing's scope things.
We don't want C/C++-style scoping rules (int x = 1; { int x = x }).
We don't want python-style "eager arguments".
And we want to be able to do (x, y = x) ->.
We could make this an error, but we need to check specifically for let

I wasn't proposing any of those, as I do agree that they are bad and confusing and bug prone approaches.
But I think this corner case can be quite confusing, and at least for the trivial case (a=a) I think it should be an error. Not sure how to handle the let though.
I don't think it's semantically impossible to handle also the (x, y=x) -> case. The first x would just shadow the outer scope x here, which I find to be quite logical if the args are evaluated "left to right".
The implementation can be a bit tricky though, as I think JS doesn't "unshadowing" the variable (eg something like var a = a). So it would probably need to mangle all references to a in the inner scope.


update docstrings

I guess by having some non-importable modules here, you’re hitting some less travelled code paths of Sphinx.
Usually s-a-t gets passed evaluated annotation, but it seems like under some circumstances, it gets strings that it can’t handle.


org.postgresql.util.PSQLException: ERROR: called Result::unwrap() on an Err value: NulError

What happens?
use jdbc to query the .parquet table, an error message will be reported if the SQL statement contains in
To Reproduce
PreparedStatement ps = dataSource.getConnection().prepareStatement("select mdbh, rq, txm, spmc, zj_dms, sx, xx, rcrq, zhxsrq, recent_7_day, recent_28_day, this_month, \n" +
        "la_month, half_year, last_year, curr_year from store_sale where mdbh = ? and rq = ?::date\n" +
        " and txm in ('8993175556996', '8992775344828')");

ps.setString(1, "0106");
ps.setString(2, "2024-11-14");
ResultSet resultSet = ps.executeQuery();

EntityListHandler handler = new EntityListHandler();
List<Entity> list1 = handler.handle(resultSet);

org.postgresql.util.PSQLException: ERROR: called `Result::unwrap()` on an `Err` value: NulError(178, [83, 69, 76, 69, 67, 84, 32, 109, 100, 98, 104, 44, 32, 114, 113, 44, 32, 116, 120, 109, 44, 32, 115, 112, 109, 99, 44, 32, 122, 106, 95, 100, 109, 115, 44, 32, 115, 120, 44, 32, 120, 120, 44, 32, 114, 99, 114, 113, 44, 32, 122, 104, 120, 115, 114, 113, 44, 32, 114, 101, 99, 101, 110, 116, 95, 55, 95, 100, 97, 121, 44, 32, 114, 101, 99, 101, 110, 116, 95, 50, 56, 95, 100, 97, 121, 44, 32, 116, 104, 105, 115, 95, 109, 111, 110, 116, 104, 44, 32, 108, 97, 95, 109, 111, 110, 116, 104, 44, 32, 104, 97, 108, 102, 95, 121, 101, 97, 114, 44, 32, 108, 97, 115, 116, 95, 121, 101, 97, 114, 44, 32, 99, 117, 114, 114, 95, 121, 101, 97, 114, 32, 70, 82, 79, 77, 32, 112, 117, 98, 108, 105, 99, 46, 115, 116, 111, 114, 101, 95, 115, 97, 108, 101, 32, 87, 72, 69, 82, 69, 32, 116, 120, 109, 32, 61, 32, 39, 1, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 68, 0, 0, 0, 56, 57, 57, 51, 49, 55, 53, 53, 53, 54, 57, 57, 54, 0, 0, 0, 68, 0, 0, 0, 56, 57, 57, 50, 55, 55, 53, 51, 52, 52, 56, 50, 56, 0, 0, 0, 39, 32, 65, 78, 68, 32, 109, 100, 98, 104, 32, 61, 32, 39, 48, 49, 48, 54, 39])

	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2725)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2412)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:371)
	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:502)
	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:419)
	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194)
	at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:137)
	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)

OS:
windows
ParadeDB Version:
v0.8.0
Are you using ParadeDB Docker, Helm, or the extension(s) standalone?
ParadeDB pg_analytics Extension
Full Name:
lemon3853
Affiliation:
xxx
Did you include all relevant data sets for reproducing the issue?
Yes
Did you include the code required to reproduce the issue?

[X] Yes, I have

Did you include all relevant configurations (e.g., CPU architecture, PostgreSQL version, Linux distribution) to reproduce the issue?

[X] Yes, I have

use full SQL without error

If you don't use prepareStatement, you won't get an exception

Hi there @lemon3853. ParadeDB is now on v0.12.1. You should report the pg_analytics version here. Please make sure you are on v0.2.3. We added support for PREPARE statements.


New release compatible with OmniAuth 2.x?

Could you cut a new release and push it to RubyGems?
We can see from the commit history that the gem has already been updated for OmniAuth 2.x compatibility but the 0.3.5 version at RubyGems is not compatible with OmniAuth 2.x.

https://rubygems.org/gems/omniauth_openid_connect/versions/0.3.5

You can using gitlab-omniauth-openid-connect as temporary solution.
-gem 'omniauth_openid_connect'
+gem 'gitlab-omniauth-openid-connect', '~> 0.9.1', require: 'omniauth_openid_connect'

I think @stanhu will release the new version of omniauth_openid_connect when ready. (he is author of gitlab-omniauth-openid-connect)

Released v0.4.0.


Supercollider fails to build in unstable

after updating to commit 9d5508d85c33b8fb22d79dde6176792eac2c2696 in the unstable channel, supercollider fails to build. The only possibly relevant customization in my configuration.nix is that I have jack support enabled in pulseaudio, with
  hardware = {
    pulseaudio = {
      enable = true;
      package = pkgs.pulseaudioLight.override { jackaudioSupport = true; };
    };
  };

the build error is something to do with libsupernova and the c++ stl

Fixed in https://github.com/NixOS/nixpkgs/commit/863d426a3b8a4a56e34af3f687d18f42dad2ac44


add deploy instructions

maybe cool to add for another Max

Closing because I have written an alternative README.md.


optimize Node.visitChildren()

Node.visitChildren() delegates to transformChildren(), which unnecessarily instantiates a sequence:
    shared Result[] transformChildren<out Result>(Transformer<Result> transformer) => [
        for (child in children)
            child.transform(transformer)
    ];
...
    shared void visitChildren(Visitor visitor) => transformChildren(visitor);

so perhaps visitChildren should be rewritten as:
    shared void visitChildren(Visitor visitor) {
        for (child in children) {
            child.transform(visitor);
        }
    }

based on tests against sdk modules, this has the potential to drop processing times by 40%+ for Visitors that don't perform expensive tasks.

I can try this out later.

Done. I call child.visit instead of child.transform, because:

Visitor.transform just delegates to visit without clients being able to change that; you’d hope the JVM would realize this and inline the call, but still, for “Visitors that don’t perform expensive tasks”, the whole job might be done before optimization kicks in here.
It makes more sense for visitChildren to call visit.
It actually matches the documentation now, which says “calls visit”. It wasn’t wrong before, per above, but still.

Thanks @lucaswerkmeister, this provides a very nice performance boost. After warmup for a node-counting visitor, I'm seeing seeing an improvement from 1.2.0's 79.72ms to a new time of 41.49ms.
Now, this compares to 14.76ms and 14.91ms times using a typechecker visitor as a control. More on that to come...


fix bug introduced by Thomas's peak plotting feature.  Also add test …

…coverage for it.

fixed bug.. but not finishing all tests because somehow coverage report is failing.


Install issue

I faced by error during the package installation :
Building wheel for treadscan (pyproject.toml): finished with status 'error'
Failed to build treadscan
ERROR: Command errored out with exit status 1:
command: 'D:\Amin Doc\python\pythonProject\venv\Scripts\python.exe' 'D:\Amin Doc\python\pythonProject\venv\lib\site-packages\pip_vendor\pep517\in_process_in_process.py' build_wheel 'C:\Users\Zahra\AppData\Local\Temp\tmptqzaer36'
cwd: C:\Users\Zahra\AppData\Local\Temp\pip-install-s_sat0gm\treadscan_e1f0a83b08ef4ab494b8c89a6fca1898
Complete output (8 lines):
running bdist_wheel
running build
running build_py
warning: build_py: byte-compiling is disabled, skipping.
running build_ext
building 'treadscan.cwrap' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
ERROR: Failed building wheel for treadscan
ERROR: Could not build wheels for treadscan, which is required to install pyproject.toml-based projects

Have you tried solutions suggested here: https://stackoverflow.com/questions/44951456/pip-error-microsoft-visual-c-14-0-is-required?
Btw I don't know if the Cython extension actually compiles on windows, seeing as i set this flag for the compiler os.environ['CFLAGS'] = '-shared -pthread -fPIC -fwrapv -O3 -fno-strict-aliasing -fopenmp -I "/usr/include/python3.8"' in setup.py. The /usr/include/python3.8 hardcoded like that is really bad practice and I'm not so sure it works if your system doesn't have that python version in that specific path (it's probably not going to be under /usr/ on windows).
I'm not an expert on the whole python packaging ecosystem and was happy enough that I got it to compile correctly on my machine.

Thanks Bohundan,
I worked on windows 10 and got error again(after installing new version of
MSBuild ):
[image: image.png]
All the best,
Amin
On Mon, Oct 24, 2022 at 11:31 AM bohundan @.***> wrote:

Have you tried solutions suggested here:
https://stackoverflow.com/questions/44951456/pip-error-microsoft-visual-c-14-0-is-required
?
Btw I don't know if the Cython extension actually compiles on windows,
seeing as i set this flag for the compiler os.environ['CFLAGS'] =
'-shared -pthread -fPIC -fwrapv -O3 -fno-strict-aliasing -fopenmp -I
"/usr/include/python3.8"' in setup.py. The /usr/include/python3.8
hardcoded like that is really bad practice and I'm not so sure it works if
your system doesn't have that python version in that specific path (it's
probably not going to be under /usr/ on windows).
I'm not an expert on the whole python packaging ecosystem and was happy
enough that I got it to compile correctly on my machine.
—
Reply to this email directly, view it on GitHub
https://github.com/bohundan/treadscan/issues/1#issuecomment-1289362398,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A27YO2D3XAIHM2L6HJOLVATWE3BX3ANCNFSM6AAAAAARNFKSL4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks Bohundan for your attention. I uploaded the error image again.
All the best
On Mon, Oct 24, 2022 at 12:09 PM bohundan @.***> wrote:

It seems like your attached image didn't upload. Anyways I tested some
things and the flags being set in setup.py are redundant, I'll remove
them and create release 1.0.5 tomorrow. It could be messing with the
compiler, but I don't know what error you got this time.
—
Reply to this email directly, view it on GitHub
https://github.com/bohundan/treadscan/issues/1#issuecomment-1289403948,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A27YO2BCYF5HZJLAULAIL3LWE3GGRANCNFSM6AAAAAARNFKSL4
.
You are receiving this because you authored the thread.Message ID:
@.***>

here it is:
Building wheels for collected packages: treadscan
Building wheel for treadscan (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for treadscan (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
running bdist_wheel
running build
[end of output]
note: This error originates from a subprocess, and is likely not a
problem with pip.
ERROR: Failed building wheel for treadscan
Failed to build treadscan
ERROR: Could not build wheels for treadscan, which is required to install
pyproject.toml-based projects
On Mon, Oct 24, 2022 at 12:47 PM bohundan @.***> wrote:

I still don't see it 😄. Couldn't you copy paste the error again?
—
Reply to this email directly, view it on GitHub
https://github.com/bohundan/treadscan/issues/1#issuecomment-1289450716,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A27YO2AW553ULEPWWMMIXCLWE3KU5ANCNFSM6AAAAAARNFKSL4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sorry, but that doesn't give me much info. Nonetheless, I've released version 1.0.5., which doesn't have the (possibly mischievous) compiler flags in setup.py anymore. If you run into any trouble, I think it's not specific to the treadscan package.
I also just now tested installing the newest treadscan version on my machine and pip install treadscan works just fine.

Not sure if this is related, but I had to use python 3.8 for the pip install to work, newer python versions just gave an error.

Actually I just tried on a different system and got the issue which made me add the hacky compiler flags in the first place :frowning_face: . The compiler complains about not having Python.h, which comes from some python3-devel package? And that's where I'm stuck with this

I don't know if I have to specify some required library in requirements.txt or how you're supposed to link that correctly.

I tried on another system and got the message:
PS C:\Users\asus\AppData\Local\Temp\scoped_dir9616_1223877761> pip install
treadscan
Collecting treadscan
Downloading treadscan-1.0.5.tar.gz (135 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.1/135.1 kB 2.0 MB/s eta
0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting torch
Using cached torch-1.12.1-cp310-cp310-win_amd64.whl (162.2 MB)
Collecting torchvision
Using cached torchvision-0.13.1-cp310-cp310-win_amd64.whl (1.1 MB)
Collecting opencv-contrib-python
Using cached opencv_contrib_python-<IP_ADDRESS>-cp36-abi3-win_amd64.whl (42.5
MB)
Requirement already satisfied: opencv-python in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from treadscan) (<IP_ADDRESS>)
Requirement already satisfied: numpy in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from treadscan) (1.23.2)
Collecting improutils
Using cached improutils-1.1.10-py3-none-any.whl
Requirement already satisfied: matplotlib>=3.4.2 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from improutils->treads
can) (3.5.3)
Collecting PyYAML>=5.3.1
Using cached PyYAML-6.0-cp310-cp310-win_amd64.whl (151 kB)
Requirement already satisfied: Pillow>=8.1.0 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from improutils->treadscan)
(9.2.0)
Collecting Pylon>=0.4.4
Using cached Pylon-0.4.4-py3-none-any.whl
Requirement already satisfied: wheel in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from improutils->treadscan) (0.37.1
)
Collecting natsort>=5.3.3
Using cached natsort-8.2.0-py3-none-any.whl (37 kB)
Collecting pytesseract>=0.3.7
Using cached pytesseract-0.3.10-py3-none-any.whl (14 kB)
Requirement already satisfied: typing-extensions in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from torch->treadscan)
(4.3.0)
Requirement already satisfied: requests in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from torchvision->treadscan) (2.
28.1)
Requirement already satisfied: cycler>=0.10 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from matplotlib>=3.4.2->impr
outils->treadscan) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from matplotlib>=3.4.2-

improutils->treadscan) (4.37.1)
Requirement already satisfied: pyparsing>=2.2.1 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from matplotlib>=3.4.2->
improutils->treadscan) (3.0.9)
Requirement already satisfied: kiwisolver>=1.0.1 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from matplotlib>=3.4.2-
improutils->treadscan) (1.4.4)
Requirement already satisfied: packaging>=20.0 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from matplotlib>=3.4.2->i
mproutils->treadscan) (21.3)
Requirement already satisfied: python-dateutil>=2.7 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from matplotlib>=3.4
.2->improutils->treadscan) (2.8.2)
Requirement already satisfied: idna<4,>=2.5 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from requests->torchvision->
treadscan) (3.3)
Requirement already satisfied: charset-normalizer<3,>=2 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from requests->t
orchvision->treadscan) (2.1.1)
Requirement already satisfied: certifi>=2017.4.17 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from requests->torchvi
sion->treadscan) (2022.6.15)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from requests->torc
hvision->treadscan) (1.26.12)
Requirement already satisfied: six>=1.5 in
c:\users\asus\appdata\local\programs\python\python310\lib\site-packages
(from python-dateutil>=2.7->matpl
otlib>=3.4.2->improutils->treadscan) (1.16.0)
Building wheels for collected packages: treadscan
Building wheel for treadscan (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for treadscan (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
running bdist_wheel
running build
creating build\lib.win-amd64-cpython-310
creating build\lib.win-amd64-cpython-310\treadscan
copying src\treadscan\detector.py ->
build\lib.win-amd64-cpython-310\treadscan
copying src\treadscan\extractor.py ->
build\lib.win-amd64-cpython-310\treadscan
copying src\treadscan\segmentor.py ->
build\lib.win-amd64-cpython-310\treadscan
copying src\treadscan\utilities.py ->
build\lib.win-amd64-cpython-310\treadscan
copying src\treadscan_init_.py ->
build\lib.win-amd64-cpython-310\treadscan
running build_ext
building 'treadscan.cwrap' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with
"Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cp
p-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a
problem with pip.
ERROR: Failed building wheel for treadscan
Failed to build treadscan
ERROR: Could not build wheels for treadscan, which is required to install
pyproject.toml-based projects
On Mon, Oct 24, 2022 at 1:39 PM bohundan @.***> wrote:

Actually I just tried on a different system and got the issue which made
me add the hacky compiler flags in the first place ☹ . The compiler
complains about not having Python.h, which comes from some python3-devel
package? And that's where I'm stuck with this
[image: Untitled]
https://user-images.githubusercontent.com/100153558/197611058-10751dd9-967f-4a26-ae7f-934413376516.png
I don't know if I have to specify some required library in
requirements.txt or how you're supposed to link that correctly.
—
Reply to this email directly, view it on GitHub
https://github.com/bohundan/treadscan/issues/1#issuecomment-1289508604,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A27YO2BQJNCLPNQVV5D53B3WE3QYRANCNFSM6AAAAAARNFKSL4
.
You are receiving this because you authored the thread.Message ID:
@.***>

I've tested installation on another two systems, one Linux, one Windows. In both of them, pip install treadscan works and the extension compiles without issues. Both systems had Python3.10.
I've also created a short wiki page https://github.com/bohundan/treadscan/wiki summarizing solutions to known installation issues.
As this isn't specific to the treadscan package, but to the configuration of the user's system, I'm closing this issue. If you have further issues, try asking a question on stackoverflow, because the users there will be able to assist you more than me.


Comment field

Suggestion - a comment field or textbox for each build would be great.  Just something simple where people can drop a few notes that are important to keep in mind while creating/viewing the build

Right click build -> "Edit" -> "Build Note" does exactly that. Those are then shown when hovering the build.


Invalid GPG Key for Open Health Care Issue reporting

The GPG key for Open Healthcare docs is 987D 5905 4458 6364 B901 B13D 0AB1 AB05 A68A 1BBF. This key is invalid and the doc is redirected a 404.

This is fixed via 7244a8483f5b1b92e966578342dcf8a15f018cdb.


In audit mode, suppress backtrace lines belonging to Chef itself.

Fixes #2754.

:+1:
cc @tyler-ball @mcquin

I pondered if there's any instance that you'd want to stacktrace for debugging purposes when something goes wrong (besides when a test fails as expected), but couldn't think of one.
I'd like to see equal support for Windows before merge, and at least a unit test like expect(RSpec.configuration.backtrace_exclusion_patterns).to include(/C:\opscode\chef/)

Thanks. What's the current wisdom to evaluate whether we're running on Windows, both in a code context and test context? I will update this PR.

there's the lib/chef/platform_helper.rb (i think) #windows? check

@btm I took a crack at writing a unit test for this, but with the __FILE__ implementation as suggested by @tyler-ball, I can't see a decent way to do write one without actually just rewriting the same logic as in the code. Thoughts?

Hey all, I added a new pull request off my branch for this fix. https://github.com/chef/chef/pull/3001
It has a unit test that includes windows like paths.

Fixed via #3001


Rake file support

I'd like to add rake files to be included in Shopify's Policial checks. We can do that either by updating Policial here or by adding **/*.rake to the AllCops section of .rubocop.yml in the ruby style guide repo.
@volmer what has your preference? Should Policial be opinionated about what constitutes a ruby file, or is this something you'd rather have configuration deal with. I prefer the latter option.

RuboCop inspects all *.rake files by default so I think Policial should do the same. And that seems to be the case already, no? https://github.com/volmer/policial/commit/8e890f3809a5aceff65ac31d075de86cb9358710

Ok, I have some ideas of what could be wrong. I'll keep you posted!

Ok, found the problem: Policial was treating RuboCop's Include config as a Regex, while it is actually just another pattern to match filepaths. So lib/task.rake would never match **/*.rake.
I fixed it by replacing the Regex matching with a direct call to  RuboCop's API: https://github.com/volmer/policial/commit/fd295d97f3099abe66901de76122115f5145a45a#diff-09799febb1bac30fc7a20da200ada273L25
Everything should work fine now but please let me know if the issue persists.

Thanks @volmer