Improvements to app docs

This PR:

introduces a TOC to (2) README files. The TOC was generated using MDTOC.
increments app version patch number
describes doc changes in RELEASE
renames docs/index.md to docs/README.md

@puneet-pdx i'm additionally requesting your review to ensure i've properly updated the app version number in the project.

@puneet-pdx are we good to go here?


Examine pixel coordinate rounding behavior

Using round which rounds away from zero, which is biased toward sampling out of bound pixels
Rounding each pixel x and y coordinate individually which might not give the same answer as finding the pixel with the shortest distance

The rounding behavior is a little weird, but there isn't actually any observable problem with it. I'd be fine with just closing this, and reopening if we hit a bug or other issue. What do you think?

Closing this, I think we're pretty convinced that this is fine at this point, and can always reopen if we see weird behavior.


#340 - Using lock with expiration for RPM batch update

Part of #340
Using lock with expiration for RPM batch update

@olegmoz thanks, looks good to me, one question: are you planning to add locks to incremental update in the next PR?

@olenagerasimova yes, I am planning to add locking to incremental update in next PR. After that I'd consider the task done.

Job gh:artipie/rpm-adapter#341 is not assigned, can't get performer


Add documentation for mem_limit

Add documentation for https://github.com/kubernetes-incubator/kompose/pull/414

Bumped into this issue while I was discussing other issues, I think we can close this issue. What do you think @kadel ?

@pradeepto Still pending for this being merged https://github.com/kubernetes-incubator/kompose/pull/448 as it's part of the documentation :)

#448 was merged. That should be enough to document it for now.


maybe_placeholders made True by default

Docs:

maybe_placeholders - - When True, the [] operator returns None when not matched. - When False, [] behaves like the ? operator, and returns no value at all. - (default=False. Recommended to set to True)

It also says in the grammar docs that:

[item item ..] - Maybe. Same as (item item ..)?, but generates None if there is no match
which by default is wrong

Why not set the default to True? It would make the most sense that by default (...)? and [...] behave differently.

The current reasoning is backwards compatibility. Changing this might break a lot of code. I am actually surprised it broke none of the tests.

Like @MegaIng said, there is a backwards-compatibility issue.
I plan to change this at version 1.0


Update font-gohu-nerd-font-mono to 1.1.0

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] sha256 changed but version stayed the same (what is this?).
I’m providing public confirmation below.

Thank you for the contribution. It was merged directly as 019a8823dd76fbdc4a56e7db4e5f5e66810d90b5. Your contribution is still credited to you.


NOW i JUST notice that it's already detected. I need to check these more thoroughly.


Supertest seems to not working with swagger-tools.

The problem is that all assertions fail. I tried to use request module and it seems to work just fine, but supertest does not working at all. This is why I'm suspecting that it is because of swagger-tools.
/* eslint-disable func-names, prefer-arrow-callback */
/* eslint-disable no-unused-expressions */
const chai = require('chai');
const ZSchema = require('z-schema');
const request = require('supertest');
const app = require('../../app.js');
const validator = new ZSchema({ assumeAdditional: false });
const expect = chai.expect;

const articleSchema = {
  type: 'object',
  required: ['id', 'createdAt', 'author', 'content', 'title'],
  properties: {
    id: {
      type: 'integer',
    },
    content: {
      type: 'string',
    },
    title: {
      type: 'string',
    },
    author: {
      type: 'string',
    },
    createdAt: {
      type: 'string',
      format: 'date-time',
    },
  },
};

describe('article test', function () {
  it('should return 200 and a proper article', function (done){
      request(app)
        .get('/api/articles/1')
        .set('Accept', 'application/json')
        .expect('Content-Type', /json/)
        .expect(200)
        .end(function(err, res) {
          expect(err).to.be.a('null');
          expect(res.statusCode).to.equal(200);
          done();
      });
  });
});

describe('/api/swagger/swagger.yaml', function () {
  it('should return swagger.yaml file', function (done){
    request(app)
      .get('/api/swagger/swagger.yaml')
      .end(function(err, res) {
        expect(err).to.be.a('null');
        expect(res.statusCode).to.equal(200);
        done();
    });
  });
});

My previous test using request:
describe('/api/articles', function () {
  describe(' api/articles/{id}', function () {
    it('should respond with 200 Success and return article', function (done) {
      request({ uri: 'http://localhost:3000/api/articles/1', json: true })
      .then((res) => {
        expect(res).to.be.a('object');
        validator.validate(res, articleSchema);
        const errors = validator.getLastErrors();
        expect(errors).to.be.a('undefined');
        done();
      })
      .catch(err => done(err));
    });
  });
});

Second works, but supertest seems to be a better option. I would highly appreciate your help with resolving that issue.
Since I do not want that issue to be way to long, because of pasting all my code here I'm giving a link to a repo.
EDIT:
My app.js

const mongoose = require('mongoose');
const express = require('express');

const config = require('./config/config.js');

const http = require('http');

mongoose.connect(`mongodb://localhost/${config.DATABASE_NAME}`);

const app = express();
config.setMiddlewares(app);

/**
 * Get port from environment and store in Express.
 */
const port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

/**
 * Create HTTP server.
 */
const server = http.createServer(app);

/**
 * Listen on provided port, on all network interfaces.
 */
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);

/**
 * Normalize a port into a number, string, or false.
 */
function normalizePort(val) {
  const parsedPort = parseInt(val, 10);

  // named pipe
  if (isNaN(parsedPort)) {
    return val;
  }

  // port number
  return (parsedPort >= 0) ? parsedPort : false;
}

/**
 * Event listener for HTTP server 'error' event.
 */
function onError(error) {
  if (error.syscall !== 'listen') {
    throw error;
  }

  const bind = typeof port === 'string'
    ? `Pipe ${port}`
    : `Port ${port}`;

  // handle specific listen errors with friendly messages
  switch (error.code) {
  case 'EACCES':
    console.error(`${bind} requires elevated privileges`);
    process.exit(1);
    break;
  case 'EADDRINUSE':
    console.error(`${bind} is already in use`);
    process.exit(1);
    break;
  default:
    throw error;
  }
}

/**
 * Event listener for HTTP server 'listening' event.
 */
function onListening() {
  const addr = server.address();
  const bind = typeof addr === 'string'
    ? `pipe ${addr}`
    : `port: ${addr.port}`;

  if (config.env === 'development') {
    console.info(`Localhost: Listening on ${bind}`);
  }
}

module.exports = app;

My config.js, here I am configuring swagger-tools.
const path = require('path');
const logger = require('morgan');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const helmet = require('helmet');
const swaggerTools = require('swagger-tools');
const YAML = require('js-yaml');
const JsonRefs = require('json-refs');
const errorHandlers = require('./errors.js');

const env = process.env.NODE_ENV || 'development';
const host = (env === 'development') ? 'http://localhost:3000/' : '';

const options = {
  controllers: path.join('api', 'controllers/'),
};

module.exports = {

  env,
  host,
  setMiddlewares(app) {
    app.use(helmet());
    app.use(logger('dev'));
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(cookieParser());
    JsonRefs.resolveRefsAt('./api/swagger/swagger.yaml', {
      // Resolve all remote references
      filter: ['relative', 'remote'],
      loaderOptions: {
        processContent(res, cb) {
          cb(undefined, YAML.safeLoad(res.text));
        },
      },
    })
    .then((results) => {
      swaggerTools.initializeMiddleware(results.resolved, (middleware) => {
        // Wire up the Swagger middleware
        // Interpret Swagger resources and attach metadata to request
        // - must be first in swagger-tools middleware chain
        app.use(middleware.swaggerMetadata());

        // Validate Swagger requests
        app.use(middleware.swaggerValidator({ validateResponse: true }));

        // Route validated requests to appropriate controller
        app.use(middleware.swaggerRouter(options));

        // Custom error handler
        app.use(errorHandlers.onSwaggerError);

        // Serve the Swagger documents and Swagger UI
        app.use(middleware.swaggerUi({
          swaggerUi: '/api/docs/',
          apiDocs: '/api/swagger/swagger.yaml',
        }));
      });
    })
    .catch((err) => {
      console.error(err.stack);
      process.exit(1);
    });
  },
  DATABASE_NAME: 'db',
};

I'm launching my tests using this in package.json.
"test": "cross-env NODE_ENV=test ./node_modules/.bin/mocha --recursive"

I don't see any swagger-tools code to even begin to diagnose this.

@whitlockjc I edited my issue in order to let you see my configuration of swagger-tools.

Any way to see errors.js#onSwaggerError?  Also, I'm not sure if you know but swagger-tools uses supertest in its test suite so I'm really not thinking it's an issue with swagger-tools somehow working differently with request and superagent.  I wish I knew more about the failure happening but given the code, I'm not seeing anything yet.

errors.js
/**
 * @param {(string|Object)} err
 * @return {{message: string, code: string}}
 */
function parseError(err) {
  if (typeof err !== 'object') {
    // Default error object
    return {
      message: String(err),
      code: 'INTERNAL_SERVER_ERROR',
    };
  } else if (typeof err.message === 'undefined' || typeof err.code === 'undefined') {
    // Error object was defined incorrectly
    return {
      message: 'Failed schema validation: this.error is not valid Error object.',
      error: err,
      failedValidation: true,
      code: 'UNKNOWN_ERROR',
    };
  }

  // Error object is valid
  return err;
}

/**
 * Resolves custom status codes
 * @param {string} code
 * @return {number}
 */
function resolveStatusCode(code) {
  switch (code) {
  case 'UNKNOWN_ERROR': // ErrorResponse is not a valid schema: swagger/models/Error.yaml#/ErrorResponse
    return 520;
  case 'NOT_IMPLEMENTED':
    return 501;
  case 'INTERNAL_SERVER_ERROR':
  default:
    return 500;
  }
}

module.exports = {
  /**
   * Custom error handler that returns them in proper format
   * defined in: swagger/models/Error.yaml#/ErrorResponse
   * @param {(Object|string)} err
   * @param {Object} req request
   * @param {Object} res response
   * @param {Function} next serves error pipe
   */
  onSwaggerError(err, req, res, next) {
    /**
     * Parse error object
     * @member {Object}
     * @property {string} message
     * @property {string} code name
     */
    const Error = parseError(err);

    // Ensure that err.message is enumerable (It is not by default)
    Object.defineProperty(Error, 'message', { enumerable: true });

    // Set headers before anything else
    res.setHeader('Content-Type', 'application/json');

    // Resolve error status code only if not done already
    if (res.statusCode < 400) { res.status(resolveStatusCode(Error.code)) }

    // Parse error to JSON
    res.end(JSON.stringify(Error));
  },
};

The more I'm testing my code the more I'm convinced that it is something wrong with my request. The problem is that I cannot spot an issue in my code.

Any chance your schema and the test schema you're using are different?  In your test, articleSchema is manually constructed and there could be a difference between it and the articleSchema that swagger-tools computed.  Just a thought.  I also am not sure what is up because the code looks fine.  What is the failure you're getting, or not getting, for the failed test?

Ok I see an issue. I created two files, both looks the same. When I am launching npm test I can see that every test passes except one (2 files = 4 tests, 3 passes 1 outputs an error). But when I delete one of them
only 1 test passes ( the yaml file). If you have some time you can check what I mean by cloning my [repo].(https://github.com/FieryCod/KNIT-homepage-back/tree/test_integration)

If you're getting a 404, swagger-tools isn't involved as it never throws a 404.  The only thing that I can think of is swagger-tools' route handling, if you think you've wired up a route handler improperly but even that would result in a 500 and not a 404.  You might learn more by running `swagger-tools in debug mode.

When I am using npm start' I can access 'api/articles/1' only when I try tu run npm testI am receiving404. When I am disabling my error handling I am still receiving 404`. I don't think that I've wired up a route handler improperly, because when I am testing 2 same files in one of them the response is correct.

Try running your tests with debugging and see if you can notice a pattern.  I don't see anything either but I'll look when I get more time.

@whitlockjc Seems that middleware is not even initialized when using mocha. ;(

Thanks for the heads up but I'm not sure that helps me help you.  :(  I'm not sure what your test runner is doing but swagger-tools uses mocha and supertest without issue.  I did create a simple little helper function to spin up a server just for testing, maybe that will help: https://github.com/apigee-127/swagger-tools/blob/master/test/helpers.js#L73

It seems like because of using json-refs, middleware is not initialized with mocha. But when I delete json-refs everything works just fine. The problem is that I do not want to get rid of json-refs.

How are you coming to this conclusion?  swagger-tools itself also uses json-refs and it seems you've got catch and then in place to handle both success and failure of json-refs.  The circumstances being described are not making sense because at first, this was believed to be due to request vs. supertest, and now it's something else.
You might try wrapping your JsonRefs stuff in a try/catch block just in case to see if you're running into some json-refs bug related to circular references (fixed but not released yet).  Just shooting int he dark here.

I've added a console.log in the block of code where swagger-tools middleware is initialized. When I got 2 tests files it seems that middleware is initialized only once, after first test is done.

I'm not sure how you came to that conclusion but I won't disagree because I don't have enough details.  Is the repo you linked to capable of reproducing this issue?

Look here you can comment timeout and you will see that middlewares are not initialized.

Just looking at the code has me suspect that it's not swagger-tools.  In your tests, you're using app.js as if it's synchronous but it's not.  Your call to  config.setMiddlewares() does nothing to ensure that the middleware has initialized before continuing on with the server initialization.  What this does is it makes it where your tests can hit a live server but that is potentially missing the swagger-tools middleware because you have already started the server even if the swagger-tools middleware never initialized.
So I do believe you now that swagger-tools isn't fully initialized when the tests start but it's not swagger-tools' fault, it's your code treating asynchronous code as if its synchronous and just expecting things to work.  Let's walk through this together, starting with the test.
Your test suite sees require('../../app.js') and app is provided immediately.  To your test suite, it has all it needs to start firing tests and that's exactly what it's doing.  The problem is that in app.js, you call config.setMiddlewares(app) and the code behind that is asynchronous.  So when app.js continues, it continues assuming that config.setMiddlewares(app) has completed and starts the server and returns it via module.exports.  The problem is that there is no guarantee that config.setMiddlewares(app) has completed.  This also explains why your timeout "fixes" things.
I don't see how you can ever have asynchronous code that is guaranteed to be completed and export it via module.exports.  On top of that, if your server requires all middleware to be initialized prior to starting the server, you need to use callbacks when calling swaggerTools.initializeMiddleware.  Here is a good example of this: https://github.com/apigee-127/swagger-tools/blob/master/examples/2.0/index.js#L19

Ok you got right it is my fault. Is there a possibility to initialize swagger-tools synchronously, or maybe you got some idea how to make it work?

We've looked into this a lot and there really isn't a good way to do it.  I've looked into this a few times and always came to the same conclusion that if it's asynchronous, you just have to write your software accordingly.  Since resolving remote references is asynchronous, swaggerTools.initializeMiddleware is asynchronous because that function will attempt to resolve references even if you have none, which makes its API asynchronous.
This is about the best you can do, and even that will still be asynchronous during the JsonRefs.resolveRefsAt call: https://github.com/apigee-127/swagger-tools/issues/217#issuecomment-197490009
I'm closing this since it's not an issue with swagger-tools but we should continue discussing it until you have something working.

Also, if you want to have some real-time discussion on this, I'm on Gitter.

Hi FieryCod, have you resolved this issue?  I ran into a similar issue too, it had to do with JsonRef not resolving the file references successfully when being run using Jest, but is able to resolve correctly when being run using node.  JsonRef tried to resolve the files relative to <IP_ADDRESS>:80 instead of the local file system.  I solved it by setting the JsonRef option.location to use the file:/// uri.  Just a thought.
const root = YAML.safeLoad(fs.readFileSync('./swagger/index.yaml').toString());
const yamlContentProcessor = function (res, callback) {
  callback(undefined, YAML.safeLoad(res.text));
};
const options = {
  location: `file://${process.cwd()}/swagger/index.yaml`,
  loaderOptions: {
    processContent: yamlContentProcessor,
  },
};
const swaggerDoc = await resolveRefs(root, options);


SMS phone number

Currently this is @guaka's account. Happy to transfer it elsewhere, also ok to keep it as is for a while.

Can you give a short summary about the technical backround.
Where is what registered and what does it cost?
DTSG is happy to take running costs for this ticker (if it is, lets say a couple of Euros per month. I think it is not more than 10€?) and what is needed to make it running. Ralf is in charge for our money. We have some good reserves, after two successfully realized EU projects.

Created an issue label for SMS: https://github.com/guaka/hitchticker/labels/SMS
Code is using nexmo.
Apparently, currently "You don't have any numbers."
I added €10 at some point, current balance €1.94.

What about creating a common DTSG account for nexmo? We can attach it then to our bank account regarding the finances. Will send you an email @guaka

I think it's 3e/month or something like that.

We can cover the cost. No problem. Go for it.

Done, DTSG took over account. If anyone needs access to the API settings on Nexmo, let me know.
Issue can be closed.

The original issue "SMS phone number" can't be closed yet.

Good. This is done, right? Mikael, are you in Germany? Maybe someone give it a try.

(I can't log in to nexmo anymore, I asked @platschi for login details.)

Got details? Ready to close this?


Fix isone dst

Fixes this issue
https://github.com/kmax12/gridstatus/issues/171
Small refactor on shared code between the two markets.
May run into the same issue on the "latest" code as well. Could either fix or open a new issue.

still need to review, but just wanted to comment that the fail tests are unrelated to this PR. sorry about the broken tests!


Possibility to retry a test until it FAILED

Fixes #1519 .
For a failing test following would happen:

Inspect the exception to consider “expectedExceptions”
Run “afterInvocations()”
Invoke a “RetryAnalyzer” if provided.

Did you remember to?

[X] Add test case(s)
[X] Update CHANGES.txt

We encourage pull requests that:

Add new features to TestNG (or)
Fix bugs in TestNG

If your pull request involves fixing SonarQube issues then we would suggest that you please discuss this with the
TestNG-dev before you spend time working on it.

ping @cbeust I have addressed the merge conflicts as well. Please let me know if there is anything that is pending from my side to get this merged.


OSX fixes, gcc 4.2

Fixed the new BRDFs. (apply the same changes as PR #723 to glossy and metal).

Temporary workaround for python's EntityVector and EntityMap remove method:
Since remove is not very useful in python as it is right now, we can have a proper fix when
the code is reviewed / improved.

Reported by John.

Thanks Est!


Apply proguard to reduce the size of app

https://github.com/JetBrains/compose-jb/tree/master/tutorials/Native_distributions_and_local_execution#minification--obfuscation

Proguard is applied since v1.3.0


documentation links down

https://ngx-formly.github.io/ngx-formly/ still working but
https://formly-js.github.io/ngx-formly isnt anymore

find and replace https://formly-js.github.io/ngx-formly by https://ngx-formly.github.io/ngx-formly

done!


Intermediate Text Analysis: Annotation

Problem Statement
The goal of this task is to come up with an algorithm and implementation to analyze the entirety of the content. Note that the deliverable is not a perfectly annotated resume, as that is an almost impossible task. Rather we want to focus on annotating 80% or more of the content with reasonable accuracy.
Files Changed
Implement this in the backend - similar to how issue #4 is done
Approaches
There are multiple ways to attack this problem; please consider the pros and cons of all

Search and Find: you look for specific things in the content, and run multiple passes. Use the schema as a catalog for things you are searching
Identify as You Go: with this approach, for every word (or set of words) you encounter, you will attempt to classify it based on your catalog. Similar to the other approach, you can run multiple passes.
Combination: the strategy could incorporate both of the aforementioned approaches.

Note
This issue needs a substantial research/whiteboarding session before implementation.

Did some brain storming:

For education section perhaps we can look for the word "University".
For work experience, we can either create an array of "action words" and search around them, as people tend to use them to describe their responsibilities at work place; or we create an array of job titles using Bureau of Labor Statistics database (this won't be exhaustive but we can probably capture at least 80% of roles out there).
How many words around the key words we search for do we include ? We talked about graphing - need to learn/discuss more on that end

Next Tasks:

Exporting the PDF onto the back end as a whole file.
Using Python libraries to parse the content.
Write down an algorithm to do the parsing. This will be modified to increase accuracy and parse content more universally for the resumes out there.


Bug report: Error on Export

I've made a model and rigged it to the VRM skeleton, but this error pops up and the export fails:
Python: Traceback (most recent call last):
File "C:\Users\kyled\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\VRM_Addon_for_Blender-release\exporter\legacy_vrm_exporter.py", line 159, in export_vrm
self.mesh_to_bin_and_dict()
File "C:\Users\kyled\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\VRM_Addon_for_Blender-release\exporter\legacy_vrm_exporter.py", line 2030, in mesh_to_bin_and_dict
morph_normal_diff_dict = self.fetch_morph_vertex_normal_difference(
File "C:\Users\kyled\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\VRM_Addon_for_Blender-release\exporter\legacy_vrm_exporter.py", line 1654, in fetch_morph_vertex_normal_difference
material = mesh_data.materials[polygon.material_index]
IndexError: bpy_prop_collection[index]: index 0 out of range, size 0
It's very possible, even likely that I've just done something wrong but I can't quite figure out what.

This export error was resolved with the latest version v2.20.25 released earlier. Thank you for your report.


"MWEB" client loadType always be empty while searching

Basic Troubleshooting

[X] I have checked for similar issues (open AND closed), and my issue is not a duplicate. (MANDATORY)
[X] I have checked for pull requests that may already address my issue. (MANDATORY)
[X] I am using (and my issue is reproducible on) the latest version of youtube-source.
[X] My issue is reproducible with IPv6 rotation.

Version of youtube-source
1.10.2
The search query/queries, URL(s), playlist ID(s)/URL(s) or video ID(s)/URL(s) that triggered the issue
ytsearch:*
Code Example
N/A
Exception and Stacktrace
2024-12-04T23:37:43.064+07:00  INFO 32300 --- [Lavalink] [  XNIO-1 task-2] l.server.io.RequestLoggingFilter         : GET /v4/loadtracks?identifier=ytsearch:abc, client=0:0:0:0:0:0:0:1
2024-12-04T23:37:51.708+07:00  INFO 32300 --- [Lavalink] [  XNIO-1 task-2] l.server.player.AudioLoaderRestHandler   : Got request to load for identifier "ytsearch:abc"
2024-12-04T23:37:51.711+07:00 DEBUG 32300 --- [Lavalink] [  XNIO-1 task-2] d.l.youtube.YoutubeAudioSourceManager    : Attempting to load ytsearch:abc with client "MWEB"
2024-12-04T23:37:51.721+07:00 DEBUG 32300 --- [Lavalink] [  XNIO-1 task-2] d.l.y.clients.skeleton.NonMusicClient    : Requesting https://youtubei.googleapis.com/youtubei/v1/search?prettyPrint=false (search response) with payload {"context":{"client":{"clientName":"MWEB","clientVersion":"2.20240726.11.00"}},"params":"EgIQAfABAQ==","query":"abc"}
2024-12-04T23:37:52.468+07:00  INFO 32300 --- [Lavalink] [  XNIO-1 task-2] l.server.io.RequestLoggingFilter         : GET /v4/loadtracks?identifier=ytsearch:abc, client=0:0:0:0:0:0:0:1

{
    "loadType": "empty",
    "data": null
}

What is your client configuration?
MWEB

Fixed in df8cff7d4d8affc16e5fb4d9a26001851b85241d


Moved access token to header as the new API expects

This solves the 403 error returned by the API.
{
    "error":"Invalid CSRF token",
    "error_code":410,
    "error_extra":{"access_type":"web_session","event_id":"private","retry_after":3},
    "error_tag":"AUTH_INVALID_CSRF_TOKEN",
    "http_code":403
}

As per new API documentation the access token must be passed in the header (see https://developer.todoist.com/sync/v9/#authorization)
#106

Thanks for these commits, I made these changes manually, and it solved my issue.


View.propTypes is deprecated - added ViewPropTypes support

It fixes iOS crash in release mode

which version did you use? I knew this error is fixed in version 1.6.1


Create text string to toggle pausing of qwertigraph

I want another script to be able to disable and enable this script

Alt-win-p to stop it and alt-win-; to start it back up again


DEVEXP-337: e2e tests POC

Closing the PR waiting for the mockserver to be available on the artifactory


Remove extension on Vivaldi - leftover data?

Seem to be having an issue where removing TM from the Vivaldi browser doesn't completely delete all of the previously saved rules.
Would you know if they are being stored in the profile and just not being deleted?
Thank you.

Hi @swedeman,
How do you know that the browser didn't erase all of data? Can you tell what have you done?
Best

Thank you for the response.
After TM was removed I continued to see tab labels that were ones that had been used when TM was installed. Did clear the cache and history just in case. Vivaldi seems to have its share of short comings even though based on Chrome.
Is there typically a file that may not have been removed in the profile?
I'm sure its mostly operator error.

I just:

installed Vivaldi
installed Tab Modifier
created a rule
refreshed the page to see the rule applied
uninstalled Tab Modifier
refreshed the page to see the rule unapplied
OK

Ok. Thanks for your time.


[Bug]: Voicebank/MTL/ASR_enhance RuntimeError

Describe the bug
While testing recipes, an error was thrown.
Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
Expected behaviour
No error
To Reproduce
No response
Versions
No response
Relevant log output
File "recipes/Voicebank/MTL/ASR_enhance/train.py", line 546, in <module>
    mtl_brain.fit(
...
  File "torch/autograd/__init__.py", line 197, in backward
    Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [3, 441, 5, 512]], which is output 0 of AsStridedBackward0, is at version 1; expected version 0 instead. Hint: enable anomaly detection to find the operation that failed to compute its gradient, with torch.autograd.set_detect_anomaly(True).

Additional context
No response

This was an odd error, fixed by changing EnhanceResnet operation to an identical one: 4389ce30aa4c57b26823699b88ef20a7e8043a95


Transform busy-img cloudinary non-transparent PNG images to JPG

To reduce bandwidth and storage on Cloudinary we should transform non-transparent PNG images to JPG using "lossy" flag.

I transformed it already. It resulted in ~15GB saving in storage. I'm not sure if it didn't update yet or that's all we can get by using lossy.

This is solved already by @Sekhmet


Add Grafana TPR

With Prometheus deployments becoming more dynamic, we need to catch up with deploying Grafana, its dashboards and datasources in a similarly dynamic and easy way.
@alexsomesan @fabxc
Goes with the discussion in #14 and #98 .

Grafana will likely need a sidecar to handle the selection and reloading of ConfigMaps just like the recently introduced Prometheus config reloader. As Grafana json dashboards are quite large they will quickly (and reportedly already have) grow larger than the 1mb size limit of a single ConfigMap.

We can probably generalise that sidecar as it should be roughly the same, right?
Wondering whether there's a meaningful way to also generalise the idea of dashboard definitions and data sources. But probably a bit pre-mature as there's unfortunately no Grafana alternative in sight more tailored to our idea of how things should be done.

There is definitely a lot of overlap so I think the common part we can generalize away in a package and share among the projects.
Yes I'm also still uncertain how to handle data sources.
I'm currently imagining the Grafana TPR to look something like this:
apiVersion: "monitoring.coreos.com/v1alpha1"
kind: "Grafana"
metadata:
  name: "main"
  labels:
    grafana: "main"
spec:
  replicas: 2
  version: v4.1.1
  serviceAccountName: grafana
  dashboardSelector:
    matchLabels:
    - grafana: true
  datasources:
  - name: prometheus
    type: prometheus
    url: http://prometheus.monitoring.svc:9090/
  resources:
    requests:
      memory: 400Mi

As the concept of how datasources work in grafana are very specific, it might be fine to have tight coupling of the datasources and grafana itself like that.

Rethinking the sidecar slightly, as we are actually able to change mounts for a Deployment and therefore we wouldn't need to give permission to Grafana pods to access the kubernetes API, which is much more desireable.

One additional thought I had here was automatic discovery of datasources. So if I have something adding Prometheus servers on demand (e.g. on namespace creation) they automatically get registered as data sources.

Any news?

While Grafana deployments need some form of management, we have decided, that it is a non goal for the Prometheus Operator itself. This could be implemented in an entirely new operator, if necessary at all. Possibly the grafana-watcher can do all the heavy lifting already without any need to write a full blown operator.


Clarify documentation related to article file names, and documentation extension file names.

Bug/issue #, if applicable: rdar://125383377
Summary
This change clarifies the documentation on swift.org about how to choose file names for article and documentation extension markdown files.
Dependencies
None.
Testing
Build the docs in the the DocCDocumentation.docc catalog:
swift run docc preview Sources/docc/DocCDocumentation.docc

...and inspect the 2 modified pages:
http://localhost:8080/documentation/docc/adding-supplemental-content-to-a-documentation-catalog
http://localhost:8080/documentation/docc/adding-structure-to-your-documentation-pages

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[ ] Added tests (no code changes were made - only documentation changes)
[ ] Ran the ./bin/test script and it succeeded (no code changes were made - only documentation changes)
[x ] Updated documentation if necessary

@swift-ci please test

Also, this is a style preference but I believe it's well reasoned:
Don't wrap paragraphs of markdown to a column width. Doing so only causes unnecessary diffs, both now and in the future, when reflowing the text due to minor changes in length of one of the sentences in that paragraph. For example, if I were to make a small change in this paragraph

To add an extension file for a specific symbol, use a text editor to create an
.md file within the documentation catalog. If you're working in Xcode, you can
select the documentation catalog in the project navigator and run the File ->
New -> File From Template... menu command. Then click "Extension File" under the
Documentation section. DocC ignores file names of documentation extensions; you
can choose any file name you would like as long as it uses an .md

to replace "create an .md file" with "create a markdown file", the reflowing of text would modify 7 lines for a 3 word change in one sentence.
- To add an extension file for a specific symbol, use a text editor to create an
+ To add an extension file for a specific symbol, use a text editor to create a
- `.md` file within the documentation catalog. If you're working in Xcode, you can
+ markdown file (`.md`) within the documentation catalog. If you're working in
- select the documentation catalog in the project navigator and run the File ->
+ Xcode, you can select the documentation catalog in the project navigator and run
- New -> File From Template... menu command. Then click "Extension File" under the
+ Documentation section. DocC ignores file names of documentation extensions; you
- can choose any file name you would like as long as it uses an `.md` extension.
+ extensions; you can choose any file name you would like as long as it uses an
+ `.md` extension.

Instead, I would recommend putting each sentence on its own line. A single line break in markdown is a continuation of the previous line, so this doesn't impact how the content is parsed or rendered.
Applying this style to that paragraph:

To add an extension file for a specific symbol, use a text editor to create an .md file within the documentation catalog.
If you're working in Xcode, you can select the documentation catalog in the project navigator and run the File -> New -> File From Template... menu command.
Then click "Extension File" under the Documentation section.
DocC ignores file names of documentation extensions; you can choose any file name you would like as long as it uses an .md extension.

Now, the same content change results in a much smaller diff that's and easier to read and review:
- To add an extension file for a specific symbol, use a text editor to create an `.md` file within the documentation catalog.
+ To add an extension file for a specific symbol, use a text editor to create a markdown file (`.md`) within the documentation catalog.

Oops I didn't use your style suggestion about reducing the diff noise today again.
I partially agree, although I find it annoying to read long, unwrapped lines of text in markdown or elsewhere. I think this is a trade off between making it easier to review changes and diffs, and making it easier to keep the content itself well formatted and maintained. I'll think about this some more :)

@swift-ci please test

@swift-ci please test


[World Cup] Fix live results for simultaneous matches

Description

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Thanks for this! Can you fix the failed check? I believe it's happening because you might be on npm v9, and we only support npm v7 and v8 at the moment. If you could update to one of those, then do npm install again, it'll regenerate the lock file and all should be fine. Thanks!

Thanks! Let's gooooal ⚽


[e2e]: go release main config-ldflags-assets-tag slsa3

Repo: https://github.com/slsa-framework/example-package/tree/v23.0.81
Run: https://github.com/slsa-framework/example-package/actions/runs/3005279643
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.release.main.config-ldflags-assets-tag.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.release.main.config-ldflags-assets-tag.slsa3.yml
Trigger: release
Branch: v23.0.81
Date: Wed Sep  7 05:46:18 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/v23.0.82
Run: https://github.com/slsa-framework/example-package/actions/runs/3012655682
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.release.main.config-ldflags-assets-tag.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.release.main.config-ldflags-assets-tag.slsa3.yml
Trigger: release
Branch: v23.0.82
Date: Thu Sep  8 05:31:11 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/v23.0.83
Run: https://github.com/slsa-framework/example-package/actions/runs/3020125631
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.release.main.config-ldflags-assets-tag.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.release.main.config-ldflags-assets-tag.slsa3.yml
Trigger: release
Branch: v23.0.83
Date: Fri Sep  9 05:25:17 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/v23.0.84
Run: https://github.com/slsa-framework/example-package/actions/runs/3026795884
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.release.main.config-ldflags-assets-tag.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.release.main.config-ldflags-assets-tag.slsa3.yml
Trigger: release
Branch: v23.0.84
Date: Sat Sep 10 05:22:22 UTC 2022
Tests are passing now. Closing this issue.


What's a "good" value for the loss function?

I collected ~1500 labelled data and train with yolo, got a training loss of ~10, validation loss ~ 16. Obviously the fact is to use real test data to evaluate the performance, but is there a way to tell if this training loss = 10 is a "good" one? Or does it indicate I need to use more training data to see if I can push it down to 5 or even less?
Ultimately my question is, for a well-known model with a pre-defined loss function, is there a "good" standard value for the training loss?
thanks.

I am training 25,000 images on 36 classes, getting 100+ loss after 10 Epochs !!


[BEAM-6079] Add ability for CassandraIO to delete data

Currently, it's possible to read & write data using CassandraIO.
It would be nice to be able to delete using a CassandraIO.delete().

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.

Awesome !
Thanks


Cluster Setup: Istio setup is hanging for single node clusters

Cluster setup fails for single node clusters when installing Istio.  The hang appears to happen just before the Istio install when the script is confirming that the 58 CRDs we're successfully installed.
Perhaps this is related to the master scheduling taint change/fix you may a while back?
Here's the cluster configuration I was using (for my home network):
name: home-tiny
datacenter: woodinville
environment: development
timeSources:
- pool.ntp.org
allowUnitTesting: true
kubernetes:
  allowPodsOnMasters: true
hosting:
  environment: hyperv-local
  vmDriveFolder: D:\\VM
network:
  premiseSubnet: <IP_ADDRESS>/16
  nodesSubnet: <IP_ADDRESS>/16
nodeOptions:
  upgrade: none
  passwordLength: 20
nodes:
  master-0:
    role: master
    privateAddress: <IP_ADDRESS>

Seems like there's a few things going on here:
master-0 is not ready:
root@master-0:~# kubectl get nodes
NAME       STATUS     ROLES    AGE   VERSION
master-0   NotReady   master   67s   v1.14.1

kube-proxy is not starting:
root@master-0:~# kubectl describe nodes master-0
Name:               master-0
Roles:              master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/os=linux
                    kubernetes.io/arch=amd64
                    kubernetes.io/hostname=master-0
                    kubernetes.io/os=linux
                    node-role.kubernetes.io/master=
Annotations:        kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock
                    node.alpha.kubernetes.io/ttl: 0
                    volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Fri, 07 Jun 2019 17:36:44 +0000
Taints:             node-role.kubernetes.io/master:NoSchedule
                    node.kubernetes.io/not-ready:NoSchedule
Unschedulable:      false
Conditions:
  Type             Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----             ------  -----------------                 ------------------                ------                       -------
  MemoryPressure   False   Fri, 07 Jun 2019 17:37:48 +0000   Fri, 07 Jun 2019 17:36:41 +0000   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure     False   Fri, 07 Jun 2019 17:37:48 +0000   Fri, 07 Jun 2019 17:36:41 +0000   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure      False   Fri, 07 Jun 2019 17:37:48 +0000   Fri, 07 Jun 2019 17:36:41 +0000   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready            False   Fri, 07 Jun 2019 17:37:48 +0000   Fri, 07 Jun 2019 17:36:41 +0000   KubeletNotReady              runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Addresses:
  InternalIP:  <IP_ADDRESS>
  Hostname:    master-0
Capacity:
 cpu:                4
 ephemeral-storage:  16446312Ki
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             4015816Ki
 pods:               110
Allocatable:
 cpu:                4
 ephemeral-storage:<PHONE_NUMBER>5
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             3913416Ki
 pods:               110
System Info:
 Machine ID:                 125eec83230c4b38a92c6762bbb3e973
 System UUID:                821A2093-6830-E044-A251-D8C8ADD631AD
 Boot ID:                    b293e4ec-384a-426f-87da-d7bf886c4e16
 Kernel Version:             4.15.0-45-generic
 OS Image:                   Ubuntu 18.04.1 LTS
 Operating System:           linux
 Architecture:               amd64
 Container Runtime Version:  docker://18.6.1
 Kubelet Version:            v1.14.1
 Kube-Proxy Version:         v1.14.1
PodCIDR:                     <IP_ADDRESS>/24
Non-terminated Pods:         (5 in total)
  Namespace                  Name                                CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                  ----                                ------------  ----------  ---------------  -------------  ---
  kube-system                etcd-master-0                       0 (0%)        0 (0%)      0 (0%)           0 (0%)         14s
  kube-system                kube-apiserver-master-0             250m (6%)     0 (0%)      0 (0%)           0 (0%)         74s
  kube-system                kube-controller-manager-master-0    200m (5%)     0 (0%)      0 (0%)           0 (0%)         13s
  kube-system                kube-proxy-8ww4s                    0 (0%)        0 (0%)      0 (0%)           0 (0%)         69s
  kube-system                kube-scheduler-master-0             100m (2%)     0 (0%)      0 (0%)           0 (0%)         1s
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests    Limits
  --------           --------    ------
  cpu                550m (13%)  0 (0%)
  memory             0 (0%)      0 (0%)
  ephemeral-storage  0 (0%)      0 (0%)
Events:
  Type    Reason                   Age                From                  Message
  ----    ------                   ----               ----                  -------
  Normal  NodeHasSufficientMemory  94s (x8 over 94s)  kubelet, master-0     Node master-0 status is now: NodeHasSufficientMemory
  Normal  NodeHasNoDiskPressure    94s (x8 over 94s)  kubelet, master-0     Node master-0 status is now: NodeHasNoDiskPressure
  Normal  NodeHasSufficientPID     94s (x7 over 94s)  kubelet, master-0     Node master-0 status is now: NodeHasSufficientPID
  Normal  NodeAllocatableEnforced  94s                kubelet, master-0     Updated Node Allocatable limit across pods
  Normal  Starting                 67s                kube-proxy, master-0  Starting kube-proxy.

Looks like CoreDNS pods cannot be scheduled on the master:
root@master-0:~# kubectl get pods --all-namespaces
NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE
kube-system   coredns-fb8b8dccf-4865n            0/1     Pending   0          3m57s
kube-system   coredns-fb8b8dccf-wxg2f            0/1     Pending   0          3m57s
kube-system   etcd-master-0                      1/1     Running   0          3m3s
kube-system   kube-apiserver-master-0            1/1     Running   0          4m3s
kube-system   kube-controller-manager-master-0   1/1     Running   0          3m2s
kube-system   kube-proxy-8ww4s                   1/1     Running   0          3m58s
kube-system   kube-scheduler-master-0            1/1     Running   0          2m50s
root@master-0:~# kubectl describe pod -n kube-system coredns-fb8b8dccf-4865n
Name:               coredns-fb8b8dccf-4865n
Namespace:          kube-system
Priority:<PHONE_NUMBER>
PriorityClassName:  system-cluster-critical
Node:               <none>
Labels:             k8s-app=kube-dns
                    pod-template-hash=fb8b8dccf
Annotations:        <none>
Status:             Pending
IP:
Controlled By:      ReplicaSet/coredns-fb8b8dccf
Containers:
  coredns:
    Image:       k8s.gcr.io/coredns:1.3.1
    Ports:       53/UDP, 53/TCP, 9153/TCP
    Host Ports:  0/UDP, 0/TCP, 0/TCP
    Args:
      -conf
      /etc/coredns/Corefile
    Limits:
      memory:  170Mi
    Requests:
      cpu:        100m
      memory:     70Mi
    Liveness:     http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
    Readiness:    http-get http://:8080/health delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /etc/coredns from config-volume (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from coredns-token-rsphj (ro)
Conditions:
  Type           Status
  PodScheduled   False
Volumes:
  config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      coredns
    Optional:  false
  coredns-token-rsphj:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  coredns-token-rsphj
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  beta.kubernetes.io/os=linux
Tolerations:     CriticalAddonsOnly
                 node-role.kubernetes.io/master:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  2s (x5 over 3m50s)  default-scheduler  0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.

Removing the taint doesn't allow the CoreDNS pods to be scheduled immediately,
some logs:
 cni.go:213] Unable to update cni config: No networks found in /etc/cni/net.d
Jun 07 17:49:14 master-0 kubelet[1299]: E0607 17:49:14.928967    1299 kubelet.go:2170] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docke
Jun 07 17:49:17 master-0 kubelet[1299]: W0607 17:49:17.150227    1299 container.go:422] Failed to get RecentStats("/libcontainer_4002_systemd_test_default.slice") while determining the
Jun 07 17:49:17 master-0 kubelet[1299]: W0607 17:49:17.177328    1299 container.go:523] Failed to update stats for container "/libcontainer_4009_systemd_test_default.slice": open /sys/f
Jun 07 17:49:17 master-0 kubelet[1299]: W0607 17:49:17.178877    1299 raw.go:87] Error while processing event ("/sys/fs/cgroup/memory/libcontainer_4009_systemd_test_default.slice": 0x40
Jun 07 17:49:17 master-0 kubelet[1299]: W0607 17:49:17.178976    1299 raw.go:87] Error while processing event ("/sys/fs/cgroup/devices/libcontainer_4009_systemd_test_default.slice": 0x4
Jun 07 17:49:17 master-0 kubelet[1299]: W0607 17:49:17.227464    1299 container.go:523] Failed to update stats for container "/libcontainer_4031_systemd_test_default.slice": read /sys/f
Jun 07 17:49:17 master-0 kubelet[1299]: W0607 17:49:17.294143    1299 container.go:422] Failed to get RecentStats("/libcontainer_4054_systemd_test_default.slice") while determining the
Jun 07 17:49:17 master-0 kubelet[1299]: W0607 17:49:17.323304    1299 helpers.go:137] readString: Failed to read "/sys/fs/cgroup/memory/libcontainer_4061_systemd_test_default.slice/memo
Jun 07 17:49:19 master-0 kubelet[1299]: W0607 17:49:19.445881    1

Ok I have the fix. There were 2 problems.
The first is that removing the taint does not mean that the master node is immediately available to schedule pods, so if the node is not ready before Istio is deployed, we end up waiting forever. To fix this, we must wait for the node to be ready to accept pods before proceeding after removing the taint.
When debugging I was stopping on the deploy istio step, which meant Calico was installed. So I could get the taint removed and then wait for master-0 to become ready. But when running the neon setup, I was removing the NoSchedule taint and waiting (as described above) and still it was hanging. This is because Calico is installed afterwards, the order just needs to be changed here.

new problem:
root@master-0:~# kubectl get nodes
NAME       STATUS   ROLES    AGE     VERSION
master-0   Ready    master   5m34s   v1.14.1
root@master-0:~# kubectl get pods --all-namespaces
NAMESPACE      NAME                                  READY   STATUS              RESTARTS   AGE
istio-system   istio-init-crd-10-82sft               0/1     ContainerCreating   0          4m26s
istio-system   istio-init-crd-11-9xlpm               0/1     ContainerCreating   0          4m26s
istio-system   istio-init-crd-certmanager-10-9v2tt   0/1     ContainerCreating   0          4m26s
istio-system   istio-init-crd-certmanager-11-h6zmj   0/1     ContainerCreating   0          4m25s
kube-system    calico-node-p5zzt                     1/2     CrashLoopBackOff    5          4m50s
kube-system    coredns-fb8b8dccf-9t7rc               0/1     ContainerCreating   0          4m50s
kube-system    coredns-fb8b8dccf-r559z               0/1     ContainerCreating   0          4m50s
kube-system    etcd-master-0                         1/1     Running             0          4m31s
kube-system    kube-apiserver-master-0               1/1     Running             0          5m28s
kube-system    kube-controller-manager-master-0      1/1     Running             1          5m22s
kube-system    kube-proxy-95ngq                      1/1     Running             0          4m50s
kube-system    kube-scheduler-master-0               1/1     Running             0          4m10s

This should be working now.


Give a voice to visitors by private message

Useful case for this bot is to give a voice by private message such as «give me a voice» — this option might be pinned to topic of chatroom so new visitors can get a member status or just participant. Thank you in advance!

Added a kind of in 736fe525657fd7b9ba7a9c21fb55cbcf5ff014e1

All works perfect. If visitor sends «voice» he gets only voice without any affiliations. That is what I wanted.

Released


[ITensors] [ENHANCEMENT] Factorize out contract(::ProjMPO, ::ITensor)

This defines contract(::ProjMPO, ::ITensor) which contracts the projected MPO with the ITensor without mapping the indices back.
Now product(P::ProjMPO, v::ITensor) = noprime(contract(P, v)).
This makes it so that you can generically get the full ITensor version of the projected MPO with contract(P, ITensor(1.0)), i.e. contracted with a scalar ITensor.

Codecov Report

Merging #893 (8779b64) into main (2728927) will decrease coverage by 0.61%.
The diff coverage is 77.77%.

:exclamation: Current head 8779b64 differs from pull request most recent head 1a4f054. Consider uploading reports for the commit 1a4f054 to get more accurate results

@@            Coverage Diff             @@
##             main     #893      +/-   ##
==========================================
- Coverage   75.86%   75.25%   -0.62%
==========================================
  Files          75       76       +1
  Lines        7984     7811     -173
==========================================
- Hits         6057     5878     -179
- Misses       1927     1933       +6

Impacted Files
Coverage Δ

src/ITensors.jl
100.00% <ø> (ø)

src/algorithm.jl
57.14% <57.14%> (ø)

src/mps/mpo.jl
84.05% <72.72%> (-0.54%)
:arrow_down:

src/mps/abstractmps.jl
85.94% <100.00%> (-0.37%)
:arrow_down:

src/mps/abstractprojmpo.jl
87.37% <100.00%> (ø)

src/ITensorChainRules/LazyApply/LazyApply.jl
88.23% <0.00%> (-11.77%)
:arrow_down:

src/ITensorChainRules/NDTensors/tensor.jl
28.57% <0.00%> (-3.25%)
:arrow_down:

src/ITensorChainRules/indexset.jl
86.36% <0.00%> (-2.73%)
:arrow_down:

src/Ops/Ops.jl
39.08% <0.00%> (-2.36%)
:arrow_down:

src/smallstring.jl
61.53% <0.00%> (-2.23%)
:arrow_down:

... and 35 more

Continue to review full report at Codecov.

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


GPG based profile prompts for encryption key

Describe the bug
envio asks for encryption key for GPG based profile
To Reproduce

Create a new profile using a GnuPG ID

envio$ ./target/debug/envio create gpg -g $GPG_ID
Success: Profile created

Add a new variable to the newly created profile

envio$ ./target/debug/envio add --keys foo gpg
Loading Profile
Enter your encryption key
? Enter your encryption key:
[OH NO! you forgot your key! just kidding... or did you?]

Expected behavior
I'd expect the GnuPG Pinentry programm to ask for the passphrase of the key
instead of envio asking for an encryption key.
Screenshots
N/A If applicable, add screenshots to help explain your problem.
Device (please complete the following information):

OS: macOS 14.3.1 (23D60)
Shell: zsh
CLI Version: 0.5.0

Additional context
I might be missing something in regards how to properly use envio with GnuPG, yet expectation is: I tell envio which GnuPG key to use and envio then relays all passphrase/pin input to GnuPG and Pinentry.
What am I missing?

This seems weird, I just tested it on my machine thinking the commits I just made broke something, however everything seems to work. I tried passing in a invalid fingerprint but even in that case the CLI spits out an error.
Could you try the following
envio create test -g select

envio will now give you a list of the available gpg keys on your system. Select the one you want to use and then check if it prompts for the passphrase of the key when you add a environment variable.

I removed the and re-created the profile, this time using -g select, yet when adding a new variable envio still asks for an encryption key.
I have an ed25519 key residing on a hardware security token (smart card), could this be an issue?

I believe I might know what the issue is. The way envio distinguishes profiles encrypted using gpg or passkey is by checking the first two bytes of the file.
Currently it checks for the following byte sequence:
[0x85, 0x01]

This byte sequence only exists if the key you used to encrypt was created using the RSA algorithm. If your key pair was generated using a different cryptographic algorithm then the byte sequence changes. So we need to find a different, cross platform, way to distinguish between gpg and passkey encrypted profiles.
Apologies for the delay, it's been some time since I last took a look at the codebase.

I made a few modifications to the encryption detection function, take a look now and see if it works.

Something may have broken as I can no longer add environment variables or is it getting too late for me as my 🧠 starts to 💤
% ./target/debug/envio create gpg -g $GPG_ID
Success: Profile created
% ./target/debug/envio add --envs foo=bar gpg
error: the following required arguments were not provided:
  <PROFILE_NAME>

Usage: envio add --envs <ENVS>... <PROFILE_NAME>

For more information, try '--help'.

Oh yeah sorry, I forgot to mention I changed the usage a bit.
So now you can pass environment variables in the following ways:
# key value pairs
envio add <profile_name> --envs foo=bar

# we can add multiple key value pairs
envio add <profile_name> --envs foo=bar otherfoo=otherbar

# get envio to prompt for the value of foo
envio add <profile_name> --envs foo

# multiple prompts
envio add <profile_name> --envs foo bar shar

You can use a combination of both as well.
The have to ensure you pass in the profile name first since you can pass in a infinite number of environment variables. So the reason your getting an error is beacuse envio can't find out the profile name. So make sure you pass it in first.

Something may have broken as I can no longer add environment variables or is it getting too late for me as my 🧠 starts to 💤
% ./target/debug/envio create gpg -g $GPG_ID
Success: Profile created
% ./target/debug/envio add --envs foo=bar gpg
error: the following required arguments were not provided:
  <PROFILE_NAME>

Usage: envio add --envs <ENVS>... <PROFILE_NAME>

For more information, try '--help'.

The CLI tool also kind of misguides the user a bit by putting <PROFILE_NAME> after <ENVS>.
I'll get that fixed tomorrow and also update the usage on the website

Thanks for the clarification; placing the profile name before the --envs options works! 🎉
% ./target/debug/envio add gpg --envs foo=bar
Applying changes
% ./target/debug/envio launch gpg --program  env | ag foo
foo=bar

Indeed the usage info is misleading and it would be helpful to get that changed 🙂


Quick fix for running toil from IPython

Hello! Thanks for the great software. I'm working on a workflow interface to @jupyter, and toil is seeming like the best option for a workflow engine so far, especially once Python 3 is supported. Obviously, interactivity will be very useful.
Please excuse my ignorance of the code base, and feel free to suggest any improvements. I'd be happy to be helpful however is best.
Anyways, here's my quick solution:
Presently, trying to copy and paste HelloWorld.py into an IPython interpreter results in 'module' object has no attribute '__file__' as described in #673.
From my quick investigation, this seems to be because when running jobs on workers, toil collects information about any packages which have been imported, and distributes the paths to the files where those modules are defined to any workers. Obviously, if a function is defined interactively, then there's no path that toil can provide.
So, okay. Let's assume that we're okay with defining functions in files, but we want to create and run workflows from IPython. That eliminates most of the issue already. There's one snag left, though, which occurs in _runningOnWorker in resource.py, where toil determines whether a module is running on a worker node. To do this, it determines the path for each module. But when it gets to __main__ run from IPython, there's no path and it fails.
So I figure that it's safe to assume that:

if you're running toil under IPython, you'll only be doing so from the master node
This is the only situation that would cause an AttributeError in _runningOnWorker

Then, we can just catch the error and report that we are not running this module on a woker.

After changing those few lines, I can write the following to the file HelloWorld.py:
def helloWorld(message, memory="2G", cores=2, disk="1G"):
    return "Hello, world!, here's a message: %s" % message

and then, I can manually define options which would normally be coming from command line flags, and start the workflow from the IPython interpreter as follows.
(py2) oliver@oliver-arch:~/lbl/toil % ipython
Python 2.7.13 |Continuum Analytics, Inc.| (default, Dec 20 2016, 23:09:15)
Type "copyright", "credits" or "license" for more information.

IPython 5.4.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from toil.job import Job
   ...: import os
   ...: from HelloWorld import helloWorld
   ...:
   ...: j = Job.wrapFn(helloWorld, "You did it!")
   ...:
   ...: if __name__=="__main__":
   ...:     jobstore="file:jobStore"
   ...:     options = Job.Runner.getDefaultOptions(jobstore)
   ...:     print(Job.Runner.startToil(j, options)) #Prints Hello, world!, ...
   ...:

which produces the expected output.
oliver-arch 2017-07-28 14:39:13,846 MainThread INFO toil.lib.bioio: Root logger is at level 'INFO', 'toil' logger at level 'INFO'.
oliver-arch 2017-07-28 14:39:13,846 MainThread INFO toil.lib.bioio: Root logger is at level 'INFO', 'toil' logger at level 'INFO'.
oliver-arch 2017-07-28 14:39:13,848 MainThread INFO toil.jobStores.abstractJobStore: The workflow ID is: 'c29dd384-a9d4-4d1a-9334-c7a1c12f4fcb'
oliver-arch 2017-07-28 14:39:13,851 MainThread INFO toil.common: Using the single machine batch system
oliver-arch 2017-07-28 14:39:13,851 MainThread WARNING toil.batchSystems.singleMachine: Limiting maxCores to CPU count of system (4).
oliver-arch 2017-07-28 14:39:13,851 MainThread WARNING toil.batchSystems.singleMachine: Limiting maxMemory to physically available memory<PHONE_NUMBER>).
oliver-arch 2017-07-28 14:39:13,852 MainThread INFO toil.common: Created the workflow directory at /tmp/toil-c29dd384-a9d4-4d1a-9334-c7a1c12f4fcb-248fe4da-3d63-4245-8143-8f0f876bf6d0
oliver-arch 2017-07-28 14:39:13,852 MainThread WARNING toil.batchSystems.singleMachine: Limiting maxDisk to physically available disk<PHONE_NUMBER>).
oliver-arch 2017-07-28 14:39:13,864 MainThread INFO toil.common: No user script to hot-deploy.
oliver-arch 2017-07-28 14:39:13,864 MainThread INFO toil.common: Written the environment for the jobs to the environment file
oliver-arch 2017-07-28 14:39:13,864 MainThread INFO toil.common: Caching all jobs in job store
oliver-arch 2017-07-28 14:39:13,865 MainThread INFO toil.common: 0 jobs downloaded.
oliver-arch 2017-07-28 14:39:13,874 MainThread INFO toil: Running Toil version 3.10.0a1-38577c704edb92c8c1d2c3274c46f1f6c04e9def.
oliver-arch 2017-07-28 14:39:13,874 MainThread INFO toil.realtimeLogger: Real-time logging disabled
oliver-arch 2017-07-28 14:39:13,877 MainThread INFO toil.toilState: (Re)building internal scheduler state
oliver-arch 2017-07-28 14:39:13,877 MainThread INFO toil.leader: Found 1 jobs to start and 0 jobs with successors to run
oliver-arch 2017-07-28 14:39:13,877 MainThread INFO toil.leader: Checked batch system has no running jobs and no updated jobs
oliver-arch 2017-07-28 14:39:13,878 MainThread INFO toil.leader: Starting the main loop
oliver-arch 2017-07-28 14:39:13,878 MainThread INFO toil.leader: Issued job 'helloWorld' 5/x/jobnnkBip with job batch system ID: 0 and cores: 2, disk: 1.0 G, and memory: 2.0 G
oliver-arch 2017-07-28 14:39:14,245 MainThread INFO toil.leader: Job ended successfully: 'helloWorld' 5/x/jobnnkBip
oliver-arch 2017-07-28 14:39:14,246 MainThread INFO toil.leader: No jobs left to run so exiting.
oliver-arch 2017-07-28 14:39:14,246 MainThread INFO toil.leader: Finished the main loop
oliver-arch 2017-07-28 14:39:14,246 MainThread INFO toil.serviceManager: Waiting for service manager thread to finish ...
oliver-arch 2017-07-28 14:39:14,879 MainThread INFO toil.serviceManager: ... finished shutting down the service manager. Took 0.632889986038 seconds
oliver-arch 2017-07-28 14:39:14,880 MainThread INFO toil.statsAndLogging: Waiting for stats and logging collator thread to finish ...
oliver-arch 2017-07-28 14:39:14,885 MainThread INFO toil.statsAndLogging: ... finished collating stats and logs. Took 0.00534582138062 seconds
oliver-arch 2017-07-28 14:39:14,886 MainThread INFO toil.leader: Finished toil run successfully
oliver-arch 2017-07-28 14:39:14,898 MainThread INFO toil.common: Attempting to delete the job store
oliver-arch 2017-07-28 14:39:14,900 MainThread INFO toil.common: Successfully deleted the job store
Hello, world!, here's a message: You did it!

I haven't tried this with workers, and I may very well be misunderstanding the _runningOnWorker function. Or there may be other unintended consequences that I'm not aware of.
Thanks, and let me know what you think!
Oliver

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Thanks for the PR!
Jenkins, test this please.

Jenkins, test this please.

Jenkins, add to whitelist.


Updated routes for API schema v1.0.4 changes

Tests are failing in ci/dockercloud (/Dockerfile.dev) because they endpoint routes in there need to be updated for the new schema, as well.

@AndrewCopeland the failed test above re-ran and succeeded... i don't know why github is not reflecting that pass.  It's a false fail.


throw exception when trying to connect to server

Disconnected: io.netty.handler.codec.DecoderException: com.google.gson.JsonParseException: Don't know how to turn null into a Component
io.netty.handler.codec.DecoderException: com.google.gson.JsonParseException: Don't know how to turn null into a Component

We've seen this over at Geyser as well. Is this your server? Is there a stack trace?

Sadly it's not my server so I don't know whether there is one or not.

Sadly it's not my server.I found the exception when I was using another project program which is using MCProtocolLib library.
I contacted that auther and he told me the exception is throw directly from MCProtocolLib library.

Having a way to reproduce this would be the most helpful.

If the program outputs a stack trace to the console or logs, please post that as well. Otherwise I can't tell where exactly the error is coming from.

Whether or not this is caused by an issue with MCProtocolLib itself, I think that error message is actually coming from the server and not the library itself.

Whether or not this is caused by an issue with MCProtocolLib itself, the message definitely seems to be coming from the server, not the library. The error message is part of Minecraft's codebase and not Gson in general.


Release version 1.3.1

Dependencies
Issues of this new version should be done before resolving this issue.
Checklist

[x] Upgrade the application's version.
[x] Add a new version in changelog.
[x] Update version in readme.
[x] Reset the application's version.
[x] Create a release on the repository.

Done.


Update installation docs

PR Summary:
Remove mosdef channel from installation docs.
PR Checklist

[x] Includes appropriate unit test(s)
[x] Appropriate docstring(s) are added/updated
[x] Code is (approximately) PEP8 compliant
[x] Issue(s) raised/addressed?

Are you using anything from omnia? It comes up in search:
https://github.com/mosdef-hub/foyer/search?q=omnia
We are generally trying to move people away from it; now that the migration to conda-forge is nearly complete, it'll stop being maintained.

Are you using anything from omnia? It comes up in search:
https://github.com/mosdef-hub/foyer/search?q=omnia
We are generally trying to move people away from it; now that the migration to conda-forge is nearly complete, it'll stop being maintained.

Good point! I will try remove omnia dependency for foyer.

Closed since this PR is open from a my master branch. Will open a new one that addressed all the comments.


Test bench for countBy

Add a test bench for the countBy circuit to tests loop + delay.
clang++ -L/usr/local/opt/sqlite/lib    countBy_tb.o verilated.o verilated_vcd_c.o VcountBy_tb__ALL.a    -o VcountBy_tb -lm -lstdc++
obj_dir/VcountBy_tb
                  10: tick = 0, i = 14, o = 14
                  20: tick = 1, i = 7, o = 21
                  30: tick = 2, i = 3, o = 24
                  40: tick = 3, i = 250, o = 18
PASSED

Aside: The cla check is stuck due to earlier google outage- pushing an empty commit or similar should get it going again.


Inconsistency of page layout position.

If the main content div contains long enough text to make the scrollbar appears, it'll push everything a little bit to the left.

The first and the third pictures have short text (no scrollbar), while the second and the fourth pictures have long text (have the scrollbar on the right).
They clearly didn't have the same layout position.
When it's come to quick page switching this might cause some nausea.

This is Vitepress' Problem
https://vitepress.vuejs.org also has this issues
I don't think we can fix this unless we disable the scroll bar.
Any ideas?


building issue of filesystem header

Hi. I'm trying to rebuild the newest version of LSOracle, and stuck in an error from . The log shows below:
In file included from /home/jingxiao/Tools/LSOracle/core/lsoracle.cpp:56:0: /home/jingxiao/Tools/LSOracle/core/commands/output/get_all_partitions.hpp:17:10: fatal error: filesystem: No such file or directory  #include <filesystem>           ^~~~~~~~~~~~ compilation terminated. core/CMakeFiles/lsoracle.dir/build.make:62: recipe for target 'core/CMakeFiles/lsoracle.dir/lsoracle.cpp.o' failed make[2]: *** [core/CMakeFiles/lsoracle.dir/lsoracle.cpp.o] Error 1 CMakeFiles/Makefile2:1217: recipe for target 'core/CMakeFiles/lsoracle.dir/all' failed make[1]: *** [core/CMakeFiles/lsoracle.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2
Could you please have a look? Thank you.

PR #39 updates the cmake file to check for compatibility and add the compiler flag as needed.


Fusions - adjoined transcript

Some revisions from "fusion transcript" to "adjoined transcript" were lost or reverted during the transition to hgvs-nomenclature.org and missed in #22.
The RNA pages need to be updated with this change.

@ahwagner Is this now closed?

Yes, this was completed in #131


fix: Update user feedback script to use correct Google Analytics tracker

The script must be more robust to find the correct Google Analytics tracker instead of just using the first one returned by ga.getAll().
With the current solution, the Google Analytics tracker is specified (and can easily be changed) in the mkdocs.yml file:
# Extra variables
extra:
    ...
    user_feedback: "true"
    ga_tracking_id: "UA-45639808-4"

@mrfyda with this solution it's easier to change the Google Analytics property that will keep track of the user feedback events. Now we only need to decide which one we should use.

I'm closing this pull request because @fjrdomingues and I have already figured out the most straightforward solution in the following pull requests:
https://github.com/codacy/codacy-mkdocs-material/pull/34
https://github.com/codacy/codacy-mkdocs-material/pull/35
I'm going to open a new pull request to clean up the feedback block JavaScript.


Error: Invariant failed: resp.output must be defined

When I tested using the default dataset sample code, it produced Error: Invariant failed: resp.output must be defined
I haven't found a corresponding solution in the issues. What is this problem?

@libukai can you please provide exact steps to reproduce? What command did you run? Which promptfoo version are you on? Thanks!

After adding the --provider parameter, the generate command worked successfully.
You said the generation use the "grading provider" and what's the "grading provider"?

I found a responsible issue  #1158
Can I think the "grading provider" is the default gpt-4o of OpenAI

Can you share the full stack trace included with the error?


Missing requirements.txt and wrong script path in the README

Thanks for sharing the code, however the requirements.txt is missing and script path in the README is wrong.
Please fix it.

done


Parsing error when function argument rec deconstruction is empty

Hello! Thanks for the great tool! Superuseful!
foo : Point -> Point
foo ({} as p) = p

results in Parsing error, but happily compiles!

@shepelevstas This is rather an issue in stil4m/elm-syntax. Could you open an issue there instead?

Done! =)

This was solved in ticket https://github.com/stil4m/elm-syntax/issues/42 that @shepelevstas reported, so when there is a new release of elm-analyse upgrading the dependency on elm-syntax this can be closed.


MacOS (big sur, x86) doesn't work with following error:

unexpected LLD stderr:
l64.lld: error: unable to find library for -lSystem

Hey @ityonemo, thanks for the suggestions, still no luck haha, just sharing some more info. Also manage to reproduce the same behaviour in my iMac, which is also on BigSur.
macOS: 11.1-x86_64
CLT: <IP_ADDRESS>.1.1607026830
Xcode: 12.3

It looks to me that zig knows where to find XCode's libc though.
/Users/rodrigues/code/benchin/deps/zigler/zig/zig-macos-x86_64-0.7.1/zig libc
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include

# …

Wish zig could tell me a bit more about the error. as build.zig is there at this folder and it knows libc include path:
.zigler_compiler/dev/Elixir.Ziggy via ↯ v0.7.1
❯ /Users/rodrigues/code/benchin/deps/zigler/zig/zig-macos-x86_64-0.7.1/zig build --verbose
error: FileNotFound

Passing as a reference the full error, with a IO.inspect() call just before calling the executable:
Compiling 1 file (.ex)

15:53:53.265 [warn]  macos support is experimental

15:53:53.296 [debug] compiling nif for module Ziggy in path /var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy

15:53:53.341 [debug] wrote build.zig to /var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy/build.zig
{:zigggin,
 [
   compiler: %Zig.Compiler{
     assembly: [],
     assembly_dir: "/var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy",
     code_file: "/var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy/Elixir.Ziggy.zig",
     compiler_target: :host,
     module_spec: %Zig.Module{
       c_includes: [],
       code: [[], [],
        "// ref: /Users/rodrigues/code/benchin/lib/ziggy.ex line: 4\n",
        "/// nif: ziggy_square/1\nfn ziggy_square(item: i64) i64 {\n  return item * item;\n}",
        "\n"],
       dry_run: false,
       file: "/Users/rodrigues/code/benchin/lib/ziggy.ex",
       imports: [std: "std", e: "erl_nif.zig", beam: "beam.zig"],
       include_dirs: [],
       libs: [],
       link_libc: false,
       local_zig: false,
       module: Ziggy,
       nifs: [
         %Zig.Parser.Nif{
           args: ["i64"],
           arity: 1,
           doc: nil,
           name: :ziggy_square,
           opts: [],
           retval: "i64",
           test: nil
         }
       ],
       otp_app: :benchin,
       resources: [],
       system_include_dirs: [],
       test_dirs: nil,
       version: #Version<0.1.0>,
       zig_file: "",
       zig_version: #Version<0.7.1>
     },
     test_dirs: []
   },
   opts: [
     cd: "/var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy",
     stderr_to_stdout: true
   ],
   zig_executable: "/Users/rodrigues/code/benchin/deps/zigler/zig/zig-macos-x86_64-0.7.1/zig",
   zig_tree: "/Users/rodrigues/code/benchin/deps/zigler/zig/zig-macos-x86_64-0.7.1"
 ]}

== Compilation error in file lib/ziggy.ex ==
** (CompileError)  this zig compiler warning hasn't been incorporated into the parser.
Please file a report at:
https://github.com/ityonemo/zigler/issues
warning: unexpected LLD stderr:
ld64.lld: error: Unable to find library for -lSystem

error: FileNotFound

    (zigler 0.7.2) lib/zig/parser/error.ex:54: Zig.Parser.Error.parse/2
    (zigler 0.7.2) lib/zig/command.ex:37: Zig.Command.compile/2
    (zigler 0.7.2) lib/zig/compiler.ex:102: Zig.Compiler.compilation/2
    (zigler 0.7.2) expanding macro: Zig.Compiler.__before_compile__/1
    lib/ziggy.ex:1: Ziggy (module)

Hey @ityonemo, thanks for the suggestions, still no luck haha, just sharing some more info. Also manage to reproduce the same behaviour in my iMac, which is also on BigSur.
macOS: 11.1-x86_64
CLT: <IP_ADDRESS>.1.1607026830
Xcode: 12.3

It looks to me that zig knows where to find XCode's libc though.
/Users/rodrigues/code/benchin/deps/zigler/zig/zig-macos-x86_64-0.7.1/zig libc
# The directory that contains `stdlib.h`.
# On POSIX-like systems, include directories be found with: `cc -E -Wp,-v -xc /dev/null`
include_dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include

# The system-specific include directory. May be the same as `include_dir`.
# On Windows it's the directory that includes `vcruntime.h`.
# On POSIX it's the directory that includes `sys/errno.h`.
sys_include_dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include

# …

Wish zig could tell me a bit more about the error. as build.zig is there at this folder and it knows libc include path:
.zigler_compiler/dev/Elixir.Ziggy via ↯ v0.7.1
❯ /Users/rodrigues/code/benchin/deps/zigler/zig/zig-macos-x86_64-0.7.1/zig build --verbose
error: FileNotFound

Passing as a reference the full error, with a IO.inspect() call just before calling the executable:
Compiling 1 file (.ex)

15:53:53.265 [warn]  macos support is experimental

15:53:53.296 [debug] compiling nif for module Ziggy in path /var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy

15:53:53.341 [debug] wrote build.zig to /var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy/build.zig
{:zigggin,
 [
   compiler: %Zig.Compiler{
     assembly: [],
     assembly_dir: "/var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy",
     code_file: "/var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy/Elixir.Ziggy.zig",
     compiler_target: :host,
     module_spec: %Zig.Module{
       c_includes: [],
       code: [[], [],
        "// ref: /Users/rodrigues/code/benchin/lib/ziggy.ex line: 4\n",
        "/// nif: ziggy_square/1\nfn ziggy_square(item: i64) i64 {\n  return item * item;\n}",
        "\n"],
       dry_run: false,
       file: "/Users/rodrigues/code/benchin/lib/ziggy.ex",
       imports: [std: "std", e: "erl_nif.zig", beam: "beam.zig"],
       include_dirs: [],
       libs: [],
       link_libc: false,
       local_zig: false,
       module: Ziggy,
       nifs: [
         %Zig.Parser.Nif{
           args: ["i64"],
           arity: 1,
           doc: nil,
           name: :ziggy_square,
           opts: [],
           retval: "i64",
           test: nil
         }
       ],
       otp_app: :benchin,
       resources: [],
       system_include_dirs: [],
       test_dirs: nil,
       version: #Version<0.1.0>,
       zig_file: "",
       zig_version: #Version<0.7.1>
     },
     test_dirs: []
   },
   opts: [
     cd: "/var/folders/h_/0bzb9mk979x57yqyqz35k7c80000gn/T/.zigler_compiler/dev/Elixir.Ziggy",
     stderr_to_stdout: true
   ],
   zig_executable: "/Users/rodrigues/code/benchin/deps/zigler/zig/zig-macos-x86_64-0.7.1/zig",
   zig_tree: "/Users/rodrigues/code/benchin/deps/zigler/zig/zig-macos-x86_64-0.7.1"
 ]}

== Compilation error in file lib/ziggy.ex ==
** (CompileError)  this zig compiler warning hasn't been incorporated into the parser.
Please file a report at:
https://github.com/ityonemo/zigler/issues
warning: unexpected LLD stderr:
ld64.lld: error: Unable to find library for -lSystem

error: FileNotFound

    (zigler 0.7.2) lib/zig/parser/error.ex:54: Zig.Parser.Error.parse/2
    (zigler 0.7.2) lib/zig/command.ex:37: Zig.Command.compile/2
    (zigler 0.7.2) lib/zig/compiler.ex:102: Zig.Compiler.compilation/2
    (zigler 0.7.2) expanding macro: Zig.Compiler.__before_compile__/1
    lib/ziggy.ex:1: Ziggy (module)

Are there any workarounds on this for the time being? I tried local_zig: true since zig works on my machine, but that made no difference.

I don't but if you figure something out a PR would be appreciated =D.  I'm planning on working on this once Zig 0.8.0 hits (circa 2-3 weeks?)...  I am ready... with sosumi on my laptop and a CI strategy.

macos now solved and CI'd https://github.com/ityonemo/zigler/pull/250


DG broken formatting

I think this is only an issue with the GFMD rendering. This is how it appears in the deployed pages.

I agree it renders correctly in deployed pages, but best to render it correctly there as well.


link in readme breaks

404 https://dev.to/stein/bio-all-your-parentheses-are-belong-to-us-25lo

Thanks for spotting, article has moved to a new home
Pushed the fix


Replace axios with fetch

IMHO, it makes sense to replace axios with fetch.

IMHO, it makes sense to replace fetch with undici 😅

Axios dependency is reporting security issues when downloading the package, but I don't see Axios being used anywhere in the package itself. Forgot to delete the dependency?


Make the text capture element multiline

This is a suggestion of a change to resolve #114. Seems to work for me but:

IDK if sometimes single-line input may be preferable?
This is the first time I interact with TypeScript and this repo so I may have missed something, please check.
I didn't test it on mobile.
The text area element should probably be wider, but in order to achieve this, ideally, the window itself needs to be wider. I could do smth like textAreaComponent.inputEl.cols = 60; but not sure if this is a one-size-fits-all solution.

Hey @alexlyzhov! Thank you very much for spending time on contributing!
I actually already had a prototype for this, including how the different parts should interact, etc. etc.
There were a few things that I believed important to include, so I implemented a solution which seems to work on both desktop and mobile. I'll make a release with it now.


Update New-Team.md

Docs Build status updates of commit ccc4cc9:
:clock10: Full build: the average full build time is 12 min(s) 13 sec(s), this is based on the last 594 build(s) for this repository.

``

New-Team

Docs Build status updates of commit ccc4cc9:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

teams/teams-ps/teams/New-Team.md
:x:Error

Details

:x:Error

Details

teams/teams-ps/teams/New-Team.md

[Error]

Failed to parse teams-ps/teams/New-Team.md due to :468:(406) '

[Get-Team]
'
 Expect hyperlink, but got [Get-Team], please use PlatyPS to do content validation

Line 138: [Error] W:\25tg-s\.optemp\packages\opbuild.scripts.1.77.0\tools\opbuild\docset.prebuild.ps1 failed to execute

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit de61997:
:clock10: Full build: the average full build time is 11 min(s) 58 sec(s), this is based on the last 728 build(s) for this repository.

Docs Build status updates of commit de61997:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

teams/teams-ps/teams/New-Team.md
:x:Error

Details

:x:Error

Details

teams/teams-ps/teams/New-Team.md

[Error]

Failed to parse teams-ps/teams/New-Team.md due to :468:(406) '

[Get-Team]
'
 Expect hyperlink, but got [Get-Team], please use PlatyPS to do content validation

Line 138: [Error] W:\gcdi-s\.optemp\packages\opbuild.scripts.1.77.0\tools\opbuild\docset.prebuild.ps1 failed to execute

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@achiapro - looks like some validation errors. Please resolve and re-submit.


chore(master): release 1.11.6

:robot: I have created a release beep boop
1.11.6 (2024-05-21)
Bug Fixes

set highlight group Subsitute (#1983) (479638f)
sometimes eol highlight being displayed incorrectly (#1988) (9e208f2)
Support inccommand, including "split" (#1985) (c01e149)
wildmenu items are being set repeatedly (#1989) (fc48f03)
wildmenu sometimes does not show (c01e149)

Documentation

indicate you can view logs in the Debug Console (#1995) (c00e7dc)

Refactor

don't hardcode substitute highlight (#1991) (1b6bb7b)
lua: move autocmds,filetype to runtime/modules (#1990) (c81e64d)
remove the border of the custom highlights (479638f)

This PR was generated with Release Please. See documentation.

Wait #1976

Might I suggest changing this to 1.12.0? I think the incommand changes are worthy of a minor bump :)

Inccommand should have been a feature

Inccommand support should have been a feature

We can fix that!
https://github.com/googleapis/release-please?tab=readme-ov-file#how-can-i-fix-release-notes

My plan for this version is completed. Feel free to release it.

@ollien unfortunately it requires a force push to main to edit the release notes

@ollien nevermind, I see what you did! I didn't know it worked like that, cool.

:robot: Release is at https://github.com/vscode-neovim/vscode-neovim/releases/tag/v1.12.0 :sunflower:

@theol0403 I didn't do anything! I think @xiyaowong did. Regardless, cool beans :)


Update the example of attributes processor

Description:
Update attributes in the config.yaml of attributes processor. So the regex value is consistent with the comment above it, as discussed in the issue.

I think you need to rebase this PR, it includes changes from another PR.

Hi @rakyll, I will close this PR, since it has got merged upstream. Thank you!


abort in fieldline tracing example

I tried the field line tracing example, but did not get far:
import fusionsc as fsc
import numpy as np
from fusionsc.devices import jtext

efitExample = jtext.exampleGeqdsk()
field = fsc.magnetics.MagneticConfig.fromEFit(efitExample).compute(jtext.defaultGrid())

startPoint = [1.2, 0, 0]
fieldLine, b = fsc.flt.followFieldlines(
    startPoint, field, recordEvery=10, stepSize=0.01, turnLimit=400
)

and got the following backtrace due to a malloc error:
(gdb) bt
#0  0x0000155554dd4184 in __pthread_kill_implementation () from /lib64/libc.so.6
#1  0x0000155554d7c69e in raise () from /lib64/libc.so.6
#2  0x0000155554d64942 in abort () from /lib64/libc.so.6
#3  0x0000155554d657a7 in __libc_message_impl.cold () from /lib64/libc.so.6
#4  0x0000155554dde1b5 in malloc_printerr () from /lib64/libc.so.6
#5  0x0000155554de15dc in _int_malloc () from /lib64/libc.so.6
#6  0x0000155554de37de in calloc () from /lib64/libc.so.6
#7  0x000015555383d83d in capnp::MallocMessageBuilder::allocateSegment(unsigned int) () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#8  0x000015555388c19d in capnp::_::BuilderArena::allocate(unsigned int) () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#9  0x000015555381aac2 in capnp::_::PointerBuilder::getStruct(capnp::_::StructSize, capnp::word const*) () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#10 0x000015555368907e in capnp::_::PointerHelpers<fsc::Float64Tensor, (capnp::Kind)3>::get(capnp::_::PointerBuilder, capnp::word const*) () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#11 0x000015555367f348 in ?? () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#12 0x0000155553682c1b in ?? () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#13 0x0000155553936707 in kj::_::TransformPromiseNodeBase::get(kj::_::ExceptionOrValue&) () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#14 0x000015555393bb73 in kj::_::ForkHubBase::fire() () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#15 0x000015555393542e in kj::EventLoop::turn() () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#16 0x000015555393f309 in kj::_::waitImpl(kj::Own<kj::_::PromiseNode, kj::_::PromiseDisposer>&&, kj::_::ExceptionOrValue&, kj::WaitScope&, kj::SourceLocation) ()
   from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#17 0x000015555352c10d in ?? () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#18 0x00001555539ba64b in kj::Function<void (kj::Function<void ()>)>::Impl<kj::ExceptionCallback::RootExceptionCallback::getThreadInitializer()::{lambda(kj::Function<void ()>)#1}>::operator()(kj::Function<void ()>) ()
   from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#19 0x00001555539cebc6 in kj::Thread::runThread(void*) () from /usr/local/lib64/python3.12/site-packages/fusionsc/native.cpython-312-x86_64-linux-gnu.so
#20 0x0000155554dd21f7 in start_thread () from /lib64/libc.so.6
#21 0x0000155554e5442c in clone3 () from /lib64/libc.so.6

Unfortunately the fusionsc library does not have debugging symbols enabled.

Hi David. That's indeed not very far :(. That looks like it's trying to allocate excessive memory. Are you on the IPP linux VMs? Is this the 2.3.0 version?

Aaaand turns out it's something completely different. When I recently changed the recording logic for field lines to always include the last point, I apparently made a mistake and introduced a buffer overflow (that required a very specific case to trigger). On Windows that didn't do anything (which is why it didn't crash for the example), but on Linux it corrupted the freelist link.
I think I have a fix, but I need to test it tomorrow before pushing a bugfix release. I will keep you updated.

Hi David,
the 2.3.2 release should contain the fix. Could you update (pip install --upgrade fusionsc) and try again?


Exclude test folder in npm package

The test folder should be excluded from npm. It also seems to be causing issues with some Sprockets setup in Rails.

@tsov thanks for the report. Since the fallback behavior in the case of no .npmignore is to use the contents of .gitignore, it seems like we might want to combine some of what we have in there with this. Do we need any of these?
.eslintrc
.npmignore
.travis.yml
Gruntfile.js
bower.json
browsers.json
docs
dist
karma.config.js
test

Sorry for the delay! Ideally only these files should be included in the package:
dist/
package.json
component.json
LICENSE.txt

What do you think?

Sounds good — I've pulled in your change and added a few more things to make the list match up to what we discussed here. Please let us know if you run into any more issues.


Prop disableHoverableContent does not work on Tooltip

Describe the bug
Setting disableHoverableContent of Tooltip does not disable the content on hover.
Using the component in shadcn-svelte, a workaround is to wrap <Tooltip.Content> in {#if cond} block with same condition in disableHoverableContent.
Reproduction

Use <Tooltip> component
Set prop <Tooltip.Root disableHoverableContent>
Hover on trigger
The tooltip still shows up

Logs
No response
System Info
System:
    OS: Linux 6.7 EndeavourOS
    CPU: (20) x64 12th Gen Intel(R) Core(TM) i7-12700
    Memory: 7.73 GB / 31.13 GB
    Container: Yes
    Shell: 5.9 - /usr/bin/zsh
  Binaries:
    Node: 20.10.0 - ~/.local/share/pnpm/node
    Yarn: 1.22.21 - ~/.local/share/pnpm/yarn
    npm: 10.2.3 - ~/.local/share/pnpm/npm
    pnpm: 8.12.0 - ~/.local/.bin/pnpm
  npmPackages:
    @sveltejs/kit: ^2.0.0 => 2.0.4
    bits-ui: ^0.11.8 => 0.11.8
    mode-watcher: ^0.1.2 => 0.1.2
    svelte: ^4.2.8 => 4.2.8

Severity
annoyance

You're running an old version of bits-ui, run npm install bits-ui@latest and it should work. Let me know if not and I'll look into it further.


Hangouts "chat pop out" feature doesn't work

Description
Google hangouts (https://hangouts.google.com/) allows you to "pop out" chat windows (i.e., open chats on a separate window). This feature seems to be broken, the current behavior is that a window is opened, but it does not load the content of the chat (it remains blank).
Steps to reproduce issue
Create an application using:
nativefier https://hangouts.google.com/

Run the application, login with your Google credentials. Open a chat, and try to pop the chat out by pressing on the arrow (as shown below)

Details

Are you nativefying a public website? yes
Feature request? Have you looked at nativefier --help to see if an existing option could fit your needs? yes, but there is nothing obvious
Full nativefier command used to build your app: nativefier https://hangouts.google.com/
Version of Nativefier (run nativefier --version): v7.5.1
Version of node.js (run node --version): v6.11.1
OS: macos 10.13

Hi @jmdacruz and thanks for the feedback 👍. This is a known issue, closing as duplicate of #408. Feel free to follow discussion there, and fix attempts welcome. I tried digging the problem a few days ago and haven't got anything yet; the popup original contents (some html embedding a js payload and an iframe) are loaded but for some reason the rest of the load cascade stays interrupted at this point.


Can't compile Square example "clang-11: error: cannot find ROCm installation."

Built Hip-Clang Everything worked fine as far as I can tell.
Downloaded the Square Example
Ran
/opt/rocm/bin/hipconfig --full
make

/opt/rocm/hip/bin/hipcc  square.cpp -o square.out
clang-11: error: cannot find ROCm installation.  Provide its path via --rocm-path, or pass -nogpulib.
Makefile:21: recipe for target 'square.out' failed
make: *** [square.out] Error 1

Here's the output of hipconfig:
`
HIP version  : 3.5.20182-dabba8a3
== hipconfig
HIP_PATH     : /opt/rocm/hip
HIP_COMPILER : clang
HIP_PLATFORM : hcc
HIP_RUNTIME  : HCC
CPP_CONFIG   :  -D__HIP_PLATFORM_HCC__=  -I/opt/rocm/hip/include -I/opt/rocm/llvm/bin/../lib/clang/11.0.0 -I/opt/rocm/hsa/include
== hip-clang
HSA_PATH         : /opt/rocm/hsa
HIP_CLANG_PATH   : /opt/rocm/llvm/bin
clang version 11.0.0 (https://github.com/llvm/llvm-project.git efa70843aa711802d57d1600d705a5bb51b4c740)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/rocm/llvm/bin
LLVM (http://llvm.org/):
LLVM version 11.0.0git
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: skylake
Registered Targets:
amdgcn - AMD GCN GPUs
r600   - AMD GPUs HD2XXX-HD6XXX
x86    - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
hip-clang-cxxflags :  -std=c++11 -isystem /opt/rocm-3.3.0/llvm/lib/clang/11.0.0/include/.. -isystem /opt/rocm/hsa/include -isystem /opt/rocm/hip/include -D__HIP_ARCH_GFX900__=1  -O3
hip-clang-ldflags  :  -L/opt/rocm/hip/lib -Wl,--rpath-link=/opt/rocm/hip/lib -lhip_hcc -O3 -lgcc_s -lgcc -lpthread -lm
=== Environment Variables
PATH=/opt/rocm/hcc/bin:/opt/rocm/hip/bin:/opt/rocm/opencl/bin:/home/skullcrab/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin/x86_64
HIP_PLATFORM=hcc
HIP_PATH=/opt/rocm/hip
HCC_AMDGPU_TARGET=gfx900
HCC_HOME=/opt/rocm/hcc
`
I just followed the 3.3 ROCm quick start guide to the letter.  And then followed the HIP-Clang guide almost exactly.  (I added "-G Ninja"  to the cmake args and then built with ninja as regular make took hours to compile LLVM.)
Is there anything I'm missing?

Alright, instead of following the LLVM & Device lib instructions in HIP-Install, I followed the ones on https://github.com/RadeonOpenCompute/ROCm-Device-Libs   instead, and then I was able to build the square example

If anyone else stumbled upon this, there' an alternate way to get this to work when following the HIP-Clang install guide.
The real error is that LLVM/Clang can't find the device libraries.
After building the ROCm Device Libs, set the location of the bitcodes via environment variable.
export DEVICE_LIB_PATH=~/ROCm-Device-Libs/build/dist/amdgcn/bitcode/
LLVM/Clang will pick this up should pick this up.