Pre-Compiler Plugin Proposal

Search Terms
Extension, Plugin, Vue, Custom extensions
I found some issues but no proposal :/
Suggestion
Hi! I'm an author of the fork-ts-checker-webpack-plugin. Last few months I was busy with rewriting this plugin to pay off the technological debt.
One of the features that this plugin provides is support for the Vue.js Single File Components. I was able to implement it but in order to work with the Watch program and SolutionBuilder I had to do some workarounds. It's because there is an assertion in the TypeScript source code that files cannot have a custom extension.
The main issue with this approach is that you have to implement these workarounds in every  TypeScript's API client and they can behave differently (like appendTsSuffixTo in the ts-loader). I know that there are already Language Service Plugins, but they don't work if you use different API, like Watch.
The proposal
A new type of TypeScript plugins that can pre-compile custom source code to the format that TypeScript understands. The simplified interface would be:
////////////////////////////////////////////////
// update existing implementation and typings //

/**
 * Keep it for the backward compatibility
 * @deprecated
 */
interface PluginCreateInfo {
  project: Project;
  languageService: LanguageService;
  languageServiceHost: LanguageServiceHost;
  serverHost: ServerHost;
  config: any;
}
// the new name for this type
type LanguageServicePluginCreateInfo = PluginCreateInfo;

/**
 * Keep it for the backward compatibility
 * @deprecated
 */
interface PluginModule {
  type?: 'language-service-plugin'; // not required due to backward compatibility
  getExternalFiles?(project: Project): string[];
  onConfigurationChanged?(config: any): void;
  create(createInfo: PluginCreateInfo): LanguageService;
}
// the new name for this type
type LanguageServicePluginModule = PluginModule & {
  type: 'language-service-plugin'; // required in the new type
}

/////////////////////////////
// add new type of plugins //

interface PreCompilerPluginModuleCreateInfo {
  moduleResolutionHost: ModuleResolutionHost;
  sourceMapHost: SourceMapHost;
  config: any;
}
interface PreCompilerPluginModule {
  type: 'pre-compiler-plugin'; // to distinguish between LanguageServicePlugin and PreCompilerPlugin
  onConfigurationChanged?(config: any): void;
  create(createInfo: PreCompilerPluginModuleCreateInfo): PreCompilerPlugin;
}
interface PreCompilerPlugin {
  extensions: string[]; // list of supported extensions, for example ['.vue'] or ['.mdx']
  createPreCompiledSourceFile(
    fileName: string,
    sourceText: string,
    languageVersion: ScriptTarget,
    setParentNodes?: boolean
  ): PreCompiledSourceFile;
}
// we need to define an extended version of the SourceFile to support additional sourceMap
interface PreCompiledSourceFile extends SourceFile {
  preSourceMapText: string; // we need to provide source map to calculate diagnostics positions and source maps
}

// we need to define a function to create a PreCompiledSourceFile
// (as we can't infer ScriptKind so it's not an optional parameter)
function createPreCompiledSourceFile(
  fileName: string,
  sourceText: string,
  languageVersion: ScriptTarget,
  scriptKind: ScriptKind,
  setParentNodes?: boolean,
  sourceMapText?: string
): PreCompiledSourceFile

// this will help with source map generation
interface SourceTextNavigator {
  getLineAndCharacterOfPosition(position: number): LineAndCharacter;
  getPositionOfLineAndCharacter(line: number, character: number): number;
  getLineEndOfPosition(position: number): number;
  getLineStarts(): number[];
}
interface SourceMapHost {
  createSourceMapGenerator(fileName: string): SourceMapGenerator;
  createSourceTextNavigator(text: string): SourceTextNavigator;
}

////////////////////////////////////////////////
// update existing implementation and typings //

type AnyPluginModule = PluginModule | PreCompilerPluginModule;

interface PluginModuleWithName {
  name: string;
  module: AnyPluginModule;
}
type PluginModuleFactory = (mod: {
  typescript: typeof ts;
}) => AnyPluginModule

This architecture would allow adding new plugin types in the future (so we could add ModuleResolutionPlugin to support Yarn PnP in the future)
The maintenance cost of this feature should be low because the exposed API is pretty simple.
There is a point in the TypeScript Design Goals

Provide an end-to-end build pipeline. Instead, make the system extensible so that external tools can use the compiler for more complex build workflows.

If you think that this feature is incompatible with this point, we could limit it to emitting only .d.ts files.
I could try to implement it, but first I need to know if it's something that you would like to add to the TypeScript and if this API is a good direction :)
Use Cases
I imagine that community would create PreCompilerPlugins for a lot of use cases. For example:

vue-typescript-plugin - support for the Single File Components
mdx-typescript-plugin - support for embedded TypeScript in the MDX files
graphql-typescript-pluging - support for generation of GraphQL types / clients in the runtime (so we don't have to use generators anymore)
css-modules-typescript-plugin - support for typed css modules (instead of declare module '*.css';)

Examples
tsconfig.json
{
  "compilerOptions": {
    "target": "ES6",
    "module": "CommonJS",
    "lib": ["ES6"],
    "moduleResolution": "Node",
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "baseUrl": "./src",
    "outDir": "./lib",
    "plugins": [{ "name": "vue-typescript-plugin" }]
  },
  "include": ["./src"],
  "exclude": ["node_modules"]
}

node_modules/vue-typescript-plugin/index.ts
It's a pseudo-code based on the fork-ts-checker-webpack-plugin implementation. It adds support for the .vue files.
import compiler from 'vue-template-compiler';

function init(modules: { typescript: typeof import("typescript/lib/typescript") }) {
  const ts = modules.typescript;

  function create({ sourceMapHost }: ts.PreCompilerPluginModuleCreateInfo): ts.PreCompilerPlugin {
    function getScriptKindByLang(lang: string | undefined) {
      switch (lang) {
        case 'ts':
          return ts.ScriptKind.TS;
        case 'tsx':
          return ts.ScriptKind.TSX;
        case 'jsx':
          return ts.ScriptKind.JSX;
        case 'json':
          return ts.ScriptKind.JSON;
        case 'js':
        default:
          return ts.ScriptKind.JS;
      }
    }

    function createNoScriptSourceFile(
      fileName: string,
      sourceText: string,
      languageVersion: ts.ScriptTarget,
      setParentNodes: boolean | undefined
    ): ts.PreCompilerSourceFile {
      const compiledText = 'export default {};';

      // generate source map
      const sourceMap = sourceMapHost.createSourceMapGenerator(fileName);
      const sourceIndex = sourceMap.addSource(fileName);
      sourceMap.setSourceContent(sourceIndex, sourceText);

      const sourceTextNavigator = sourceMapHost.createSourceTextNavigator(sourceText);

      const sourceStart = sourceTextNavigator.getLineAndCharacterOfPosition(0);
      const sourceEnd = sourceTextNavigator.getLineAndCharacterOfPosition(sourceText.length);

      sourceMap.addMapping(0, 0, sourceIndex, sourceStart.line, sourceStart.character);
      sourceMap.addMapping(0, compiledText.length, sourceIndex, sourceEnd.line, sourceEnd.character);

      // create source file
      return ts.createPreCompiledSourceFile(
        fileName,
        'export default {};',
        languageVersion,
        ts.ScriptKind.JS,
        setParentNodes
      );
    }

    function createSrcScriptSourceFile(
      fileName: string,
      sourceText: string,
      languageVersion: ts.ScriptTarget,
      setParentNodes: boolean | undefined,
      sourceStartPosition: number,
      sourceEndPosition: number,
      scriptTagSrc: string,
      scriptTagLang: string | undefined,
    ): ts.PreCompilerSourceFile {
      // import path cannot be end with '.ts[x]'
      const compiledText = `export * from "${scriptTagSrc.replace(/\.tsx?$/i, '')}";`;

      // generate source map
      const sourceMap = sourceMapHost.createSourceMapGenerator(fileName);
      const sourceIndex = sourceMap.addSource(fileName);
      sourceMap.setSourceContent(sourceIndex, sourceText);

      const sourceTextNavigator = sourceMapHost.createSourceTextNavigator(sourceText);
      const sourceStart = sourceTextNavigator.getLineAndCharacterOfPosition(sourceStartPosition);
      const sourceEnd = sourceTextNavigator.getLineAndCharacterOfPosition(sourceEndPosition);

      sourceMap.addMapping(0, 0, sourceIndex, sourceStart.line, sourceStart.character);
      sourceMap.addMapping(0, compiledText.length, sourceIndex, sourceEnd.line, sourceEnd.character);

      // create source file
      return ts.createPreCompiledSourceFile(
        fileName,
        compiledText,
        languageVersion,
        getScriptKindByLang(scriptTagLang),
        setParentNodes,
        sourceMap.toString()
      );
    }

    function createInlineScriptSourceFile(
      fileName: string,
      sourceText: string,
      languageVersion: ts.ScriptTarget,
      setParentNodes: boolean | undefined,
      sourceStartPosition: number,
      scriptTagContent: string,
      scriptTagLang: string | undefined
    ): ts.PreCompilerSourceFile {
      const compiledText = sourceTagContent;

      // generate source map
      const sourceMap = sourceMapHost.createSourceMapGenerator(fileName);
      const sourceIndex = sourceMap.addSource(fileName);
      sourceMap.setSourceContent(sourceIndex, sourceText);

      const sourceTextNavigator = sourceMapHost.createSourceTextNavigator(sourceText);
      const compiledTextNavigator = sourceMapHost.createSourceTextNavigator(compiledText);

      const compiledLineStarts = compiledTextNavigator.getLineStarts();
      compiledLineStarts.forEach((compiledLineStart) => {
        // map line by line
        const sourceStart = sourceTextNavigator.getLineAndCharacterOfPosition(sourceStartPosition + compiledLineStart);
        const sourceEnd = sourceTextNavigator.getLineAndCharacterOfPosition(sourceTextNavigator.getLineEndOfPosition(sourceStartPosition + compiledLineStart));
        const compiledStart = compiledTextNavigator.getLineAndCharacterOfPosition(compiledLineStart);
        const compiledEnd = compiledTextNavigator.getLineAndCharacterOfPosition(compiledTextNavigator.getLineEndOfPosition(compiledLineStart));

        sourceMap.addMapping(compiledStart.line, compiledStart.character, sourceIndex, sourceStart.line, sourceStart.character);
        sourceMap.addMapping(compiledEnd.line, compiledEnd.character, sourceIndex, sourceEnd.line, sourceEnd.character);
      });

      // create source file
      return ts.createPreCompiledSourceFile(
        fileName,
        compiledText,
        languageVersion,
        getScriptKindByLang(scriptTagLang),
        setParentNodes,
        sourceMap.toString()
      );
    }

    return {
      extensions: ['.vue'],
      createPreCompiledSourceFile(fileName, sourceText, languageVersion, setParentNodes) {
        const { script } = compiler.parseComponent(sourceText, { pad: 'space' });

        if (!script) {
          // No <script> block
          return createNoScriptSourceFile(fileName, sourceText, languageVersion, setParentNodes);
        } else if (script.attrs.src) {
          // <script src="file.ts" /> block
          return createSrcScriptSourceFile(
            fileName,
            sourceText,
            languageVersion,
            setParentNodes,
            script.start,
            script.end,
            script.attrs.src,
            script.attrs.lang
          );
        } else {
          // <script lang="ts"></script> block
          return createInlineScriptSourceFile(
            fileName,
            sourceText,
            languageVersion,
            setParentNodes,
            script.start,
            sourceText.slice(script.start, script.end),
            script.attrs.lang
          );
        }
      }
    }
  }

  return {
    type: 'pre-compiler-plugin',
    create
  };
}

export = init;

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

Related: #16607

cc @arcanis and @phryneas - figure this may be interesting to both of you 🥰

@orta any update?

I wouldn't expect anything in the short term, what plugin support looks like in TS is still a pretty constant internal debate with strong opinions on many sides. Which is why it's shown up a few times on roadmapping but tended to never get past experimental internal demos.
That means we're also real cautious of talking about it because we still don't know what it'll look like and how we can be sure it doesn't affect perf at the kind of scale that we'd expect to see people use it at.

Could you elaborate what are the performance issues that you are afraid of?
If we assume that transformation to typescript format is a pure function, then we can easily cache it. In this situation, the overhead could be noticeable on the initial compilation, but not in the watch mode (as we rebuild one or few files). Currently, users uses some workarounds to make this work which probably are much slower than we could achieve with plugins. If TypeScript would provide plugins API, keeping good performance of plugins would be a responsibility of plugin's maintainers - not TypeScript team. In this context I don't see performance blockers to move forward but I guess there are other factors that I didn't take into account 😄

@orta Do you have any update regarding this feature request? :)

Nope, no updates, other than the move to a node factory API https://github.com/microsoft/TypeScript/pull/35282 was long considered a blocker around this

Thanks for the update. I suppose you want to use AST as a format that a plugin should produce. That makes sense - it will be faster. I was also thinking about that but I was afraid you will not want to make AST factories API public.
Is there anything I could do to move this forward? I could implement it if you are busy with other features :)

Afraid not, it is still undecided by the team if and what the extent of plugin support looks like in the TypeScript compiler

Ok, that's a bummer 😞

plugins systems are not normal for compilers.

That's an interesting claim 🤔  https://babeljs.io/docs/en/plugins - babel is made of plugins. https://eslint.org/docs/developer-guide/working-with-plugins - eslint, which performs static analysis, also uses a plugins system. So I would say that at least in the JavaScript community, it's normal.

plugins systems are not normal for compilers.

maven - https://maven.apache.org/plugins/maven-compiler-plugin/
gcc - https://gcc-python-plugin.readthedocs.io/en/latest/
php - https://www.php.net/manual/en/extensions.php
@orta do you have any updates about compile time plugins? this feature was first time requested back in 2017~18

plugins systems are not normal for compilers.

maven - https://maven.apache.org/plugins/maven-compiler-plugin/
gcc - https://gcc-python-plugin.readthedocs.io/en/latest/
php - https://www.php.net/manual/en/extensions.php
@orta do you have any updates about compile time plugins? this feature was first time requested back in 2017~18

No updates

No updates

This would be very handy for Vue, Angular, Svelte. Right now all of these have implemented a TypeScript language service and a TypeScript plugin, all going different routes and patching different internal things because there's no blessed/official way to support this. The proposal seems good as it would provide a very low level and flexible API which would enable tricking TS into thinking file X is TS and providing a mechanism for mapping code positions back and forth. This in combination with the existing options of decorating the TS features would work out great I think.

Additional use cases, analogous to the the use case already given for graphql in that the current solution is to use code generators, which is both annoying and prone to human error - aka I updated the spec, but forgot to re-run the codegen, so everything looks to be running correctly...

Automatically providing the types from an OpenAPI spec file.
Automatically providing the types from an AsyncAPI spec file.

And ditto for anything else that defines interfaces in non-TS files that could be converted to TS type specifications.
Bonus points if the plugins are able to find and override imports. That would allow the plugin to be added to files in a way that doesn't corrupt the global namespace. Something like the "node:" prefix that node uses:
import * as MyNamespace from "tsplugin:mytypeplugin";
import { MyType } from "tsplugin:mytypeplugin";

function myFunc(p as MyType): MyNamespace.MyOtherType {
  //
}

Another use cases which would use such pre-compiler plugin:

Declaratice Custom Elements to read HTML and convert to typescript with custom elements definitions.
HTML embedded script code to treat embedded typescript

I am working on the DCE and have to replicate whole chain of IDE and type checking support by converting into TS plus other IDE-specific metadata. Hooking  pre-compilation plugin into custom extension and conversion into TS during TSC and in language service would serve the purpose best.

@orta do you have any informations about this proposal?


tsne visualization

Hello dear authors! I wonder that whether you tried "visualize the output of the encoder of simulated abnormal samples, the real abnormal samples in the test set and the normal samples using t-SNE". The paper mentioned that "the features we visualized are generated only at the bottleneck structure of U-Net". I used the layer5 features of encoder output to visualize. But the results are not as clear as the paper showed.

How do you add t-SNE visualization code to the project?


Made minor language/formatting tweaks

These changes fix minor problems with this Invoke-AzRestMethod article.

- "Azure Resource Management" > "Azure Resource Manager"
- Applied inline code formatting to explictly referenced API version

[x] Descriptive Title: This PR's title is a synopsis of the changes it proposes.
[x] Summary: This PR's summary describes the scope and intent of the change.
[x] Contributor's Guide: I have read the [contributors guide][contrib].
[x] Style: This PR adheres to the [style guide][style].

Learn Build status updates of commit 496352b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-conceptual/azps-8.3.0/manage-azure-resources-invoke-azrestmethod.md
:white_check_mark:Succeeded
View (azps-8.3.0)

docs-conceptual/azps-9.0.0/manage-azure-resources-invoke-azrestmethod.md
:white_check_mark:Succeeded
View (azps-9.0.0)

docs-conceptual/azps-9.0.1/manage-azure-resources-invoke-azrestmethod.md
:white_check_mark:Succeeded
View (azps-9.0.1)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off


Write a GO program to print floyd's triangle

Description
Write a GO program to print floyd's triangle
Floyd's triangle is a right-angled triangle of natural numbers, used in computer science as an example of a space-filling curve. It is named after Robert Floyd. It is defined by filling the rows of the triangle with consecutive numbers, starting with a 1 in the top left corner.
Input  : 5

Output :
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15

How to contribute

Save the solution in print_floyd's_triangle.go file
Add print_floyd's_triangle.go file in program/print-floyd's-triangle folder

!assign


Draft PR - gateway runner and docker for SATP

The plugin is now able to run a dockerized version of SATP-Hermes
Closes tasks: #3117

Feel free to remove draft from the PR, so the lint passes

@brunoffmateus can you please incorporate @petermetz 's feedback and my comments as well? With regard to the base image, in light of the arguments above, probably ubuntu is a better choice

FYI - the latest force push simply adds the latest docker image as the default and in the tests

still needs work due to the changes of commit 9f1b080dbcfd75b836fbdf71e011591e5d245937, doing them now


Feature Request: Delete / Redefine Module

I am making this feature request keeping in mind that #8977 and #3881 have been closed (but not resolved) as the OP deemed their feature request not necessary anymore, but I've found use case for it. Please bear with me and I would really like to contribute to the repo and make this functionality available if I can get help figuring out where to start looking; there's clearly expression over the web of people liking something like this.
With the following I would like to be able to define a module the first time and then change it on the fly later on. The reason is that my modules are dynamically generated and I'd rather reload one module than the whole app once One JavaScript file changes; it is Huge and Slow to load. The JS files are watched for changes and loaded lazily but always the initial module persists, i.e. 'This will be logged the first time' always gets logged even though the new JavaScript executes it does not overwrite the old module.
I think this would be a great tool for the AngularJS community but I don't know as yet it if it's already possible (I keep reading it's not). Alternatively I'd be happy if I could achieve the same using controllers/directives/1.5components
// First state of angular module
angular.module('myApp.view1', [])
.controller('View1Ctrl', ['$scope',function($scope) {
  $scope.buttonClick = function () {
    console.log('This will be logged first time');
  }
}]);

// Second state of angular module
angular.module('myApp.view1', [])
.controller('View1Ctrl', ['$scope',function($scope) {
  $scope.buttonClick = function () {
    console.log('This will be logged the second time');
  }
}]);

<button ng-click="buttonClick()">Button</button>

Here is a further working example if anything is still not clear http://jsbin.com/xirixusuyu

Replacing modules is a pretty slippery slope. You can easily end up into an inconcistent state, where some of your different services/controllers/directives/views are using different versions of their dependencies.
We are considering adding support for lazily loading modules though. This is tracked in #11015.
There are also 3rd party modules that are offering this functionality already.
I'm closing this as a duplicate of #11015. Let's continue the discussion there.


chore(ci): instead of sleeping correclty wait components readiness

What ❔

Why ❔

Checklist

[ ] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[ ] Code has been formatted via zk fmt and zk lint.
[ ] Spellcheck has been run via cargo spellcheck --cfg=./spellcheck/era.cfg --code 1.

@montekki is this PR still relevant or can it be closed?

lets close


Fix crash when event has missing publisher and no event data

What does this PR do?

Fix a crash/panic that would occur in the win32_event_log check when processing an event that has a missing publisher and no EventData.
Motivation

https://datadoghq.atlassian.net/browse/WINA-641
Additional Notes

If affected by this bug but unable to upgrade, set interpret_messages: false in the instance configuration to skip the code path that has the bug.
Code/bug introduced in Agent 7.50.
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

covered by new integration test.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided. Except if the qa/skip-qa label, with required either qa/done or qa/no-code-change labels, are applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge


Logo is not properly placed

The logo of the website is not properly fitted which is not good for users view it should be slightly away in a proper box

@YadavAkhileshh  plz assign me this

@YadavAkhileshh  i submited the logo PR thanks

please assign this task to me

@YadavAkhileshh is points is not showing on the leaderboard plz do something


Bump to calico v2.6.12

This builds on top of https://github.com/juju-solutions/layer-canal/pull/26 so please review and merge that first. Thanks.

Merging, please review.

LGTM+1 especially since we have CI jobs testing Canal


Add configuration option for controlling crates.io protocol

What does this PR try to resolve?
Currently, if -Z sparse-registry is passed, then Cargo will access crates.io using the sparse protocol. Since we want to stabilize this feature soon, we need a stable way to control which protocol is used.
This adds a config option registries.crates-io.protocol that can be set to either sparse or git. If the option is unset, it will be sparse if -Z sparse-registry is enabled, otherwise it will be git.
This PR does not stabilize sparse-registry. Using registries.crates-io.protocol without -Z sparse-registry will result in an error.
The next steps after PR are to:

stabilize sparse-registry
make sparse the default protocol

r? @weihanglo
(rust-highfive has picked a reviewer for you, use r? to override)

@bors r+

:pushpin: Commit d77aef5ba44396c03d250e84d97a2bf130d211e0 has been approved by weihanglo
It is now in the queue for this repository.

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing 8e740bb6c8881afed4afe96e6cf56cc29dbf06ac to master...

Would someone be willing to add this to the documentation at https://github.com/rust-lang/cargo/blob/master/src/doc/src/reference/unstable.md#sparse-registry?


Improve blogpost page

blogpost webpage can be improved, e.g., by adding buttons to share to social media (based on conversations with @sonichi )

Hi @olaoluwasalami , do you have any updates  on this? Thanks.

I'll provide updates on this soon @thinkall


Update EMSDK and add Emmaloc

My best attempt at incorporating deins https://github.com/zig-gamedev/zig-gamedev/pull/309#issue-1735150228 pull request to allow for emscripten builds.
My shell_minimal.html file is what I use to size canvas to the browser size. We should add the basic emscripten html file as well.

Will get to this soon. Just a note to myself, update the EMSDK zig-gamedev .zon package to 3.1.73 when this is apporved.


feat(codegen): configurable typescript codegen

Adds option to CodegenOptions - enable_typescript to enable output of TS.
Stops skipping output that is TS when enable_typescript is enabled
Adds TS support to

Function
FormalParameter
BindingPattern

Adds basic tests for TS generation

I'll clean this up a bit today and merge, to avoid a huge PR.

Appreciate that :) I am working on a few more PRs that will improve the coverage 😄

I merged the codegen tests to make sure we don't break existing behavior. It already caught some bugs :-)

Thanks for that 👍
Are you happy with this PR? I will rebase my next bit of work on this one.


CMake: provide option to turn off building tests and examples

Add option to CMakeLists.txt to disable building examples and/or tests.

Just wondering, examples as a whole? Or individually?

If I remember correctly this was just about disabling all tests/examples at once. Not individual ones.

I think it is solved here: #157


Support for os_domain_name and openstack v3

Hi @all,
I'm testing the templates with openshift enterprise 3.5. and it seems that /etc/origin/cloudprovider/openstack.conf complains about keystone v2 endpoints
I resolved this step adding the os_domain_name parameter in the playbooks/templates. If this works I'll submit a pull request.
If you have hints about how should I implement this, please let me know.

merged https://github.com/redhat-openstack/openshift-on-openstack/pull/336


Remove useless packages when pip it

🐛 Describe the bug
I have seen that poetry configures the dependency of several models, I believe that the user will only use one model when using, hope to change the package to delayed import, judge the user to use the corresponding model, install the required package.
Logic that needs updating:

Go llm dependent unless necessary
At the code level, determine the model used by the user, and then delay the import of the corresponding model dependency. If the user does not install, an error is reported to prompt the user to install.

Doing so will make the whole package lighter.

Hi @Undertone0809, Thanks for the suggestion. This was planned to be removed as we would have many LLM and VectorDB integrations.
So we will work on it soon and remove it from core dependencies.


Alt+Tab on Windows7 doesn't work when running fullscreen

If I try to Alt+Tab out of my fullscreen Kivy app, the screen on which the app was running, remains black. Also, trying to Alt+Tab back in doesn't work (no content is drawn, screen remains black).

That's the same issue as the resizing, gl context is not restored. their is already 2 others issues on it: #168 + #362. I'll close this one to prevent too much duplicate.


pass web headers/environment to shell program

Feature idea: I would like to be able to pass the information about the web environment to the shell program somehow (either as arguments or as environment variables)
e.g. variables such as REMOTE_ADDR, HTTP_X_FORWARDED_FOR could be exposed to the underlying shell program.
Ultimately, I want my reverse proxy server to authenticate the user and pass a SAML assertion  (or equivalent) to tty.js, so the shell program can use upstream authentication.

@adamjimenez, depends on the client. This isn't limited to headers. You could parse a querystring for args if you wanted to.

I could do this but I want to re-use an existing socket in order to handle simultaneous connections.


LSC: Language server deployment

Right now the language server zip files are included in PTVS vsix, and the LS is extracted on first use. The only check is for existing extracted folder, if there is one, it is not extracted. This will be a problem when upgrading to a newer version.
Extracting on first use saves space, if there's only one user per machine.
(2 compressed LS builds + uncompressed) takes less space than (2 uncompressed LS builds)
Extracting introduces 2 secs delay.
We could make the language server its own extension/vsix, have them uncompressed. That was proposed so we could update that vsix out of band, like LiveShare. We decided for now not to update out of band, so there is not a lot of benefit to do this now.
We could go back to have the LS builds uncompressed in ptvs core vsix. I was having trouble with signed builds where the LS files were missing, I don't know what was causing it and switching to extract on first use got around the issue.
Current proposal: Keep extracting to user data folder, add a version check so that we extract/overwrite when VS compressed version is newer than the one in user data folder.
Note: for node.js use, we can add a dependency in our component definition:
  vs.dependency id=Microsoft.VisualStudio.Package.NodeJs
                version=[1.0,)
                type=Required

and that gets installed to C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Microsoft\VisualStudio\NodeJs\node.exe
It's currently v10.16.3, which is older than what is used by VS Code v12.x, that might be a problem.

We are now tracking this task in our internal Pylance Azure DevOps.


THis is more of a question about Jasmine??

I am new to using Jasmine, I find when something breaks in the code Jasmine does not always out-put an error to my terminal. Why is this. I just get the same line returned.
like this:
➜  rna-transcription git:(master) jasmine rna-transcription.spec.js
➜  rna-transcription git:(master) jasmine rna-transcription.spec.js
➜  rna-transcription git:(master) jasmine rna-transcription.spec.js
➜  rna-transcription git:(master)

The first line is good with a green arrow, but the next three are the responses to running the command.
Nothing happens. No Output.

Question previously asked on exercism/exercism.io#3732

Hi @AnnahGerletti,
I'm one of the co-maintainers of the JavaScript track. This Jasmine behavior definitely isn't normal. It's supposed to show something like this:
$ jasmine ./hello-world.spec.js
Started
.

1 spec, 0 failures
Finished in 0.009 seconds

Which operating system are you using? Also, can you provide more information about your environment? Run the command below and paste the output here:
exercism version; node --version; jasmine -v

Hello,
I am running on a MacOS, using Zsh as my CLI, writing code in VSCode. Is that what you wanted to know.
here is the results to the comand
➜  rna-transcription git:(master) exercism version; node --version; jasmine -v
No help topic for 'version'
v9.4.0
jasmine v3.0.0
jasmine-core v3.0.0
➜  rna-transcription git:(master)

There will be times when I do see something like this:
Randomized with seed 53901
Started
....F**

Failures:
1) toRna() transcribes all dna nucleotides to their rna complements
  Message:
    Expected undefined to equal 'UGCACCAGAAUU'.
  Stack:
    Error: Expected undefined to equal 'UGCACCAGAAUU'.
        at <Jasmine>
        at UserContext.<anonymous> (/Users/annahgerletti/exercism/javascript/rna-transcription/rna-transcription.spec.js:23:8)
        at <Jasmine>
Pending:

However if I change the code in VScode and then try to run the test again, I won't get any kind of error message which is difficult to debug. I was just wondering are there steps when using Jasmine that I need to keep in mind?

@AnnahGerletti there's no step to follow before running jasmine. You should be able to see its output right after running the command. It doesn't seem like a broken output to me. Can you share an example of an output that doesn't get you information about your solution? Posting your solution alongside the given output would be very helpful.

Sure here is my current work, its not finished. I am working on the 4th JS assignment DNA to RNA.
var Rna = {
  'C': 'G',
  'G': 'C',
  'A': 'U',
  'T': 'A'
}

var DnaTranscriber = function () {
}

DnaTranscriber.prototype.toRna = function (input) {
  var nucleotides = input.split('')
  nucleotides.map(input) {

  }
  return Rna[input]
}

module.exports = DnaTranscriber

I get nothing in the terminal when I run Jasmine.
➜  rna-transcription git:(master) ✗ jasmine rna-transcription.spec.js
➜  rna-transcription git:(master) ✗

Not sure, but I think there is a syntax error in the code. Instead of nucleotides.map(input) {, would you mind to use old JavaScript?  Kind of:
nucleotides.map(function (input) {
  // use input to do something
});

In fact, you may want to write that in ES2015 syntax:
nucleotides.map(input => {
  // use input to do something
});

Looks like jasmine v3.0.0 just fails on a syntax error without reporting anything - although I cannot find a relevant github issue in jasmine repo, I can confirm this by running above code.
The latest jasmine v3.1.0 does the right thing - reports proper error.
@AnnahGerletti Can you update jasmine to the newer version and confirm?

How do I upgrade Jasmin? the npm docs tell me to run an npm install but there is no package.json.
Isn't there a jasmine upgrade command?

Never mind I used npm upgrade -g jasmine this seemed to work.

For the javascript track we recommend installing Jasmine globally. That is
how you are able to access jasmine command.
Running npm install -g jasime should update it I guess.
On Mar 1, 2018 1:16 AM, "Annah Gerletti"<EMAIL_ADDRESS>wrote:

How do I upgrade Jasmin? the npm docs tell me to run an npm install but
there is no package.json.
Isn't there a jasmine upgrade command?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/exercism/javascript/issues/505#issuecomment-369360189,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA73LxSx7qHlzlRbQfrLADwAlAodqGUpks5tZa0vgaJpZM4SV0R9
.

getting proper errors now. Thanks for all the help.

Awesome! Thanks for being patient with the issue.

You Guess, that sounds like you know of a better way to do it??
Running npm install -g jasime should update it I guess.

@AnnahGerletti updating it globally is just a matter of running npm i -g jasmine. You're good to go now! :-)

Yay!! thanks for all the help. Let's close this issue.


ValueError: Shapes (...) and (...) cannot be broadcast.

Seems like when using long prompt i always got this error
ex
diffusionkit-cli --prompt "A realistic squirrel standing on its hind legs, holding a glowing blue laser saber in its front paws. The squirrel has detailed brown and gray fur, with sharp, focused eyes. The scene is set in a lush forest with sunlight filtering through the trees, creating soft shadows. The laser saber is sleek and futuristic, emitting a soft glow. The background is slightly blurred to emphasize the squirrel, adding a sense of adventure and action." --output-path image.png --model-version FLUX.1-schnell --steps 4

scikit-learn version 1.5.1 is not supported. Minimum required version: 0.17. Maximum required version: 1.1.2. Disabling scikit-learn conversion API.
Torch version 2.2.1 has not been tested with coremltools. You may run into unexpected errors. Torch 2.2.0 is the most recent version that has been tested.
WARNING:diffusionkit.mlx.scripts.generate_images:Disabling CFG for FLUX.1-schnell model.
INFO:diffusionkit.mlx.scripts.generate_images:Output image resolution will be 512x512
INFO:diffusionkit.mlx:Pre text encoding peak memory: 0.0GB
INFO:diffusionkit.mlx:Pre text encoding active memory: 0.0GB
Traceback (most recent call last):
  File "/Users/alban/.pyenv/versions/3.11.7/bin/diffusionkit-cli", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/Users/alban/.pyenv/versions/3.11.7/lib/python3.11/site-packages/diffusionkit/mlx/scripts/generate_images.py", line 164, in cli
    image, _ = sd.generate_image(
               ^^^^^^^^^^^^^^^^^^
  File "/Users/alban/.pyenv/versions/3.11.7/lib/python3.11/site-packages/diffusionkit/mlx/__init__.py", line 310, in generate_image
    conditioning, pooled_conditioning = self.encode_text(
                                        ^^^^^^^^^^^^^^^^^
  File "/Users/alban/.pyenv/versions/3.11.7/lib/python3.11/site-packages/diffusionkit/mlx/__init__.py", line 605, in encode_text
    conditioning_l = self.clip_l(tokens_l[[0], :])  # Ignore negative text
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/alban/.pyenv/versions/3.11.7/lib/python3.11/site-packages/diffusionkit/mlx/clip.py", line 98, in __call__
    x = x + self.position_embedding.weight[:N]
        ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ValueError: Shapes (1,89,768) and (77,768) cannot be broadcast.

Hello,
For FLUX.1-schnell, the max context length for CLIP models and T5-XXL is 77 and 256 tokens, respectively.
This PR #18 will truncate extra tokens to fix the issue.


Add logging relation to kubeflow-roles charm

Context
Add logging relation using loki_push_api interface and LogForwarder to kubeflow-roles charm. Alternatively the LogProxyConsumer, could be used if the service is using log file instead of STDOUT, however this needs to be discussed because LogProxyConsumer is marked as deprecated.
This task is part of the COS integration initiative for all Kubeflow charms.
What needs to get done

Add logging relation  using loki_push_api interface
Use LogForwarder or LogProxyConsumer
Use chisme abstraction for testing

Definition of Done

Charm could be related with grafana-agent-k8s via logging relation
This relation was tested by integration tests
This relation was tested manually with COS deployed

This charm do not use sidecar patter or even workload, so that's why this issue do not make sense.


Edit link not working on Jodit react

In the RichTextEditor unable to edit the hyperlinks. When we click on edit, the editor popup shows up and shut down when we try to edit the existing link on the popup; when we add the hyperlinks for the first time in the RichTextEditor, the hyperlink window works perfectly fine where I can add all I need in the popup, but editing the exiting hyperlink is the issue.

Hi, Even I'm facing the same Issue and looking for the resolution

When we click on edit, the editor popup shows up and shut down when we try to edit the existing link on the popup; when we add the hyperlinks for the first time in the RichTextEditor...

most likely you don't use useMemo in your code and write something to the state after blur


[BUG] org.opensearch.search.profile.query.QueryProfilerTests.testBasic {p0=5} is flaky

Describe the bug
org.opensearch.search.profile.query.QueryProfilerTests.testBasic {p0=5} test is flaky.
Below assertion failure can be seen -
java.lang.AssertionError:
Expected: a value greater than <0L>
     but: <0L> was equal to <0L>

To Reproduce
https://build.ci.opensearch.org/job/gradle-check/29044/testReport/junit/org.opensearch.search.profile.query/QueryProfilerTests/testBasic__p0_5_/
Expected behavior
Test must always pass.

Similar reproducible error:
./gradlew ':server:test' --tests "org.opensearch.search.profile.query.QueryProfilerTests.testApproximations {p0=5}" -Dtests.seed=D11999824BA0CE71 -Dtests.security.manager=true -Dtests.jvm.argline="-XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=64m" -Dtests.locale=zh-CN -Dtests.timezone=Africa/Bamako

  2> java.lang.AssertionError:
    Expected: a value greater than <0L>
         but: <0L> was equal to <0L>
        at __randomizedtesting.SeedInfo.seed([D11999824BA0CE71:14FADAE707F9B355]:0)
        at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
        at org.junit.Assert.assertThat(Assert.java:964)
        at org.junit.Assert.assertThat(Assert.java:930)
        at org.opensearch.search.profile.query.QueryProfilerTests.testApproximations(QueryProfilerTests.java:349)

I removed the flaky test label and added a severity. If I have some cycles I'll look at this.

Happened again in https://github.com/opensearch-project/OpenSearch/pull/13358, reopening.


#Proposal migration to jupyterlab-contrib organization

Hey @shreddd
I created a new organization jupyterlab-contrib to gather extensions highly used by the community to increase their visibility and to attract attention on volunteers to help maintain them. Some extensions have already been transferred like jupyter-archive or jupyterlab-kernelspy.
As you were in the past interested to transfer this extension to the community, I wonder if you would be interested in transferring it to that organization?

The new organization is mirroring the jupyter_contrib_nbextensions repository. In particular it is not endorsed officially by the Jupyter board/developpers.

Hi @fcollonval
Yes - we would be interested in transferring ownership to the community.
In a past meeting with the JupyterLab core team we had also discussed merging with the core set of Jupyter extensions as well, since this feature (along with https://github.com/NERSC/jupyterlab-favorites) would be of general use to all Jupyter users.

Hi @fcollonval
Yes - we would be interested in transferring ownership to the community.
In a past meeting with the JupyterLab core team we had also discussed merging with the core set of Jupyter extensions as well, since this feature (along with https://github.com/NERSC/jupyterlab-favorites) would be of general use to all Jupyter users.

Thanks for reaching out @shreddd
Indeed there has been discussions on that front. But the latest discussion in https://github.com/jupyterlab/team-compass/issues/52 points to rather keep the extensions outside of the core. This is the reason I started the jupyterlab-contrib organization especially to help extension authors that do not have the bandwidth to update to JLab 3.
Let me know if you want more information or if you would like to start a broader discussion with some core developers.

Thanks for reaching out @shreddd
Indeed there has been discussions on that front. But the latest discussion in https://github.com/jupyterlab/team-compass/issues/52 points to rather keep the extensions outside of the core. This is the reason I started the jupyterlab-contrib organization especially to help extension authors that do not have the bandwidth to update to JLab 3.
Let me know if you want more information or if you would like to start a broader discussion with some core developers.

OK - yes - I think we are supportive of moving this to jupyterlab-contrib. Let us know how we can proceed.

OK - yes - I think we are supportive of moving this to jupyterlab-contrib. Let us know how we can proceed.

Hey @shreddd sorry for the late answer.
If you okay, could you please open an issue there?
I need the GitHub and npmjs username of somebody with owner rights on this repo and package.


Fix Code Structure

Fix Code Structure with Latest Code #26,
Please review and merge @ZapeeoSheikh

Please resolved conflicts

Done, Please Merge ASAP, @ZapeeoSheikh

I am not able to merge as it is still showing conflicts error

Done, Please Merge first, @ZapeeoSheikh


Updating storage-blob's README to include changes for BlobOutputStream#close

API change check
API changes are not detected in this pull request.


Missing flags - compliance with ISO 3166-1

Hello first let me say I love the component and the effort you put into this project.
I noticed that some flags are missing when cross-checking them with the countries specified by the ISO 3166-1 - source: https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes
Maybe you find the time to implement the missing flags or can show me the process how to add them myself so they comply with the format used within vueflags.
Below I provided a list of missing flags:

country name
filename

Antarctica
aq.svg

Bouvet Island
bv.svg

United States Minor Outlying Islands
um.svg

French Guiana
gf.svg

French Southern Territories
tf.svg

Guadeloupe
gp.svg

Guyana
gy.svg

Heard Island and McDonald Islands
hm.svg

Kiribati
ki.svg

Mayotte
yt.svg

New Caledonia
nc.svg

Réunion
re.svg

Saint Helena, Ascension and Tristan da Cunha
sh.svg

Saint Martin (French part)
mf.svg

Saint Pierre and Miquelon
pm.svg

South Georgia and the South Sandwich Islands
gs.svg

Svalbard and Jan Mayen
sj.svg

Swaziland
sz.svg

Tuvalu
tv.svg

Wallis and Futuna
wf.svg

Thanks in advance!

I was cross-checking the data with this site: https://restcountries.eu/. It provides all kind of information about countries and the list is ISO conform. They also provide links to the respective country svgs but they seem to have much more details than the ones within vueflags which is not what im looking for. Maybe they can be used as a reference point. This is for example the flag for Antarctiqua which is missing within vueflags: https://restcountries.eu/data/ata.svg

Thank you @Quasarman , I will update this during the weekend.  :)

You can add the svg flags here if you have some time: https://github.com/growthbunker/vueflags/tree/master/assets/flags
And add them flags here:
https://github.com/growthbunker/vueflags/blob/master/src/data/flags.js

Wow, thanks for the quick response! Im looking forward to it. Any flags you don't find the time to implement I will gladly take care of. Next few weeks im quite busy but if you don't manage to add all of the missing ones I'll do so :)

Thanks, I will try to do this on Saturday. :) I will keep you up-to-date!

Hey I just wanted to check if there are any updates on the lags which are missing 😊

Sorry I did not have the time to work on it. Maybe this weekend :)

Ah ok no worries, it isn't really urgent, take your time with it :)

Should be good now. :) Update your package to 0.1.0 and replace the flag directory by this one.
https://github.com/LeCoupa/vueflags/tree/master/assets/flags

Awesome thanks again for the great work!


Deployment automation and helm test concept after the end of the consortia

Is your support request related to a problem? Please describe.

With the end of the consortia we currently have no clear concept on how to automize deployment and use helm testing on tractus-x.
Describe the solution you'd like

It would be great to have a guidelline/concept on how to realize this after the consortia phase. To be more precise, answers to the following question would give a clear understanding:

How to deploy trace-X in tractus-X environments (is there a infrastructure we could prepare?)
How to automatically test trace-x in tractus-x
How to execute helm tests on tractus-X

Thank you very much.

Hi @ds-mmaul,
to be honest the post consortia phase is still heavy in development.
For sure I can only answer your third question: The GH action workflow described in TRG 5.09 is and will be available in Tractus-X
Regarding your other two questions, I would raise them in the sig-release repo, as they are preparing also for release management after the end of consortia.

...and of course any other "sane" workflows of your repo with be there in the future too


make arguments an object in CommonModel

There is so many arguments here that I would consider passing them in a object. If you would do it this way, you dont have to care about order while developing. Also it may give you other benefits.
Originally posted by @czlowiek488 in https://github.com/asyncapi/generator-model-sdk/pull/184#discussion_r632270789

So I tried to refactor mergeProperties:
private static mergeProperties({
    mergeTo,
    mergeFrom,
    originalSchema,
    alreadyIteratedModels = new Map()
  }: {
    mergeTo: CommonModel,
    mergeFrom: CommonModel,
    originalSchema: Schema,
    alreadyIteratedModels: Map<CommonModel, CommonModel>
  }) {

Of course, we can introduce a common parameter type between functions that share the same parameters, however, I am not sure I agree it improves the code 🤔

I usually use one object as argument, for me it is just easier to work with if I do not have to care about order and also you are taking advantages of autosuggestion.
Sometimes I follow this pattern (_Input_, _Settings_, _Settings2_, ...) which make some sense if you are passing settings separetely to other independent functions.

I do not feel like the work that is needed to refactor this is worth it with the output it gives. Therefore I am gonna remove it from the milestone for now.

Sometimes I follow this pattern (_Input_, _Settings_, _Settings2_, ...) which make some sense if you are passing settings separetely to other independent functions.

I can see that would be useful at times 👍

I still don't see the value in refactoring it, gonna let it close on its own if no further actions are made.

Gonna close this as I dont think it will be changed. Feel free to reopen you or anyone else want to do it.


Kata Containers 1.11.0-alpha0

Rootfs builder: build rust agent using osbuilder
image-builder: make docker runtime configurable
image_builder: Remove nsdax binary after its usage

1a7b735 rootfs-builder: build rust agent using osbuilder
c407421 image-builder: make docker runtime configurable
98ac62d image_builder: Remove nsdax binary after its usage

/test-ubuntu

/test-ubuntu


Unnecessary "to_static_str" Calls

The usage documentation shows using the to_static_str utility function to convert the string literals to static strings when directly creating the Factom struct but this is unnecessary as the Rust compiler will coerce the &str to &'static str directly as it knows the type from Factom struct declaration.
// Factomd open node and walletd locally on port 3003. Id is included in the json-rpc call.
let api = Factom{
    uri: to_static_str("https://api.factomd.net/v2").
    wallet_uri: to_static_str("http://localhost:3003/v2"),
    id: 0
}
let request = api.wallet_balances();
let response = fetch(request).unwrap();
dbg!(response);

Using the code as is results in a compiler error because to_static_str expects a String type argument:
 expected struct `std::string::String`, found reference    |                            help: try using a conversion method: `"https://api.factomd.net/v2".to_string()`    |
Also note that there's a typo for the uri assignment as it should have a comma instead of a period at the end.
Correct usage should be:
let api = Factom {
    uri: "https://api.factomd.net/v2",
    wallet_uri: "http://localhost:3003/v2",
    id: 0,
}

Thanks!
Ideally should have refactored all the static strings out, they are a remnant of an earlier design decision and don't really belong in the structs. Will have a poke around and see how much of the api it breaks.

Fixed in 4bfce5d7ff9ca0d913fe5a11c3ed8f4b1a7f22f8


What are the licensing implications of using the OpenAI API (self-instruct / Alpaca style training)?

See OpenAI terms of use: https://openai.com/policies/terms-of-use


DF-2198 - Adds jobs api and clickable links to job lists

Replaces mock jobs api data with actual jobs api data and clickable links.
Additions

Added simple-table-row-links.js for making tables with linkable rows.
Added event-listener.js and query-selector.js polyfills for IE8. Fixes https://github.com/cfpb/cfgov-refresh/issues/502
Added @tr-border variable to cf-enhancements.less
for simple-table border color.

Changes

Replaced career pages mock jobs data with data from the jobs API.
Made jobs list table on /careers/current-openings/ have linkable rows.
Adds eslint ignore lines for polyfills, which will not be changing.
Moved CF table color overrides to cf-theme-overrides.less.

Testing

Visit /careers/ and /careers/current-openings/ links should exist (but link to 404).

Review

@jimmynotjim
@sebworks
@KimberlyMunoz

Preview
Mobile:

Desktop:

Notes

There's an issue in IE8 where it's not recognizing the background color change on row hover, but it is recognizing the text color change. Anyone see why? Fixed in https://github.com/cfpb/cfgov-refresh/commit/bc61d5b08ac8d7e898aa2ee4ce61331060221e81

Removed erroneous bit of code in https://github.com/cfpb/cfgov-refresh/commit/e8cdb1b67b0af488ab6fd72a16028a875fdc4b87

Fixed permalink path in https://github.com/cfpb/cfgov-refresh/commit/08b86d7ab8d83ae8876a1af82a456d41b054ddf6
Added missing time element in https://github.com/cfpb/cfgov-refresh/commit/f803c142bde62d998d26d44a3bde76105a6f4b30

Is it worth supporting this much JS just to be able to click a table row? Especially if there's an IE bug. @schaferjh @sebworks @duelj do you see any issue with just the career title being a clickable target?

Yikes, that is a rough IE bug.
I'm interested to know what @duelj will have to say by my inclination is this:

it's a nice-to-have but necessary for MVP, so if we need more time to work out the bugs, let's take that time.
I want us to think about the use case for this highlight across link lists...why here and not elsewhere? and if it's a pain to develop, that's a valuable input into our thinking.
I really like it though, and given the number of lists (and long lists) we have across the site, helping users clearly understand which item they're selecting is very attractive

This is a table of data, not a list of links, the data just happens to contain a link. Maybe that's the key, we're going about it as if it is a list instead of treating it as it's own thing. What's kind of awkward is that we're treating it like a normal link on small screens.

@anselmbradford, can we use event delegation instead of adding the listener on every table row?

can we use event delegation instead of adding the listener on every table row?

This sounds good to me, but for some reason event.target wasn't coming through on IE8, perhaps because of the addEventListener polyfill I am using, so I needed to pass through the actual row clicked. If we'll be proceeding on this I'll look into it further and see about adding the event to the whole table. Great suggestion!

Might make sense to use attachEvent for IE8.

Might make sense to use attachEvent for IE8.

Now that you mention it I'm really surprised the polyfill I included isn't using attachEvent. I guess they wanted it to be browser-agnostic. I got from a public domain script at MDN. I'll look into it.

If IE8 isn't recognizing the background color and requires polyfills to get the JS to work, would it make sense to just disable the hoverover effect on IE8? I'm sure that even if it worked, the lag on the user's computer would create an unpleasant user experience.

@anselmbradford , just set the background color on the td ( on hover ) and will work on ie8.

just set the background color on the td ( on hover ) and will work on ie8.

hm, that does work on IE8, but then the whole row won't highlight:

IE8 hover issue fixed in https://github.com/cfpb/cfgov-refresh/commit/bc61d5b08ac8d7e898aa2ee4ce61331060221e81 with @sebworks help in chat:

:+1:

can we use event delegation instead of adding the listener on every table row?

Fixed in https://github.com/cfpb/cfgov-refresh/commit/1623591cd55d687931393fa78ab96469027c7d50
This PR should be good to go now. Can I get another review and thumbs-up?

:+1:

:+1:


Add flag to silence startup logs

Is it possible to silence the startup logs? Perhaps add a flag --quiet
Running rethinkdb 2.0.2 (GCC 4.9.2)...
Running on Linux 4.0.1-1-ARCH x86_64
Loading data from directory /home/michel/tmp/rethinkdb_data
Listening for intracluster connections on port 29015
Listening for client driver connections on port 28015
Listening for administrative HTTP connections on port 8080
Listening on addresses: <IP_ADDRESS>, ::1
To fully expose RethinkDB on the network, bind to all addresses by running rethinkdb with the `--bind all` command line option.
Server ready, "h9_z00" 218b42a9-47dc-48eb-90a7-7cda4f206bcf
Creating a pool connected to localhost:28015

You can pass --silent


Discussion: Prezi-like 3D/Immersive Navigation View

Discussion: Prezi-like 3D/Immersive Navigation View
https://prezi.com/ blew my mind with a new way of doing presentations - in a 3D/Immersive manner.  Would such a 3D/immersive View Navigation make sense in a rich client world ?
Related Links
Prezi

@patware
The best chance for 3D WinUI control is to make this 3D framework to support WinUI control


Error installing phantom via npm install phantom

Hardware: Mac with Windows VM (Windows 7)
Running Node v0.10.19 and NPM 1.3.11.
I can run phantom at prompt, so I'm good there.  After running npm install phantom, it seems to install all the required modules fine, but blows up on the build process with the following (any help greatly appeciated!):
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform.Targets(23,7): error MSB8007: The Platform for project 'weakref.vcxproj' is invalid.  Platform='x64'. You
may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Platform that doesn't exist for this project. [C:\bitbuck
et\seo-handler\node_modules\phantom\node_modules\dnode\node_modules\weak\build\weakref.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\bitbucket\seo-handler\node_modules\phantom\node_modules\dnode\node_modules\weak
gyp ERR! node -v v0.10.19
gyp ERR! node-gyp -v v0.10.10
gyp ERR! not ok

Looks #93 fixes this.

Actually, the OP's error is not the same as the ones mentioned later; it's specifically building this inside a Windows 7 VM. It seems like this issue may come from having a 64-bit Node.js install, but only a 32-bit MS Visual C++ install.


Defender ATP through CSP

Hi, please can you clarify is the licensing requirements have now changed? We can now see this as a standlone product we can license through CSP. Is this correct?

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

ID: b8aca66a-5a8b-64d2-7201-a7b915c5d309
Version Independent ID: c3cc0543-db20-a8f2-288c-d1dea5ea479f
Content: Minimum requirements for Microsoft Defender ATP - Windows security
Content Source: windows/security/threat-protection/microsoft-defender-atp/minimum-requirements.md
Product: w10
Technology: windows
GitHub Login: @mjcaparas
Microsoft Alias: macapara

Hi, from the article I would understand you need to have either on the below products to be able to  use ATP
Windows 10 Enterprise E5
Windows 10 Education A5
Microsoft 365 E5 (M365 E5) which includes Windows 10 Enterprise E5
Microsoft 365 E5 Security
Microsoft 365 A5 (M365 A5)

Thats my point. There are numerous news articles stating this is now available as standalone. Its available through CSP as standalone as well. Can we get this clarified from the MS team?

I also am confused. The skus listed about already have WDATP. What are the minimum license requirements to purchase and deploy the WDATP Standalone sku? Offier ID: e2dcab13-1365-417a-b624-4901e2b252f5
Please advise

Yes, any of the licenses listed will provide access to Microsoft Defender ATP.
The stand alone sku is Microsoft 365 E5 Security.


fix: delete() now does not return data by default and comments cleanup

While I was cleaning up the comments, I noticed that delete() still returns the deleted value by default. I have updated the code so that it does not return value by default.

delete() now does not return data by default
clean up the comments

Isn't this a breaking change? I think we have to wait for this until v2.

@Vinzent03
I thought so at first as well, but I think it might not be breaking, because .delete() currently returns a PostgrestFilterBuilder<void>, so even though the API had returned the deleted values, as far as this client library is concerned, there was no return value.

Oh interesting! I think that's fine then.


convert.py

Traceback (most recent call last):
File "/gits/ComfyUI/custom_nodes/ComfyUI-GGUF/tools/convert.py", line 165, in handle_tensors
data = gguf.quants.quantize(data, data_qtype)
AttributeError: module 'gguf.quants' has no attribute 'quantize'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/gits/ComfyUI/custom_nodes/ComfyUI-GGUF/tools/convert.py", line 195, in
handle_tensors(path, writer, state_dict)
File "/gits/ComfyUI/custom_nodes/ComfyUI-GGUF/tools/convert.py", line 166, in handle_tensors
except (AttributeError, gguf.QuantError) as e:
AttributeError: module 'gguf' has no attribute 'QuantError'
get this error when trying to convert a model to gguf. could more info about what is needed to convert models be added?

@yggdrasil75, be cautious that script needs the llama.cpp version of gguf-py.
more info https://github.com/city96/ComfyUI-GGUF/tree/main/tools


docs: improve quick start document

Please answer these questions before submitting a pull request

Why submit this pull request?
[ ] Bugfix
[ ] New feature provided
[ ] Improve performance
[x] Improve document

The quick start document is out of date. For example : the PluginFilter's signature and jre version.
Add a guide to remote debug with Java plugin in docker.

@OrezzerO merged, many thanks


Modify Light Client implementation to support using p2p alongside REST/SSE

Is your feature request related to a problem? Please describe.
After implementing #4365 the light client data is now available via the p2p layer. Our light client implementation should also be able to use this alongside REST/SSE.

Superseded by #5644


WhatifPreference problem with Add/Remove UnifiedGroupLinks cmdLets

What happens
Neither Add-UnifiedGroupLinks or Remove-UnifiedGroupLinks observe the $WhatIfPreference when it is set to $True. When $WhatIfPreference is $True, membership updates are made, there is not any whatif text written to the console.
When you specify "-Whatif:$True" on the actual cmdLet invocation, the whatif text is echoed and membership changes do not occur.
What should happen
The commands should observe the $WhatIfPrefence in the same way they observe -Whatif.
When $WhatifPreference is true, membership changes should not be made, and whatif text should be shown.
Version
Client running Windows 10 build 17763
Get-Module shows
Microsoft.Exchange.Management.ExoPowershellModule.dll
Version: <IP_ADDRESS>

@officedocsbot assign @yogkumgit

@dariomws306  Thank you very much for the contribution and sharing this explanation. @Craig323
Hope this comment is helpful for you. Considering the nature of the issue, as advised, please open a service ticket in your tenant and follow with them for the resolution. https://docs.microsoft.com/office365/admin/contact-support-for-business-products
We will be very happy if you can share the outcome or resolution with us. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also


Server idle/read/write timeout support

On the server side, it's important to be able to clear out connections that have been idle for too long or are somehow broken. For HTTP/1, this can be done pretty simply by setting stream-level read and write timeouts. However, things aren't so simple for HTTP/2 since it's multiplexed. In particular, the server is always attempting to read from an HTTP/2 socket, so if a single request is active that takes more than the read timeout to process, the connection gets killed.
To handle this properly, I think we'll need hyper-level timeout configuration. In particular, I care about being able to shut down connections that have been idle for some period of time, and detect when reading from a client or writing to it is taking too long.
There are also some potential higher level timeouts to defend against e.g. slow loris attacks by placing a cap on the time a client is allowed to send the complete set of headers.

For an idle timeout in HTTP2, having the AsyncRead register a timeout for something longer than a request should ever take could work, right? Like, if the timeout is 5 minutes (or 10 or something), that should be long enough to not interrupt requests?

Yeah, that's what we're doing right now (30 second timeouts for HTTP/1 and 10 minute timeouts for HTTP/2), but ideally we'd be able to handle this more precisely.
Thinking about it a bit more, the minimum set of functionality that would need to be in hyper is just an idle timeout and a request header timeout. Read/write timeouts can be managed by the service implementation outside of hyper.

That does seem reasonable. So far, punting on timeout support has had the benefit of not being tied to a specific timer (or runtime). The core of hyper still works if you disable the runtime feature, but I think using tokio-timer for these timeouts internally would change that.

I think we can preserve those goals. Initially, timeouts could require the runtime feature, and we could add an abstraction over timers to support other runtimes.

I'd like to start moving on this. I think the simplest first step would be to handle server-side idle timeouts.
As an initial approach, I'm thinking of tying support to the runtime feature - the setters like Http::set_idle_timeout etc will be cfg'd to that. To keep the internals from becoming a huge nightmare, we can make a stub no-op Delay type for cfg(not(runtime)) so the internal implementation can just assume it has timers.
If there's interest we could make a trait abstraction for timers to support non-tokio runtimes, but that doesn't seem necessary initially.
On the HTTP/2 side, we can identify if we're idle with some reference counting scheme with the H2Streams, but it might be better long term to expose this information directly from h2.
Seem reasonable?

Hmm, the HTTP/2 approach won't really work the way you might want since it'd ignore pings...


Localization and Internationalization Support

At present Typica is written in such a way that the usual text translation tools do not work very well. Fixing this is essential to getting Typica translated for international use.

A German translation exists. Not sure why it isn't working perfectly on Windows, but it does work on Mac and Linux, demonstrating that at least on those platforms there's nothing in Typica that prevents translations.


lost some tiles picture

I do not have some Forbidden Alchemy tiles，please help me

Have a look at:
C:\Users\user\AppData\Roaming\Valkyrie\MoM\import\img
You can open the dds in Paint.NET or Gimp.


ci/feature/add unit test workflow

Add unit test packages (vitest/testing-library/happy-dom)
Add vitest config/Modify tsconfig/package.json for unit test
Fix unit test failed bugs
Summarize test reports into test-results
Add unit test workflow, refactor test workflows
change cache key for test
Fix workflow 'if' property bugs
Add storycap_deploy
rename storycap_deploy
modify on timing for test
Revert "modify on timing for test"
rename storycap_deploy
Replace vrt jobs with docs/storycap branch
add coverage check steps
Fix tests workflow bugs, refactor
Fix unit test workflow coverage path differ bug
Rename workflows

Needs modify branch info


Issue noctua models 170 zfin import test

fixes #170
fixes #180
fixes #181
Adding ZFIN models to master.

@dustine32  - I'll have Sabrina take a look at the deleted models.

@dustine32 - confirmed with Sabrina that she is expecting a handful of deleted models.  Do model deletes (triggered via noctua interface) only happen when a PR to master occurs?

@sierra-moxon Thanks for confirming, at least it's not 100% weird then! Gonna have to confirm with @kltm. My guess is that a model delete through the Noctua UI will remove the model from the in-memory datastore (in minerva) but not immediately in the noctua-models repo. To trigger the delete from the repo, that "automated commit" process would have to run, which dumps out the in-memory models to files and commits them to master, deleting the models in repo if they didn't exist in-memory at that time.
Sort of a question: It looks like your PR here includes the delete changes in the diff, which seems not right to me? I would expect a PR of only new ZFIN models would not touch any of the models created through the Noctua UI. Does this make sense?

Talking to @sierra-moxon , I think there is still a bit of a mystery here as to how the deletes happened here. AFAIK, there is no mechanism to literally delete files in any system right now, including minerva (although @balhoff may know something I don't). I believe(d) that deletes are just an inactive element at this point and we're still working through what exactly we want "delete" to mean.

@kltm I noticed that Ben added a deletion mechanism to Minerva. I'm not familiar enough with the situation here to know if it's relevant. There is an arg here skipMarkedDelete used when loading to the triplestore: https://github.com/geneontology/minerva/blob/07a2e5690a6f39264e5ca7db8600ccf8bd8131c4/minerva-core/src/main/java/org/geneontology/minerva/BlazegraphMolecularModelManager.java#L608
It's set to true here: https://github.com/geneontology/minerva/blob/07a2e5690a6f39264e5ca7db8600ccf8bd8131c4/minerva-cli/src/main/java/org/geneontology/minerva/cli/CommandLineInterface.java#L484

@balhoff Okay, that actually sounds like what we're experiencing, so I think we're good--we were curious as to why models marked as "delete" were no longer accessible in some cases. (We still have an issue where a few models got removed from a PR, but I think that is separate.)


Update default port to 8080, and expose port as a config option

Enhancement Proposal
Currently the charm expects a docker image that runs a web service on port 80.
We should change this to port 8080 as it's non-privileged and more common.
We should also expose the port as a configuration option to allow other workloads to be run without needing to modify the port they're listening on.

See https://github.com/canonical/gunicorn-k8s-operator/pull/17 for work on this.


EvaluateRuleAction and GlobalParams exist together, error building RuleParameters.

var workflow = new Workflow {
    WorkflowName = "EvaluateRuleActionTest",
    GlobalParams = new ScopedParam[] {
        new ScopedParam {
            Name = "TotalAmount",
            Expression = "input1+input2",
        },
        new ScopedParam {
            Name = "OrderCount",
            Expression = "1+1",
        }
    },
    Rules = new Rule[] {
        new Rule {
            RuleName = "TotalAmount5W",
            Expression = "TotalAmount >= 50000",
            Actions = new RuleActions {
                OnSuccess = new ActionInfo {
                    Name = "OutputExpression",
                    Context = new Dictionary<string, object>
                    {
                        { "expression", "TotalAmount" }
                    }
                }
            }
        },
        new Rule {
            RuleName = "TotalAmount10W",
            Expression = "TotalAmount >= 100000",
            Actions = new RuleActions {
                OnSuccess = new ActionInfo {
                    Name = "EvaluateRule",
                    Context = new Dictionary<string, object>
                    {
                        { "workflowName", "EvaluateRuleActionTest" },
                        { "ruleName", "TotalAmount10W" }
                    }
                }
            }
        }
    }
};

ExceptionMessage: The identifier 'TotalAmount' was defined more than once

Currently in EvaluateRule we pass all the inputs and global/local params of the rule. Since you are calling rule in same workflow, it is leading to conflicts.
Maybe we should allow consumers to pass what inputs should be forwarded to the EvaluateRule.
@RockTolo I would like to know your opinion on this and feel free to provide any other suggestion you may have


Some successful simulation runs do not show log or results

single sim run with tellurium succeeds, but two links seem broken
the job is:
  {
    "id": "5fdf1c4ff10d68cf08393b54",
    "name": "tl-vilar1",
    "email": null,
    "simulator": "tellurium",
    "simulatorVersion": "2.1.6",
    "submittedLocally": true,
    "status": "SUCCEEDED",
    "runtime": 8501,
    "submitted": "2020-12-20T09:41:35.335Z",
    "updated": "2020-12-20T09:41:43.844Z",
    "resultsSize": 28050,
    "projectSize": 9058
  }

clicking on either log or viz produces error 500 empty page
clicking on download works, returning a zip file containing logs and a pdf file of results report which looks ok

I suspect this is related to the simulation service, rather than the tellurium image. The tellurium image has no role in whether logs are saved, retrieved, or displayed.

i have same problem running with vcell image - it runs succesfully, download button works, viz and log links show error 500
https://run.biosimulations.org/simulations/5fdf08f0391352059f26ecb9

In this instance, the problem is because the results API returns a 404 error
https://run.api.biosimulations.org/results/5fdf08f0391352059f26ecb9?sparse=true

In this instance, the problem is because the results API returns a 404 error
https://run.api.biosimulations.org/results/5fdf08f0391352059f26ecb9?sparse=true
The UI is just passing along this error to the user

but why is the download button working?  are there different API calls to fetch the results, some which work and some which do not?

They're different endpoints.

1 endpoint retrieves a zip archive of CSV files which is produced when the simulation results are first saved.
A second endpoint retrieves the results as a JSON data structure.

It actually is specific to tellurium, and it actually depends on the omex file.
This happens when tellurium produced PDF instead of CSV.
The API is correct as it is being asked for CSV but there is none.

To help us debug, please post the OMEX files associated with each error.
Whether or not a CSV file is produced depends on whether a report is defined in the SED-ML file. tellurium not generating a CSV file is not a tellurium error.
This sound like a problem with the simulation results service. The service should not fail when the simulator correctly did not produce CSV files.

I think the service is correct with regard to CSV.  It has no way of knowing whether there should be or not a CSV output, it just says there isn't one.

It is the UIs job to populate the links depending on the outcome and handle the absence of the CSV file. If there is no CSV data, thus nothing to visualize, the link for visualization should not be there.

For the log files, I am not sure whether the service or the UI needs fixing.  The log files are there (retrievable by download) and the link to logs should work whether or not the job produced a CSV file or not.  They should always be retrievable, and in fact, they are retrievable in case of job failure.

Link to log files not working is definitely a bug.

This requires more discussion. Right now, I don't think that the API response is distinguishing between (a) results were not generated (i.e. not results were requested) and (b) results could be returned. The UI needs the API to return two different responses for these scenarios because the latter is an error that needs to be communicated to users. Until this is the case, we cannot complete the UI.
For now, I have changed the UI to assumed that the errors are due to the former.

Something went wrong with the change in UI.  The viz column disappeared completely and clicking on any of the actual runs has the viz part grayed out, even for the runs that do have CSV results.

on the other hand, viewing the logs now works on all runs, no longer returns the error 500 on any of them

Is this resolved?
#1851 should provide more details on the available outputs

Is this resolved?
#1851 should provide more details on the available outputs


You forgot to update kubeadm-config.yaml.j2

I see that you have updated to the latest patch releases for all Kubernetes major versions. However, you forgot to also change those values in kubeadm-config.yaml.j2.
kubernetesVersion: v{{ k8s.cluster_version }}.{{ '12' if k8s.cluster_version is version('1.24', '==') else '8' if k8s.cluster_version is version('1.25', '==') else '3' if k8s.cluster_version is version('1.26', '==') else '0' if k8s.cluster_version is version('1.27', '==') }}

Thank you @polhaghverdian, ops! Fixed and pushed!


Xcode12 can not run

Runner's architectures (armv7, arm64) include none that iPhone 8 can execute (Intel 64-bit).

Hi @Lanch92
Can you please provide your flutter doctor -v your flutter run --verbose and a complete reproducible minimal code sample and steps to reproduce
Thank you

did you checke flutter doctor -v ?

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


bash: dotnet: command not found

Issue Title
Be as descriptive as you can with your title.
General
Provide details on the problem you are experiencing including the .NET Core version, operating system version and anything else that is relevant.
Please provide a code sample for your issue if it is relevant, either inline, link to a gist (or similar) or add it as a zipped attachment.
For some issues, you will get a quicker and better response if you file it at a more specific .NET repo. For example, if the problem is with ASP.NET Core, you are encouraged to use the aspnet/home repo.

Need some details in order to try and help. How did you install, what distro, etc. Feel free to re-open this issue with the additional information.

after install don.net SDK not run dot.net command


add inspect api

Codecov Report
Attention: Patch coverage is 50.51546% with 48 lines in your changes are missing coverage. Please review.

Project coverage is 88.72%. Comparing base (7359b58) to head (db8ee0b).

Files
Patch %
Lines

jj/mock/_json_renderer.py
48.97%
25 Missing :warning:

jj/mock/_mock.py
51.16%
21 Missing :warning:

jj/_entry_point.py
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #50      +/-   ##
==========================================
- Coverage   90.43%   88.72%   -1.72%
==========================================
  Files          92       93       +1
  Lines        2081     2173      +92
  Branches      246      260      +14
==========================================
+ Hits         1882     1928      +46
- Misses        184      230      +46
  Partials       15       15

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


implement a tiny scheduled self update module

This uses https://github.com/Araxeus/tiny-native-scheduler / https://crates.io/crates/tiny-native-scheduler
If cargo-upgrade-command is outdated, automatically schedule cargo install cargo-upgrade-command to run 1min after the process exit

Closing since this works on Linux only if at is installed, doesn't work on macOS, and there's a much better to approach this (#6)


mocksaml metadata doesn't have a SLO URL

Found a bug? Please fill out the sections below. 👍
Issue Summary
A summary of the issue. This needs to be a clear detailed-rich summary.
Not sure if this is a bug!
I am trying to use https://mocksaml.com as a mock for my idp for single sign on and single log out.
I am using the metadata url to configure my saml library https://github.com/SAML-Toolkits/python3-saml
So because the https://mocksaml.com metadata file doesn't have an SLO item, my lib tells me that SLO is not supported by the idp (which make sense).
But I also found some PRs and issues resolved related to slo (https://github.com/boxyhq/jackson/pull/128, and https://github.com/boxyhq/saml20/issues/14), so wanted to check if this is something that should be supported but its just missed from the public metadata file.
Steps to Reproduce
Well, for me, this is how I implemented SLO with the library I referenced.
The last line of the snippet throws: onelogin.saml2.errors.OneLogin_Saml2_Error: The IdP does not support Single Log Out
    from onelogin.saml2.auth import OneLogin_Saml2_Auth
    from onelogin.saml2.idp_metadata_parser import OneLogin_Saml2_IdPMetadataParser

    def logout(self, request):
        """Initialize SAML logout"""
        req = self.__prepare_tornado_request(request)
        idp_data = OneLogin_Saml2_IdPMetadataParser.parse_remote(
            self.saml_idp_metadata, timeout=5
        )
        self.saml_settings["idp"] = idp_data["idp"]
        auth = OneLogin_Saml2_Auth(req, self.saml_settings)
        return auth.logout(name_id=None, session_index=None)

But also, a simple way to show this problem is just to go to https://mocksaml.com/api/saml/metadata, and check for the following missing properties:

Any other relevant information. For example, why do you consider this a bug and what did you expect to happen instead?
I consider this a bug because I couldn't find docs saying if mocksaml supports slo or not, but I could find prs and issues referencing the support for slo. Maybe a "this service doesn't support slo" would be nice if that is the expectation
Technical details

Browser version: You can use https://www.whatsmybrowser.org/ to find this out.: Chrome 120
Node.js version: N/A (not using this as a lib, I'm using the service)
Anything else that you think could be an issue.

Thanks for doing this! It has been super helpful to develop and test SAML integration so far!

Thanks for reporting this, adding SLO to Mock SAML makes a lot of sense.

Hi Folks, would love some info on this, can't see the SLO URL setting anywhere yet in the latest version.


Errors silently on local invoke

Attempted local invocations via sls invoke local and did not get profiling info in HUD.
Worked fine when running the function on AWS.

This still appears to be an active problem, based on my local tests.


Use a task in _CheckForInvalidConfigurationAndPlatform

This gives us the ability to localize messages that are logged in this target.
Related to #3059

@jeffkl do you want to update this for what Daniel suggested or close the issue? I'd rather not take this as-is but rather introduce a generic task (generic for us to use).

@AndyGerlicher I barely had time to code this up as it was.  The only thing missing is unifying our HasTrailingSlash logic.

I'd rather just fix HasTrailingSlash, if we want a whole new task that accepts a resource name and arguments that'll be a different PR.


Docker port exposure

Just realized we need to expose a range of ports from Docker container when running multiple ac instances.
docker run -p 8000-10000:8000-10000
Should do. Will expose a given range, auto assign (AC server should care about it) and one must be aware to configure TCP/UDP/HTTP/Plugin ports inside exported range.

Wrong. Doing as described above port must be open already. :\

So we have to add a range of ports to the Dockerfile?

We can't use the method i've described because it assumes those ports shaw be open already.
I've seen some iptables magic to do that on-the-fly, but it may be tricky.
So far, docker doesn't allow dynamic port forwarding. :-1:

Actually, if we do something like the first post, with a range as small as possible, it may work. Seems that docker has some awkward memory usage when doing that.
When I first tried it at my aws box (t2.micro, 1 core, 1 GIB ram) it crashed. But when I repeated at my personal rig, it works fine. I'll do some more testing, but maybe someone else should give it a try to (can't thrust myself about it any longer).

Confirmed: forwarding a range of "only" 100 ports, it does work at smaller aws box:
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                      NAMES effdd44f32a0        local/acweb         "/app/main"              7 seconds ago       Up 5 seconds        <IP_ADDRESS>:8000-8100->8000-8100/tcp, <IP_ADDRESS>:9999->8080/tcp   acweb 75968fca7c69        mysql:latest        "docker-entrypoint..."   6 minutes ago       Up 6 minutes        <IP_ADDRESS>:30060->3306/tcp                                    ac-mysql ubuntu@ip-172-31-17-201:~/acweb$


null pointer risk in OneToManyProcessor.cpp

Description
application call OneToManyProcessor.cpp close() function, close() call closeAll(),  and closeAll() will set feedbackSink_=nullptr;
in OneToManyProcessor::deliverFeedback_ function, it will use feedbackSink_. this deliverFeedback_ is called in MediaStream worker thread. The MediaStream worker thread may different with application thread. so there is a risk that can cause crash.
I think one solution:
in deliverFeedback_() function lock monitor_mutex_;
 int OneToManyProcessor::deliverFeedback_(std::shared_ptr<DataPacket> fb_packet) {
    if (feedbackSink_ != nullptr) {

in closeAll() function, put feedbackSink_=nullptr after boost::unique_lockboost::mutex lock(monitor_mutex_);
void OneToManyProcessor::closeAll() {
   ELOG_DEBUG("OneToManyProcessor closeAll");
    feedbackSink_ = nullptr;
    publisher.reset();
    boost::unique_lock<boost::mutex> lock(monitor_mutex_);

yes, we should finish up the work we started to adopt smart pointers and also fix this case with weak_ptr I think. We'll work on it asap.


upsert doesn't update record

I can insert new record to MailChimp with upsert, but when I try to update the same record, I get error with message
Gibbon::MailChimpError (the server responded with status 400 @title="Member Exists"<EMAIL_ADDRESS>is already a list member. Use PUT to insert or update list members."
And update works. Is upsert can update record, as it says in documentation?

Hi @olegsobchuk.
Can you paste the snippet/call you're making with Gibbon?
Are you explicitly setting status: "subscribed" already? If not can you try doing so ?

@amro hi!
def join_or_update
  lists(list_id).members(md5_email).upsert(
      body: {
        email_address: user.email,
        status: 'subscribed',
        merge_fields: merge_vars
      }
    )
end

def merge_vars
  {
    FNAME: user.first_name,
    LNAME: user.last_name
  }
end

def list(list_id)
  Gibbon::Request.lists(list_id)
end

a little bit simplified but actually the same

Upsert does indeed map to a PUT request as you can see here. Two things to try:

Can you try returning a new request instead of making a static call in your list() method? Gibbon adds portions of the call chain to an array then converts that to a path before making a request. I wonder if there's a mistake in how this is handled for static calls.

Can you please try setting .debug = true on your gibbon request before making the request to make sure Gibbon is doing the right thing?

@amro  I'm not really understand, what do you mean with "returning a new request instead of making a static call in your list() method"

I see. Sorry for not being clear. Try this:
def join_or_update
  lists(list_id).members(md5_email).upsert(
      body: {
        email_address: user.email,
        status: 'subscribed',
        merge_fields: merge_vars
      }
    )
end

def merge_vars
  {
    FNAME: user.first_name,
    LNAME: user.last_name
  }
end

def list(list_id)
  Gibbon::Request.new(api_key: <your_api_key>).lists(list_id)
end

@amro Oh... I see, what you mean. I'll check it during weekend.

@amro IT WORKS!!! THANKS!
maybe it will be helpful for someone in the future.
my not working implementation:
I used to initialize Gibbon in config/initializers
Gibbon::Request.api_key = Rails.application.secrets.mailchimp_api_key
Gibbon::Request.symbolize_keys = true

and then I used to use it in the needed place
def list(list_id)
  Gibbon::Request.lists(list_id)
end

in this case upsert didn't work
working implementation:
def list(list_id)
  Gibbon::Request.new(
    api_key: Rails.application.secrets.mailchimp_api_key,
    symbolize_keys: true
  ).lists(list_id)
end

and in this case upsert works. And I don't need subscribe, update and unsubscribe separate methods. Now I use a single method, where I just send user's status
Thanks, @amro  for help!
Cheers!

Great. Glad to hear it


Roll Flutter Engine from 8d3c71840069 to cea11063ae31 (1 revision)

https://github.com/flutter/engine/compare/8d3c71840069...cea11063ae31
2024-12-05<EMAIL_ADDRESS>Roll Fuchsia Test Scripts from VilXq4eGH5A24wRWA... to r9Dc5VRF6sE3pJH20... (flutter/engine#56953)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC bdero<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


[BEAM-12164] Convert all static instances to be transient in the connector in order to enable concurrent testing

Convert all static instances to be transient in the connector in order to enable concurrent testing

ah I'm glad you found this. thanks for looking into it!

Run Java PreCommit

LGTM

errrors in precommit unrelated so moving forward with merge


Fix UI of hero section

The hero section of the website can have a better UI

Hey @Saishreekouda, issues raised before 15th Jan will not be considered for evaluation. So, I'm closing this one.
If you are interested in working on this issue, please open it again on or after 15th Jan, 2024.


tx drilldown for "Fee" should, when expanded, show the exact fee

Expected Behavior
expanding from $0 (or another rounded amount) should show exact fee (to as many decimal places needed to display a nonzero number)
Current Behavior
expanding a "$0" fee shows "$0" in the detail as well

This should be enabled by the work done in #4843


Reuse DirectoryFactory interface for remote store

Is your feature request related to a problem? Please describe.
https://github.com/opensearch-project/OpenSearch/blob/c85d33e2e487242eb5ad60b64567ca2ec14fc88f/server/src/main/java/org/opensearch/plugins/IndexStorePlugin.java#L57-L83
Describe the solution you'd like
Remove redundant RemoteDirectoryFactory
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Fixed by #6970


http://expressjs.com/ lacking a favicon.

Hi,
When I visit http://expressjs.com/ , it makes me feel uncomfortable/unprofessional without a favicon on this site.
I hope you'll add it soon, then I will be happy :)

Express doesn't have a logo to even make a favicon from. The logo you highlighted in your screenshot is the logo for Strongloop. I think that logo appearing next to the word "Express" is actually an error on the website.

I think that logo appearing next to the word "Express" is actually an error on the website.

Yes @dougwilson that was an oversight.  I just removed it with 241a27a9fe6afedcc3afb2f90d1a519cbcab08a4.
It was in CSS, so to see the change, you might have to do a hard-refresh to clear your browser cache.
I agree it would be nice to have a favicon, but as Doug notes, we don't have a logo.  Perhaps we can come up with a simple logo for this purpose?   I presume the TC would have to sign off on it.  Anyone have a suggestion?

I just thought of something - what about using the default favicon set by the Express generator from serve-favicon:   ?
Where did that image come from?  Can we use it?
It might give people the idea that the site uses Express itself (which it doesn't), so that's a counter-argument.  But maybe it would be better than no favicon?

That's the connect icon, if I am not mistaken.

OK, then maybe not such a great idea :-(
If that's true, then it begs the question of whether it's the best favicon to use for the express generator and serve-favicon.

The express generator provides no icon at all (https://github.com/expressjs/generator/blob/master/templates/js/app.js#L17-18). I would assume that is from the Express generator for the 3.x line of Express, which was based on Connect. I wouldn't use that icon here, because it's likely that Sencha Labs owns the copyright on that icon.

Interesting.  I wonder why I see it?  Perhaps I'm doing something wrong or misunderstanding.
Here's how I got the above screenshot of the favicon:

Updated my installation of the generator: npm i -g express-generator (running express --version shows 4.13.1).
Created a new app, with express my-express-app & installed deps with npm i
Ran with npm start
Loaded http://localhost:3000/.  The above icon was shown in the browser tab.

I can see that the generated app.js has this line:
var favicon = require('serve-favicon');
But this line is commented out:
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
So I don't understand where it's coming from....?  Does the browser cache it or something?

I wouldn't use that icon here, because it's likely that Sencha Labs owns the copyright on that icon.

OK, so I guess it's moot anyway, but I'm still curious about ^.

I'm sure your browser has it cached. Try clearing your entire browser cache or even using a completely different browser. If you ever loaded something on localhost port 4000 with that icon, it would get stuck there for any site on that host.

Another trick to update the cache is to manually browse to the favicon file, http://localhost:4000/favicon.ico let it 404 and then go back to the page and reload.

I'm sure your browser has it cached.

Yep, that was it.  I used a different browser and it didn't show up.   Thanks for clearing that up!

https://github.com/strongloop/expressjs.com/commit/a74564bdbe3066dcb4b9214a32689c6a9b96d45f adds an "interim" favicon. We continue to work on the logo in the meantime.

Thanks @hacksparrow ... Good start.  Definitely better than nothing!


Solves Binance rate limits, frequent almost reached, missing limit maker orders

Solution to Binance rate limit for ORDERS endpoint
https://github.com/hummingbot/hummingbot/issues/5473
https://github.com/hummingbot/hummingbot/issues/5491
Solution to missing LIMIT MAKER orders in Binance
https://github.com/hummingbot/hummingbot/issues/5502
https://github.com/hummingbot/hummingbot/issues/5503
New value of ORDER_NOT_FOUND_COUNT_LIMIT may be reverted. It was just easy workaround. Github does not allow cherry picking in UI.
Solution to frequent "API rate limit has almost reached" message
https://github.com/hummingbot/hummingbot/issues/5505

@abduramann please follow the contribution guidelines you are pointing your PR to the master branch.

Thanks for pointing out. I have a question. "7. Create a pull request proposal in Snapshot" has confused me a little. Does each PR require a voting?

Hi @abduramann, yes PRs require voting before they are added in the codebase.

Closing ticket, most of the issues found have been fix since version 1.8.0


Package maintenance

Landed in https://github.com/metarhia/metautil/commit/af6446d6dc92bcad1a737ea2aea2ae638b7339d9, https://github.com/metarhia/metautil/commit/42cda4280d057d438356ad6bc298a1eeb8171212, and https://github.com/metarhia/metautil/commit/ea0891c4ca7e9dbd6af384de235b2afdcf6332d8