feat(examples-plugins): add knip to example plugin

This PR is just here to showcase knip implementation and screenshots.
This PR includes:

examples-plugins/src

logic to wrap the knip CLI
unit and integration tests
docs

utils

helper to setup categories capital and singular

This PR does not include:

e2e tests because it is an example

See the portal here: https://staging.code-pushup.dev/portal/code-pushup/cli-utils/commit/985ac7155f1f8cb8ad1b482a984740ad3d2d5e75/dashboard
Changes for a followup PR:

issues table - duplicated exports should list last reference instead of first
issues table - unused dependencies should link to line where package sit's
issues table - unlisted dependencies, unused development dependencies could list only one referencing file (otherwise we see multiple times the same issue title with a difference source but installing it ones fixes the issues)
issues table - issue messages could include the full audit title e.g. "Unused export docsUrlSchema" instead of "Export docsUrlSchema"

Used configuration
import {
  KnipConfigPlugin,
  combineNxKnipPlugins,
  withEsbuildApps,
  withEsbuildPublishableLibs,
  withEslint,
  withLibraryMapper,
  withLocalNxPlugins,
  withNxTsPaths,
  withVitest,
} from '@beaussan/nx-knip';

export const withIgnoreMockInLibs = () =>
  withLibraryMapper({
    mapperFn: ({ rootFolder }) => {
      return {
        ignore: [rootFolder + '/mocks/**'],
        entry: [rootFolder + '/src/bin.ts', rootFolder + '/perf/**/index.ts'],
      };
    },
  });

export const withCuNxStandards = (): KnipConfigPlugin => () => {
  return {
    project: ['**/*.{ts,js,tsx,jsx}'],
    ignore: ['tmp/**', 'node_modules/**', 'examples/**'],
    entry: [
      'testing/test-utils/src/index.ts',
      'testing/test-utils/src/lib/fixtures/configs/*.{js,mjs,ts,cjs,mts,cts}',
      'testing/test-setup/src/index.ts',
      'testing/test-setup/src/lib/**/*.{js,mjs,ts,cjs,mts,cts}',
      // Same issue as the other vitest related, it should be picked up by knip from the vitest setup files
      'global-setup.ts',
      'global-setup.e2e.ts',
      // missing knip plugin for now, so this is in the root entry
      'packages/models/zod2md.config.ts',
      'code-pushup.config.ts',
      'esbuild.config.js',
      'tools/**/*.{js,mjs,ts,cjs,mts,cts}',
    ],
    ignoreDependencies: [
      'prettier',
      '@swc/helpers',
      '@swc/cli',
      '@nx/plugin',
      '@nx/workspace',
      '@example/custom-plugin',
    ],
  };
};

export default combineNxKnipPlugins(
  withNxTsPaths(),
  withLocalNxPlugins({ pluginNames: ['nx-plugin'] }),
  withEsbuildApps(),
  withEsbuildPublishableLibs(),
  withVitest(),
  withIgnoreMockInLibs(),
  withEslint(),
  withCuNxStandards(),
);

run nx run-collect --onlyPlugins knip to test it locally.
Example Audit Interpretation
Legend:

✅ - valid result
❌ - false positive
❓ - open question
⏳ - evaluation pending

Unused files (1)

✅ packages/plugin-lighthouse/src/index.ts
Can be fixed by using it in e.g. e2e tests

Unused dependencies (1)

✅ cli-table3  package.json
Can be fixed by uninstalling cli-table3
Run npm remove cli-table3 to remove dependency

Unused devDependencies (8)

✅  tsx                                    package.json
This package is not used anywhere in the code either directly on in "scripts" or configuration files.
You can fix it by running npm remove tsx
Same goes for the follwing dependencies
✅  @trivago/prettier-plugin-sort-imports  package.json
⏳ eslint-plugin-jsx-a11y                 package.json
❓  eslint-plugin-react                    package.json
should have been picked up by the nx helper WDYT @beaussan
the following packages are (most probably) a cascade of this issue
❓  eslint-plugin-react-hooks              package.json
❓  jsonc                                  package.json
❌ commitlint-plugin-tense                package.json
false as it is used in commitlint.config.js

/** @type {import('@commitlint/types').UserConfig} */
const configuration = {
  extends: ['@commitlint/config-conventional'],
  plugins: ['commitlint-plugin-tense'],
// ...
}

❌ conventional-changelog-angular         package.json
false as a peer dependency of commit. (cascade of commitlint-plugin-tense)
Run npm ls conventional-changelog-angular to list check dependent packages.

├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └──<EMAIL_ADDRESS>

Unlisted dependencies (38)

✅ jsonc-eslint-parser                   .eslintrc.json
This is a peer dependency of @nx/eslint-plugin, but and not directly installed.
If you uninstall @nx/eslint-plugin you don't have jsonc-eslint-parser anymore available.
Run npm ls jsonc-eslint-parser to list the root package:

<EMAIL_ADDRESS>/Users/michael_hladky/WebstormProjects/quality-metrics-cli
└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>
To fix it run npm i jsonc-eslint-parser --save-dev
same is valid for all following issues of jsonc-eslint-parser

✅ jsonc-eslint-parser                   e2e/cli-e2e/.eslintrc.json
✅ jsonc-eslint-parser                   packages/cli/.eslintrc.json
✅ jsonc-eslint-parser                   packages/core/.eslintrc.json
✅ jsonc-eslint-parser                   packages/models/.eslintrc.json
✅ jsonc-eslint-parser                   packages/nx-plugin/.eslintrc.json
✅ jsonc-eslint-parser                   packages/plugin-coverage/.eslintrc.json
✅ jsonc-eslint-parser                   packages/plugin-eslint/.eslintrc.json
✅ jsonc-eslint-parser                   packages/plugin-js-packages/.eslintrc.json
✅ jsonc-eslint-parser                   packages/plugin-lighthouse/.eslintrc.json
✅ jsonc-eslint-parser                   packages/utils/.eslintrc.json
✅ jsonc-eslint-parser                   testing/test-setup/.eslintrc.json
✅ jsonc-eslint-parser                   testing/test-utils/.eslintrc.json
✅ minimatch                             tools/eslint-to-code-pushup.mjs
This is used in tools/eslint-to-code-pushup.mjs, but and not listed in package.json. The code works because other packages like @nx/devkit have minimatch as peer dependency. If you would remove all related packages like @nx/devkit, tools/eslint-to-code-pushup.mjswould stop working.
Run npm ls minimatch to list the root package:

├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     ├─┬<EMAIL_ADDRESS>│     │ └──<EMAIL_ADDRESS>│     └──<EMAIL_ADDRESS>
To fix it run npm i minimatch --save-dev
same is valid for issues of tslib

✅ tslib                                 tsconfig.base.json
✅ @example/custom-plugin                testing/test-utils/src/lib/fixtures/configs/code-pushup.needs-tsconfig.config.ts
This is used as dummy reference in a test like this.

  // the point is to test runtime import which relies on alias defined in tsconfig.json "paths"
// non-type import from '@example/custom-plugin' wouldn't work without --tsconfig
import customPlugin from '@example/custom-plugin';

const config = {
  plugins: [customPlugin],
};

export default config;

It can be fixed by adding the package name to the knip.config.ts
 export default {
// ...
  ignoreDependencies: [
      // 👇 fixed by add package name to ignoreDependencies here
      '@example/custom-plugin'
    ],
}

✅ @commitlint/types                     commitlint.config.js
Is used in like this: const { RuleConfigSeverity } = require('@commitlint/types');.
To fix it run npm i @commitlint/types --save-dev

❓ basic                                 e2e/cli-e2e/vite.config.e2e.ts
This shows no dependents when running npm ls basic
This could be fixed by installing basic manually over npm i basic -D but seems odd as there are no deps listed.
Same goes for all other issues related to basic

basic                                 packages/cli/vite.config.integration.ts

basic                                 packages/cli/vite.config.unit.ts

basic                                 packages/core/vite.config.integration.ts

basic                                 packages/core/vite.config.unit.ts

basic                                 packages/models/vite.config.integration.ts

basic                                 packages/models/vite.config.unit.ts

basic                                 packages/nx-plugin/vite.config.integration.ts

basic                                 packages/nx-plugin/vite.config.unit.ts

basic                                 packages/plugin-coverage/vite.config.integration.ts

basic                                 packages/plugin-coverage/vite.config.unit.ts

basic                                 packages/plugin-eslint/vite.config.integration.ts

basic                                 packages/plugin-eslint/vite.config.unit.ts

basic                                 packages/plugin-js-packages/vite.config.integration.ts

basic                                 packages/plugin-js-packages/vite.config.unit.ts

basic                                 packages/plugin-lighthouse/vite.config.integration.ts

basic                                 packages/plugin-lighthouse/vite.config.unit.ts

basic                                 packages/utils/vite.config.integration.ts

basic                                 packages/utils/vite.config.unit.ts

basic                                 testing/test-utils/vite.config.unit.ts

Unused exports (23)

✅ renderUploadAutorunHint                 function  packages/cli/src/lib/collect/collect-command.ts:42:17
can be fixed by removing the export form duplicateRefsInCategoryMetricsErrorMsg

// 👇 fixed by removing this export
export function renderUploadAutorunHint(...) { /*...*/ }

✅ duplicateRefsInCategoryMetricsErrorMsg  function  packages/models/src/lib/category-config.ts:54:17
✅ unrefinedCoreConfigSchema               unknown   packages/models/src/lib/core-config.ts:11:14
✅ refineCoreConfig                        function  packages/models/src/lib/core-config.ts:32:17
✅ messageStyles                           unknown   packages/utils/src/lib/progress.ts:13:14
✅ singletonUiInstance                     unknown   packages/utils/src/lib/logging.ts:23:12
✅ logListItem                             function  packages/utils/src/lib/logging.ts:39:17
✅ onlyPluginsOption                       unknown   packages/cli/src/lib/implementation/only-plugins.options.ts:4:14
✅ h                                       function  packages/utils/src/lib/reports/md/headline.ts:13:17
can be fixed by exporting h in index.ts

// 👇 fixed by adding this export
export * from './src/lib/reports/md'

✅ h4                                      function  packages/utils/src/lib/reports/md/headline.ts:29:17
✅ h5                                      function  packages/utils/src/lib/reports/md/headline.ts:33:17
✅ h6                                      function  packages/utils/src/lib/reports/md/headline.ts:37:17
can be fixed by exporting groupMetaSchema in index.ts

// 👇 fixed by adding this export
export {groupMetaSchema} from '.packages/models/src/lib/audit.ts'

Similar fix can be applied for the following issues.

✅ throwIsNotPresentError                  function  packages/utils/src/lib/reports/utils.ts:273:17
✅ groupMetaSchema                         unknown   packages/models/src/lib/group.ts:20:14
✅ NoExportError                           class     packages/utils/src/lib/file-system.ts:78:14
✅ weightSchema                            unknown   packages/models/src/lib/implementation/schemas.ts:140:14
✅ descriptionSchema                       unknown   packages/models/src/lib/implementation/schemas.ts:40:14
✅ docsUrlSchema                           unknown   packages/models/src/lib/implementation/schemas.ts:49:14
✅ pluginDataSchema                        unknown   packages/models/src/lib/plugin-config.ts:30:14
✅ coverageTypeSchema                      unknown   packages/plugin-coverage/src/lib/config.ts:3:14
✅ coverageResultSchema                    unknown   packages/plugin-coverage/src/lib/config.ts:6:14
⏳ WORKDIR                                 unknown   packages/plugin-eslint/src/lib/runner/index.ts:14:14
⏳ shieldsBadge                            function  packages/utils/src/lib/reports/utils.ts:71:17

Unused exported types (12)

✅ FontStyle              type  packages/utils/src/lib/reports/md/font-style.ts:8:13
can be fixed by exporting h in index.ts

// 👇 fixed by adding this export
export * from './src/lib/reports/md'

Same is applicable for the following issues

✅ Hierarchy              type  packages/utils/src/lib/reports/md/headline.ts:2:13
✅ Order                  type  packages/utils/src/lib/reports/md/list.ts:1:13
✅ GroupMeta              type  packages/models/src/lib/group.ts:26:13
can be fixed by exporting GroupMeta in index.ts

// 👇 fixed by adding this export
export {GroupMeta} from '.packages/models/src/lib/group.ts'

✅ CliUiBase              type  packages/utils/src/lib/logging.ts:8:13
can be fixed by removing the export form CliUiBase

// 👇 fixed by removing this export
export type CliUiBase = /*...*/;

✅ OnlyPluginsCliOptions  type  packages/cli/src/lib/implementation/only-plugins.model.ts:4:13
this type is not used.
It can be fixed by using it to ensure the option names.

export function yargsOnlyPluginsOptionsDefinition(): Record<
   // 👇 fixed by replacing 'onlyPlugins' with `keyof OnlyPluginsCliOptions`
  'onlyPlugins',
  Options
> {
  return {
    onlyPlugins: onlyPluginsOption,
  };
}

✅ HistoryOnlyOptions     type  packages/core/src/lib/history.ts:8:13
is unused can be fixed by exporting it. (lands in #273)
✅ LighthouseCliOptions   type  packages/plugin-lighthouse/src/lib/utils.ts:16:13
is unused can be fixed by exporting it. (lands in #549)
✅  Yarnv2AuditAdvisory    type  packages/plugin-js-packages/src/lib/runner/audit/types.ts:87:13
can be fixed by exporting Yarnv2AuditAdvisory in index.ts

// 👇 fixed by adding this export
export {Yarnv2AuditAdvisory} from './src/lib/runner/audit/types.ts'

Same applies for the following exported types

✅ NpmVersionOverview     type  packages/plugin-js-packages/src/lib/runner/outdated/types.ts:19:13
✅ Yarnv1VersionOverview  type  packages/plugin-js-packages/src/lib/runner/outdated/types.ts:33:13
✅ Yarnv2VersionOverview  type  packages/plugin-js-packages/src/lib/runner/outdated/types.ts:54:13

Duplicate exports (2)

✅ addToProjectGenerator, default  packages/nx-plugin/src/generators/configuration/generator.ts
the audit can be fixed by only exporting the same instance 1 time. Note: also applies for the following autit.

// packages/nx-plugin/src/generators/configuration/generator.ts
// 👇 e.g. fixed by removing this export and keep the default export
export function initGenerator(tree: Tree, schema: InitGeneratorSchema) {
   // ...
}
// 👇 e.g. fixed by removing this export and keep the explicite export
export default initGenerator;

✅ initGenerator, default          packages/nx-plugin/src/generators/init/generator.ts

Screenshots of the implementation in different views

Plugin Terminal Output
Plugin MD Output

Portal
Portal

Related:
https://github.com/webpro/knip/issues/551

The Unused development dependencies audit is full of false positives, I'm afraid :disappointed: It doesn't seem to detect usage other than import/require in code. Other than the false positives already mentioned, the following are also not valid:

✅ tsx package.json
This package is not used anywhere in the code either directly on in "scripts" or configuration files.
You can fix it by running npm remove tsx
Same goes for the follwing dependencies
✅ @trivago/prettier-plugin-sort-imports package.json

@trivago/prettier-plugin-sort-imports is used, Prettier picks it up automatically, importOrder and importOrderSortSpecifiers options configured in .prettierrc

could also be made explicit by adding plugins: ['@trivago/prettier-plugin-sort-imports']

tsx is used by the perf Nx target in packages/utils/project.json

❓ eslint-plugin-react package.json
should have been picked up by the nx helper WDYT @beaussan
the following packages are (most probably) a cascade of this issue
❓ eslint-plugin-react-hooks package.json

This was the case since we excluded the example projects, I changed that in the base config and this is now properly reported

❌ commitlint-plugin-tense package.json
false as it is used in commitlint.config.js

This is something missing on the knip side, it will only look at the extends but not the plugins array. I will make a follow up on their side to update it. In the meantime, added to the ignore array

❓ basic e2e/cli-e2e/vite.config.e2e.ts
This shows no dependents when running npm ls basic
This could be fixed by installing basic manually over npm i basic -D but seems odd as there are no deps listed.
Same goes for all other issues related to basic

This is a false positive, it shouldn't require a npm lib since it's a built in of vitest. I will make a pr to add it to the built in reporters on the knip side so this shouldn't occur anymore. In the meantime, I added it to the ignore dependencies array

tsx is used by the perf Nx target in packages/utils/project.json

This should have been picked up by knip, since it will look at the project json configs to detect the scripts and thrid party requirements, I will follow up with an issue on their side

Related PRs :
https://github.com/webpro/knip/pull/587
https://github.com/webpro/knip/pull/588


chore(deps): update common-dev-assets digest to 44ee19c

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
1c3409f -> 44ee19c

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

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


Difficulties with set-working-directory

Hello
I'm having difficulties with set-working-directory. It somehow does not seem to work (or I don't know how).

So it seems the working directory is still / instead of /hello. Can anybody help me? Is this a bug or am I missing something? Thanks.

Sorry about the delay, the set-working-directory command only impacts
what rkt does, the run subcommand to acbuild doesn't use it. You can use
the --working-dir flag to the run subcommand to choose a working
directory.
On Fri, Dec 9, 2016 at 5:30 AM, swerter<EMAIL_ADDRESS>wrote:

Hello
I'm having difficulties with set-working-directory. It somehow does not
seem to work (or I don't know how).
So it seems the working directory is still / instead of /hello. Can
anybody help me? Is this a bug or am I missing something? Thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/containers/build/issues/280, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACU49VozO23iDZH8qx64M8ICd0DDEzznks5rGS3bgaJpZM4LIys2
.

Thanks a lot for your help. How about adding a small comment into the run documentation?

Oh yeah, that should definitely be mentioned there. I'll put together a PR.
On Thu, Dec 29, 2016 at 12:44 PM, swerter<EMAIL_ADDRESS>wrote:

Thanks a lot for your help. How about adding a small comment into the run
documentation?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/containers/build/issues/280#issuecomment-269666030,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACU49SdOPBGAFKt0RdOsO-wUpPvAkJitks5rM_GPgaJpZM4LIys2
.

@dgonyeo I was expecting this to work like a Dockerfile WORKDIR. Is there a workaround for this? Having to pass --working-dir to run every time is a bit of a pain.

set-working-directory doesn't work like this by design. All it does it update a line in a json file that rkt looks at later. The --working-dir flag is the way to set the working directory for a given run command.


I am unable to login aftger changing my password

Describe the issue
I am unable to login aftger changing my password
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

@alperkamildemir, Please send an email to<EMAIL_ADDRESS>or<EMAIL_ADDRESS>so we can help you.


好像当前项目在添加环境光没有作用,const ambient = new Three.AmbientLight(0xdcdcdc)

For verification, I changed the example page.
web:https://sandy10000.github.io/contents/demonstration/three/orbitcontrolsworker/simple/
code:https://github.com/Sandy10000/Sandy10000.github.io/blob/master/contents/demonstration/three/orbitcontrolsworker/simple/worker.js
I changed the ambient light to red (0xff0000) to make it easier to understand, but it seems to be reflected without any problems. If the problem seems to occur due to the difference in conditions, please add the condition.


Unable to update dataset

I created and published a dataset ("Composition and Morphology of an Isolated Mg-Nd β''' Precipitate"). I wanted to go back and add more authors to it. I unpublished it, added the new authors, and republished it. The new authors don't show up on the Materials Commons Data site. As I entered the new authors I kept getting "Error: Unable to update dataset" messages in the top right of the screen.
While published, if I try to make any changes to the dataset description (changing the name, the description field, etc), I get the same warning.

@stvdwtt -- I was unable to duplicate this problem.
Specifically, I was able to carry out the following steps without error...

Select an Experiment
Create a new Dataset
Add Processes steps to the dataset
Add an Author
Publish the dataset
Verify that the author is shown
Un-publish the dataset
Add another Author
Publish the dataset
Verify that the second author is shown
Un-publish the dataset
Change the title and description
Publish the dataset
Verify that the title and description were changed

I would very much like to duplicate the problem you are seeing; otherwise I will not be able to fix it. So, I am wondering if you could give a more complete step-by-step description of the steps you carry out to produce the error.
Thanks.
Terry.

@Terry-Weymouth I checked and I'm still having the same problem. Here's exactly what I did.

Selected an existing experiment

Selected an existing and currently published dataset

Clicked "UNPUBLISH DATASET"

Added an author to the dataset (after I put it in I got a red "Error: Unable to update dataset" dialog box in the upper right corner. It disappears fast enough that I couldn't get a screenshot. The new name shows up in the data set screen (see below):

Clicked Publish Dataset

Dataset is back on the public site, but without the new name (see below):

@stvdwtt I'm looking at this problem again. I'm adding some notes so that Glenn and I can discuss.
Dataset Id = d78ada5c-1090-47f0-8633-534fac72de92;
Which project/experiment is this attached to?

@Terry-Weymouth The project is "PF Simulation of Mg-Nd Preciptiates" and the experiment is "Composition and Morphology of an Isolated Mg-Nd B''' Precipitate".

@gtarcea Something is very odd about this dataset. It does not appear at the Projects site. That is, I made the following check:

Logged in a admin
Switched user to @stvdwtt
Navigated to the above project
What I discovered is that the dataset (see id above) is not linked to an experiment in the project.
@stvdwtt is it possible that the experiment was deleted? (I believe that deleting an experiment when it has a dataset is not allowed, but I would have to check to be sure).
At any rate, I asked @gtarcea to look into this problem.

This appears to be a special case in which the underlying experiment or possibly project (or some other dependent line) was deleted, and hence the dataset can not be updated! If this is, in fact, the case, then @gtarcea or some other Materials Commons admin will have to fix the problem "by hand". Please work closely with him.

Note, the we recently put in code to prevent the deleting of an Experiment, Project, or Dataset when  there is a published dataset in the "path". And to assure that all unpublished dataset are deleted when a Project or Experiment (with only unpublished datasets) is deleted. Note, also, that a dataset with a DOI is considered to have been published, even if it is currently unpublished and (because of this) is can not be deleted, nor can a project/experiment that contains it be deleted.


Add file path in the Delete dialog text.

This pull request fixes the issue https://github.com/koppor/jabref/issues/534.
My solution is that instead of the absolute file path, only the file name is shown in the dialog title. The file's absolute path is added in the dialog text.

[x] Change in CHANGELOG.md described in a way that is understandable for the average user (if applicable)
[ ] Tests created for changes (if applicable)
[x] Manually tested changed features in running JabRef (always required)
[x] Screenshots added in PR description (for UI changes)
[x] Checked developer's documentation: Is the information available and up to date? If not, I outlined it in this pull request.
[x] Checked documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request to the documentation repository.

There is something wrong with my local branches and I am unable to commit anymore. This PR will be closed and a new PR will be open.


Connection pool remained when tomcat restarted

When i modify and save my code at Eclipse, codes are complied automatically and my tomcat is restarted also.
I usually use 15 of hikariCP data sources. But after that Auto Restart, my oracle connection's number increased double!
Below is session check oracle query
select count(*) from v$session where machine = 'MyMachineHostName';
I just tried two of hikariCP's config(maxlifetime, idleTimeout), but also connection isn't decreased.
Obviously turning off auto compile setting is the fast way solving the problem. but if i don't use that setting, it is so hard to check the result(back-end and front-end both!)
There are Any Special settings for me?

Add a 'ServletContextListener' to your application
public class ServletContextLTest implements ServletContextListener{
     public void contextInitialized(ServletContextEvent sce) { }

     public void contextDestroyed(ServletContextEvent sce) { dataSouruce.close();  }
}

Hello Chris2018998
DataSource have not the method "close".
as your support, i add the ServletContextListener and find DataSource like below
	@Autowired 	List<DataSource> datasources;
and then i can't access "close()" method..
how do i call "close" method?

hello!
i use below code but it is not work..
public class FWServletContextListener implements ServletContextListener {
	@Autowired
	List<HikariDataSource> datasources;

	@Override
	public void contextInitialized(ServletContextEvent sce) {

	}
	@Override
	public void contextDestroyed(ServletContextEvent sce) {
		for (int i = 0; i < datasources.size(); i++) {
			HikariDataSource ds = (HikariDataSource) datasources.get(i);
			ds.close();
		}
	}
}

Here a tomcat hot deploy example(BeeCP),you can change it to HikariCP.
https://github.com/Chris2018998/BeeCP/blob/master/doc/example/TomcatRedeployTest.zip

1: Applcation startup:

2: Applcation  redeploy(when recompile java source )

3: DB connection show


[tr069] ACS responding with method AutonomousTransferCompleteResponse when CPE sends method TransferComplete

After doing a successful firmware upgrade initiated from the ACS, the CPE sends a TransferComplete message, but the ACS responds with an AutonomousTransferComplete message. This behavior triggers an error on the CPE since it was expecting a TransferComplete response.
This is the output from the log file /var/log/freeacs-tr069/tr069-conversation.log
2019-02-20 12:31:43 [qtp1947519330-1839] INFO  Conversation - ============== FROM CPE ( torres9 ) TO ACS ===============
<soapenv:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:cwmp='urn:dslforum-org:cwmp-1-0' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>soapenv:Bodycwmp:InformMikroTikE48D8CRB2011iL7DCF08DC745D7 TRANSFER COMPLETEM Download6.41.11 BOOT12019-02-20T12:31:42-05:000Device.RootDataModelVersion2.11Device.DeviceInfo.SoftwareVersion6.41.1Device.DeviceInfo.ProvisioningCodeDevice.DeviceInfo.HardwareVersionv1.0Device.ManagementServer.ParameterKeyNo data in DBDevice.ManagementServer.ConnectionRequestURLhttp://<IP_ADDRESS>:7547/645370e942a7ff0477cb717e6d8e1bc69ba7Device.ManagementServer.AliasBasedAddressing0</cwmp:Inform></soapenv:Body></soapenv:Envelope>
2019-02-20 12:31:43 [qtp1947519330-1839] INFO  Conversation - =============== FROM ACS TO ( torres9 ) ============
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
soapenv:Header/
soapenv:Body
cwmp:InformResponse
1
</cwmp:InformResponse>
</soapenv:Body>
</soapenv:Envelope>
2019-02-20 12:31:43 [qtp1947519330-1789] INFO  Conversation - ============== FROM CPE ( torres9 ) TO ACS ===============
<soapenv:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:cwmp='urn:dslforum-org:cwmp-1-0' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>soapenv:Bodycwmp:TransferComplete6.41.102019-02-19T20:51:33-05:002019-02-19T20:51:40-05:00</cwmp:TransferComplete></soapenv:Body></soapenv:Envelope>
2019-02-20 12:31:43 [qtp1947519330-1789] INFO  Conversation - =============== FROM ACS TO ( torres9 ) ============
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
soapenv:Header/
soapenv:Body
<cwmp:AutonomousTransferCompleteResponse />
</soapenv:Body>
</soapenv:Envelope>

Don't remember all the context but i think that i implemented this due to another reported issue.

I believe it was implemented on #197. But, the ACS should only respond with an AutonomousTransferComplete when an event code "10 AUTONOMOUS TRANSFER COMPLETE" arrives at the ACS.
In the case I described, the CPE is sending an event code "7 TRANSFER COMPLETE" and thus should receive a TransfereCompleteResponse.

Today I experienced the same behavior during a TR069_SCRIPT execution. Is there an easy way to fix this?
2019-02-21 11:30:18 [qtp752007186-4540] INFO  Conversation - ============== FROM CPE ( torres10 ) TO ACS ===============
<soapenv:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:cwmp='urn:dslforum-org:cwmp-1-0' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>soapenv:Bodycwmp:InformMikroTikE48D8CRB2011iL7DCF08DC745D7 TRANSFER COMPLETEM Download1.0.312019-02-21T11:30:17-05:000Device.RootDataModelVersion2.11Device.DeviceInfo.SoftwareVersion6.41.3Device.DeviceInfo.ProvisioningCodeDevice.DeviceInfo.HardwareVersionv1.0Device.ManagementServer.ParameterKeyNo data in DBDevice.ManagementServer.ConnectionRequestURLhttp://<IP_ADDRESS>:7547/0ec0551e38ae88514c64df008bfafe581e59Device.ManagementServer.AliasBasedAddressing0</cwmp:Inform></soapenv:Body></soapenv:Envelope>
2019-02-21 11:30:18 [qtp752007186-4540] INFO  Conversation - =============== FROM ACS TO ( torres10 ) ============
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
soapenv:Header/
soapenv:Body
cwmp:InformResponse
1
</cwmp:InformResponse>
</soapenv:Body>
</soapenv:Envelope>
2019-02-21 11:30:18 [qtp752007186-4539] INFO  Conversation - ============== FROM CPE ( torres10 ) TO ACS ===============
<soapenv:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:cwmp='urn:dslforum-org:cwmp-1-0' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>soapenv:Bodycwmp:TransferComplete1.0.302019-02-21T11:30:15-05:002019-02-21T11:30:17-05:00</cwmp:TransferComplete></soapenv:Body></soapenv:Envelope>
2019-02-21 11:30:18 [qtp752007186-4539] INFO  Conversation - =============== FROM ACS TO ( torres10 ) ============
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
soapenv:Header/
soapenv:Body
<cwmp:AutonomousTransferCompleteResponse />
</soapenv:Body>
</soapenv:Envelope>

I think I found where the problem is. I'm going to make the change, try to compile the project and I'll let you know if it solves the issue.
freeacs/tr069/src/main/java/com/github/freeacs/tr069/methods/TCDecision.java
.
.
.
public class TCDecision {
public static void process(HTTPReqResData reqRes) {
try {
  Fault fault = reqRes.getRequest().getFault();
  if (fault != null && !fault.getFaultCode().equals("0")) {
    String errormsg = "TC request reports a faultcode (" + fault.getFaultCode();
    errormsg += ") with faultstring (" + fault.getFaultString() + ")";
    Log.error(TCDecision.class, errormsg);
  }
} finally {
  reqRes.getResponse().setMethod(TR069Method.AUTONOMOUS_TRANSFER_COMPLETE); <--- here should be TRANSFER_COMPLETE
}

}
}

I compiled the code and run some tests including Firmware upgrade and Vendor Config, and all worked perfectly.
Is it possible to implement this change into the project?

Good work investigating. I would however check if we store the boot code in the session cache. If we are not we should do it. And then read the boot code in this method and check what method should be returned. I or someone else might have to dig a bit down in git history or unncomment some code and additionally make some adjustements

@toshht please check code in #291 to see if I have nailed it.

@jarlah you made a lot of changes! Since you're the expert I'm just going to compile the code, run the same tests and I'll let you know how they went.

@jarlah I ran some tests and it's working great! But now I have one issue and I don't know if is related to the changes made.
Running updates from the ACS to the CPE works fine. But, when I run a TR069_SCRIPT on the CPE, the ACS shows me an error indicating that the CPE is sending an empty response. I checked the tr069-conversation log and I can see that the CPE is sending a correct response to the server. I don't understand why the ACS is showing that error.
It doesn't matter what I send in the TR069 script, it always gives me the same error.
The only way to get this fixed is to delete the provisioning on the ACS, creating it again, and then the ACS recognizes the response from the CPE.
I uploaded the logs on a normal boot scenario and after TR069 script execution. Can you please look into it? Maybe I'm missing something and it's not related to the changes made.
Normal boot: https://pastebin.com/fVABNG7N
After TR069 script boot: https://pastebin.com/QP1mcdqi

Thank you for the logs. This is a typical programming error or logic error. Much simpler to debug :)

Great! Is there any place I should start looking for the cause? Or how could I solve this?

  /**
   * Retrieves info from vendor-config-files and populate this map: Key: Name of config-file Value:
   * Version of config-file This method will crash with NP if the device returns a
   * VendorConfigFile.{i}.Name, but not the corresponding VendorConfigFile.{i}.Version
   */
  public Map<String, String> getConfigFileMap() {
    Map<String, String> cMap = new HashMap<>();
    for (Map.Entry<String, ParameterValueStruct> entry : cpeParams.entrySet()) {
      if (entry.getKey().contains(CONFIG_FILES) && entry.getKey().endsWith("Name")) {
        String namePN = entry.getKey();
        String namePV = entry.getValue().getValue();
        String versionPN = namePN.substring(0, namePN.length() - "Name".length()) + "Version";
        String versionPV = cpeParams.get(versionPN).getValue();
        cMap.put(namePV, versionPV);
      }
    }
    return cMap;
  }

this is the place where it chrashes . This code is .. put midly, not easy to read and relies on the current state of the class containing the method. We need to make unit tests for this method when we know what state caused the NullPointerException.
The line that crashed is:
        String versionPV = cpeParams.get(versionPN).getValue();

which tells us that there is no versionPN (whatever that is, difficult to understand out of the box, version parameter name?) and so it crashes on .getValue().... at least thats my theory
What i would do is start the server in debug mode, and use postman to send the series of payloads to the server. And try to step through. But I could rather just investigate the soap messages and look for abnormalities.

for example, a little training on making unit tests here, we can make a test like this:
package com.github.freeacs.tr069;

import org.junit.Test;

import java.util.Map;

import static org.junit.Assert.*;

public class CPEParametersTest {

    @Test
    public void getConfigFileMap() {
        // Given:
        CPEParameters cpeParameters = new CPEParameters("Device");
        // When:
        Map<String, String> result = cpeParameters.getConfigFileMap();
        // Then:
        assertNotNull(result);
    }
}

which succeeds, telling me that we need more context

See here, this is the context we need to add to the test:
                <ParameterValueStruct>
                    <Name>Device.DeviceInfo.VendorConfigFile.1.Name</Name>
                    <Value xsi:type='xsd:string'>Current ROS configuration</Value>
                </ParameterValueStruct>
                <ParameterValueStruct>
                    <Name>Device.DeviceInfo.VendorConfigFile.1.Description</Name>
                    <Value xsi:type='xsd:string'>Currently applied ROS configuration which will return dynamic /export
                        output when Uploaded.
                    </Value>
                </ParameterValueStruct>
                <ParameterValueStruct>
                    <Name>Device.DeviceInfo.VendorConfigFile.1.UseForBackupRestore</Name>
                    <Value xsi:type='xsd:boolean'>0</Value>
                </ParameterValueStruct>

There is no "Version" for ConfigFile.1

This fails:
    @Test
    public void onMissingVersion() {
        // Given:
        CPEParameters cpeParameters = new CPEParameters("Device.");
        cpeParameters.putPvs("Device.DeviceInfo.VendorConfigFile.1.Name", new ParameterValueStruct(
                "Device.DeviceInfo.VendorConfigFile.1.Name",
                "Current ROS configuration",
                "xsd:string"
        ));
        cpeParameters.putPvs("Device.DeviceInfo.VendorConfigFile.1.Description", new ParameterValueStruct(
                "Device.DeviceInfo.VendorConfigFile.1.Description",
                "Currently applied ROS configuration which will return dynamic /export output when Uploaded.",
                "xsd:string"
        ));
        cpeParameters.putPvs("Device.DeviceInfo.VendorConfigFile.1.UseForBackupRestore", new ParameterValueStruct(
                "Device.DeviceInfo.VendorConfigFile.1.UseForBackupRestore",
                "0",
                "xsd:boolean"
        ));
        // When:
        Map<String, String> result = cpeParameters.getConfigFileMap();
        // Then:
        assertNotNull(result);
    }

yay no need to postman this

which is correct if we read the javadoc for the method getConfigFileMap. @toshht why doesnt the cpe return the .Version parameter?

@toshht added tests for CPEParameters. But i need to trust the javadoc until proven wrong. So i added test to verify that it crashes when missing Version parameter.
https://github.com/freeacs/freeacs/pull/291/commits/ac425f3595eb373e2840b8a80098b8871f01707a

point is, this is only used to verify is script download is setup correctly.
this code:
String scriptVersionFromCPE = cpeParams.getConfigFileMap().get(name);
          if (svDB != null && !svDB.equals(scriptVersionFromCPE)) {
            // upgrade
            scriptVersionFromDB = svDB;
            scriptName = name;
            break;
          }

will not set scriptVersionFromDB to svDB if the script version parameter name does not exist in cpeParams. Right now it will crash, but I dont see why could just log it as Error and continue returning false in DownloadLogicTR069.java#96.

proposed fix is:

Make sure getConfigFileMap() doesnt crash
Change to code above to:

          String scriptVersionFromCPE = cpeParams.getConfigFileMap().get(name);
          if (svDB != null **&& scriptVersionFromCPE != null** && !svDB.equals(scriptVersionFromCPE)) {
            // upgrade
            scriptVersionFromDB = svDB;
            scriptName = name;
            break;
          }

but i dont understand the code in DownloadLogicTR069 well enough to be sure what is correct here. I need to extract some code and make some more unit tests. God, why could people just make more unit tests .. pleaaase.

I have made a couple of tests including a fix in DownloadLogicTr069 which will not make the server crash on missing Version parameter, but will instead log it as ERROR.
2019-02-27 20:09:03 [main] ERROR c.g.freeacs.tr069.GetScriptVersion - No script version found for Device.DeviceInfo.VendorConfigFile.1.Version
See tests and changes in https://github.com/freeacs/freeacs/pull/291/commits/80e8bd5ffa74415291b458c4eafe16536895c010

which is correct if we read the javadoc for the method getConfigFileMap. @toshht why doesnt the cpe return the .Version parameter?

I'm not sure about this. Maybe it's the implementation of TR069 on the CPE that doesn't return that parameter.

I have made a couple of tests including a fix in DownloadLogicTr069 that will avoid making the server crash on missing Version parameter, but will instead log it as ERROR.
2019-02-27 20:09:03 [main] ERROR c.g.freeacs.tr069.GetScriptVersion - No script version found for Device.DeviceInfo.VendorConfigFile.1.Version
See tests and changes in 80e8bd5

Great! I'll check the changes and test them. I'll let you know what comes up.

@toshht yes please checkout the branch feature/autonomousTransferCompleteFix. I have added more tests, and more refactoring after my last comment.

proposed fix is:
1. Make sure getConfigFileMap() doesnt crash

2. Change to code above to:

          String scriptVersionFromCPE = cpeParams.getConfigFileMap().get(name);
          if (svDB != null && scriptVersionFromCPE != null && !svDB.equals(scriptVersionFromCPE)) {
            // upgrade
            scriptVersionFromDB = svDB;
            scriptName = name;
            break;
          }

or better:
          String scriptVersionFromCPE = cpeParams.getConfigFileMap().get(name);
          if (scriptVersionFromCPE == null) {
            Logger.error("Missing Version parameter value for " + name);
          } else if (svDB != null && !svDB.equals(scriptVersionFromCPE)) {
            // upgrade
            scriptVersionFromDB = svDB;
            scriptName = name;
            break;
          }

I think the second option is better.

@toshht its implemented like this now. But I guess you will reach into further problems along the way, but at least it wont crash.

merged #291. Tests are passing, and code looks code. So I plan to roll a minor release with these fixes.

released. Please verify latest release
https://github.com/freeacs/freeacs/releases/tag/v2.2.0


fix(addon-editor): support long words inside bulleted or ordered list

cherry pick

Extra space ?
Zoomed version of upper image:


Router reuses a component instance even if the corresponding option is disabled

Given such a Router config:
export default {
  root: 'app/catalog/home',
  routes: [
    {
      path: 'app/video/:videoId',
      component: Video,
      options: {
        reuseInstance: false,
      },
    },
    {
      path: 'app/:entityType/:entityId',
      component: Page,
      options: {
        reuseInstance: false,
      },
    },
  ],
}

and the next navigation chain setup: Page -> Page -> Video, the forward navigation works just fine, however while moving backwards a first encountered Page will be reused. It makes impossible to rely on any component lifecycle hooks (like _active) or use animated transitions between screens.

We have tried this recently but were not able to reproduce the issue anymore.
I'm closing this issue, but feel to re-open if this is still an issue with the latest version of the SDK, preferably with a test project that showcases the issue.


Unable to pass arguments

Describe the bug
Am trying to pass debug arguments to the epicli, but getting the below error.
==========================================================================
12:13:14 ERROR epicli - 'Namespace' object has no attribute 'func'
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/cli/epicli.py", line 127, in main
return args.func(args)
AttributeError: 'Namespace' object has no attribute 'func'
12:13:17 INFO dump_debug_info - Error dump has been written to: /shared/epicli_error_20210111-121314.dump
How to reproduce
Steps to reproduce the behavior:

execute epicli --debug 4

closed as this is not a bug but just additional input is missing. Use epicli --help to see what you actually need to include in epicli commands.


Bugs/3074 bad request

My editor also trimmed trailing whitespace. I hope that's fine, or I'll separate it.

Yes trimming whitespace is usually fine. However, can you mark the actual change. I reviewed it briefly and cannot find the actual change oO. Maybe I'm blind.

https://github.com/fsprojects/Paket/pull/3078/files#diff-c472e5dab436e319906fd5150ed22a62R516

So the problem was that the message was not good enough?

@matthid No it was not; it was just a way to see what GCloud was responding.
The real issue is still open. The repro is simple; make a single http dep to that URI. I haven't gone further myself.

However, you can replace that with https://github.com/fsprojects/Paket/issues/3079 - it's a similar issue.


PowerToys.PdfThumbnailProvider has stopped working

Microsoft PowerToys version
0.66.0
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
General, PowerToys Run
Steps to reproduce
PowerToys.PdfThumbnailProvider has stopped working
Uploading PowerToysReport_2023-01-26-14-27-10.zip…
✔ Expected Behavior
Powertoys to run normally.....?
❌ Actual Behavior
Program keeps crashing after the 0.66.0 update
Other Software
No response

Iam getting a Application Error, completly random, very anoing because I cant close this window, if I close it the visual studio debuger pops up

Not able to repro this, going to close. Let us know if you see this again!


Fix copyright notice

Summary
The current copyright notice in LICENSE is wrong.

Copyright (c) 2016 Matt Makai

Expectation
It should name the actual copyright holder.

Ok. PR sent


In the Atari XEGS emulator, I cannot configure second button for Karataka, I can only punch, not kick.

I'm running latest version of ArkOS on RG351P. I do not know if there is a way to configure a second button, if so, how?

From the retroarch menu in the port 1 controls is my guess.

From the retroarch menu in the port 1 controls is my guess.

I tried that but, there is no option to assign a second button.

I tried that but, there is no option to assign a second button.

I found a scan of the instructions for this game here and on Atari XEGS, the game only had 1 action button.  Only the Apple version allowed for 2 action buttons.  Quick press is punch and slow press is kick.  I was able to test and confirm that it functions as expected.

I found a scan of the instructions for this game here and on Atari XEGS, the game only had 1 action button.  Only the Apple version allowed for 2 action buttons.  Quick press is punch and slow press is kick.  I was able to test and confirm that it functions as expected.


test deploy

Test PR for GitHub Actions workflow deploy-on-comment.yml
Add comment with /deploy to start the workflow. The workflow run will be attached to this PR and its workflow result (success for failure) will be added asa comment.

/deploy

/deploy

/deploy

/deploy


Invalid ava binary location error

Hello, I am trying to run ./avash but I got the following error:
Invalid ava binary location: /home/myuser/go/src/github.com/ava-labs/avalanchego/build/avalanchego
Make sure your $GOPATH is set or provide a configuration file with a valid `avalancheLocation` value. See README.md for more details.

How can I provide a avalancheLocation? Currently it is installed at:
/home/myuser/avalanche-node/avalanchego

Hello , I just had a similar issue and you can start avash with this flag : ./avash --config=example.avash.yaml . in that example.avash.yaml you can set the path behind avalancheLocation to /home/myuser/avalanche-node/avalanchego`
(Just be aware that there is a mistake in that file right now, I have open a pr for it here : https://github.com/ava-labs/avash/pull/110

Hello , I just had a similar issue and you can start avash with this flag : ./avash --config=example.avash.yaml . in that example.avash.yaml you can set the path behind avalancheLocation to /home/myuser/avalanche-node/avalanchego`
(Just be aware that there is a mistake in that file right now, I have open a pr for it here : https://github.com/ava-labs/avash/pull/110

It seems to work, thanks!

It seems to work, thanks!


CNV-36227: Fix diagnostic link

📝 Description
Fix view diagnostic link for 4.14
🎥 Demo

Please add a video or an image of the behavior/changes

/lgtm


better stop and start of event loop

I changed the while loop to a for loop, since that seems to represent better what it is... Hope that's okay ;)

Is throttle broken on 0.5, or is this just some fluctuation?
Removing sleep in test/time.jl:93 seems to make the tests pass...

Weird how travis fails for all versions though...

Ah yeah on OSX... I just can't reproduce it locally ;)

looks like the increased compile time is causing the hand-wavy timing tests to fail.


Adding links to ressources provided by the Publications Office

Hi,
The EU vocabularies, from the Publications Office, are a crucial component to any effort related to European data : many institutions use the authority tables from the Office, and a lot of datasets are indexed with Eurovoc. If the link is unsatisfactory, I can suggest some specific resources to link to.
As for data.europa.eu, it's the official open data portal from the EU : is it OK to mention it or should specific resources be linked ? (by definition there are probably a lot of them)

it's quite general indeed but I guess we can add it like this anyway


Allowing javascript on the parent?

The way I've been designing this so far is to prevent any custom javascript from running on the parent site.
This makes it safer for component users, because they can see that the only code they're running is:

xcomponent, which is open source and unlikely to contain vulnerabilities
A small custom component definition which (as of now) contains no logic or runnable code, and could even just be serialized json.

But allowing parent-side logic is becoming more and more necessary, for features like:

https://github.com/krakenjs/xcomponent/issues/10
https://github.com/krakenjs/xcomponent/issues/12

And probably other future features.
Is there a way to mitigate this? I'd love to keep some of this executable logic in the child window, but the issues above are both things we need to know before we can even begin to render.
Also we're limited to having to do a lot synchronously, since if the component author wants to render a popup, we have to do everything in the same frame as the button click.
Thoughts?

Leaning in the direction of a 'yes' on this. Reasons:

We're already allowing functions for prop defaults
At least the component definition should always be pretty lightweight, meaning whoever is pulling it in should be able to easily scan it for vulnerabilities
It's still possible to write 'javascript free' component definitions if you want to, as a subset of possible definitions


Feature/rfhub 64 add update option

Fixes #64. Changes done in order to allow for update mode, that will update existing libraries, delete obsolete and add new ones.
rfhub-cli package main change is mode introduction, instead of --no-db-flush.
Mode can be one of

insert - recreates all collections in app-, default one,
append - adds every collection to app without any removal
update - updates existing libraries, deletes obsolete and adds new ones.

I had a go with using update endpoint, but the logic I came up with was no good. Three way compare of collections and collections keywords wasa bit too much in one go. I will think of refactoring this implementation into new one.

Codecov Report

Merging #66 into master will increase coverage by 0.95%.
The diff coverage is 98.76%.

@@            Coverage Diff             @@
##           master      #66      +/-   ##
==========================================
+ Coverage   93.98%   94.93%   +0.95%
==========================================
  Files          34       34
  Lines         582      652      +70
==========================================
+ Hits          547      619      +72
+ Misses         35       33       -2

Impacted Files
Coverage Δ

rfhub2/cli/cli.py
0% <0%> (ø)
:arrow_up:

rfhub2/cli/rfhub_importer.py
100% <100%> (ø)
:arrow_up:

rfhub2/version.py
100% <100%> (ø)
:arrow_up:

rfhub2/cli/api_client.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


com.google.devtools.build.lib.packages.BuildFileNotFoundException: no such package 'cc' When Using cc_shared_library

Description of the problem / feature request:
Using bazel version 1.2.0 with cc_shared_library causes a bazel error:

ERROR: While resolving toolchains for target //:a_so: com.google.devtools.build.lib.packages.BuildFileNotFoundException: no such package 'cc': BUILD file not found in any of the following directories. Add a BUILD file to a directory to mark it as a package.
- /tmp/experimental/cc
ERROR: Analysis of target '//:a_so' failed; build aborted: com.google.devtools.build.lib.packages.BuildFileNotFoundException: no such package 'cc': BUILD file not found in any of the following directories. Add a BUILD file to a directory to mark it as a package.
- /tmp/experimental/cc
INFO: Elapsed time: 1.010s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (1 packages loaded, 0 targets configured)

Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
https://gist.github.com/bmzhao/311efdfd4306dca02af21b4110ae14bd has a working repro, based off of: https://github.com/bmzhao/experimental/blob/da47bfb740e1729cdf1a9aaa145c4841cc1d004c/BUILD
What operating system are you running Bazel on?
Linux, Debian
What's the output of bazel info release?
release 1.2.0
What version of rules_cc do you use? Can you paste the workspace rule used to fetch rules_cc? What other relevant dependencies does your project have?
https://github.com/bazelbuild/rules_cc/tree/d562dc8046d6251972d18ccfddc3dbfe61e1d79f, which is at commit https://github.com/bazelbuild/rules_cc/commit/d562dc8046d6251972d18ccfddc3dbfe61e1d79f

http_archive(
name = "rules_cc",
sha256 = "0c5297b7c13b15067180e663a7f8499bdf66b53c33eb53627ec38a1cd57baf96",
strip_prefix = "rules_cc-d562dc8046d6251972d18ccfddc3dbfe61e1d79f",
urls = ["https://github.com/bazelbuild/rules_cc/archive/d562dc8046d6251972d18ccfddc3dbfe61e1d79f.zip"],
)

What Bazel options do you use to trigger the issue? What C++ toolchain do you use?
bazel build --experimental_cc_shared_library :a_so
Toolchain was whatever bazel auto-resolved to.
Have you found anything relevant by searching the web?
Nope.

This is fixed already. Thanks for reporting!


Webview async resolution, take 2

branched off https://github.com/stateful/tangle/pull/41

Verified functionality within our awesome-ux project, see https://github.com/stateful/vscode-awesome-ux/pull/18. Will check out our internal Stateful app next.

@sourishkrout please review latest commits. I made it so that we don't re-emit for states that don't change. Tested it in vscode-awesome-ux and worked as expected. This should help improve performance in Marquee as well. The implementation can probably be improved to be more rxjs like, maybe you have an idea.

@sourishkrout please review latest commits. I made it so that we don't re-emit for states that don't change. Tested it in vscode-awesome-ux and worked as expected. This should help improve performance in Marquee as well. The implementation can probably be improved to be more rxjs like, maybe you have an idea.

For the re-mission of states if they don't change: Just this commit https://github.com/stateful/tangle/pull/43/commits/44960d4cc4d367b231ac3e6bfca283e8d7799b49 right? Just trying to isolate the diff to reload the context into my brain.

Tested on stateful/app and everything seems fine. Next project: Marquee.

Just this commit 44960d4 right?

Correct!

Tested it successfully in Marquee. Preventing listener calls on states that haven't changed helped improve the performance.

@sourishkrout pushed the change, see last build is failing now.

Good to go now?

LGTM 👌🏼


Code cleanup

So far I concentrated that everything works, but the architecture
as well as the code need adjustments.

move code into functions / objects
html script in a separate javascript file
maybe change the node-architecture to a more efficient one if my fronend-knowledge is sufficient
run eslint with airbnb config and prettier

add time into message of health monitoring


[Feature]: Command to show all available colors in the palette as hex codes

Issue/Question/Enhancement
Trying to write custom highlight groups for certain plugins. It would be cool to be able to do something like: :Onedarkpro colors
Which would output the palette into a temporary, unodifiable, scratch buffer in a format like
colors.blue                 #XXXXXX
colors.gray                 #XXXXXX
colors.bg_statusline        #XXXXXX
...

So then if you're using a colorizer plugin you can see what the actual colors look like.

For context, I'm trying to figure out what color is being used for my statusline's blank space, so I can set the cmdline popup from noice.nvim to the same color.

This should be pretty easy to do actually as we have a global variable vim.g.onedarkpro_colors available which outputs:

{
  bg = "#282c34",
  bg_statusline = "#33373E",
  black = "#282c34",
  blue = "#61afef",
  brackets = "#abb2bf",
  bufferline_text_focus = "#949aa2",
  color_column = "#2E323A",
  cursorline = "#2e323b",
  cyan = "#56b6c2",
  diff_add = "#003e4a",
  diff_delete = "#501b20",
  diff_text = "#005869",
  fg = "#abb2bf",
  fg_gutter = "#696B71",
  float_bg = "#22252C",
  ghost_text = "#555961",
  gray = "#5c6370",
  green = "#98c379",
  highlight = "#e2be7d",
  indentline = "#3c414d",
  light = false,
  name = "onedark",
  none = "NONE",
  orange = "#d19a66",
  purple = "#c678dd",
  red = "#e06c75",
  selection = "#53565D",
  statusline_bg = "#2e323b",
  telescope_prompt = "#2e323a",
  telescope_results = "#21252d",
  vim = "#81b766",
  virtual_text_error = "#E9989E",
  virtual_text_hint = "#78C5CE",
  virtual_text_information = "#90C7F4",
  virtual_text_warning = "#EDD3A3",
  white = "#abb2bf",
  yellow = "#e5c07b"
}

It even includes the custom colors you define. Anything you can throw my way regarding creating scratch buffers?

I'm setting one up for the 1Password sidebar in op/sidebar/init.lua which uses some utilities set up in op/buffers.lua.
But your use case should be a quite a bit simpler as you just need to make a buffer, not a "sidebar" so you shouldn't need any of the autocmd stuff or window movement stuff I'm doing in there.
You should pretty much just need to do something like (pseudo-code):
-- do your thing to generate the lines of text
local lines = {}
-- params are: listed, scratch. see :h nvim_create_buf
local buf = vim.api.nvim_create_buf(true, true)
-- see :h nvim_buf_set_lines, tldr using range 0,-1 means "the whole buffer"
vim.api.nvim_buf_set_lines(buf, 0, -1, false, lines)
vim.api.nvim_buf_set_option(buf, 'modifiable', false)
-- set a unique filetype so I can configure colorizer.nvim to attach to it automatically
vim.api.nvim_buf_set_option(buf, 'filetype', 'OnedarkproColors')

I can help out with the buffer stuff if you put a PR up. I had to mess around with the window/buffer API's a lot to get the 1Password sidebar working lol

Oh this is great. Thank you.
I'll finish it off tonight and merge.

Please run :OnedarkproColors and let me know what you think.

That looks great, my one nitpick would be, could we align the colors into columns so I can use visual-block mode to select them, e.g.
green                    = "#89ca78"
telescope_prompt         = "#101010"
telescope_results        = "#000000"
none                     = "NONE"
virtual_text_hint        = "#55C8D1"
virtual_text_information = "#90C7F4"
virtual_text_warning     = "#EDD3A3"
virtual_text_error       = "#F48B9A"

Proper nitpick that 😉 . Let me know what you think now.

That looks perfect, thanks for the quick turnaround on this! This will help a ton when trying to theme new plugins.
I might submit a PR for a noice.nvim plugin soon, once I figure out all the details 😉

One more nitpick, can you either filter out or sort to the top the two items: none and name? Since they don't have actual colors associated with them.

One more nitpick, can you either filter out or sort to the top the items: none, name, and light (a boolean)? Since they don't have actual colors associated with them.

...and done. Will tidy up the code later.

Amazing thanks for your quick work on this, helps a lot 👍


samzong ask join website reviewer

Dear Karmada team,
I would like to express my gratitude for creating such an excellent project. As an open-source enthusiast and a cloud-native product manager, I have been following and participating in the development of the Karmada project from being a user to becoming a contributor.
I believe that I possess the necessary skills and experience to contribute to the Karmada community, including a deep understanding of multi-cluster management capabilities, Karmada's product vision, and the ability to make meaningful contributions to the open-source community.
My goal is to contribute to the Karmada community by maintaining product documentation, making it easier for others to contribute to Karmada. specifically:

Tasks such as maintaining the build process for the document website
synchronizing & review Chinese documentation
writing English documentation for new features.
Additionally, I am eager to contribute to the product design of Karmada.

In summary, my vision is to enable more people to use and contribute to Karmada through documentation, and to help more people understand the value and future potential of Karmada.
Thank you for considering my application. I look forward to contributing to the success of the Karmada project.
Best regards,
@SAMZONG

What I do

Maintain karmada-docs channel in cncf slack. join us https://app.slack.com/huddle/T08PSQ7BQ/C05D72G0DFW
PRs

#386
#385
#384
#383
#382
#381
#380
#366
#282
#204
#188
#179
#89

Thanks @SAMZONG for all your contributions to the community.
You have my full support, please send a PR to put your name on https://github.com/karmada-io/website/blob/main/OWNERS.

https://github.com/karmada-io/community/pull/37


JRTB-2: add telegram bot to the project

Create stub telegram-bot for the project.
Acceptance criteria:
stub answer via telegram-bot added to the project

added in https://github.com/Dolph111/javarush-telegrambot/pull/16


Fixing the scope of the imported MPI CMake variables

As these variables are used as part of a macro they must be visible at the point of expansion.
This fixes #3475.
While this PR fixes the issue, it might be better to get rid of the macro in the long run.

After merging #3496 this PR is obsolete and can be closed.


Timezone discrepancy

Saving a message when running locally uses the eastern timezone but saving messages on the application hosted on vercel uses a different timezone. Need to normalize the timezone used.

I changed the models so that datetimes have timezone=True. Will need to investigate and see how to display that to the user on the front-end.


metadata extraction of title doesn't work

the title information from netcdf file is not extracted

@gantian127 Should this be closed?


Fix for #8

No replacement about \r \n, instead the column is wrapped by "".
A doublequote is replaced with two doublequotes.
No commna replaced because it is not necessary.

This branch is WIP and please wait for my update, sorry

This is very good helpful work. It should have been merged long ago. Please accept my apologies for letting it slip through my net.


Google Drive: app passwords don't work

Running on Windows 10. Tried to login to Google Drive with an app password, and it never validates successfully. Using standard Google Account password works just fine.

Hi @kmscode ,
you are right: KeeAnywhere does not support app passwords - and it's not planned to implement it :-)
The reason is simple: KeeAnywhere uses a secure authentication mechanism called OAuth2. This fully supports Googles authentication mechanisms, especially 2-Factor-Authorization. The password you enter is not stored in KeeAnywhere (or elsewhere) - it is just used (by Google login) to login to your Google account in a webbrowser and generates an app- and user-specific OAuth token (a kind of password/secret). KeeAnywhere does not know neither username nor password and it does not even know about the complete login flow (with 2-Factor-Authorization, if turned on or captchas Google likes to be entered if it detects a possible security problem).
App Passwords have similar goals like OAuth2 but security is a little bit lower: in OAuth2 the secret is not sharable with other apps and is not general usable. See details here: https://duo.com/blog/bypassing-googles-two-factor-authentication
So there is no need to create an app specific password for KeeAnywhere because it supports a more secure authentication mechanism.
Regrads,
Daniel


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_6a8dx7ru65/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_6a8dx7ru65/clone/recipe/meta.yaml:27: missing_pip_check: For pypi packages, pip check should be present in the test commands
WARNING: /tmp/abs_6a8dx7ru65/clone/recipe/meta.yaml:38: missing_description: The recipe is missing a description
ERROR: /tmp/abs_6a8dx7ru65/clone/recipe/meta.yaml:38: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


font slide not working.

A+ and A- buttons working. Font size can be controlled with the buttons.

slider need to implement again with mobx.


69+ errors found in the code.

Hi there @spatialillusions , i try to use this library for a tiny project in Unity3D but i found that is full of bugs. A lot of ";" missing and a lot of erros on the syntax. I start correcting a few but there are a LOT. Here is the modify milsymbol.js. Unity3d (i'm using MonoDevelop 5.9.6) compiler is BOO, it say that the next errors are in the next lines:
(206,26): BCE0044: expecting (, found 'text'.
(206,35): UCE0001: ';' expected. Insert a semicolon at the end.
(226,26): BCE0044: expecting (, found 'textm1'.
(226,37): UCE0001: ';' expected. Insert a semicolon at the end.
(237,26): BCE0044: expecting (, found 'textm2'.
(237,37): UCE0001: ';' expected. Insert a semicolon at the end.
(269,177): BCE0043: Unexpected token: ,.
(269,178): UCE0001: ';' expected. Insert a semicolon at the end.
(269,179): BCE0043: Unexpected token: type.
(269,184): BCE0043: Unexpected token: path.

and the list goes on...
PS: i can't upload the complete milsymbol.js modify, if you are interested i send it to your email.

Thank you for the heads up, I will look into this during the weekend and remove as many errors as possible. I'll get back to you once it is done.
/Måns

On 24 feb. 2016, at 15:36, alexispolak<EMAIL_ADDRESS>wrote:
Hi there, i try to use this library for a tiny project in Unity3D but i found that is full of bugs. A lot of ";" missing and a lot of erros on the syntax. I start correcting a few but there are a LOT. Here is the modify milsymbol.js. Unity3d (i'm using MonoDevelop 5.9.6) say that the next errors are in the next lines:
(206,26): BCE0044: expecting (, found 'text'.
(206,35): UCE0001: ';' expected. Insert a semicolon at the end.
(226,26): BCE0044: expecting (, found 'textm1'.
(226,37): UCE0001: ';' expected. Insert a semicolon at the end.
(237,26): BCE0044: expecting (, found 'textm2'.
(237,37): UCE0001: ';' expected. Insert a semicolon at the end.
(269,177): BCE0043: Unexpected token: ,.
(269,178): UCE0001: ';' expected. Insert a semicolon at the end.
(269,179): BCE0043: Unexpected token: type.
(269,184): BCE0043: Unexpected token: path.
and the list goes on...
—
Reply to this email directly or view it on GitHub.

I have now updated the code and removed almost all warnings and made some other minor code changes. Can you try out the latest version in the master branch and tell me if that works for you? Also really curious about what you are building in Unity.

Hey ! Thanks a lot for the rapid response. The project it's for georeferencing (don't know if i say it right in english) this units in AR. It's like a test project. As soon as i open the code, give me 4 errors.

But when i remove them, the compiler give me 26 more.

I'm not really familiar with .js nor github but i will try to fixe some things if i have time in the weekend.

Make sure you download the master branch, all missing semicolons and similar stuff should be fixed there, I haven't made a new release yet and will have to do some more testing before I do so. There is still some warnings if you are using jshint to validate the file, but they should be considered warnings and not errors. I haven't used unity to run my code so I can't really help you there, my main goal is to get it working in as many web browsers as possible and I'm not sure what unity is using to interpreter the code.

I redownload the master branch, and still getting the same erros from the las 3 screenshots. Unity compile the js with BOO (Linkhttp://answers.unity3d.com/questions/723812/what-are-the-javascript-compiler-errors.html .
Maybe if you have a few minutes, you can download Unity3d from the official website, create a new project and in there, in the Asset folder create a Plugin folder. If you put the .js in that folder, all the errors will pop up. Thanks a lot for all the good vibes !

I think this might explain why the code isn't working in unity, and that there would be quite a large thing to make it work. But since milsymbol even has been ported to c++ I guess it's doable, but it's not anything I'm planning to do.
http://wiki.unity3d.com/index.php?title=UnityScript_versus_JavaScript

On 26 feb. 2016, at 17:36, alexispolak<EMAIL_ADDRESS>wrote:
I redownload the master branch, and still getting the same erros from the las 3 screenshots. Unity compile the js with BOO (Linkhttp://answers.unity3d.com/questions/723812/what-are-the-javascript-compiler-errors.html .
Maybe if you have a few minutes, you can download Unity3d from the official website, create a new project and in there, in the Asset folder create a Plugin folder. If you put the .js in that folder, all the errors will pop up. Thanks a lot for all the good vibes !
—
Reply to this email directly or view it on GitHub.


Login issue with authType password

Hi,
I have an issue login in one tenant with authType password, the production one. On the other(QA or dev) do not have the issue. I'm able to login with deviceCode option only on the production tenant.
I have received confirmation that MFA is disabled for the account, but I do not have permissions to check this.
On QA or dev tenant I'm able to login using the command:
o365 login --authType password --userName<EMAIL_ADDRESS>--password XXX
On Production tenant I'm getting 'D3242: The security token could not be authenticated or authorized'
o365 login --authType password --userName<EMAIL_ADDRESS>--password XXX --verbose --debug
Logging out from Office 365...
DONE
Signing in to Office 365...
No token found for resource https://graph.microsoft.com
Retrieving new access token using credentials...
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - Authority: VERBOSE: Performing instance discovery
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - Authority: VERBOSE: Performing static instance discovery
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - Authority: VERBOSE: Authority validated via static instance discovery.
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - TokenRequest: INFO: Acquiring token with username password
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - CacheDriver: VERBOSE: finding using query
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - CacheDriver: VERBOSE: Looking for potential cache entries:
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - CacheDriver: VERBOSE: Found 0 potential entries.
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - TokenRequest: VERBOSE: No appropriate cached token found.
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - UserRealm: VERBOSE: UserRealm response:
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - UserRealm: VERBOSE:  AccountType:             federated
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - UserRealm: VERBOSE:  FederationProtocol:      wstrust
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - TokenRequest: VERBOSE: Acquiring token with username password for federated user
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - TokenRequest: VERBOSE: Attempting mex
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - MEX: VERBOSE: Mex created
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - MEX: VERBOSE: Retrieving mex
Wed, 13 Jan 2021 12:09:09 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - MEX: VERBOSE: Retrieving mex at: https://sts.mycompany.eu/adfs/services/trust/mex
Wed, 13 Jan 2021 12:09:10 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - MEX: VERBOSE: found matching policy id
Wed, 13 Jan 2021 12:09:10 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - MEX: VERBOSE: found matching policy id
Wed, 13 Jan 2021 12:09:10 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - MEX: VERBOSE: found binding matching Action and Transport: UserNameWSTrustBinding_IWSTrustFeb2005Async
Wed, 13 Jan 2021 12:09:10 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - MEX: VERBOSE: foud binding matching Action and Transport: UserNameWSTrustBinding_IWSTrust13Async
Wed, 13 Jan 2021 12:09:15 GMT:f30b5846-0bec-460d-9357-4ded68819be0 - TokenRequest: VERBOSE: getTokenFunc returned with err
Response:
undefined
Error: WS-Trust RST request returned http error: 500 and server response: <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><s:Header><a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action><o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><u:Timestamp u:Id="_0"><u:Created>2021-01-13T12:09:15.736Z</u:Created><u:Expires>2021-01-13T12:14:15.736Z</u:Expires></u:Timestamp></o:Security></s:Header><s:Body><s:Fault><s:Code><s:Value>s:Sender</s:Value><s:Subcode><s:Value xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:FailedAuthentication</s:Value></s:Subcode></s:Code><s:Reason><s:Text xml:lang="it-IT">ID3242: The security token could not be authenticated or authorized.</s:Text></s:Reason></s:Fault></s:Body></s:Envelope>
Error:
WS-Trust RST request returned http error: 500 and server response: <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><s:Header><a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action><o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><u:Timestamp u:Id="_0"><u:Created>2021-01-13T12:09:15.736Z</u:Created><u:Expires>2021-01-13T12:14:15.736Z</u:Expires></u:Timestamp></o:Security></s:Header><s:Body><s:Fault><s:Code><s:Value>s:Sender</s:Value><s:Subcode><s:Value xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:FailedAuthentication</s:Value></s:Subcode></s:Code><s:Reason><s:Text xml:lang="it-IT">ID3242: The security token could not be authenticated or authorized.</s:Text></s:Reason></s:Fault></s:Body></s:Envelope>
Error: WS-Trust RST request returned http error: 500 and server response: <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><s:Header><a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action><o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><u:Timestamp u:Id="_0"><u:Created>2021-01-13T12:09:15.736Z</u:Created><u:Expires>2021-01-13T12:14:15.736Z</u:Expires></u:Timestamp></o:Security></s:Header><s:Body><s:Fault><s:Code><s:Value>s:Sender</s:Value><s:Subcode><s:Value xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:FailedAuthentication</s:Value></s:Subcode></s:Code><s:Reason><s:Text xml:lang="it-IT">ID3242: The security token could not be authenticated or authorized.</s:Text></s:Reason></s:Fault></s:Body></s:Envelope>
Might you have any suggestion what could be the issue and what shall I check?

Do you happen to have conditional access enabled for this account?

Do you happen to have conditional access enabled for this account?

Do you happen to have conditional access enabled for this account?

Yes, we have the conditional access configured for the tenant where the issue is present for all users in this tenant(we do allow only access from Intranet).

Do you happen to have conditional access enabled for this account?

Yes, we have the conditional access configured for the tenant where the issue is present for all users in this tenant(we do allow only access from Intranet).

Possibly. We have a similar issue with device code auth. I wouldn't be surprised if this was related. Do you have a way to test it with and without the conditional access policy to see if you can repro the issue? Meanwhile, we're working on a solution that will address this issue and which should be available in the coming weeks #1979

Possibly. We have a similar issue with device code auth. I wouldn't be surprised if this was related. Do you have a way to test it with and without the conditional access policy to see if you can repro the issue? Meanwhile, we're working on a solution that will address this issue and which should be available in the coming weeks #1979

With device code auth(default one) I'm able to login to this tenant where I have issue with password authtype:
o365 login --userName<EMAIL_ADDRESS>Then I'm asked to go to the webpage and put the code and I'm logged in.
In my case I'm also using ADFS and onprem account synced into AzureAD as in the issue you have metnioned.
I will not be able to test this without conditional access policy in this tenant.

With device code auth(default one) I'm able to login to this tenant where I have issue with password authtype:
o365 login --userName<EMAIL_ADDRESS>Then I'm asked to go to the webpage and put the code and I'm logged in.
In my case I'm also using ADFS and onprem account synced into AzureAD as in the issue you have metnioned.
I will not be able to test this without conditional access policy in this tenant.

Have you tried using domain\user instead? I've seen a number of articles about this error and often they relate to other systems like SharePoint or CRM Online in combination with ADFS, so it could be related. Do you have other apps on the same machine where you also authenticate using username and password so that we can verify that it's not a machine configuration issue but rather something on our end?

Have you tried using domain\user instead? I've seen a number of articles about this error and often they relate to other systems like SharePoint or CRM Online in combination with ADFS, so it could be related. Do you have other apps on the same machine where you also authenticate using username and password so that we can verify that it's not a machine configuration issue but rather something on our end?

Hi @kfrymus,
the username and password authentication used the Resource Owner Password Credentials flow.
Federated identities have issues with that approach. Note also the important points listed on that site:

The Microsoft identity platform endpoint only supports ROPC for Azure AD tenants, not personal accounts. This means that you must use a tenant-specific endpoint (https://login.microsoftonline.com/{TenantId_or_Name}) or the organizations endpoint.
Personal accounts that are invited to an Azure AD tenant can't use ROPC.
Accounts that don't have passwords can't sign in through ROPC. For this scenario, we recommend that you use a different flow for your app instead.
If users need to use multi-factor authentication (MFA) to log in to the application, they will be blocked instead.
ROPC is not supported in hybrid identity federation scenarios (for example, Azure AD and ADFS used to authenticate on-premises accounts). If users are full-page redirected to an on-premises identity providers, Azure AD is not able to test the username and password against that identity provider. Pass-through authentication is supported with ROPC, however.

We recommend to use a different authentication method. Alternatively, you could try it out with a cloud only identity.
Hope this helps,
Patrick

Hi @kfrymus,
the username and password authentication used the Resource Owner Password Credentials flow.
Federated identities have issues with that approach. Note also the important points listed on that site:

The Microsoft identity platform endpoint only supports ROPC for Azure AD tenants, not personal accounts. This means that you must use a tenant-specific endpoint (https://login.microsoftonline.com/{TenantId_or_Name}) or the organizations endpoint.
Personal accounts that are invited to an Azure AD tenant can't use ROPC.
Accounts that don't have passwords can't sign in through ROPC. For this scenario, we recommend that you use a different flow for your app instead.
If users need to use multi-factor authentication (MFA) to log in to the application, they will be blocked instead.
ROPC is not supported in hybrid identity federation scenarios (for example, Azure AD and ADFS used to authenticate on-premises accounts). If users are full-page redirected to an on-premises identity providers, Azure AD is not able to test the username and password against that identity provider. Pass-through authentication is supported with ROPC, however.

We recommend to use a different authentication method. Alternatively, you could try it out with a cloud only identity.
Hope this helps,
Patrick

Hi Waldek,
I cannot use the domain\user, since the domain from the email address is used to determine the sts service against which to authenticate.
I'm able to authenticate from the same machine in other tenants.
o365 login --authType password --userName domain\user --password XXX --debug --verbose
Logging out from Office 365...
DONE
Signing in to Office 365...
No token found for resource https://graph.microsoft.com
Retrieving new access token using credentials...
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - Authority: VERBOSE: Performing instance discovery
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - Authority: VERBOSE: Performing static instance discovery
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - Authority: VERBOSE: Authority validated via static instance discovery.
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - TokenRequest: INFO: Acquiring token with username password
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - CacheDriver: VERBOSE: finding using query
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - CacheDriver: VERBOSE: Looking for potential cache entries:
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - CacheDriver: VERBOSE: Found 0 potential entries.
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - TokenRequest: VERBOSE: No appropriate cached token found.
Thu, 14 Jan 2021 15:08:02 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - TokenRequest: VERBOSE: getTokenFunc returned with err
Response:
undefined
Error: User Realm Discovery request returned http error: 404
Error:
User Realm Discovery request returned http error: 404
Error: User Realm Discovery request returned http error: 404

Hi Waldek,
I cannot use the domain\user, since the domain from the email address is used to determine the sts service against which to authenticate.
I'm able to authenticate from the same machine in other tenants.
o365 login --authType password --userName domain\user --password XXX --debug --verbose
Logging out from Office 365...
DONE
Signing in to Office 365...
No token found for resource https://graph.microsoft.com
Retrieving new access token using credentials...
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - Authority: VERBOSE: Performing instance discovery
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - Authority: VERBOSE: Performing static instance discovery
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - Authority: VERBOSE: Authority validated via static instance discovery.
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - TokenRequest: INFO: Acquiring token with username password
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - CacheDriver: VERBOSE: finding using query
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - CacheDriver: VERBOSE: Looking for potential cache entries:
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - CacheDriver: VERBOSE: Found 0 potential entries.
Thu, 14 Jan 2021 15:08:01 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - TokenRequest: VERBOSE: No appropriate cached token found.
Thu, 14 Jan 2021 15:08:02 GMT:e1e60df6-1ad4-4ca2-a095-02ff124cf8a8 - TokenRequest: VERBOSE: getTokenFunc returned with err
Response:
undefined
Error: User Realm Discovery request returned http error: 404
Error:
User Realm Discovery request returned http error: 404
Error: User Realm Discovery request returned http error: 404

Hi @kfrymus,
as far as I understood you are using an identity synchronized from the local AD.  Our CLI uses the Resource Owner Password Credential flow that does not work with such identities. You can use cloud only identities.
The device code flow works with synchronized identities.
If your process requires you to pass a username and password, then create a cloud only identity. Otherwise, other authentication approaches should be used.
br,
Patrick

Hi @kfrymus,
as far as I understood you are using an identity synchronized from the local AD.  Our CLI uses the Resource Owner Password Credential flow that does not work with such identities. You can use cloud only identities.
The device code flow works with synchronized identities.
If your process requires you to pass a username and password, then create a cloud only identity. Otherwise, other authentication approaches should be used.
br,
Patrick

Hi Patrick,
I need to check what could be possible in our case. This could be the issue:
ROPC is not supported in hybrid identity federation scenarios (for example, Azure AD and ADFS used to authenticate on-premises accounts). If users are full-page redirected to an on-premises identity providers, Azure AD is not able to test the username and password against that identity provider. Pass-through authentication is supported with ROPC, however.
BTW. I have done tests with the SharePointPnPPowerShell and I have similar issue, I can connect to the QA, but not production tenant.
In both cases I have users coming from local AD synced into AzureAD, configured conditional accesses.
The user in both environment has access to the tenant app catalog and can manually upload package to it.
Connect-PnpOnline -Url https://mytenant_qa.sharepoint.com/ -Credentials mytenant_qa -IgnoreSslErrors -verbose
VERBOSE: Using parameter set 'Main'
VERBOSE: PnP PowerShell Cmdlets (3.25.2009.1): Connected to https://mytenant_qa.sharepoint.com/
Disconnect-PnPOnline
Connect-PnpOnline -Url https://mytenant_prod.sharepoint.com/ -Credentials mytenant_prod -IgnoreSslErrors -verbose
VERBOSE: Using parameter set 'Main'
Connect-PnpOnline : Federated service at https://sts.mycompany.eu/adfs/services/trust/2005/usernamemixed returned error
: ID3242: The security token could not be authenticated or authorized.
At line:1 char:1
+ Connect-PnpOnline -Url https://unicredit.sharepoint.com/ -Credentials ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Connect-PnPOnline], MsalClientException
    + FullyQualifiedErrorId : Microsoft.Identity.Client.MsalClientException,PnP.PowerShell.Commands.Base.ConnectOnline

Hi Patrick,
I need to check what could be possible in our case. This could be the issue:
ROPC is not supported in hybrid identity federation scenarios (for example, Azure AD and ADFS used to authenticate on-premises accounts). If users are full-page redirected to an on-premises identity providers, Azure AD is not able to test the username and password against that identity provider. Pass-through authentication is supported with ROPC, however.
BTW. I have done tests with the SharePointPnPPowerShell and I have similar issue, I can connect to the QA, but not production tenant.
In both cases I have users coming from local AD synced into AzureAD, configured conditional accesses.
The user in both environment has access to the tenant app catalog and can manually upload package to it.
Connect-PnpOnline -Url https://mytenant_qa.sharepoint.com/ -Credentials mytenant_qa -IgnoreSslErrors -verbose
VERBOSE: Using parameter set 'Main'
VERBOSE: PnP PowerShell Cmdlets (3.25.2009.1): Connected to https://mytenant_qa.sharepoint.com/
Disconnect-PnPOnline
Connect-PnpOnline -Url https://mytenant_prod.sharepoint.com/ -Credentials mytenant_prod -IgnoreSslErrors -verbose
VERBOSE: Using parameter set 'Main'
Connect-PnpOnline : Federated service at https://sts.mycompany.eu/adfs/services/trust/2005/usernamemixed returned error
: ID3242: The security token could not be authenticated or authorized.
At line:1 char:1
+ Connect-PnpOnline -Url https://unicredit.sharepoint.com/ -Credentials ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Connect-PnPOnline], MsalClientException
    + FullyQualifiedErrorId : Microsoft.Identity.Client.MsalClientException,PnP.PowerShell.Commands.Base.ConnectOnline

So could this be that it's a limitation of identity setup and there is not much that we can do about it?

So could this be that it's a limitation of identity setup and there is not much that we can do about it?

So could this be that it's a limitation of identity setup and there is not much that we can do about it?

Hi,
I suppose you are right Waldek.
I will ask MS to support us with those checks, since we have issue with Connect-PnpOnline either on one env and not the other to understand the differences.
Thank you.

So could this be that it's a limitation of identity setup and there is not much that we can do about it?

Hi,
I suppose you are right Waldek.
I will ask MS to support us with those checks, since we have issue with Connect-PnpOnline either on one env and not the other to understand the differences.
Thank you.

Sorry we don't have a better answer. If you find out something that could help us address this issue, please, don't hesitate to reach out.

Sorry we don't have a better answer. If you find out something that could help us address this issue, please, don't hesitate to reach out.

Hi,
We have resolved the issue and it was issue in our prod env. We saw in logs in ADFS that there is an issue with recognizing the user and we noticed two users with the same email, so ADFS could not authenticate user. After the fix I'm able to login with authType password.
Thank you

Hi,
We have resolved the issue and it was issue in our prod env. We saw in logs in ADFS that there is an issue with recognizing the user and we noticed two users with the same email, so ADFS could not authenticate user. After the fix I'm able to login with authType password.
Thank you

Awesome! Great to hear you're unblocked and thanks for sharing the root cause. There is always a chance someone else will come across a similar issue so it could help others 👏

Awesome! Great to hear you're unblocked and thanks for sharing the root cause. There is always a chance someone else will come across a similar issue so it could help others 👏


No fallback to the :en locale on flexible keys

I was trying to use Faker::Team.sport while having Faker::Config.locale = 'en-US' and it threw this error when linting factories:
     FactoryGirl::InvalidFactoryError:
       The following factories are invalid:

       * category - undefined method `[]' for nil:NilClass (NoMethodError)

which is in
.../gems/2.3.0/gems/faker-1.7.3/lib/faker.rb:173:in `method_missing': undefined method `[]' for nil:NilClass (NoMethodError)

A peculiar aspect of the Faker::Team is that although it implements other documented methods, #sport is not implemented and is left for method_missing to handle. This works fine when the configured locale has the faker.team.sport translation. When it doesn't, like in the case of en-US, fallback to :en does not happen and the exception above is thrown instead.
This specific scenario is trivially fixed by implementing Faker::Team.sport but it seems beneficial to support a proper fallback instead.
One way to do that would be to change the mentioned above line faker.rb:173 from
if translation = translate(:faker)[@flexible_key][m]
to
if translation = translate([:faker, @flexible_key, m].join('.'))
This way the line faker.rb:143
I18n.translate(*(args.push(opts)))
would throw a proper I18n::MissingTranslationData which would lead to the fallback kicking in.
I'm not sure if this goes along with how the flexible behaviour is designed though. Running the tests on updated code fails the single example at test_flexible.rb#test_raises_no_method_error with
<NoMethodError> expected but was
<I18n::MissingTranslationData(<translation missing: en.faker.chow.eeew>)>

To me the I18n::MissingTranslationData exception would be much more sensible outcome but then again, I might not realize the greater picture. Let me know if that's the case or if you'd like me to make a pull request with those changes.

I can confirm this behavior using 1.7.3

Fixed via #1292 :)

@vbrazo This one was closed a while ago.


Data format returned from .read function

The .read function (tags, start_time, end_time, time_interval etc.) seems to return data as a list, one element per tag, with all information. When I want to write the data to a .csv file I would like to convert it to a format that is easier to work with - e.g. a "time" column with the time data and one column "tag-name" with the tag values. Any tips?

The .read() method returns a Pandas DataFrame with timestamp as index and one column per tag. DataFrames are very convenient and powerful to work with. You can write the dataframe directly to a csv file by calling the .to_csv() method.


tomatoist should remember who I am

I have a bookmark in my toolbar to tomatoi.st/dgryski.  I was hoping I could configure the app launcher to do the same thing, but the URL is hard coded to / which means I get a random session each time.

Is this in relation to the SSB or the Chrome App button?

The Chrome App button has no configuration option.

Yes, quite right. This was a limitation of the app store at the time, but the capabilities have since changed. I'll have a look-see and try to figure it out.

So there doesn't appear to be any way to take configuration options for hosted apps, unlike extensions. This problem could be solved via some light usage of a persistent cookie though. I'll take a stab at it and let you know.

This should be fixed in the current deployed version. Tomatoi.st now remembers the last session you visited and will go there again when you start it up. Please take a look and let me know if it works as you expect it to.
Cheers!

Works great!
Thanks

Awesome :)


⚠ Bofrost.de has degraded performance

In 058cd3a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1524 ms

Resolved: Bofrost.de performance has improved in 29417cc.