UT: Improve Unit test coverage for image factory

https://jira.appcelerator.org/browse/MOD-2599

Fails

:no_entry_sign:

npm run lint failed, please check messages below for output.

Warnings

:warning:

:mag: Can't find junit reports at ./TESTS-*.xml, skipping generating JUnit Report.

Messages

:book:

:bomb: Here's the output of npm run lint:
><EMAIL_ADDRESS>lint /Users/build/jenkins/workspace/modules_ti.imagefactory_PR-37
> npm run lint:android && npm run lint:ios && npm run lint:js && npm run lint:docs

><EMAIL_ADDRESS>lint:android /Users/build/jenkins/workspace/modules_ti.imagefactory_PR-37
> clang-format-lint android/src/**/*.java

><EMAIL_ADDRESS>lint:ios /Users/build/jenkins/workspace/modules_ti.imagefactory_PR-37
> clang-format-lint ios/**/*.m ios/**/*.h

Error: Formatting incorrect on "ios/Classes/TiImagefactoryModuleAssets.m", proposed changes: <?xml version='1.0'?>
<replacements xml:space='preserve' incomplete_format='false'>
<replacement offset='131' length='0'> </replacement>
<replacement offset='132' length='1'></replacement>
<replacement offset='157' length='0'> </replacement>
<replacement offset='158' length='1'></replacement>
<replacement offset='254' length='7'>

  </replacement>
<replacement offset='325' length='7'>

  </replacement>
</replacements>

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>lint:ios: `clang-format-lint ios/**/*.m ios/**/*.h`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>lint:ios script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!       Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/build/.npm/_logs/2020-04-21T15_23_08_515Z-debug.log

New dependencies added: jasmine-core, karma, karma-jasmine, karma-junit-reporter, karma-mocha-reporter and karma-titanium-launcher.
jasmine-core
Author: Unknown
Description: Official packaging of Jasmine's core files for use by Node.js projects.
 It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.
Documentation & guides live here: http://jasmine.github.io
For a quick start guide of Jasmine, see the beginning of http://jasmine.github.io/edge/introduction.html
Upgrading from Jasmine 2.x? Check out the 3.0 release notes for a list of what's new (including breaking changes).
Contributing
Please read the contributors' guide
Installation
For the Jasmine NPM module:
https://github.com/jasmine/jasmine-npm
For the Jasmine Ruby Gem:
https://github.com/jasmine/jasmine-gem
For the Jasmine Python Egg:
https://github.com/jasmine/jasmine-py
For the Jasmine headless browser gulp plugin:
https://github.com/jasmine/gulp-jasmine-browser
To install Jasmine standalone on your local box (where {#.#.#} below is substituted by the release number downloaded):

Download the standalone distribution for your desired release from the releases page
Create a Jasmine directory in your project - mkdir my-project/jasmine
Move the dist to your project directory - mv jasmine/dist/jasmine-standalone-{#.#.#}.zip my-project/jasmine
Change directory - cd my-project/jasmine
Unzip the dist - unzip jasmine-standalone-{#.#.#}.zip

Add the following to your HTML file:
<link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-{#.#.#}/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="jasmine/lib/jasmine-{#.#.#}/jasmine.css">

<script type="text/javascript" src="jasmine/lib/jasmine-{#.#.#}/jasmine.js"></script>
<script type="text/javascript" src="jasmine/lib/jasmine-{#.#.#}/jasmine-html.js"></script>
<script type="text/javascript" src="jasmine/lib/jasmine-{#.#.#}/boot.js"></script>

Supported environments
Jasmine tests itself across many browsers (Safari, Chrome, Firefox, Microsoft Edge, and new Internet Explorer) as well as nodejs. To see the exact version tests are run against look at our .travis.yml

Support

Search past discussions: http://groups.google.com/group/jasmine-js
Send an email to the list<EMAIL_ADDRESS>View the project backlog at Pivotal Tracker: http://www.pivotaltracker.com/projects/10606
Follow us on Twitter: @JasmineBDD

Maintainers

Gregg Van Hove, Pivotal Labs

Maintainers Emeritus

Davis W. Frank, Pivotal Labs
Rajan Agaskar, Pivotal Labs
Greg Cobb, Pivotal Labs
Chris Amavisca, Pivotal Labs
Christian Williams, Cloud Foundry
Sheel Choksi

Copyright (c) 2008-2018 Pivotal Labs. This software is licensed under the MIT License.
License

karma
Author: Vojta Jína
Description: Spectacular Test Runner for JavaScript.
Homepage: http://karma-runner.github.io/

Createdabout 7 years agoLast Updated5 days agoLicenseMITMaintainers5Releases165Direct Dependenciesbody-parser, braces, chokidar, colors, connect, di, dom-serialize, flatted, glob, graceful-fs, http-proxy, isbinaryfile, lodash, log4js, mime, minimatch, qjobs, range-parser, rimraf, socket.io, source-map, tmp, ua-parser-js and yargsKeywordskarma, spectacular, runner, karma, js, javascript, testing, test, remote and execution

README
Karma

A simple tool that allows you to execute JavaScript code in multiple
real browsers.

The main purpose of Karma is to make your test-driven development easy,
fast, and fun.

Help and Support

For questions and support please use the mailing list or Gitter.
The issue tracker is for bug reports and feature discussions only.

Obligatory documentation
Quick questions:

Longer questions: Mailing List
Bug reports Issue Tracker
Everything less than 140 characters: @JsKarma on Twitter

When should I use Karma?

You want to test code in real browsers.
You want to test code in multiple browsers (desktop, mobile,
tablets, etc.).
You want to execute your tests locally during development.
You want to execute your tests on a continuous integration server.
You want to execute your tests on every save.
You love your terminal.

You want to use Istanbul to automagically generate coverage
reports.
You want to use RequireJS for your source files.

But I still want to use _insert testing library_
Karma is not a testing framework, nor an assertion library.
Karma just launches an HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework.
So for testing purposes you can use pretty much anything you like. There are already plugins for most of the common testing frameworks:

Jasmine
Mocha
QUnit
and many others

If you can't find an adapter for your favourite framework, don't worry and write your own.
It's not that hard and we are here to help.
Which Browsers can I use?
All the major browsers are supported, if you want to know more see the
browsers page.
Troubleshooting
See FAQ.
I want to use it. Where do I sign?
You don't need to sign anything but here are some resources to help
you to get started...
Obligatory Screencast.
Every serious project has a screencast, so here is ours.  Just click
here and let the show begin.
Installation.
See installation.
Using it.
See configuration.
This is so great. I want to help.
Please, see
contributing.
Why did you create this?
Throughout the development of AngularJS, we've been using JSTD for
testing. I really think that JSTD is a great idea. Unfortunately, we
had many problems with JSTD, so we decided to write our own test
runner based on the same idea. We wanted a simple tool just for
executing JavaScript tests that is both stable and fast. That's why we
use the awesome Socket.io library and Node.js.
My boss wants a license. So where is it?
MIT License

karma-jasmine
Author: Vojta Jina
Description: A Karma plugin - adapter for Jasmine testing framework.
Homepage: https://github.com/karma-runner/karma-jasmine#readme

Createdabout 7 years agoLast Updated2 months agoLicenseMITMaintainers5Releases35Direct Dependenciesjasmine-coreKeywordskarma-plugin, karma-adapter and jasmine

README
karma-jasmine

Adapter for the Jasmine testing framework.

Installation
npm install karma-jasmine --save-dev

Configuration
// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    files: [
      '*.js'
    ]
  })
}

If you want to run only some tests matching a given pattern you can do this in the following way
$ karma start &
$ karma run -- --grep=<pattern>

or
module.exports = function(config) {
  config.set({
    ...
    client: {
      args: ['--grep', '<pattern>'],
      ...
    }
  })
}

If you want to pass configuration options directly to jasmine you can do this in the following way
module.exports = function(config) {
  config.set({
    client: {
      jasmine: {
        random: true,
        seed: '4321',
        oneFailurePerSpec: true,
        failFast: true,
        timeoutInterval: 1000
      }
    }
  })
}

Debug by URL
Failing tests print a debug URL with ?spec=. Use it with --no_single_run
and paste it into your browser to focus on a single failing test.
Sharding
By setting config.client.shardIndex and config.client.totalShards, you can
run a subset of the full set of specs. Complete sharding support needs to be
done in the process that calls karma, and would need to support test result
integration across shards.

For more information on Karma see the homepage.

karma-junit-reporter
Author: Vojta Jina
Description: A Karma plugin. Report results in junit xml format.
Homepage: https://github.com/karma-runner/karma-junit-reporter#readme

Createdabout 7 years agoLast Updated7 months agoLicenseMITMaintainers3Releases22Direct Dependenciespath-is-absolute and xmlbuilderKeywordsjunit, karma-plugin and karma-reporter

README
karma-junit-reporter

Reporter for the JUnit XML format.

Installation
The easiest way is to keep karma-junit-reporter as a devDependency in your package.json. Just run
npm install karma-junit-reporter --save-dev

to let npm automatically add it there.
Configuration
// karma.conf.js
module.exports = function(config) {
  config.set({
    reporters: ['progress', 'junit'],

    // the default configuration
    junitReporter: {
      outputDir: '', // results will be saved as $outputDir/$browserName.xml
      outputFile: undefined, // if included, results will be saved as $outputDir/$browserName/$outputFile
      suite: '', // suite will become the package name attribute in xml testsuite element
      useBrowserName: true, // add browser name to report and classes names
      nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element
      classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element
      properties: {}, // key value pair of properties to add to the <properties> section of the report
      xmlVersion: null // use '1' if reporting to be per SonarQube 6.2 XML format
    }
  });
};

You can pass list of reporters as a CLI argument too:
karma start --reporters junit,dots

Produce test result with schema acceptable in sonar
To make this possible, it's required to make the classnames of each tests to match its file name.
For Example:
describe('analytics.AnalyticsModule_test', function(){

    var analytics;
    beforeEach(module('ECApp'));
    beforeEach(module('angularytics'));
    beforeEach(module('AnalyticsModule'));
...

should have a file name AnalyticsModule_test.js
This will produce test result with schema acceptable in sonar.
Grunt file reporters property example:
reporters: ['junit', 'coverage', 'progress'],
junitReporter: {
    outputDir: $junitResults,
    suite: 'models'
},
coverageReporter: {
    type: 'lcov',
    dir: $coverageOutputDir,
    subdir: '.'
},
preprocessors: {
    'src/main/webapp/public/js/ec3.3/**/*.js': 'coverage',
    'src/main/webapp/public/js/ec3/**/*.js': 'coverage'
},
plugins: [
    'karma-jasmine',
    'karma-phantomjs-launcher',
    'ec-karma-junit-reporter23',
    'karma-coverage'
]

Sonar property example:
sonar.projectName=js
sonar.sources=site-main-php/src/main/webapp/public/js
sonar.projectBaseDir=.
sonar.exclusions=site-main-php/src/main/webapp/public/js/lib/*.js,site-main-php/src/main/webapp/public/js/tests/**/*.php,site-main-php/src/main/webapp/public/js/tests/**/*.js,site-main-php/src/main/webapp/public/js/ec3.3/vendor/**
sonar.javascript.lcov.reportPath=site-main-php/target/coverage/lcov.info
sonar.javascript.jstestdriver.reportsPath=site-main-php/target/surefire-reports/
sonar.tests=site-main-php/src/main/webapp/public/js/tests

Example junit xml report:
<?xml version="1.0"?>
<testsuite name="PhantomJS 1.9.8 (Linux)" package="models" timestamp="2015-03-10T13:59:23" id="0" hostname="admin" tests="629" errors="0" failures="0" time="11.452">
  <properties>
    <property name="browser.fullName" value="Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.8 Safari/534.34"/>
  </properties>
 <testcase name="(C.2) Checks if an empty object is returned when error 404 is encountered" time="0.01" classname="PhantomJS_1_9_8_(Linux).models.AnalyticsModule_test"/>
 <testcase name="(C.3) Checks if an empty array is returned when error 405 is encountered" time="0.013" classname="PhantomJS_1_9_8_(Linux).models.AnalyticsModule_test"/>
</testsuite>
...

For more information on Karma see the homepage.

karma-mocha-reporter
Author: Litixsoft GmbH
Description: Karma reporter with mocha style logging.
Homepage: http://www.litixsoft.de/index.php?lang=en#modules

Createdover 6 years agoLast Updatedabout 2 years agoLicenseMITMaintainers1Releases43Direct Dependencieschalk, log-symbols and strip-ansiKeywordskarma-plugin, karma-reporter, mocha, chai, diff and symbols

README
karma-mocha-reporter

Karma reporter plugin with mocha style logging.

How does it look like

Installation
The easiest way is to keep karma-mocha-reporter as a devDependency in your package.json.
{
  "devDependencies": {
    "karma": "^1.0.0",
    "karma-mocha-reporter": "^2.0.0"
  }
}

You can simply do it by:
$ npm install karma-mocha-reporter --save-dev

Configuration
// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha']
  });
};

Options
colors
Type: Object | Boolean
Lets you overwrite the default colors. Possible values are all colors and background colors from chalk.
Possible Values:

Value
Description
Default

success
success messages
green

info
info messages
grey

warning
warn messages
yellow

error
error messages
red

// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      colors: {
        success: 'blue',
        info: 'bgGreen',
        warning: 'cyan',
        error: 'bgRed'
      },
      symbols: {
        success: '+',
        info: '#',
        warning: '!',
        error: 'x'
      }
    }
  });
};

To disable the colors please use the colors option in the karma config.
// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // disable colors
    colors: false
  });
};

symbols
Type: Object
Lets you overwrite the default symbols.
Possible Values:

Value
Description
Default

success
success messages
✔

info
info messages
ℹ

warning
warn messages
⚠

error
error messages
✖

// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      symbols: {
        success: '+',
        info: '#',
        warning: '!',
        error: 'x'
      }
    }
  });
};

output
Type: String
Possible Values:

Value
Description

full (default)
all output is printed to the console

autowatch
first run will have the full output and the next runs just output the summary and errors in mocha style

minimal
only the summary and errors are printed to the console in mocha style

noFailures
the failure details are not logged

// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      output: 'autowatch'
    }
  });
};

showDiff
Type: String | Boolean
Shows a diff output. Is disabled by default. All credits to the contributors of mocha, since the diff logic is used from there and customized for this module.

Currently only works with karma-mocha >= v0.2.2 Not supported for karma-jasmine since the additional properties needed to render the diff are not supported in jasmine yet.
Possible Values:

Value
Description

true
prints each diff in its own line, same as 'unified'

'unified'
prints each diff in its own line

'inline'
prints diffs inline

// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['mocha', 'chai'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      showDiff: true
    }
  });
};

divider
Type: String
Default: 80 equals signs ('=')
The string to output between multiple test runs. Set to false or empty string to disable
// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      divider: ''
    }
  });
};

ignoreSkipped
Type: Boolean
Possible Values:

false (default)
true

When setting the ignoreSkipped flag to true, the reporter will ignore the skipped tests in the output and you will see
only the tests that where really executed. The summary will still contain the number of skipped tests.
maxLogLines
Type: Number
Lets you set the maximum number of lines which are printed for a failure. The default value is 999. Helps to cut long stack traces.
Set the value to -1 to disable stack traces.
printFirstSuccess
Type: Boolean
Possible Values:

false (default)
true

Prints the result of an it block after it is run in one browser. This options is useful when you have tests which are conditionally run in one browser only.
Otherwise the result of the it block would not be printed because it was not run in all browsers.
// testfile.spec.js
if (navigator.userAgent.match(/firefox/i)) {
  describe('Firefox tests', function() {
    it('this would only be reported when printFirstSuccess is true', function() {
      console.log('firefox test');
    });
  });
}

describe('Other tests', function() {
  it('this should be always reported', function() {
    console.log('hello world');
  });
});

Contributing
In lieu of a formal styleguide take care to maintain the existing coding style. Lint and test your code using grunt.
You can preview your changes by running:
$ npm run demo

Author
Litixsoft GmbH
License
Copyright (C) 2013-2017 Litixsoft GmbH<EMAIL_ADDRESS>Licensed under the MIT license.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included i
all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

karma-titanium-launcher
Author: Axway Appcelerator
Description: A Karma plugin. Launcher for Axway Titanium.

Installation
Simply install this launcher as a dev dependency to your existing project:
npm i karma-titanium-launcher -D

This module also requires the titanium CLI to be installed globally in order to create temporary test projects and automatically downloading SDK versions. You can do so with:
npm i titanium -g

💡 iOS Testing Note: Version 0.7.0+ of this launcher requires Xcode 10.2 / Swift 5+. If you're still on Swift 4 use version 0.6.0 of this launcher.

Usage
This launcher is for testing Titanium apps and native modules as well as plain JS libraries intended to run inside the Titanium runtime. It is typically used in CI to run tests on different platforms. However, it also supports an expirmental rapid TDD setup which allows you to run tests as you write your code.
Configuring this launcher
To configure this launcher you have to create customLaunchers and set them in the browsers option in your Karma configuration.
module.exports = config => {
    config.set({
        // ...
        customLaunchers: {
            ios: {
                base: 'Titanium',
                browserName: 'iPhone Simulator',
                platform: 'ios',
                sdkVersion: '8.0.0.GA'
            },
            android: {
                base: 'Titanium',
                browserName: 'Android Emulator (Nexus 5X)',
                platform: 'android',
                flags: [
                    '--device-id', 'Nexus_5X_API_27'
                ]
            }
        },
        browsers: ['android', 'ios']
    });
}

You can select the platform you want to test with the platform option. This will prepare your project for unit testing with Karma and launch the basic titanium build -p [platform] command.
Please refer to the following table for a full list of available options.

Name
Type
Description

platform
String
Specifies the target platform where your unit tests should be run.

flags
Array
Additional flags to pass to the build command. Refer to titanium build --help for a list of available options.

sdkVersion
String
The SDK version used to build the test runner. Defaults to the <sdk-version> of your tiapp.xml (only in app projects) or the currently selected SDK within the titanium CLI (check ti sdk list)

You can also set certain global options that apply to all custom launchers you configure. Global options can be overridden by the individual launcher configuration.
module.exports = config => {
    config.set({
        titanium: {
            sdkVersion: '8.0.0.GA'
        }
    });
};

Supported global options:

Name
Type
Description

sdkVersion
String
The SDK version used to build the test runner. Defaults to the <sdk-version> of your tiapp.xml (only in app projects) or the currently selected SDK within the titanium CLI (check ti sdk list)

Example projects
For example projects that are using this launcher checkout appcelerator/titanium-vdom, appcelerator/titanized or the titanium-socketio native module.
Contributions
Open source contributions are greatly appreciated! If you have a bugfix, improvement or new feature, please create
an issue first and submit a pull request against master.
Getting Help
If you have questions about unit testing your Titanium apps or libraries with Karma, feel free to reach out on Stackoverflow or the
#helpme channel on TiSlack. In case you find a bug related to this library, create a new issue
or open a new JIRA ticket.
License
Apache License, Version 2.0

  Generated by :no_entry_sign: dangerJS against<PHONE_NUMBER>4e4961ad55fa3fe70340637a9956e4

@fasihul-axway Is there anything pending in this PR as you have added WIP ?

@fasihul-axway Is there anything pending in this PR as you have added WIP ?

Closing this PR, as another PR #38 has all related changes.


Symphony compatibility API updates

With a few minor tweaks to the compatibility API, I've been able to get symphony running in both OpenFin:

And electron:

In each case, the ContainerJS CLI was used, e.g.
$ ssf-electron -c ./src/app.json --symphony

or
$ ssf-openfin -c ./src/app.json --symphony

Where the local app manifest (app.json) looks like the following:
{
    "url": "https://my.symphony.com",
    "name": "SSF Desktop Wrapper",
    "uuid": "containerjs",
    "autoShow": true
}

A few notes about what works and what doesn't work ... just for the record:

The Symphony UI requires the APIs to be exposed via a SYM_API namespace
Same observations as Nick Kolba - a number of un-documented APIs, e.g. registerLogger and Notification.permission
There are a few parts of the Symphony UI code that cause failures, e.g.
If you try to configure desktop alert settings, it fails on window.appbridge.ShowAlertSettings
There is code that only permits certain operations under windows
isWrapper.electron() && isWindowsOS() ? this.Notf = appBridgeElectron.getNotificationApi() : this.Notf = window.Notification - this should really be based on capabilities.

What works and what doesn't:
Within electron - the following features work:

pop-out chat window
notifications (basic title / body)
application badge count

what doesn't work

cannot test screen-snippets, looks like this is not implemented in Symphony UI yet
within OpenFin notifications don't work (we'd need to locally host a notification.html page)
within OpenFin pop-out windows don't work, most likely due to differences in window.open behaviour

@ColinEberhardt in next release 1.47 we have move to window.ssf
i'm having a conversation today with Nick and we'll fix the registerLogger issue - that is private api and so of course shouldn't be dependent there - we'll get a fix in next release.
Notification.permission is implemented to provide compatibility with browser notifications - i'll update documentation to note that this is needed.
showAlertSettings will be available in next release of front-end code.
for windows... our front-end code uses the custom notifications we have implemented in symphony electron but for mac our product team wants to use the electron's built in native notifications (which in turn uses mac native os notifications).


To to disable import/no-unassigned-import?

Hello,
I am importing a dependency that doesn't need a named variable (a polyfill - core-js/es6/weak-map) and I need to disable the aforementioned rule. I tried all permutations of override as documented in the readme, however, nothing works:
Examples (I understand I don't need both global and override rule, this is just to illustrate, what I tried so far):
"xo": {
    "esnext": true,
    "import/no-unassigned-import": 0, // + all permutations, like an array syntax etc.
    "overrides": [
      {
        "files": "index.js",
        "import/no-unassigned-import": 0 // + all permutations
      }
    ]
  },

Thanks

Per the docs, you have to place it in the rules option.

Thanks, this worked. For anyone else with the same issue (this want's clear to other devs in the office either), the correct syntax to override a rule is following (in package.json):
  "xo": {
    "rules": {
      "import/no-unassigned-import": 0
    }
  }

Not wanting to hijack this question but rather expand upon it...
In meteor it's common to do import './some-template.html'but this causes an Imported module should be assigned import/no-unassigned-import error.
I've already got a rule override for this rule to allow meteor packages (with only side-effects) to work:
// package.json

{
  "xo": {
    "prettier": true,
    "semicolon": false,
    "space": 2,
    "settings": {
      "import/resolver": "meteor"
    },
    "rules": {
      "import/no-absolute-path": 0,           // should be handled by eslint-import-resolver-meteor
      "import/no-unassigned-import": ["error", {
        "allow": ["meteor/*:*"]               // this allows: `import 'meteor/meteorhacks:unblock'`
      }]
    }
  }
}

I was hoping to simply add *.html to the allow section ("allow": ["meteor/*:*", "*.html"]) but it still throws the same error. Any ideas?

@maxfi thank you for the best solution. I use it to import reflect-metadata package.


Project needs to be more modular

Separating main into separate files would be utmost beneficial

A file for main
A file for slack message blocks
A file for lab approval/lab revoking/lab denial handles
A file for mentor addition/removal
Possibly others in the future

Solved by b9bbb4b34935b787bb5b169a72bb062dc0cd67fb


Refactor Calligraphy into a ViewPump interceptor

With the LayoutInflater and ContextWrapper moved to ViewPump, Calligraphy can be refactored into a ViewPump interceptor.
This refactored version of Calligraphy will be namespaced as calligraphy3 due to the major breaking changes.  This PR depends on SNAPSHOT version of ViewPump provided through mavenLocal(), but will update it when a hosted snapshot becomes available.

Let's also make this 14+ not that it probably makes much difference?

sounds good. I just kept it the same as the original lib, but happy to make the bump to 14

Addressed comments


Set the website of this GitHub repo to the Atmopshere package

Example:

Also rm mrt from the README please :)

@dandv Thank you for the idea.
What do you mean by 'rm mrt from the README'? mrt: prefix for package name is a required prefix, isn't it?

Nevermind, looks like the package is under the mrt namespace, and it's impossible to transfer it under yeputons:.


Error concatenating anndata objects for scvelo analysis

Hi, guys.
I am following this tutorial to integrate my loom data with my seurat metadata for a subset of cells. My current issue is that I have two anndata objects from two different loom files that I would like to concatanate but I'm getting an error.
Given that the loom files don't have any sample sufix in the barcodes but Seurat does, I have added a new observation named "Barcodes" which includes the sufixes so that I can match the loom objects to my Seurat data and then filter them to have the same cells as in seurat.
Here is the code for that:
#Load loom files
sample_JG12_WT = anndata.read_loom("JG12__WT.loom")
sample_JG13_MT = anndata.read_loom("JG13__MT.loom")
#Clean cell names to keep only barcode
scv.utils.clean_obs_names(sample_JG12_WT)
scv.utils.clean_obs_names(sample_JG13_MT)
#Add Sample prefix to barcodes in the objects
sample_JG13_MT.obs["Barcodes"] =[str("MT_")+str(gene)+str(-1) for gene in sample_JG13_MT.obs_names]
sample_JG12_WT.obs["Barcodes"] =[str("WT_")+str(gene)+str(-1) for gene in sample_JG12_WT.obs_names]
##Filter loom based on subset of cells
#Get barcodes observed for based on sample pattern
cellID_obs_sample_MT = sample_obs[sample_obs["Cells(mi128_data_R1)"].str.contains("MT_")]
cellID_obs_sample_WT = sample_obs[sample_obs["Cells(mi128_data_R1)"].str.contains("WT_")]
#Filter loom based on the matching barcodes
sample_JG13_MT = sample_JG13_MT[np.isin(sample_JG13_MT.obs["Barcodes"], cellID_obs_sample_MT)]
sample_JG12_WT = sample_JG12_WT[np.isin(sample_JG12_WT.obs["Barcodes"], cellID_obs_sample_WT)]
#Concatenate filtered samples
concatanated_samples = sample_JG12_WT.concatenate(sample_JG13_MT)
sample_JG12_WT.concatenate(sample_JG13_MT)

Traceback (most recent call last):
File "/home/ba/.local/lib/python3.8/site-packages/IPython/core/interactiveshell.py", line 3437, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 1, in
sample_JG12_WT.concatenate(sample_JG13_MT)
File "/home/ba/.local/lib/python3.8/site-packages/anndata/_core/anndata.py", line 1696, in concatenate
out = concat(
File "/home/ba/.local/lib/python3.8/site-packages/anndata/_core/merge.py", line 814, in concat
alt_annot = merge_dataframes(
File "/home/ba/.local/lib/python3.8/site-packages/anndata/_core/merge.py", line 526, in merge_dataframes
dfs = [df.reindex(index=new_index) for df in dfs]
File "/home/ba/.local/lib/python3.8/site-packages/anndata/_core/merge.py", line 526, in
dfs = [df.reindex(index=new_index) for df in dfs]
File "/home/ba/.local/lib/python3.8/site-packages/pandas/util/_decorators.py", line 312, in wrapper
return func(*args, **kwargs)
File "/home/ba/.local/lib/python3.8/site-packages/pandas/core/frame.py", line 4176, in reindex
return super().reindex(**kwargs)
File "/home/ba/.local/lib/python3.8/site-packages/pandas/core/generic.py", line 4811, in reindex
return self._reindex_axes(
File "/home/ba/.local/lib/python3.8/site-packages/pandas/core/frame.py", line 4022, in _reindex_axes
frame = frame._reindex_index(
File "/home/ba/.local/lib/python3.8/site-packages/pandas/core/frame.py", line 4041, in _reindex_index
return self._reindex_with_indexers(
File "/home/ba/.local/lib/python3.8/site-packages/pandas/core/generic.py", line 4877, in _reindex_with_indexers
new_data = new_data.reindex_indexer(
File "/home/ba/.local/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 1301, in reindex_indexer
self.axes[axis]._can_reindex(indexer)
File "/home/ba/.local/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 3476, in _can_reindex
raise ValueError("cannot reindex from a duplicate axis")
ValueError: cannot reindex from a duplicate axis

This is what I have inside each filtered object right now:
sample_JG13_MT
Out[142]:
View of AnnData object with n_obs × n_vars = 2733 × 36351
obs: 'Barcodes'
var: 'Accession', 'Chromosome', 'End', 'Start', 'Strand'
layers: 'matrix', 'ambiguous', 'spliced', 'unspliced'

sample_JG12_WT
Out[143]:
View of AnnData object with n_obs × n_vars = 3438 × 36351
obs: 'Barcodes'
var: 'Accession', 'Chromosome', 'End', 'Start', 'Strand'
layers: 'matrix', 'ambiguous', 'spliced', 'unspliced'

Does any of you has any suggestion on how to merge the two anndata object? I would like to have a unique anndata object where I could match the cell barcodes and add my embbedings and cluster information for the RNA velocity analysis.
Thank you very much for your help!
Best,
Gabriel

How did you go about solving this?

Hi AAA-3
I have encountered the same issue. I resolved the problem by using the .var_names_make_unique() and obs_names_make_unique() commands.
Hope this helps!

How did you go about solving this?

Hi AAA-3
I have encountered the same issue. I resolved the problem by using the .var_names_make_unique() and obs_names_make_unique() commands.
Hope this helps!


refactor: decouple EVMData from Inspector trait

Currently, the Inspector trait has a Database generic that imposes its lifetime constraints onto the Inspector. This would prohibit user-provided Inspector implementations from being used in async contexts as when the Database implementation is using references, as lifetimes need to be 'static in async contexts.
E.g.
fn build_evm<'s, 'b, E>(
  some_state: &'s dyn StateRef<E>,
  some_blockhash: &'b dyn BlockHashRef<E
) -> EVM<DatabaseComponents<&'s dyn StateRef<E>, &'b dyn BlockHashRef<E>> {
  let mut evm = revm::EVM::new();
  evm.database(DatabaseComponents {
    some_state,
    some_blockhash,
  });

  evm
}

fn run_transaction(
  evm: EVM<DatabaseComponents<&'s dyn StateRef<E>, &'b dyn BlockHashRef<E>>,
  inspector: &mut dyn Inspector<DatabaseComponents<&'s dyn StateRef<E>, &'b dyn BlockHashRef<E>>>
) {
  evm.inspect_ref(inspector)
}

The above example illustrates how the lifetimes imposed on the database bleed into the inspector. It is however impossible for a user to create a dynamic object with the lifetime constraints mentioned on the inspector's bounds.
This PR decouples the Database from the Inspector by using a strategy pattern: a trait EVMData<E> that returns a &mut dyn Database<E>
NOTE: This is a breaking change to the existing public API

I think this is the right approach, but I intend to make more breaking changes to the inspector as I would like to have opcode aware inspections ( as in hook to only specified opcodes, or add new opcodes).
I am still not exactly sure how this would look like, it would need to be drop in replacement for current inspector trait, but it would be best to do all of this changes at once to minimize breaking versions.

If you'd like, I'm more than happy to experiment with and give feedback on different API designs you have 🙂
Do you have a rough estimate for when you plan on incorporating this?

Rebased to resolve conflicts

This could be done inside Handler and EvmBuilder as it has a lot more control: https://github.com/bluealloy/revm/pull/888
PR is still wip


I have a field in the schema, but in startVal it doesnot have

Hi,
I have a schema with some field which doesnot exist in the startVal. That field is not getting rendering.
Can you please help me with it ?
Thanks,
Vijay

Hey @vsudigali , this repro has been deprecated, and everything has moved to:
https://github.com/json-editor/json-editor

Hi,
I am using the same repo.
Here is my schema
{
"title": "IDP Configuration schema",
"description": "idp configuration description",
"type": "object",
"properties": {
"ajp_enabled": {
"title": "AJP enabled",
"description": "AJP enabled",
"default": false,
"type": "boolean"
},
"management_console_enabled": {
"title": "Management Console Enabled",
"description": "Management Console enabled",
"default": false,
"type": "boolean"
},
"insecure_port": {
"title": "Insecure Port",
"description": "Insecure Port enabled",
"default": false,
"type": "boolean"
},
"max_post_size": {
"title": "Max Post Size",
"description": "Max post size",
"default": 52428800,
"type": "integer"
}
}
}
here is my startVal
{
"version":1,
"ajp_enabled":false,
"management_console_enabled":true,
"minheap":512,
"maxheap":1512,
"java_opts":"-Djava.net.preferIPv4Stack=true",
"insecure_port":false
}
I want to display the max post size field so that customer can enter the value.
Thanks,
Vijay

Hi,
Any update on this ?
Thanks,
Vijay

@vsudigali I'm not a maintainer or contributor to the project and am unable to help. I was just letting you know that this current repo isn't being maintained, so you are unlikely to get a response. I would suggest using the newer version from the new repo, and if issues still arise ask over there.
https://github.com/json-editor/json-editor


converge #mrargs{} record

Upgrade/downgrade #mrargs{} record as needed.
Depends on:

https://github.com/apache/couchdb-couch-mrview/pull/60
https://github.com/apache/couchdb-couch/pull/212

COUCHDB-3063

Closing this in favor of https://github.com/apache/couchdb-fabric/pull/76


UIExplorer

Added UIExplorer and implemented StarRating, Tags and Breadcrumbs components for example.
To run test use npm run ci command.

great, thank you


[i18n] Pluralized translations are not downloaded

Description

Plural translations for languages that use more than one noun variant for plurals is incorrect.
In Russian, there are 3 variants of 'images' plural, depending on the number.
The 3 variants are available on translate.wordpress.org :

However, the `ngx` `json` file exported from GlotPress, only contains a single variant, so the translation is often incorrect:

Reproduction

Look at the ru.json file inside src/locales/ directory.
Find  the following key that uses plurals: "browse-page.all-result-count-more".
See error: only 1 variant  "Более {localeCount} изображения", instead of the following variants available in the po export:

#. Do not translate words between ### ###.
msgctxt "browse-page.image-result-count-more"
msgid "Over ###localeCount### image results"
msgid_plural "Over ###localeCount### image results"
msgstr[0] "Более ###localeCount### изображения"
msgstr[1] "Более ###localeCount### изображений"
msgstr[2] "Более ###localeCount### изображений"

Expectation

All of the results should be downloaded. So, for browse-page.image-result-count-more key, the value should be:
"Более {localeCount} изображения|Более {localeCount} изображений|Более {localeCount} изображений"
Additional context

Ideally, the json file should have all the available variants. However, it might be faster for us to use .po files, and convert them back to the json format.
Resolution

[ ] 🙋 I would be interested in resolving this bug.

Is there a reason why you use this somewhat outdated NGX-Translate format? NGX-Translate does not support plurals at all, they recommend using MessageFormat for that.
I'd definitely suggest using one of the other available formats and converting it to your needs.

Thank you for your comment, @swissspidy ! I wasn't aware that NGX-Translate is an old format. Which JSON format would you recommend us to use? The Vue-i18n that we are using has a nested JSON with i18n messages, something like this:
{
"header": { "title": "Openverse" },
"browse-page": {
  "result-count": "Более {localeCount} изображения|Более {localeCount} изображений|Более {localeCount} изображений"
  }
}

WP core itself uses the Jed 1.x format, which you might be able to convert to your needs.


Add mcap vendor

FYI @emersonknapp

@wep21  I have a prototype roscap tool for ROS1, it's a fork of rosbag that swaps out the .bag v2.0 format for mcap. It required a few fixes for linking against system libraries that I assume will be helpful for the ros2 storage plugin as well. https://github.com/foxglove/mcap/pull/238 just merged, so I would recommend using commit hash 95a5373441b369a40bcce123e93180919de05e90 for the foxglove/mcap repo.

@jhurliman https://github.com/ros-tooling/rosbag2_storage_mcap/pull/2 is a implementation using conan.cmake instead of creating the vendor packages for dependencies. How about this?

@wep21 that looks great!

I think I agree that the version that doesn't require 2 extra vendor packages does look a lot nicer. Less is more :)


Backfilling stuck at 2023-05-11

I am running reservoir-sync-node to backfill sales data. After a while, it stopped making new inserts, and the list of managers and workers which is usually output to console is now empty.
I inspected the sales table and found this:

SELECT COUNT(*) FROM sales; returns 17689647, although here the docs state that there should be 76M+ sales
SELECT MAX(created_at) FROM sales; returns  2023-05-11 08:21:36.488
SELECT MAX(updated_at) FROM sales; returns  2023-05-11 08:21:53.639
SELECT MAX(timestamp) FROM sales; returns<PHONE_NUMBER>, which corresponds to 2023-03-31 23:59:59

I also checked what is stored in redis, hget sales backup returns "{\"date\":\"2022-09-02\",\"managers\":[]}"
My current configuration
REDIS_URL set
USE_BACKUP=1
SYNC_SALES=1
SYNC_ASKS=0
CONTRACTS, WORKER_COUNT, MANAGER_COUNT and other vars are not set

Is there any reason why it stopped at this specific date? What can I do to backfill all the data?

Hey @paramono! Let me look into this for you.

@paramono Pushed some fixes. Caught some small errors that came up due to some API changes. Let me know if you are still facing these issues after pulling from latest and restarting.

@r3lays what should I do now to properly restart and test this? Should I manually insert some redis key? Or do you suggest restarting entirely from scratch?

Since you didn't get to far due to the issue - id suggest clearing your backup and restarting.

@r3lays thank you, I think the fixes improved the situation.
I cleared up my backup and ran the sync node again. This time, it started gathering data from ~2018 and was gradually progressing towards the present date.
Looks like it gathered all the data it could and the table of managers and workers displayed in the console is now empty
However, sync node collected 39157486 sales.
Does that sound right? [The docs say]https://docs.reservoir.tools/docs/syncing-sales#parallel-data-processing) there should be 76M+ sales.
Is anything missing?

@r3lays also, the most recent sales remained the same:
SELECT MAX(created_at) FROM sales; returns 2023-05-11 08:21:36.488
SELECT MAX(updated_at) FROM sales; returns 2023-05-11 08:21:53.639
SELECT MAX(timestamp) FROM sales; returns<PHONE_NUMBER>, which corresponds to 2023-03-31 23:59:59
It should have collected until the present date, right?


Add dedicated NoLoop icon for Animation Editor

Instead of the following buttons states for the loop icon in the animation editor:

Unpressed for not looping, pressed for looping, and another icon for ping pong animation.

I think it makes a lot more sense for design and accessibility for the non-looping state to have its own dedicated icon. I think the toggle state was good enough when we only had looping and non-looping modes for animations, but with the inclusion of ping-pong, this interface feels confusing, and the on-off state isn't super clear with the default theme, so it could also be an accessibility concern. This PR introduces a new NoLoop icon and makes the button disabled when interacting with a read-only animation, rather than allowing you to click it and popping up an unfriendly error message.

Having three icons make sense to me.
I'm not sure about it being basically always pressed, is that something we're using anywhere else in the UI? I feel like it may be more intuitive if it's unpressed, and pressing it triggers a state change (i.e. it's a toggle).

I feel that the unpressed NoLoop icon is easy to understand, but the loop and ping-pong loop icons would be better in the pressed state. Also, since the loop icon is also used in SpriteEditor, it should use unpressed NoLoop and pressed Loop for consistency.


Update the plugin's metadata on Package Control

[ ] Rename to "Nim".
[ ] Update the description ("Super Nim Plugin for Sublime Text 2/3").
[ ] Update labels.

ping @Varriount.

ping @Varriount.

ping @Varriount.

Can you respond @Varriount ?

@Araq, this has been open for 7 months now!
Should I go ahead with https://github.com/wbond/package_control_channel/pull/8815 ?
Also I need the description to be updated to something like "The official Nim programming language plugin for Sublime Text".

Ok, what do you want me to do?

Should I go ahead with https://github.com/wbond/package_control_channel/pull/8815 ?

Say yes.

Done.


FeatureContext is used independent of what suites config says

Independent of what config you provide inside suites, if FeatureContext class is autoloadable, default suite will be used.

@everzet could you please provide more information to reproduce this bug? Some example configuration would be great.


Terminal's display

Type: Bug

Run any code that can produce lines of code. it must exactly the one that exceed the current terminal's view.
Maximize the panel view. the purpose is usually to look all the output more easily compare to the minimize one.
You see that the output is not scrollable. It happens if you slow to click maximize before the output is loaded (problem 1)
Minimize back the panel view, the same problem occur as mentioned in 3.
the only way to avoid this problem is by rerun the code and quickly maximize the panel view before the output is loaded

VS Code version: Code 1.71.0 (784b0177c56c607789f9638da7b6bf3230d47a8c, 2022-09-01T07:36:10.600Z)
OS version: Windows_NT x64 10.0.22000
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 x 1992)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
11.89GB (4.26GB free)

Process Argv
--crash-reporter-id ce7b5b68-4714-42fd-b558-8d806785e15a

Screen Reader
no

VM
36%

Extensions (51)

Extension
Author (truncated)
Version

better-comments
aar
3.0.2

ng-template
Ang
14.2.0

vscode-tailwindcss
bra
0.8.6

dart-code
Dar
3.48.3

flutter
Dar
3.48.0

typescript-notebook
don
2.0.6

gitlens
eam
12.2.2

vsc-material-theme
Equ
33.5.0

auto-rename-tag
for
0.1.10

code-runner
for
0.11.8

go
gol
0.35.2

vscode-drawio
hed
1.6.4

solidity
Jua
0.0.139

vscode-map-preview
jum
0.5.9

vsc-python-indent
Kev
1.17.0

rainbow-csv
mec
3.0.0

inline-fold
moa
0.1.7

python
ms-
2022.14.0

vscode-pylance
ms-
2022.9.10

jupyter
ms-
2022.8.1002431955

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.9

remote-ssh
ms-
0.84.0

remote-ssh-edit
ms-
0.80.0

remote-wsl
ms-
0.66.3

vscode-markdown-notebook
ms-
0.0.26

vscode-typescript-next
ms-
4.9.20220911

vsliveshare
ms-
1.0.5711

vsliveshare-audio
ms-
0.1.91

vsliveshare-pack
ms-
0.4.0

vscode-react-native
msj
1.9.3

vscode-sanddance
msr
4.0.1

csv-to-table
php
1.4.0

material-icon-theme
PKi
4.20.0

sqlite-viewer
qwt
0.1.5

vscode-rapidapi-client
Rap
1.5.0

java
red
1.10.0

vscode-field-lights
sve
0.0.11

graphviz-interactive-preview
tin
0.3.2

solidity-metrics
tin
0.0.21

solidity-visual-auditor
tin
0.1.3

vscode-solidity-flattener
tin
0.0.11

vscode-solidity-language
tin
0.0.6

vscodeintellicode
Vis
1.2.25

vscode-java-debug
vsc
0.44.0

vscode-java-dependency
vsc
0.21.0

vscode-java-pack
vsc
0.25.1

vscode-java-test
vsc
0.37.1

vscode-maven
vsc
0.38.0

vscode-icons
vsc
11.17.0

txt-syntax
xsh
0.2.0

(2 theme extensions excluded)

/duplicate #134448

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Add support for broker related commands

create-service-broker
delete-service-broker
enable-service-access

with @deniseyu

This is now implemented in pivotalpa/cf-cli-resource:2.3.0
Please read the release notes as I have changed the parameter names to be consistent with the cf cli examples: https://github.com/Pivotal-Field-Engineering/cf-cli-resource/releases/tag/v2.3.0

Oh, I also implemented disable-service-access.


Enqueue capture in playback prevent to close application

Describe the bug
During the playback of a .mkv file, at the moment where we enqueue a capture (k4abt_tracker_enqueue_capture), the program can't stop after that.
No problem with processing after enqueue the capture, and of course, we release/close everything when done.
The only way to close the app is by using the task manager.
Also, this bug has appeared since we integrated the lite model and all associated files, before this update, all worked fine.
To Reproduce

Open playback
Set playback color conversion
Get playback calibration
Create config body tracker
Create body tracker
Get playback next capture
Enqueue capture tracker
After this step, only task manager can close the app

Expected behavior
The app should be closed
Desktop (please complete the following information):

OS Windows 10, Version 21H1
SDK Version:  1.4.1
Firmware version:  AzureKinectDK_Fw_1.6.110079014

Re: ... , and of course, we release/close everything when done. ...
Did the code call k4abt_tracker_shutdown before calling release/close?

Yes we did

I used offline_processor sample code to repro the problem you reported.
The only change I added to the sample code is to use the lite model as you described.
tracker_config.model_path = "dnn_model_2_0_lite_op11.onnx";
The program can exit successfully.
e:\Azure-Kinect-Samples\body-tracking-samples\offline_processor\build\bin\Release> offline_processor.exe  e:\src\quentin.mkv 1.log
Tracking e:\src\quentin.mkv
frame 451
DONE
Total read 452 frames
Results saved in 1.log
Or I can hit ctrl-c to terminate it.
e:\Azure-Kinect-Samples\body-tracking-samples\offline_processor\build\bin\Release> offline_processor.exe  e:\src\quentin.mkv 1.log
Tracking e:\src\quentin.mkv
^Came 22
Could you please also try offline_processor sample code to see if you still repro the problem?
Here are the loaded BT dependent files (I excluded system files):


River paths not rendering properly when zoomed out

I've been making some updates in Melbourne Australia, and have noticed the rendering at certain zoom levels, particularly of rivers, isn't that clear (see the North East of the images).  This doesn't seem to be a problem with OSM at the same extents.  The zoomed image is of the NE of the area shown in OHM, and as you can see the river path is within the river polygon.  When zoomed out it looks very angular and ugly!

.

@tsinn - any thoughts on this? Can we address in our cartography review?

I think there's a duplicate issue here: https://github.com/OpenHistoricalMap/issues/issues/386
We may want to close this one and refer back to #386?

closing this in favor of #386


Add package version and show in log

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 66.88%. Comparing base (1a0cef8) to head (2ebcebf).
Report is 80 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           master     #575       +/-   ##
===========================================
+ Coverage   56.51%   66.88%   +10.36%
===========================================
  Files         108      109        +1
  Lines       10300    10587      +287
  Branches     1402     1432       +30
===========================================
+ Hits         5821     7081     +1260
+ Misses       3894     2825     -1069
- Partials      585      681       +96

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


Vsync undergoes the red line, but pubspec.yaml modifies the SDK: sdk: ">=2.8.4 <3.0.0",it

environment:
sdk: ">=2.7.0 <3.0.0"
Modified to：
environment:
sdk: ">=2.8.4 <3.0.0"
it works！

TEST

run

flutter create test_app

replace main.dart content with the code below

import 'package:flutter/material.dart';

void main() => runApp(
      MaterialApp(
        home: Material(
          child: Stack(
            children: [const AnimatedLogo()],
          ),
        ),
      ),
    );

class AnimatedLogo extends StatefulWidget {
  const AnimatedLogo() : super(key: const Key('AnimatedLogo'));

  @override
  _AnimatedLogoState createState() => _AnimatedLogoState();
}

class _AnimatedLogoState extends State<AnimatedLogo>
    with SingleTickerProviderStateMixin {
  AnimationController _controller;

  final _alignmentTween =
      AlignmentTween(begin: Alignment.centerLeft, end: Alignment.centerRight);

  @override
  void initState() {
    super.initState();
    _controller = AnimationController(vsync: this, duration: _duration)
      ..repeat(reverse: true);
  }

  static const _duration = Duration(seconds: 1);

  @override
  Widget build(BuildContext context) => AlignTransition(
        alignment: _alignmentTween.animate(_controller),
        child: const FlutterLogo(size: 80),
      );
}

run

cd test_app
flutter run

RESULTS
everything works as expected with pubspec.yaml settings
environment:
  sdk: ">=2.7.0 <3.0.0"

I'm not sure what the issue is so I will assume (from the screenshot) that this is similar to https://github.com/flutter/flutter/issues/63088 See https://github.com/flutter/flutter/issues/63486.
This is not an error with FLutter it is just that the Flutter plugin does not recognize this parameter because is uses the new keyword (required) which the analyzer does not know yet.


Update README.rst

Fixed a typo.

Coverage decreased (-0.1%) to 98.274% when pulling c5c5b09f11b369459a2a9a9c8b2aa170ec039af5 on AtlasJan:patch-1 into 5692bdf8dac3581a0d5fb3c5aeb29be0ab6a54fc on python-xmp-toolkit:master.

Thank you, the fix was applied.


etld/fsm.go triggers pathological compiler case

I tried to compile it under Go 1.7rc1 and the compiler never
completed.
See https://github.com/golang/go/issues/16407 - there's a suggestion
by @josharian for a possible way to work around the issue
in fsm.go code.

It seems like the latest go 1.7.1 was able to finish the compilation:
time go test
PASS
ok  	github.com/zhenjl/xparse/etld	0.014s
real	2m10.354s
user	1m50.362s
sys	0m2.138s
Not great since it's still 2 minutes.


CUDA failed with error forward compatibility was attempted on non supported HW

RuntimeError: CUDA failed with error forward compatibility was attempted on non supported HW
NVIDIA-SMI 470.57.02    Driver Version: 470.57.02    CUDA Version: 12.1
2080ti

Hello. Could you reboot or reset nvidia drivers then run again ?
https://stackoverflow.com/a/45319156/1391392


Could not use pre multiply alpha for material in editor

3 was hard coded, I just changed to 4. Unfortunately this will break every time
a blend mode is added

To dehardcode it, I guess it would be possible to add a last member in the enum like BLEND_MODE_MAX, as it is done with FLAG_MAX and PARAM_MAX. You can then use BLEND_MODE_MAX to get the number of "relevant" items in the enum.
I'm not sure if it's the best practice though, and it seems too that those _MAX constants are bound to GDScript, I'm not sure if it's normal or if it's a bug.


how can i  use a custom varchar section as pirmary key?

how can i  use a custom varchar section as pirmary key?

sorry. LitePal didn't support that. As a good suggestion by Google, we should always use an integer column with auto increment as primary key in SQLite. But if you really want to do that, you can modify the source of LitePal to support it.


Create enumerable

Project name: Create enumerable
Project description:

In this project, create a class MyList and a module MyEnumerable. The module MyEnumerable will implement a subset of the functionality of Enumerable. Built using Ruby.

Project requirements:

Check offical documentation about the following 3 methods in Enumerable. Make sure that you understand what they are doing.

description of #all? method
description of #any? method
description of #filter method

Create a class MyList that has an instance variable @list.
In MyList implement a method #each that yields successive members of @list and uses the MyEnumerable module.
Create a module MyEnumerable that implements the following methods (they should have the same funcionality as methods in Enumerable):

#all?
#any?
#filter

Each class and module should has a separate .rb file.
Verify your solution:

# Create our list
irb> list = MyList.new(1, 2, 3, 4)
=> #<MyList: @list=[1, 2, 3, 4]>

# Test #all?
irb> list.all? {|e| e < 5}
=> true
irb> list.all? {|e| e > 5}
=> false

# Test #any?
irb> list.any? {|e| e == 2}
=> true
irb> list.any? {|e| e == 5}
=> false

# Test #filter
irb> list.filter {|e| e.even?}
=> [2, 4]

Project requirements link:

https://github.com/microverseinc/curriculum-ruby/blob/main/simple-ruby/create_your_own_enumerable.md

Hi @Yerimah ,
Thanks for your suggestion. I have taken note of it and would implement it in the future.
Best Regards,
K. Inoulen Shanongba


Pythion program for max value of loot

I want to add code for the maximum value of a loot algorithm problem.

Please assign me this issue

Please allow me to add this code.

please assign this issue to me

hello sir, please assign me this issue . I want to contribute in this


Update Dockerfile.hail due to Hail 0.2.132 switching from raw setup.py to module build

The build module is not installed by default on our image, so we need to install it explicitly for the /usr/local/bin/python3.10 in use (hence a Debian package would not be applicable).
See the previous log file:
2024-07-11T02:32:44.4324786Z #6 217.9 # Clear the build cache before building the wheel
2024-07-11T02:32:44.6041513Z #6 217.9 cd build/deploy; rm -rf build; python3 -m build -w
2024-07-11T02:32:44.6042750Z #6 217.9 /usr/local/bin/python3: No module named build

(Not sure what level of version number bumping we may need in this repository…)

I was surprised too, until I realised we just pulled in this recent change: hail-is/hail#14474. And I just saw the similar change in the same PR in their Dockerfile.base 🤣

Also I've had the blog posting mentioned open in my web browser for about a year but still haven't managed to read the whole thing. I think its author is the guy who blocked me on twitter after I complained about setup.py deprecation probably making life harder for authors of Cython modules… :rofl:


Danielva msft

danielva MSFT - Technical Advisor in the CSS ATZ ORCAS team

Modified the script used to assign the permission to the Azure Database for MySQL Flexible Server MI
Added steps to create mysql user for a Entra ID managed Identity and connect with that user
Fixes document formatting issues that was making it not easy to follow
All changes made based on customers feedback during support cases with CSS

#assign: @tameikal-msft

Hi @danvalero,
We’re happy to share that contributions to mysql are once again possible at azure-databases-docs. Please open a PR in the new repo to submit your changes. We appreciated your patience during this migration.
#remove-label: "migrate-followup"


Use AddNewRequire to add new requires.
package main

import (
	"testing"

	"github.com/stretchr/testify/require"
	"golang.org/x/mod/modfile"
	"golang.org/x/mod/module"
)

var testFile = `module test

go 1.23.0

require (
	github.com/test/test1 v0.1.0
	github.com/test/test2 v0.1.0
)

require (
	github.com/test/test3 v0.1.0 // indirect
)
`

var expected = `module test

go 1.23.0

require (
	github.com/foo/direct1 v0.1.1
	github.com/foo/direct2 v0.1.2
	github.com/test/test1 v0.1.0
	github.com/test/test2 v0.1.0
)

require (
	github.com/foo/indirect1 v0.2.1 // indirect
	github.com/foo/indirect2 v0.2.2 // indirect
	github.com/test/test3 v0.1.0 // indirect
)
`

func TestAddRequire(t *testing.T) {
	file, err := modfile.Parse("go.mod", []byte(testFile), nil)
	require.NoError(t, err)

	file.AddNewRequire("github.com/foo/indirect2", "v0.2.2", true)
	file.AddNewRequire("github.com/foo/direct2", "v0.1.2", false)
	file.AddNewRequire("github.com/foo/direct1", "v0.1.1", false)
	file.AddNewRequire("github.com/foo/indirect1", "v0.2.1", true)

	file.Cleanup()
	file.SortBlocks()

	data, err := file.Format()
	require.NoError(t, err)
	require.Equal(t, expected, string(data))
}

What did you see happen?
Direct requires should be added to first require block, indirect requires should be added to second block.
What did you expect to see?
When using AddNewRequire, requires are added to the last block. This is the documented behaviour, but other go tools such as go mod tidy maintain two blocks, so this use the same approach.
It seems possible to use SetRequireSeparateIndirect to replicate the desired behaviour but that was far from obvious.
If nothing else reference in AddNewRequire and Addequire to  SetRequireSeparateIndirect would help users fine the right functionality, but ideally AddNewRequire and AddRequire should function as expected.
If a user isn't aware of the two block rule then using this will result in a file that go mod tidy handles badly, in some cases resulting in three blocks instead of two.

Related Issues and Documentation

cmd/go: `mod tidy -go=1.17` should move indirect dependencies to the second require part #47733 (closed)
cmd/go: 'mod tidy' sometimes adds new, unnecessary require sections #67948
cmd/go: separate direct and indirect dependencies in go.mod #27887 (closed)
cmd/go: 'go mod tidy' may delete comments on require blocks #47563 (closed)
cmd/go: mod tidy should join "require" sections if there are more than two #56471
import/path: issue title more than require blocks in go.mod  #68303 (closed)
cmd/go: mod edit doesn't respect direct/indirect blocks in go.mod #51983 (closed)
cmd/go: go directive is not only added during go mod init, but also under other conditions that are hard to deduce #30790 (closed)
cmd/go: 'mod tidy' chooses points in requirement cycles that differ from other subcommands #34086 (closed)
x/tools/gopls: missing direct requirements also listed in go.mod diagnostics #40470 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

See #68593, just parsing the modfile doesn't provide enough information for if a module should be direct or indirect, and the default addition is to mark it as indirect.

See #68593, just parsing the modfile doesn't provide enough information for if a module should be direct or indirect, and the default addition is to mark it as indirect.

I'm not sure you correctly understood what I reported, AddNewRequire takes the indirect parameter to specify if the caller wants a direct or indirect, which it does correctly.
What it's not doing is adding it to the correct block.

Ah sorry.

FYI I have some code which I believe fixes the behaviour, just need to get a PR created from it.

AddNewRequire is documented to add the require to the last block and I think we should be careful when making changes to behavior like this.
The go command only creates the two blocks for go modules declaring go 1.17 or later. We should make sure that we don't change that behavior.
Take a look at the code here: src/cmd/go/internal/modload/init.go#1846 The go command decides to call SetRequire or SetRequireSeparateIndirect based on the module's goVersion.

Thanks for the link, to clarify are users of modfile expected to use SetRequireSeparateIndirect to add requires instead of AddRequire / AddNewRequire @matloob?

SetRequire and SetRequireSeparateIndirect are meant to be used by the go command.
I think users that need to manually edit a go.mod file should use AddRequire but then run go mod tidy to fix the go.mod file. The direct and indirect values aren't always updated until a tidy is done.
We should fix the problems with tidy: Tidy shouldn't split a two-group go.mod file into three.

To confirm my understanding, AddRequire and AddNewRequire should ideally maintain the status?
If so this is what exactly https://github.com/golang/mod/pull/21 targets to do. However it does always look to create two groups so if we want it to only create one per 1.17 then it would need tweaking.

If I understand correctly, I don't think AddRequire should maintain the // indirect blocks. go mod tidy should do that.
It should be okay to had AddRequire add an // indirect requirement to the third block and then have go mod tidy figure out where it belongs.

The problem with that is it means you add a dependency on the go binary, the reason for using modfile is to avoid that, otherwise you could just exec go get, go mod edit --replace.
If modfile.Cleanup() corrected the order that would be fine though.
For reference the use case I'm working with is automating the correction of modules which create plugins, which have the requirement that they use identical module versions, specifically for krakend, which is typically used in a docker container that doesn't have go.

We expect the go command to be used to tidy a go.mod file before it's released. That's the main supported use case. We provide the x/mod library to allow programatic modification of the go.mod file, but it isn't meant to produce tidy go.mod files.
If the edited modules are being released I'd strongly recommend running go mod tidy before releasing them.
I think for what you're trying to your best bet is probably to use SetRequireSeparateIndirect to set the requires in the file and sort the requires into direct and indirect blocks. But you should be aware that there may be more work required to produce a tidy go.mod file`.

Totally agree that go mod tidy is still needed, in our use case this is done as a separate step outside of the container that is making the initial changes. The problem is go mod tidy doesn't correct the output from AddNewRequire.
We have already made the switch to SetRequireSeparateIndirect for now but I think this should still be fixed.
From a users perspective the AddNewRequire is the most obvious way add a require, and it should behave correctly, specifically it should leave the file in a state that go mod tidy can correct, which is not currently the case. Having two ways to do things is fine, but they should both have a valid output.
If SetRequireSeparateIndirect is the new way, deprecating AddNewRequire would at least make it obvious to the user, but as AddNewRequire is an better match for the typical use case of "adding a specific require" I would suggest the ideal solution would be to make AddNewRequire and SetRequire result in the expected layout, and deprecate SetRequireSeparateIndirect as it would become unnecessary.
In short all methods should result in a file that would require minimal changes that go mod tidy will handle.
Thoughts?

I agree that the methods should result in a file that go mod tidy will handle. We should fix go mod tidy to move direct dependencies that appear in the indirect block back into the same block as the other dependencies.
But I think it's okay that AddNewRequire places direct requirements in the second "indirect" block.
SetRequireSeparateIndirect essentially exists to be used by go mod tidy, so it's not something we want to push people to. And we don't want to deprecate AddNewRequire.
We do plan to fix the go mod tidy issue.


Should we resolve typed clients through IHttpClientFactory

In the "Named clients" section, the example resolves the "github client" with IHttpClientFactory:
    public NamedClientModel(IHttpClientFactory clientFactory)
    {
        _clientFactory = clientFactory;
    }

    public async Task OnGet()
    {
        var client = _clientFactory.CreateClient("github");
    }

But in the "Typed clients" section, the example resolves the "github client" with the typed class and does not make direct use of IHttpClientFactory.
    public TypedClientModel(GitHubService gitHubService)
    {
        _gitHubService = gitHubService;
    }

The documentation also states "IHttpClientFactory tracks and disposes resources used by HttpClient instances"?
So even though the typed client example doesn't make direct use of IHttpClientFactory, can we safely assume that IHttpClientFactory is being used to inject HttpClient into GitHubService so that we are still getting the benefits of IHttpClientFactory?

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

ID: 881cef77-11ef-ac11-06d0-0996a1ccfa1b
Version Independent ID: 3d356334-e672-7e8b-1fef-7944ebee99eb
Content: Make HTTP requests using IHttpClientFactory in ASP.NET Core
Content Source: aspnetcore/fundamentals/http-requests.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @stevejgordon
Microsoft Alias: scaddie

Hi @MisinformedDNA,
The short answer is that you can safely assume that IHttpClientFactory is managing the HttpClient (and under handlers/connections) for the typed clients as well as named clients.
The named client approach is a little simpler to follow as we can see that we're directly using the factory. In the case of typed clients, there's more abstraction involved. Your typed client accepts HttpClient in the constructor (along with any other dependencies you have). By registering your typed client using the AddHttpClient<TClient, TImplementation> or AddHttpClient methods, it is now created using DI and HttpClientFactory.
Both are valid approaches and ensure that the IHttpClientFactory feature is doing the heavy lifting. I personally prefer typed clients.
I hope that helps clear things up a little?

Thanks for contacting us. We believe that the question you've raised have been answered. If you still feel a need to continue the discussion, feel free to reopen it and add your comments.

Thanks @stevejgordon !


.conda files not yet reproducible

It looks like .conda files include a timestamp in the zip header. We should adust that timestamp to be deterministic in order to get bit-by-bit reproducible files.

fixed in rattler and fixed by #839


Add comments for exported symbols

The linter requires documentation for exported symbols. Documentation must start with the name of the exported symbol in Go.
@charlierudolph

We export symbols in all the lib folders as well. Why aren't those needed? Maybe its only needed for the entry point, which may change based on #839?

I have added documentation to all exported symbols in lib. I also added fixes for other linter warnings here. Given that there are already open PRs for child branches, I could not separate them in a meaningful way without significant effort. The changes are very simple though.


set var/name= allows duplicate variable names

Reported by sirott on 4 Aug 2001 04:40 UTC
use coads_climatology
yes? set var/name=airt sst
yes? sh dat
currently SET data sets:
1> /usr/local/ferret/fer_dsets/data/coads_climatology.cdf  (default)
name     title                             I         J         K         L
AIRT     SEA SURFACE TEMPERATURE          1:180     1:90      ...       1:12
AIRT     AIR TEMPERATURE                  1:180     1:90      ...       1:12
SPEH     SPECIFIC HUMIDITY                1:180     1:90      ...       1:12
WSPD     WIND SPEED                       1:180     1:90      ...       1:12
UWND     ZONAL WIND                       1:180     1:90      ...       1:12
VWND     MERIDIONAL WIND                  1:180     1:90      ...       1:12
SLP      SEA LEVEL PRESSURE               1:180     1:90      ...       1:12
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/304

Comment by<EMAIL_ADDRESS>on 4 Dec 2001 19:15 UTC
fixed in routine set_var.F

Comment by<EMAIL_ADDRESS>on 21 Oct 2003 20:15 UTC
Moving from the<EMAIL_ADDRESS>user to the<EMAIL_ADDRESS>user.

Comment by<EMAIL_ADDRESS>on 10 Feb 2004 21:15 UTC
Put bugs that were in component "All" into "Main"


Slow powershell startup

Environment
Windows build number: 10.0.18362.0
Windows Terminal version (if applicable): 0.6.2951.0

Any other software?
 It started happening with Terminal 0.5.2762.0. It's particularly annoying when I start splitting off panes left and right.
I ruled out my $Profile script by printing out its execution time as its last command.
Let me know how I can give you any profiled data.

Interesting. And it doesn't repro if you just run pwsh from Win+R? That's highly unusual.
Incidentally, powershell tells me how long it took to load my user profile every time I start it up, and I don't recall configuring that. Is it doing that here for you too?

Yes, Powershell is telling me profile scripts load times as well. The startup times difference between the Powershell terminal and Terminal is that Terminal takes slightly longer before and after Powershell writes its times (but the times are mostly on par with the Powershell terminal). Maybe it would be useful to log the Terminal overhead before and after invoking the inner shell.

Huh, that's interesting. Thanks!

I think I might the same thing here. By times when I start Windows Terminal i simply get a blinking cursor for around 7-10 seconds or so.
This happened when I had pwsh 5.1 as default and now also with pwsh 7 as default.
There's nothing in my profile that gets started.
The weird thing is also that it isn't always slow. A lot of times it's as fast as starting PS normally.

Contrasting running pwsh directly, which never takes a long time? I'm somewhat skeptical: we're really just spawning it in the exact same way as always...

@DHowett-MSFT, maybe there's a measurement gap somewhere. My $Profile script prints out its time at the end, and Terminal still does something 1-4 seconds after that, until I can type. Ideally it would be nice to measure 3 times;

terminal startup to shell invocation
shell startup time
time from end of shell startup to when user can type stuff

Terminal (or something else) still does something 1-4 seconds after that, until I can type.

By this point, terminal is just two pipes hooked up to a console process; it cannot introduce further delay between when the shell prints something and accepts input.
Do you, per chance, have a complicated Prompt function?
Regardless, would you mind capturing traces using this WPR profile, using the Console Performance Default Profile? Thanks!
My e-mail (and therefore MS alias ;P) is in my github profile.

Do you, per chance, have a complicated Prompt function?

I do have posh-git installed, but my startup directory is not in a git repo.
I'll get a recording and send it to you.

@cdmihai guessing that posh-git ended up being the culprit?

That's my current lead, per our email discussion.  But one of these days ...

That's my current lead, per our email discussion.  But one of these days ...

Same here. I need post-git and startup speed too.

It would be worth filing a bug on them to get git.exe out of the critical path then!

I have the same problem :/ Seems like posh really is causing the slow down

I have just found a solution in stackoverflow
you can find it here

I do not know why you have decided that powershell printing 4 lines of text is at all related to its speed.

I do not know why you have decided that powershell printing 4 lines of text is at all related to its speed.

I decided to give it a try because why not, and it is indeed a major improvement in startup speed. Seems ridiculous, but alas that's software for ya :)

I didn't decide, it was just a coincidence. I wanted to remove that 4 lines of text and it also improved startup speed. So yeah :)

It's 2020. Weirder things have happened! :smile:

-nologo helped me too, ig we can close this issue  now

Execute the next .bat
net stop CryptSvc /y
rename c:\windows\system32\catroot2 Catroot2.bak
net start CryptSvc


No tty available for debuggee

OS: Ubuntu 19.10
VSCode version: 1.45.0
Extension version: 1.5.0
Toolchain version: rustc 1.42.0 (b8cedc004 2020-03-09)
Build target: stable-x86_64-unknown-linux-gnu
Python version: 3.7.5
I'm trying to debug a TUI application written with Cursive in Rust. Starting the application I get:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: "$TERM is unset. Cannot initialize ncurses interface." }', /home/thomas/.cargo/registry/src/github.com-1ecc6299db9ec823/cursive-0.14.1/src/cursive.rs:101:17

When I manually set the $TERM environment variable to xterm-256color in the launch.json, I get the error cursive can only run with a tty with no such device or address instead (can't copy the whole message, since at this point copying from the terminal is disabled).
I tried both external and integrated setting for lldb.launch.terminal, neither work.
As a workaround start the application from somewhere else and then attach the debugger.

IIRC, the issue with cursive is that it obtains a terminal handle by directly opening /dev/tty, which only works when the process is associated with a controlling terminal.  LLDB spawns debuggees in such a way that they are detached from the parent process group and it's controlling terminal, so this doesn't work.
Attaching seems to be the best workaround for now.  Or, perhaps, cursive could be changed to just use stdin handle if it happens to be a try, and only then fall back to opening /dev/tty.  But I don't really know what their design constraints are.

IIRC, the issue with cursive is that it obtains a terminal handle by directly opening /dev/tty

Right, /dev/tty is opened directly: https://github.com/gyscos/cursive/blob/ec10145bf25c644c214859b42a4ec472d97b911c/cursive/src/backends/curses/n.rs#L85 .

LLDB spawns debuggees in such a way that they are detached from the parent process group and it's controlling terminal, so this doesn't work.

I assume there is no way to tell LLDB to use a different way to spawn a debuggee?

Attaching seems to be the best workaround for now. Or, perhaps, cursive could be changed to just use stdin handle if it happens to be a try, and only then fall back to opening /dev/tty. But I don't really know what their design constraints are.

Ok, seems like there is nothing vscode-lldb can do then. Thanks for the help, I'll raise an issue with cursive then. Please close this issue if you think that makes sense.

I assume there is no way to tell LLDB to use a different way to spawn a debuggee?

Not really. I think the authors of LLDB didn't want signals sent to debugger (e.g. SIGINT) to affect the debuggee.  Or something like that.

I'll raise an issue with cursive then.

Note that the line above the one you've linked to says "This leaves stdin and stdout usable for other purposes.", which makes sense if you want your TUI tool to be usable in shell pipelines (e.g. less command).   Still, would be nice if they allowed clients to pass in a custom file descriptor.


[WIP] Add new guide with Raspberry Pi, ESP32, Xiaomi Mi sensor and HTU21D

Do not merge: review by @forGGe is pending.

Small nitpick, otherwise LGTM. @ashvayka please review


Strings cannot contain newlines

Trying to include one causes a VisitationError (see
e.g. https://github.com/mozilla/normandy/issues/1059).
It may be worth catching VisitationErrors in validate(), but at least
make explicit that strings cannot contain literal newlines.

Uploaded to PyPI as v0.2.1.


Fix for FileNotFoundException on unbuilt ProjectReferences

Fixes #27.
StrongNamerAssemblyResolver: ignore assemblyPaths which don't exist.  Also defer reading the assemblies until they are actually needed (when the base resolver failed).
AddStrongName.ProcessAssembly: ignore assemblyItem whose path doesn't exist.  Emit log message.
If you don't want the update to Mono.Cecil 0.10.0, I can remove it from the PR.

@dsplaisted Please merge that PR. I've exactly stumbled about those bugs fixed with that PR in StrongNamerAssemblyResolver.
base.Resolve throws when no assembly found -> Does not return NULL
So the fix is as proposed by @ugumba
AssemblyDefinition matchedAssembly = null;
try
{
  matchedAssembly = base.Resolve(name, parameters);
}
catch (AssemblyResolutionException)
{
}

Yes, please.  StrongNamer is pure magic when it works! When it doesn't, VS becomes close to unusable or builds break...
I'd like to avoid having to pack and publish a separate nuget just for these fixes.

For me it's unusable without that fix

@ugumba @Sam13 Thanks for the contribution!  I've just released StrongNamer 0.0.8 with these changes (it may take a bit to be available on NuGet.org).
Sorry for the delay, I get too many GitHub notifications to notice when someone sends a PR to this repo, so I only saw this when you @ mentioned me.


kfctl apply from pricate kfdef on private and enterprize github

right now the only way we can deploy kubeflow with kfctl is if the manifest is coming from a public repository and the kfdef is either downloaded or is also a public url.
it would be useful if we added a way to download private github files using token and from enterprise github.

/assign

This would be very useful since some component overlays need to be private

I wonder if adding an environment variable SSL_CERT_DIR would accomplish the job of making it possible to trust enterprise PKI CAs.


Question about the 3D IoU metrics

Dear author,
we noticed that you modified the 3D IoU calculation in your code
def asymmetric_3d_iou(sRT_1, sRT_2, size_1, size_2):
        noc_cube_1 = get_3d_bbox(size_1, 0)
        bbox_3d_1 = transform_coordinates_3d(noc_cube_1, sRT_1)
        noc_cube_2 = get_3d_bbox(size_2, 0)
        bbox_3d_2 = transform_coordinates_3d(noc_cube_2, sRT_2)
        ## TODO:Need to change to 1 for Wild6D evaluation
        bbox_1_max = np.amax(bbox_3d_1, axis=1)
        bbox_1_min = np.amin(bbox_3d_1, axis=1)
        bbox_2_max = np.amax(bbox_3d_2, axis=1)
        bbox_2_min = np.amin(bbox_3d_2, axis=1)

but reported the metrics calculated by old version code on previous works （such as SPD） in your paper on Table 5 etc.
def asymmetric_3d_iou(sRT_1, sRT_2, size_1, size_2):
        noc_cube_1 = get_3d_bbox(size_1, 0)
        bbox_3d_1 = transform_coordinates_3d(noc_cube_1, sRT_1)
        noc_cube_2 = get_3d_bbox(size_2, 0)
        bbox_3d_2 = transform_coordinates_3d(noc_cube_2, sRT_2)
        bbox_1_max = np.amax(bbox_3d_1, axis=0)
        bbox_1_min = np.amin(bbox_3d_1, axis=0)
        bbox_2_max = np.amax(bbox_3d_2, axis=0)
        bbox_2_min = np.amin(bbox_3d_2, axis=0)

The big difference between two versions of code can lead to very different results.
I was wondering which version of code did you use to evaluate your model on NOCS and report the results on Table 5 etc. Thank you!

Sorry for the late reply!!!
Actually, the original code of computing 3D IOU used in the previous works are inaccurate. We should get the maximum value of x, y and z dimension over eight vertices to describe the size of the 3D box instead of maximum value over x,y,z axis (done in the original version).  To have a fair comparison, we follow the same evaluation implementation (used in most paper before 2022) in our paper to report the results on NOCS.


docs: update cncf conformance instructions

This PR aims at removing the need for the SSH tunnel when running the CNCF conformance tests. I am not removing the kubectl-tunnel target from the Makefile as it may still be useful in some scenarios. The following changes are being introduced:

Update the timeouts used in Marathon-LB.
Do not modify the system's PATH environment variable.
Fix a bug which caused the binaries not to be found in some systems even though they were in the PATH.
Add a PATH_TO_PACKAGE_OPTIONS Makefile variable that can be used to specify the file to use when installing (useful for the CNCF guide).
Use kubernetes.authorization_mode for CNCF.
Update the polling scripts in order to wait for a 401 or 403 status code from the API.

Thanks @rimusz! I have updated it.


12197 Fixed delivery address losing its ID

Issue #: /bcgov/entity#12197
Description of changes:

refactored "dynamic office type" code for clarity (getters + Office Addresses component)
deleted obsolete OfficeTypes enum
renamed some getters to getXXX or hasXXX
reverted some code that wasn't more clear than original code
app version = 3.1.2

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

Test results (proof that existing addresses are correctly displayed for the various filing types):
Change Filing

Conversion Filing

Correction Filing

Alteration Filing


help.yaml is loaded and parsed repeatedly when using -h

Follow up from #8500. There was a PR to remove the info statements, but this revealed that each help loader is being processed multiple times (once per command or subgroup) for a single call to help. This should not happen. A call with -h should, at most, load the help.yaml file once per invocation.

Thanks for opening an issue for this.


Symlink LICENSE into crates (#353)

Symlink the top-level LICENSE into each published crate.

Hi Lucio, is there a rough estimate for when the next crates.io release may happen that would include this? If there isn't one planned for the near future, would it be possible to cut a patch release containing this change?


update(karma-mocha-headless): sudo: required per new instructions

What's changed, or what was fixed?

item 1
item 2

Fixes: #issue
Target Live Date: YYYY-MM-DD

[ ] This has been reviewed and approved by (NAME)
[ ] I have run gulp test locally and all tests pass.
[x] I have added the appropriate type-something label.
[ ] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2017/06/headless-karma-mocha-chai.md#L5 - WF Tag wf_updated_on must be within the last 7 days.
src/content/en/updates/2017/06/headless-karma-mocha-chai.md#L18 - '

Whoops!
There were 1 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2017/06/headless-karma-mocha-chai.md#L18 - '

Whoops!
There were 1 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2017/06/headless-karma-mocha-chai.md#L18 - '

:tada: This has been pushed live to https://developers.google.com/web/


API to set multiple blocks at once.

Batches help network as well.

should have a demo of using it.

fixed with 5f86d040786681dd8c9e93b2cdfd380207100483

5f86d040786681dd8c9e93b2cdfd380207100483

enable using -1 as alpha to skip setting

a3f8520673b12fc7cdd270aa3f9f5279b903b02b


NT-1346: Remove minimum pledge amount from no-reward cards

📲 What
Hide the minimum pledge amount from no-reward cards.
🤔 Why
We want to run experiments with suggested minimum amounts for different audiences, and this change is needed in order to efficiently run that experient.
🛠 How
I created a new Observable in RewardViewModelViewhHolder that emits whether or not a reward item is of the "no-reward" type. If that value is true, and it's a no-reward, we hide the amount and conversion text fields.
👀 See

📋 QA
Check to ensure that the $ amount indicator has been removed from the “Pledge without a reward” card in the Reward Carousel for the control as well as all experimental variants
Story 📖
https://kickstarter.atlassian.net/secure/RapidBoard.jspa?rapidView=9&modal=detail&selectedIssue=NT-1346

Closed due to incorrect base branch. Cherry picked commit onto proper branch instead


Add a new matcher for testing the existence of dynamic fields on searchable objects.

This could also be handled by modifying the existing HaveSearchableField to simply look at all field factories on the configured object, but I didn't want to change existing behavior too much.
@sunspot.all_field_factories.collect(&:name).include?(@field)

Let me know if this would be preferable and I'll update the pull request.
This also fixes an old test that was supposed to be verifying that the have_searchable_field matcher worked on both instances and objects, but was simply testing the object behavior.  Test was broken when being upgrdaed to rspec 'expect' syntax

Thanks for the pull request. Sorry it took so long to merge it.
The changes should be in gem version <IP_ADDRESS>.


Bring over FlyoutPresenter template

Move FlyoutPresenter tempalte to MUX. This will give us the ability to change default corner radius on Flyouts (DropDownButton flyout, SplitButton flyout, and all other default Flyouts).

Throwing in a proposal for Flyout styling - to help with an elevation feeling on both Light and Dark themes.

Throwing in a proposal for Flyout styling - to help with an elevation feeling on both Light and Dark themes.

@chigy Can you take a look at this and make sure we take it into consideration?

@kaiguo , this design proposal is NOT the POR from shell design team and it is a new suggestion. I will need to discuss that with the design team so please do not take this change.
@mdtauk , please open a separate GitHub item with your proposal.

@kaiguo Kai Guo FTE , this design proposal is NOT the POR from shell design team and it is a new suggestion. I will need to discuss that with the design team so please do not take this change.
@mdtauk , please open a separate GitHub item with your proposal so I can take it to the design team to discuss and apply it to all the relevant controls if they want to take your suggestion. We cannot just take it for flyout, otherwise it will be inconsistent within the system.

Yeah this PR just brings over the existing template into MUX for future modifications, it doesn't make any actual changes to the style. Just wanted to add you to thread and make sure you are aware of the proposal : )

@chigy @kaiguo  Noted, and done! #895


Whats elegant-react-native?

Hi, Guys.
I see this repo needs some contributer.
i want to contribute, but whats elegant-react-native?
whats the purpose of this repo? what issue we solve? what we do ?
please update readme with description of this repo that contains critical informations about this repo.
thanks, regards.

Hi @E-RROR  ,
I started package to reach a standard structure/boilerplate to init a react-native project.
Main goal is defining common patterns and use community supported libraries to handle what we need. Currently we are publishing our startup app based on this structure and afterward we will apply our changes here.
If you're interested on contribution you can start with any items on Todo list in Readme (included docs :D)
Good day

@E-RROR, If you are not familiar with issues please consider here is not for objection, If you think there is a lack in this repo, any kind of lack, and you care about it. you can fork, make changes, and send PR.
If you think the repo that we are contributing is useless or doesn't solve any problems, you can just leave it alone.


Add breakpoint type: break.here

Now we have:

break.at|before
break.after
break.at|before.begin
break.after.end

We need a type of breakpoint could use as:
ticat cmd : cmd : break.here : cmd

Implemented: https://github.com/innerr/ticat/commit/5778d80f07f82a2d983a6cd6cd1f08341aff875d


Merge pull request #10 from adobe/main

Updating fork's main

Accidental Pull request, please ignore


Make previews entry endpoint configurable

Feature request
Allow users to configure the entry endpoint for previewing components.

Motivation
Started here https://github.com/github/view_component/pull/324#discussion_r419091598.
Also several gems allow users to mount their views in a given endpoint, for instance Split, Flipper, Sidekiq:
# config/routes.rb
mount Sidekiq::Web => '/sidekiq'

Although, we may not need to let the users to mount the previews like this, but instead we can just provide a configurable attribute for the base endpoint in the view components config, and use it if the previews are enabled.

Curious what others think but I think I lean towards requiring the user of the gem to choose the mount point in routes.rb. Its would be a 'breaking' change for anyone using previews today. Given the folks should be thinking about securing these pages and whether they are on/off in production etc. routes.rb is the right place for those decisions.
It's not what ActionMailer previews does but IMO this is a place where we should be prepared to break from that example. @joelhawksley and others?

Following the same line of thought, what should happen when the user have show_previews disabled and the mount point is in routes.rb (let's say at the top of the file)? Should we not mount anything, despite of the user explicitly mounting the preview routes there?
Your point makes sense to me, but from an implementation perspective, just adding a config attribute is way simpler, I think. If we want to allow users "mount" the previews, we need to either implement a fully compliant Rails::Engine or go with a Rack app.

I'm proposing we eliminate show_previews as a config option and rely on the user mounting the engine or not. You can make routes.rb conditional base on Rails Env or any other rules (and the user of the gem could create their own config param if they wanted to to control it via config/production.rb, config/development.rb etc.)

If we want to allow users "mount" the previews, we need to either implement a fully compliant Rails::Engine or go with a Rack app.

I don't have much experience with what is involved there. We already have an Engine what does it take to add routes to it? Reading up on the docs here: https://guides.rubyonrails.org/engines.html It looks like we'd add config/routes.rb to the engine. I think it probably also solves the ApplicationController/url_helper problem you have in #330

Yeah that looks good! So in order to have view component previews, users should now mount the preview engine. And if they don't want it on prod they can just always wrap it in an if clause, right?
I'm not sure it will also solve the url_helper problem, but if we end up removing the Rails::ApplicationController as the parent controller, I'm sure we'll get it solved.
How should we proceed then?

@jonspalmer @juanmanuelramallo I'm having a difficult time understanding the problem we're trying to solve with this change.
As ViewComponent::Previews are meant to be very similar to ActionMailer::Previews, I think the functionality we currently have in the library is quite nice! I like that the routes are nested under the /rails path.
I'm fine with making the mount point configurable, but I would prefer the default behavior to remain as it is now.

👋 I think I prefer the approach you're taking in #330 @juanmanuelramallo. It keeps our implementation closer to ActionMailer previews ❤

@joelhawksley The challenge I have is that ActionMailer previews are IMO pretty badly implemented. If I'm including a gem that brings routes with it I should configure those routes in routes.rb. As the application owner that allows me to keep all my routing in one place.
As it stands there are two configuration variables I need to think about to makeVC previews work vs a single mount point to configure. Routes.rb also has a lot more flexibility in terms of when to 'show' previews that a simple "show_previews" boolean doesn't allow.
I'm all for following Rails patterns but only when they're good ones and ActionMailer previews don't meet that for me. Instead I suggest we should be inspired by hugely popular gems like sidekiq etc. that configure via mounting an engine.
As a side benefit using true routing in an engine we think gives us a bunch of structural advantages to the preview code, view helpers etc.

I'm ok if we decide to close #330 and update this issue.
I'm ok with either of both solutions to be honest, I just find #330 to be the easier one, but I don't want to be lazy and just roll this out because it's easier.
So I think @joelhawksley it's your call here, either to move forward with #330 or to update this issue and mention that the solution must be a mountable engine.

@jonspalmer that's a fair point. Has this issue been raised on Rails at all?
While it doesn't look like Rails Conductor is going to be part of 6.1, I could imagine it providing hooks for this kind of internal functionality. Perhaps we table moving to an engine until we have more clarity there?
Generally, I view what we're doing with ViewComponent as more closer to Rails than not, unlike Sidekiq. Even if the ActionMailer implementation isn't ideal, I value consistency a lot.
That being said, I don't feel incredibly strongly about this issue. If either of you do, I will defer to your decision. But if we do decide to go with a mountable engine, we'll need to consider what timing

Your call then @jonspalmer, how would you want to proceed?
Personally, I prefer the configuration attribute introduced in #330 so that we keep it simple (implementation and usage).
But I see that mounting the previews in the routes file of a project might be clearer for the final user and would give them more control.

@joelhawksley I hear you on the consistency. My sense is that ActionMailer previews is a pretty weird wart on the Rails framework and one that hasn't had a lot of attention recently. I've also found that it has relatively limited value once you have an app that is sending a significant volume of email with any complexity. I certainly seen apps where we wrote our own versions equivalent things.
That said I'm ok going with #330. I'm likely to use Storybook for 'previews' anyway as there are more feature with that approach. If that allows us defer a breaking change decision until later I'm ok with it.
P.S. What is Rails Conductor? I don't have it on my radar.

@jonspalmer here is the conductor PR: https://github.com/rails/rails/pull/35489. I'm not sure what the plan is for it at this point.
I'd be interested in documenting Storybook as a solution for more advanced previews.


Add model api endpoints for links and sectors with recursive serialization capabilities

Linked to #170 I think because doing this is going to expose some issues