The current working directory must be exist

The current working directory must be exist, there is no need to check whether the directory exists again

That check doesn't look necessary, what is the case you want to handle?

The exist(to) always return true when inPlace is true, I just think it's possible to skip a call here


tikz

i can't correct convert  with content.
content = r"""
\tikz{
\fill[pattern=north east lines] (0,0) rectangle (3,3);
}
"""
pattern not right.

you need to add all packages that u are using. It actually just compiles the following latex code.
\documentclass[a4paper, 10pt]{article}
%%packages%%
\hoffset=-1in
\voffset=-1in
\setbox0\hbox{
%%content%%
}
\pdfpageheight=\dimexpr\ht0+\dp0\relax
\pdfpagewidth=\wd0
\shipout\box0
\stop
%%packages%% is what you replace with your packeges
%%content%% is the content

this is my code. can u help me! thank u!
Vào Th 4, 9 thg 11, 2022 vào lúc 18:50 martinpflaum <
@.***> đã viết:

you need to add all packages that u are using. It actually just compiles
the following latex code.
\documentclass[a4paper, 10pt]{article}
%%packages%%
\hoffset=-1in
\voffset=-1in
\setbox0\hbox{
%%content%%
}
\pdfpageheight=\dimexpr\ht0+\dp0\relax
\pdfpagewidth=\wd0
\shipout\box0
\stop
%%packages%% is what you replace with your packeges
%%content%% is the content
—
Reply to this email directly, view it on GitHub
https://github.com/martinpflaum/easylatex2image/issues/1#issuecomment-1308633868,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASOLGORGGSEVWFFVXKNSYTDWHOFYFANCNFSM6AAAAAAR3BXNMU
.
You are receiving this because you authored the thread.Message ID:
@.***>

import easylatex2image
from easylatex2image import latex_to_image

packages_and_commands = r"""\usepackage[parfill]{parskip}
\usepackage[german]{varioref}
\usepackage{url}
\usepackage{amsmath}
\usepackage{dcolumn}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{intersections}
\usepackage[all,cmtip]{xy}
"""

content = r"""

\tikz{
\fill[pattern=north east lines] (0,0) rectangle (3,3);
}

this should run.
in pure latex it is:
\documentclass{article}
\usepackage[utf8]{inputenc}

\title{sqee}\usepackage[parfill]{parskip}
\usepackage[german]{varioref}
\usepackage{url}
\usepackage{amsmath}
\usepackage{dcolumn}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{patterns}
\usetikzlibrary{intersections}
\usepackage[all,cmtip]{xy}
\author{martin.pflaum.09.03.1999 }
\date{November 2022}

\begin{document}

\tikz{
\fill[pattern=north east lines] (0,0) rectangle (3,3);
}
\end{document}

i am sry this actually seems not to work :'D also i don t know how to fix it quickly - my advice would be to look at this /easylatex2image/core.py it is the whole "library" and only 65 lines. you would need to change CONTENT_WRAPPER variable in line 6 - just compile and change it in overleaf. I porbably wont fix this on my own :'D sry

The bug  probably is  that the package patterns is not passed to the hbox and the hbox kind of protects it s contents from this package. But I really don't know

ah got the bug
\documentclass[a4paper, 10pt]{article}
\usepackage{url}
\usepackage{amsmath}
\usepackage{dcolumn}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{patterns}
\usetikzlibrary{intersections}
\begin{document}
\hoffset=-1in
\voffset=-1in
\setbox0\hbox{
\tikz{
\fill[pattern=north east lines] (0,0) rectangle (3,3);
}
}
\pdfpageheight=\dimexpr\ht0+\dp0\relax
\pdfpagewidth=\wd0
\shipout\box0
\end{document}
will include this in the package

oke updated the file

oke updated the file

No file C:\Users\nhocv\AppData\Local\Temp\tmpau4qbl35\something.aux.
! I can't write on file `C:\Users\nhocv\AppData\Local\Temp\tmpau4qbl35\somethin
g.aux'.
\document ...ate \openout @mainaux \jobname .aux
\immediate \write @mainau...
l.7 \begin{document}
it not run

Sry I can't Programm on this more. But the code is only 65 lines!! In core.py I am sure u will figure it out-also latex code is now working.

Good luck🤞


Torch engine prefix cacheing

Enable by set shared_cache=True.

Hi @grimoire @lvhan028 Why did you choose the radix tree implementation? Have you considered using the hash table implementation? What factors did you consider, such as scalability or performance? Thanks.

Any detail about the hash table implementation?
Honestly, I do not like my radix tree implementation in this PR.

Any detail about the hash table implementation? Honestly, I do not like my radix tree implementation in this PR.

@ispobock may follow up. Currently researched the implementations of vLLM, RTP-LLM, and SGLang

@grimoire We compared the prefix cache implementation for other projects:

vllm

Hash Table
compute hash key for each block: hash(prefix tokens, tokens in this block)
block level reuse, if seq1: xxxxyyyy, seq2: xxxxzzzz, seq3 xxxxyyyyzzzz, each block contains 4 tokens, then seq2 can reuse the first block of seq1, seq3 can reuse 2 blocks of seq1
now only support prefix cache ( xxxxxoooo ), but plan to support general cache (xxxoooxxxooo) in the future
maybe need to consider hash collision
Complexity:

AssumeN is the number of seq,L is the length of seq
Time (Find & Insert): O(N*(L^2)), because compute each hash key needs O(L^2), mentioned here
Space: O(N*L)

rtp-llm

Hash Table
compute hash key for each seq: hash(tokens in sequence)
sequence level reuse, if seq1: xxxxyyyy, seq2: xxxxzzzz, seq3 xxxxyyyyzzzz, each block contains 4 tokens, then seq2 cannot reuse seq1, seq3 can reuse 2 blocks of seq1

sglang

Radix Tree
can only support prefix cache ( xxxxxoooo ), cannot support general cache (xxxoooxxxooo)
Complexity:

Time (Find & Insert): O(N*L)
Space: worst O(N*L), if no shared part

When do we need general cache?

And I think this approach is acceptable for now.
https://github.com/InternLM/lmdeploy/blob/137d106a0cba4f5a0297ac07959256c57435433b/lmdeploy/pytorch/config.py#L63-L66

@grimoire

When do we need general cache?

For example seq1: xxxxyyyyzzzz, seq2: yyyyzzzz, 4 tokens per block, for general cache, seq2 may use the last 2 cached blocks of seq1.
It's mentioned in vllm's design, but I'm not sure the real usage and implementation.

How do they evict blocks? Would it take a long time if we have a large amount of blocks?

It seems all of them are using reference count + LRU for evict policy.

And I think this approach is acceptable for now.
https://github.com/InternLM/lmdeploy/blob/137d106a0cba4f5a0297ac07959256c57435433b/lmdeploy/pytorch/config.py#L63-L66

ref https://github.com/vllm-project/vllm/pull/2762/files#r1495331586

Sure, let's ignore the sliding window for now.
It seems that the hash map does not bring much benefits to prefix matching. Eviction by blocks takes more time than eviction by node(sort by visit time, update ref-count/visit-time, update sequence status...).
But adding new concept node into the schedule made the code error prone and hard to maintain.
Any advice?

vllm didn't take the radix tree implementation due to the hard maintenance:

Major benefits of this design over a KV block Trie

Sometimes, caching is not limited to prefix caching:

With Mistral's sliding window attention, we only need to cache the last tokens in the sliding window.
With attention sinks, we need to cache the first few tokens and the latest tokens.

Maintaining hash table is simpler than maintaining a tree.
Extensible to more advanced caching policy (the one above is just an example).

In sglang, actually there is no block concept because the size of each page is equivalent to one token, which simplified the implementation.

For example seq1: xxxxyyyyzzzz, seq2: yyyyzzzz, 4 tokens per block, for general cache, seq2 may use the last 2 cached blocks of seq1.

In this case

The positional embedding used for yyyyzzzz is offsetted by 4 steps (instead of starting from 0)
xxxx which is involved in the computation of xxxxyyyyzzzz is  ignored.

The result will be different from computing yyyyzzzz directly. The outcome maybe similar but you have no guarantee on it.

vllm didn't take the radix tree implementation due to the hard maintenance:

Major benefits of this design over a KV block Trie

Sometimes, caching is not limited to prefix caching:

With Mistral's sliding window attention, we only need to cache the last tokens in the sliding window.
With attention sinks, we need to cache the first few tokens and the latest tokens.

Maintaining hash table is simpler than maintaining a tree.

Extensible to more advanced caching policy (the one above is just an example).

In sglang, actually there is no block concept because the size of each page is equivalent to one token, which simplified the implementation.

Hi @grimoire Do you have any suggestions?

Maintaining hash table is simpler than maintaining a tree.

That's true, especially when block size is not 1. In this PR, node is a wrap of sequence with meta info. I want to share the same block manage logits to ease the implementation, but it ... sucks.
I want to try the block-based strategy. Guess it would take a long time to design and prototype since I don't want to break any features that already exist.

Hi @grimoire I would like to know, is the completion of this PR currently ready for normal use? Thanks.

@zhyncs Yes, this is not a draft.

ref https://github.com/InternLM/lmdeploy/issues/1407#issuecomment-2044203407

Very good discussion here. ref https://github.com/vllm-project/vllm/issues/2614#issuecomment-2116330884


Fix performance of IndexedTable constructor

When constructing Columns with NamedTuples
before
julia> @btime IndexedTable(Columns(@NT(c=[1,2,3])), [1,3,2])
  78.806 μs (113 allocations: 5.63 KiB)

after
julia> @btime IndexedTable(Columns(@NT(c=[1,2,3])), [1,3,2])
  287.561 ns (14 allocations: 672 bytes)

Codecov Report

Merging #60 into master will decrease coverage by 0.39%.
The diff coverage is 73.68%.

@@            Coverage Diff            @@
##           master      #60     +/-   ##
=========================================
- Coverage   92.72%   92.33%   -0.4%
=========================================
  Files           6        6
  Lines         962      978     +16
=========================================
+ Hits          892      903     +11
- Misses         70       75      +5

Impacted Files
Coverage Δ

src/IndexedTables.jl
95.45% <100%> (ø)
:arrow_up:

src/columns.jl
93.89% <100%> (-0.05%)
:arrow_down:

src/utils.jl
91.3% <70.58%> (-2.45%)
:arrow_down:

Continue to review full report at Codecov.

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


Add Row titles to report

once reporting several Hosts/Vms or what ever object > pdf report getting messy without any Row Title for seperation.

I have no plan to add this myself but would consider a PR.

I think this is concerning to the tex template and some If clause if found repeatable Row Title
with golang handling for the json properties
Regards..


Make libpath an array and add more win32 paths

Fixes #47
Based on the bug report, on Windows more libpaths need to be added to
make libcurl.dll findable. This commit attempts to do so by turning
libpath field into an array and adding some more windows paths.
Enhances test program to use std.net.curl to test this.

Hm, looks like it does not work on Windows - dll is definitely in that folder but still can't be found. Currently reading how LD_LIBRARY_PATH is supposed to work on Windows :)

Wait, it only fails for dub - is there anything special about it env-wise?

@Geod24 @WebFreak001 can you help with the dub part? I don't have a good memory of D toolchain these days :)

uhh I don't really have experience with curl on dub on windows and I think if I ever used it, I copied the dlls to the folder to use them

@CyberShadow maybe you know? :)

Windows does not support LD_LIBRARY_PATH, because it does not use ld for loading shared libraries.
I think the equivalent is just PATH. https://stackoverflow.com/questions/518228/is-it-possible-to-add-a-directory-to-dll-search-path-from-a-batch-file-or-cmd-sc

@CyberShadow yep, figured out that part - you can see in CI that it works when you compile/run sample directly with dmd, i.e. dmd -run sample.d. But the same sample doesn't work through dub run in the same environment and I am confused why :/

That is interesting. What I would do is to make the sample program dump its environment to stdout, and then compare the output from those two invocation methods.

Okay, looks like dub automatically adds -m64 flag by the default and the issue is that 32-bit and 64-bit Windows needs to be handled as independent envs. Trying to hack something for that now..

I see, so would that be a new parameter for the action (which architecture to use)?

I hope to avoid way but it is not yet currently clear if there is any available option. From quick local testing it seems that the sample app crashes when both bin and bin64 are on path (access violation) and the first one attempted does not match the choice between -m32/-m64. I wouldn't be surprised if there is some idiomatic solution for this in Windows but I am simply not familiar enough with it to possibly guess it :)
Don't have time to debug it more right now, will get back to it later next week.

that seems weird - is this procedure needed if you install dmd on windows normally?
The sc.ini in the bin folder also contains lib paths for Environment32, Environment64 and Environment32mscoff, which should already include everything needed, created by the installer?

I think the lib paths only affect linking to static/import libraries. std.net.curl is loading libcurl.dll dynamically at runtime, without an import library, so it should be completely unaffected by the linker configuration.

in that case isn't the issue that your application didn't copy the libcurl.dll to your application folder? I think it would induce a wrong feeling of "it just working" even though you need special configuration to run it yourself (i.e. when making deployments of the binaries)

Correct. I presume if you are using curl on Windows you have to copy the dll to the application directory for distribution?
AFAICS the DMD windows installer provides separate environment bat scripts for 32-bit and 64-bit: https://github.com/dlang/installer/blob/master/windows/d2-installer.nsi#L261-L278

Well, this doesn't seem really relevant to the problem, but either way, that depends on who your users are. If you are shipping a desktop application for non-technical users, generally you want to include all dependencies. Often enough gratis / developer-targeted software does come with instructions to first make sure that this or that C runtime / DirectX library is installed. One notable example I remember is (older versions of) mIRC, which asked you to install OpenSSL in some place where mIRC will be able to find the DLLs: https://www.mirc.com/ssl.html
In my case, this is for testing ae. Since it is a library, I can't predict or dictate how the cURL DLL will be distributed, so I rely on the mechanism used by std.net.curl to work, and I do think it should work if the DLL is added to PATH. I was hoping that the action's maintainers would have a better understanding of the problems at hand. Maybe Windows gives up upon seeing that the first DLL it finds is of the wrong bitness, and therefore 64-bit programs need the path to the 64-bit DLL to come first in PATH, and same for 32-bit DLLs?

That would be optimal, the problem is that at the action setup time we can't possibly know if user will use -m32 or -m64 (or both), thus can't know the right order to use. Adding an extra action argument to explicitly select bitness for Windows would be the easiest of course.

What I would do is to make the sample program dump its environment to stdout, and then compare the output from those two invocation methods.

Has this produced any illuminating information?

Yeah, the same issue can be reproduced by calling dmd -m32 and dmd -m64 directly.

I'll give a try to an action argument approach. In most cases it should not be needed to specify (i.e. if no runtime loading is involved), so that will only be a small extra burden for devs using curl.

Sounds great. Ideally it would also control the dmd -m and Dub --arch settings (maybe by editing sc.ini), but if that's not possible, maybe the setting should have value names that match one of the existing settings' value names to control the architecture in Dub or DMD.

It is possible but I am not sure if this is a good idea. For the most CI scenarios the user can already freely use and mix different -m and --arch configuration and compiler/linker config will take care of correct paths. I don't really want to complicate that, was thinking about introducing a very dedicated (like win-dll-bitness) flag just to handle just the curl case. As far as I can see libcurl.dll is literally the only such library in dmd distribution so the use case is very niche.

To me, it sounds like a failure of what is trying to load the library. IIUC, the loader finds a DLL matching the name, loads it, then error out before it's the wrong bitness. In such a case, it should keep on searching other directories.
But looking at the code, it relies on LoadLibraryA only and there's not much Phobos can do: https://github.com/dlang/phobos/blob/9ec24190b1f657d594b5b675aff090dcd6c93782/std/net/curl.d#L4227-L4239
But, if my assumption is correct and LoadLibraryA bails as soon as it fails to load a library with the provided name, it looks to me that a possible simple solution would be to copy the two libraries in a folder, under two different name, and add that to the path.
IOW:

bin64/libcurl.dll => somepath/libcurl.dll;
bin32/libcurl.dll => somepath/curl.dll;

Thanks all for the input. I'll try few approaches and get back with an update :)

Okay, an update. So, the first and most important bit - the initial approach works. LoadLibraryA is perfectly fine with wrong bitness libraries on path and is expected to ignore them.
The problem that confused me earlier was that Phobos crashes afterwards for some reason for older DMD releases - and CI was using specifically 2.089 for a fixed version test. After I have noticed it passes for dmd-latest a simple update to 2.097 has resulted in fully green CI.
So the current fix is conceptually a correct one but it may need a workaround for older dmd releases. Unfortunately, I can't reproduce the crash even with 2.089 on my local Windows machine, so still no clue about what causes it. A further debugging path would be to build that Phobos tag with debug symbols and get the exact backtrace, however, I am close to the limit of time I can spend on this topic right now. So I'd propose to merge the fix as it is right now and create a separate issue to investigate older issues later - whoever will first get it. Is that suitable?

Sounds great to me! The crash only happen when loading libcurl.dll (i.e. this change won't affect programs that don't use std.net.curl), right?

Correct.

https://github.com/dlang-community/setup-dlang/releases/tag/v1.1.1


[Bug]: ECMAScript Modules with multi spec can not debug

Version
27.3.1
Steps to reproduce
npm  script:     {"test": "NODE_OPTIONS="--experimental-vm-modules  --inspect-brk" jest"}
launch.json
    {
      "name": "test",
      "type": "node",
      "request": "launch",
      "cwd": "${workspaceRoot}",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run-script", "test"],
      "port": 9229
    },

when spec pattern match only one(not xdescribe,is one file one describe)
I can debug one spec
when spec pattern match multi will throw error and can't debug
(node:85313) UnhandledPromiseRejectionWarning: Error: You need to run with a version of node that supports ES Modules in the VM API. See https://jestjs.io/docs/ecmascript-modules
    at invariant (/Users/chen/my-project/angular-miniprogram/node_modules/jest-runtime/build/index.js:2423:11)
    at importModuleDynamically (/Users/chen/my-project/angular-miniprogram/node_modules/jest-runtime/build/index.js:1735:11)
    at importModuleDynamicallyWrapper (internal/vm/module.js:451:21)
    at exports.importModuleDynamicallyCallback (internal/process/esm_loader.js:30:14)
    at eval (eval at <anonymous> (/Users/chen/my-project/angular-miniprogram/src/builder/util/load_esm.ts:2:33), <anonymous>:3:1)
    at /Users/chen/my-project/angular-miniprogram/src/builder/util/load_esm.ts:5:4
    at Generator.next (<anonymous>)
    at /Users/chen/my-project/angular-miniprogram/src/builder/util/load_esm.ts:8:71
    at new Promise (<anonymous>)
    at Object.<anonymous>.__awaiter (/Users/chen/my-project/angular-miniprogram/src/builder/util/load_esm.ts:4:12)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:85313) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 6)
(node:85313) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

but I add --experimental-vm-modules flag and run success on one spec one describe.
Expected behavior
multi spec file also run success
Actual behavior
only match one spec can run success
Additional context
No response
Environment
System:
    OS: macOS 11.1
    CPU: (8) x64 Intel(R) Core(TM) i5-1038NG7 CPU @ 2.00GHz
  Binaries:
    Node: 14.17.1 - ~/.nvm/versions/node/v14.17.1/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 6.14.13 - ~/.nvm/versions/node/v14.17.1/bin/npm
  npmPackages:
    jest: ^27.3.1 => 27.3.1

Sorry, I don't follow to example. Could you put together a reproduction I can pull down and run?

//b.spec.ts
import { angularCompilerPromise, getAngularCompiler } from "./load_esm";
describe("aaaa", () => {
  it("bbbb", async () => {
    let result = await getAngularCompiler();
    console.log(result);
    console.log("222");
  });
});

// a.spec.ts
describe("", () => {
  it("", () => {
    console.log("111");
  });
});

//load_esm.ts
export async function loadEsmModule<T>(modulePath: string): Promise<T> {
  const namespaceObject = await new Function("modulePath", `return import(modulePath);`)(modulePath);

  // If it is not ESM then the values needed will be stored in the `default` property.
  // TODO_ESM: This can be removed once `@angular/*` packages are ESM only.
  if (namespaceObject.default) {
    return namespaceObject.default;
  } else {
    return namespaceObject;
  }
}

export function getAngularCompiler() {
  return loadEsmModule<any>("@angular/compiler");
}
export const angularCompilerPromise = getAngularCompiler();
export const angularCompilerCliPromise = loadEsmModule<any>("@angular/compiler-cli");

//jest.config.ts
/*
 * For a detailed explanation regarding each configuration property and type check, visit:
 * https://jestjs.io/docs/configuration
 */

export default {
  // All imported modules in your tests should be mocked automatically
  // automock: false,

  // Stop running tests after `n` failures
  // bail: 0,

  // The directory where Jest should store its cached dependency information
  // cacheDirectory: "/private/var/folders/61/2q0f0zcn2xn0g4jzl52kkzzh0000gn/T/jest_dx",

  // Automatically clear mock calls and instances between every test
  clearMocks: true,

  // Indicates whether the coverage information should be collected while executing the test
  collectCoverage: true,

  // An array of glob patterns indicating a set of files for which coverage information should be collected
  // collectCoverageFrom: undefined,

  // The directory where Jest should output its coverage files
  coverageDirectory: "coverage",

  // An array of regexp pattern strings used to skip coverage collection
  // coveragePathIgnorePatterns: [
  //   "/node_modules/"
  // ],

  // Indicates which provider should be used to instrument code for coverage
  coverageProvider: "v8",

  // A list of reporter names that Jest uses when writing coverage reports
  // coverageReporters: [
  //   "json",
  //   "text",
  //   "lcov",
  //   "clover"
  // ],

  // An object that configures minimum threshold enforcement for coverage results
  // coverageThreshold: undefined,

  // A path to a custom dependency extractor
  // dependencyExtractor: undefined,

  // Make calling deprecated APIs throw helpful error messages
  // errorOnDeprecated: false,

  // Force coverage collection from ignored files using an array of glob patterns
  // forceCoverageMatch: [],

  // A path to a module which exports an async function that is triggered once before all test suites
  // globalSetup: undefined,

  // A path to a module which exports an async function that is triggered once after all test suites
  // globalTeardown: undefined,

  // A set of global variables that need to be available in all test environments
  // globals: {},

  // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.
  // maxWorkers: "50%",

  // An array of directory names to be searched recursively up from the requiring module's location
  // moduleDirectories: [
  //   "node_modules"
  // ],

  // An array of file extensions your modules use
  moduleFileExtensions: [
    "js",
    // "jsx",
    "ts",
    // "tsx",
    // "json",
    // "node"
  ],

  // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
  // moduleNameMapper: {},

  // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
  // modulePathIgnorePatterns: [],

  // Activates notifications for test results
  // notify: false,

  // An enum that specifies notification mode. Requires { notify: true }
  // notifyMode: "failure-change",

  // A preset that is used as a base for Jest's configuration
  // preset: undefined,

  // Run tests from one or more projects
  // projects: undefined,

  // Use this configuration option to add custom reporters to Jest
  // reporters: undefined,

  // Automatically reset mock state between every test
  // resetMocks: false,

  // Reset the module registry before running each individual test
  // resetModules: false,

  // A path to a custom resolver
  // resolver: undefined,

  // Automatically restore mock state between every test
  // restoreMocks: false,

  // The root directory that Jest should scan for tests and modules within
  // rootDir: undefined,

  // A list of paths to directories that Jest should use to search for files in
  // roots: [
  //   "<rootDir>"
  // ],

  // Allows you to use a custom runner instead of Jest's default test runner
  // runner: "jest-runner",

  // The paths to modules that run some code to configure or set up the testing environment before each test
  // setupFiles: [],

  // A list of paths to modules that run some code to configure or set up the testing framework before each test
  // setupFilesAfterEnv: [],

  // The number of seconds after which a test is considered as slow and reported as such in the results.
  // slowTestThreshold: 5,

  // A list of paths to snapshot serializer modules Jest should use for snapshot testing
  // snapshotSerializers: [],

  // The test environment that will be used for testing
  // testEnvironment: "jest-environment-node",

  // Options that will be passed to the testEnvironment
  // testEnvironmentOptions: {},

  // Adds a location field to test results
  // testLocationInResults: false,

  // The glob patterns Jest uses to detect test files
  // testMatch: [
  //   "**/__tests__/**/*.[jt]s?(x)",
  //   "**/?(*.)+(spec|test).[tj]s?(x)"
  // ],

  // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
  // testPathIgnorePatterns: [
  //   "/node_modules/"
  // ],

  // The regexp pattern or array of patterns that Jest uses to detect test files
  // testRegex: [],

  // This option allows the use of a custom results processor
  // testResultsProcessor: undefined,

  // This option allows use of a custom test runner
  // testRunner: "jest-circus/runner",

  // This option sets the URL for the jsdom environment. It is reflected in properties such as location.href
  // testURL: "http://localhost",

  // Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout"
  // timers: "real",

  // A map from regular expressions to paths to transformers
  // transform: undefined,
  transform: {
    "^.+\\.(t|j)s$": "ts-jest",
  },
  // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
  // transformIgnorePatterns: [
  //   "/node_modules/",
  //   "\\.pnp\\.[^\\/]+$"
  // ],

  // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
  // unmockedModulePathPatterns: undefined,

  // Indicates whether each individual test should be reported during the run
  // verbose: undefined,

  // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
  // watchPathIgnorePatterns: [],

  // Whether to use watchman for file crawling
  // watchman: true,

  testRunner: "jasmine2",
};
```json
  "scripts": {
    "test": "NODE_OPTIONS=\"--experimental-vm-modules  --inspect-brk\" jest",
  },

Getting same issue

Same issue with const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));


Labels

Hi,
What is the proper way to remove/unset labels?
{!! BootForm::text(Foo, 'foo')->addClass('input-lg') !!}
Thank you :)

{!! BootForm::text('Email', 'email')->placeholder('Email')->hideLabel() !!}
https://github.com/adamwathan/bootforms/issues/52
It could be nice to mention it on the documentation.
:)


Scrolling causes prompt to be deletable

When I have a clean terminal, with the promt like:
user@machine:~/some/path$

and I scroll in the terminal (using a touchpad) instead of scrolling the terminal, I get a bunch of characters entered, something like these lines:
user@machine:~/some/path$ `;`;`;`;
user@machine:~/some/path$ `5`5`5`5
user@machine:~/some/path$ `I.`I.`I.`I.

When I then try to delete those, I can delete parts of path as well, the prompt being left incomplete. Enter fixes that (the new prompt is ok)
Also, when I later use up/down keys, the prompt is messed completely, with the previous wrong inputs replacing parts of it, for example:
user@machine`;`;`;`;`;`;``>`>`>`>`>`>`¨ortest

which i believe was colortest originally.
Also when I press enter on this invalid line, I get endless lines of the format
>

until I press Ctrl-C.
Could be related to: I was running apt (See #259 , but I restarted Alacritty afterwards) and also the current path has a space in it.

Oh I think I nailed it down a bit: It seems like this only happens when I have alacritty maximised, then alt-tab to chromium, enter some text in a text field (like I am doing right now) and then alt-tab back. Then the current Terminal window is "poisoned" and continues doing this even on new lines. Also doesn't happen every time, so there might be something I don't see. Also happens for every path, not just ones with a space in them.
Also: I am running debian testing with gnome, on a Lenovo T460.

This should be resolved

Can confirm.


Code mapper in service

Pull requests into the clinical-trial-matching-service-trialscope require the following. Submitter should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable ("N/A") and :white_check_mark:.
This PR updates Trialscope to use the new abstracted code mapper, mcode extrator, and mapping logic classes in the clinical-trial-matching-service npm package.
Submitter:

[ ] Make sure test coverage didn’t decrease. If you are allowing the test coverage to drop, leave an explanation as to why:
[ ]	Does an update need to be made to the documentation with these changes?
[ ]	Does an update need to be made to the service wrappers template?
[ ]	Does an update need to be made to the service library?
[ ] Was the new feature tested by unit tests?
[ ] Was the new feature tested by a manual, end-to-end test?

TrialScope is no longer in active development and use.


Log that the DeepBills project supports only the 113th congress.

I'd prefer to just delete the DeepBills code as the project, on Cato's side, seem abandoned. Happy to do this in a follow-up PR.

Yeah we can delete the deep bills code.
On December 5, 2017 1:58:25 PM EST, Trey Moore<EMAIL_ADDRESS>wrote:

I'd prefer to just delete the DeepBills code as the project, on Cato's
side, seem abandoned. Happy to do this in a follow-up PR.
You can view, comment on, or merge this pull request online at:
https://github.com/unitedstates/congress/pull/222
-- Commit Summary --

The DeepBills project only supports the 113th congress.   I'd prefer
to just

-- File Changes --
M tasks/deepbills.py (4)
-- Patch Links --
https://github.com/unitedstates/congress/pull/222.patch
https://github.com/unitedstates/congress/pull/222.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/unitedstates/congress/pull/222

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

On it


Fix http verify

Coverage decreased (-0.3%) to 90.169% when pulling 2eb087eac72cb094307a7c9609241d17452eda2d on fix_http_verify into ee04aa501c7599ebb496c025c3ceb25ec012ae54 on master.


Improve CORE generator for facets and Solr indexing

Added a script to configure the Solr schema for a CORE collection
I also changed how we index array fields so that instead of a string separated by ::, we just index a multi-valued field, which allows faceting by individual values similar to what was done in #1005 and also preserves the original field values
Refactored the CoreCollection tests

Example below for gwf documents:

Also, I spent some time yesterday and will spend more time today. I wasn't able to the acl-collection.sh script because I got the error fields already exist even after dropping the collection, creating it again, using delete-field & delete-copy-field instead of add-field... Once I get it work, can probably add a script to "clean up" the solr index for a collection as well

Also, I spent some time yesterday and will spend more time today. I wasn't able to the acl-collection.sh script because I got the error fields already exist even after dropping the collection, creating it again, using delete-field & delete-copy-field instead of add-field... Once I get it work, can probably add a script to "clean up" the solr index for a collection as well

"replace-field" works pretty well

I'm fine for this to be merged once @nikhilro signs off. I don't need to be a blocker.

Also, I spent some time yesterday and will spend more time today. I wasn't able to the acl-collection.sh script because I got the error fields already exist even after dropping the collection, creating it again, using delete-field & delete-copy-field instead of add-field... Once I get it work, can probably add a script to "clean up" the solr index for a collection as well

"replace-field" works pretty well

oh, my bad, the error was "multiValued":trues (correct: "multiValued":true) and solr silently ate the error on running the script. It's fixed in this PR so works now lol
let's add a comment in docs/acl.md regarding replacing with replace-field if error "field already exists" is returned?

Also, I spent some time yesterday and will spend more time today. I wasn't able to the acl-collection.sh script because I got the error fields already exist even after dropping the collection, creating it again, using delete-field & delete-copy-field instead of add-field... Once I get it work, can probably add a script to "clean up" the solr index for a collection as well

"replace-field" works pretty well

oh, my bad, the error was "multiValued":trues (correct: "multiValued":true) and solr silently ate the error on running the script. It's fixed in this PR so works now lol
let's add a comment in docs/acl.md regarding replacing with replace-field if error "field already exists" is returned?

We can add different options to the script later like a flag for replace --replace which should be good 👍

add a TODO in the script to keep track of the --rename option then


Warning of "unused linker flags" when compiling with Archer

@lee218llnl Hey Greg, in the clang-archer wrapper the configuration allows to insert the correct rpath, etc. However when we use the wrapper to compile a file the .o we get the warning:
clang-3.9: warning: -Wl,-rpath=/home/simone/usr/lib: 'linker' input unused
clang-3.9: warning: argument unused during compilation: '-L/home/simone/usr/lib'

because we are not linking yet. Do you know a way how to avoid this? Checking for the -c flag and put an if-then-else inside the wrapper would be enough?
Thanks!

@simoatze I have a fix for this. Should I submit a pull request to the master branch or the towards_tr4 branch?

That would be great, thanks Greg!

Probably to the master.


[FEATURE] Integrate remote workspace into devcontainer

Integrate the handling of remote workspace into the dev container setup and document it in the developer/contributor documentation in the repositroy

Blocked due to incompatibility issues with Terraform CLI 1.6.x

Bug is confirmed by JFrog: https://jfrog.atlassian.net/browse/RTFACT-30122.
Will be shipped with next release. Until then if we want to use the Artifactory as backend, we must use version 1.5.7 of the Terraform CLI

Added the config under CLI 1.5.7
Needs to be consolidated after availability of fix for JFrog Artifactory


Add node module type include of the CMS

Add new npm module called "netlify-cms-node" which externalizes all peer imports and requires the rest of the modules as peers. Had to change netlify-cms-core to have peer dependencies and lerna.json to change the build sequence.
This is to resolve issue #1715.

Deploy preview for netlify-cms-www ready!
Built with commit b20e85afe1796c3662544f187be3d30a3bb2ccfd
https://deploy-preview-1718--netlify-cms-www.netlify.com

Deploy preview for cms-demo ready!
Built with commit b20e85afe1796c3662544f187be3d30a3bb2ccfd
https://deploy-preview-1718--cms-demo.netlify.com

Fixed peer dependency problem causing EditorialWorkflowError not to match across modules. All will now have a peer dependency to netlify-cms-lib-util instead of a dependency.

This means the consuming project is responsible for installing their own copy of every peer dependency, which isn't the approach we want to take. Too cumbersome and great potential for installing incompatible versions.
Netlify CMS as a whole should always include it's own dependencies up to and including React. We just need to share those dependencies with Netlify CMS extensions. Closing, but feel free to comment further.


What would you change to feed images into this?

The MNIST set is arrays, (not images).
When I modify this to take images and return arrays I can't get a good data loader with this repo
class TripletMNIST(Dataset):

When I'm ready for 'Fit' the cell just shows a [*] forever.
I try inputing the data loaders as triplet_train_loader.dataset I try to get the array of the image exactly the same size and shape as the MNIST images but I get mismatch errors. I get errors like 1x0x0 "too small". I spent more than a day on the 'too small' problem changing the dims.
BTW, great reop. Beautiful code sewn up very nicely.

Thanks @MotorCityCobra, I hope you solved your problem!


unable to deploy botService NodeJS

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp deployment source config-zip
Errors:
dlopen(/usr/local/Cellar/azure-cli/2.0.71/libexec/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so, 2): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/Cellar/azure-cli/2.0.71/libexec/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so
  Reason: image not found
Traceback (most recent call last):
python3.7/site-packages/knack/cli.py, ln 206, in invoke
    cmd_result = self.invocation.execute(args)
...
  Reason: image not found

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az webapp deployment source config-zip --resource-group {} --name {} --src {}

Expected Behavior
Environment Summary
Darwin-17.7.0-x86_64-i386-64bit
Python 3.7.7
Shell: bash

azure-cli 2.0.71 *

Additional Context

webapp

@manikanta-kondeti  can you please update to use the latest version of CLI & re-try looking at the stack trace the error is happening even before the method to do zip deployment is invoked.

move to S171

closing due to lack of response on this.


Update/wordsmith the Services description document.

Coverage decreased (-0.01%) to 76.632% when pulling 70c49b37fb37a9488a0d91ded80861741c7586cf on jmedved:master into b0a4cdd24e4dce4695f50d8024fd06101f8e2e1c on contiv:master.


Serial "delayed" characters on serial, specially when playing sound

This should be fixed with the latest CODAL, but we still need to test it and confirm it's the case and if there are still issues report back to CODAL.
When using sound and the REPL sometimes it get's into a state where typing a character only shows back 2 or 3 keystrokes in the future.

If this isn't fixed it could be a blocker for Mu so testing with latest DAL (V0.2.19) is high priority. @martinwork

The REPL seems OK now.
Tested with Editor Version: 2.1.0-beta.7 MicroPython Version: 1.0.1/2.0-44a75bb, typing and using the REPL history with these commands:
music.play(music.BLUES, wait=False)
music.pitch(440)
music.stop()
I noticed that music.play cancels any previous music.play or music.pitch, but music.pitch doesn't cancel a previous music.play. The music.pitch sounds briefly, and the blues keep playing. Is this expected?

Thanks Martin, I've opened https://github.com/microbit-foundation/micropython-microbit-v2/issues/28 to discuss the music question.
About the UART I was able to trigger it by pasting code into the REPL quickly until some characters got lost.
In this GIF (>3MBs, so it might take a minute lo load) I paste audio.play(Sound.HAPPY) several times at a moderate rate, which doesn't trigger the issue. I then try again pasting quite fast and it triggers once you start seeing the exceptions printed.
At that point I only press enter and you can see the previous characters appear:

I wasn't able to replicate this with something like print('hello world'), so it might be related to the audio stuff, or to something that uses a lot of CPU.

It seems better than it was. I have only been testing in the web app.
Could there be a buffering problem that isn't strictly "serial"? i.e. not CODAL serial
Trying in tera term, using up-arrow/return to repeat a single command. There seems to be a difference between these:

music.play(music.BLUES,wait=False)
audio.play(Sound.HAPPY)

Pressing up-arrow/return as fast as I can, after about 10-15 audio.plays have executed:

audio.play(Sound.HAPPY)
audio.play(Sound.HAPPY)
audio.play(Sound.HAPPY)
[AA
... [AA
... [AA
... [AA

I eventually got the same result with a V1 and microbit.display.show("Hello")
I can paste many lines in one go that show a single character (multiple repeats of the alphabet), but 2 characters locks up easily -  more so on V1
microbit.display.show("A0")
microbit.display.show("B0")
microbit.display.show("C0")
microbit.display.show("D0")
microbit.display.show("E0")
microbit.display.show("F0")
microbit.display.show("G0")
microbit.display.show("H0")
microbit.display.show("I0")
microbit.display.show("J0")
microbit.display.show("K0")
microbit.display.show("l0")
microbit.display.show("M0")
microbit.display.show("N0")
microbit.display.show("O0")
microbit.display.show("P0")
microbit.display.show("Q0")
microbit.display.show("R0")
microbit.display.show("S0")
microbit.display.show("T0")
microbit.display.show("U0")
microbit.display.show("V0")
microbit.display.show("W0")
microbit.display.show("X0")
microbit.display.show("Y0")
microbit.display.show("Z0")
microbit.display.show("A")
microbit.display.show("B")
microbit.display.show("C")
microbit.display.show("D")
microbit.display.show("E")
microbit.display.show("F")
microbit.display.show("G")
microbit.display.show("H")
microbit.display.show("I")
microbit.display.show("J")
microbit.display.show("K")
microbit.display.show("L")
microbit.display.show("M")
microbit.display.show("N")
microbit.display.show("O")
microbit.display.show("P")
microbit.display.show("Q")
microbit.display.show("R")
microbit.display.show("S")
microbit.display.show("T")
microbit.display.show("U")
microbit.display.show("V")
microbit.display.show("W")
microbit.display.show("X")
microbit.display.show("Y")
microbit.display.show("Z")

The GIF was actually higher up in this thread (it's a bit heavy, so maybe it didn't load when we were looking at this page):
https://github.com/microbit-foundation/micropython-microbit-v2/issues/15#issuecomment-733776145

I've tried this with the latest hex from the CI (https://github.com/microbit-foundation/micropython-microbit-v2/actions/runs/420785120) and can still replicate by copy/pasting audio.play(Sound.HAPPY) as quickly as I can as shown in the second half of this GIF.

Pasting into tera term shows the difference between V1 and V2.
The results are the same if I paste the whole thing  or type "import microbit" and paste the rest.
It looks to be about filling up the RX buffer, because executing the commands is delaying throughput.
After the output below, pressing SPACE is echoed OK by V1 but V2 echoes with previous sent characters.
The V2 response is like https://github.com/lancaster-university/codal-microbit-v2/issues/46.
Pasting this into tera term
import microbit
microbit.display.show("Aa")
microbit.display.show("Bb")
microbit.display.show("Cc")
microbit.display.show("Dd")
microbit.display.show("Ee")
microbit.display.show("Ff")

V1 says
>>> import microbit
>>> microbit.display.show("Aa")
>>> microbit.display.show("Bb")
>>> microbit.display.show("Cc")
>>> microbi

MICROBIT-MICROPYTHON-967c0765* V2 says:
>>> import microbit
>>> microbit.display.show("Aa")
>>> show("Ff")
Traceback (most recent call last):
  File "<stdin>", in <module>
NameError: name 'show' isn't defined
>>> splay.show("Bb")
Traceback (most recent call last):
  File "<stdin>", in <module>
NameError: name 'splay' isn't defined
>>> microbit.display.show("Cc")
>>> microbit.display.show("Dd")
>>> microbit.display.show("Ee")
>>> microbit.display

I can't replicate the issue anymore with the latest CODAL changes.
Although when pasting Matin's example not all the content ends up in the REPL, but it stops at that point and typing works as expected (before typing would show previous characters):
import microbit
microbit.display.show("Aa")
microbit.display.show("Bb")
microbit.display.show("Cc")
microbit.display.show("Dd")
microbit.display.show("Ee")
microbit.display.show("Ff")

>>> import microbit
>>> microbit.display.show("Aa")
>>> microbit.display.show("Bb")
>>> microbit.display.show("Cc")
>>> microbit.display.show("Dd")
>>> microbit.display.show("Ee")
>>> microbit.dis

Paste mode and raw repl seem to work fine, so I'll close this.


Star icon too high on messages

In the message list, when a message is starred, the star icon appears too high relative to the message text:

See chat thread for discussion.
Instead, the "shoulders" of the star (the near-horizontal top edges of the left and right wedges of the star) should be at about the x-height of the first line of text, i.e. about the same height as the top of letters like "x" and "e". Like this (from this PR subthread):

A side by side comparison when the system font size changes using the configuration from #616 where the top inset of the star is set to 5.5 (originally 4):

Ideally we want to make sure the alignment is responsive regardless of the font size. So using a constant is likely not an ideally solution.


use new JSON parser for tokens

@hmunfru @jframos

LGTM

I asume that the reason to delete the keystone schema files is due to you want to use only json message, so it is not necessary to have them. It is correct?

yes

LGTM


fix datetext dismiss.

Issue

close #752

Overview (Required)

Fixed an issue where the "dateText" dismiss when scrolling if there are multiple same time's favorite session.

Screenshot

I talked with the designer. The current behavior is intended behavior. 🙇

I see.


Provide Dockerfile for UBI-based ESO image

As originally discussed with @moolen in https://github.com/external-secrets/external-secrets/issues/1192
I thought it's time to stop hijacking his Issue. :)

[x] Provide Dockerfile
[ ] How to build the image?
[ ] How to publish the image?
[ ] Documentation

Initial PR to continue work on: https://github.com/external-secrets/external-secrets/issues/1518

Hey! I think we need to move both Dockerfiles to a build directory. If complexity in the makefile get's too high or it's too annoying it makes sense to move that out into a bash script.

we need to build both images in a PR make docker.build
on master and on release these are being promoted make docker.promote and make docker.sign
note: the make docker.release uses a "fat manifest" to build multi-arch images
the e2e tests also call make docker.build

I think these are all the bits that need to be adapted.

Hey @moolen

I've created a  build directory with distroless and ubi folders, each containing the respective Dockerfiles
I've then updated the ci.yaml to account for both, but here I'm pretty sure I've made a mess of it :) starting from this line: https://github.com/IdanAdar/external-secrets/blob/da1b3577534f16a04986ffffbead45f8e25ba4ad/.github/workflows/ci.yml#L244

Basically, I duplicated the steps and added the path for each of the folders, but honestly not sure at all what to do here.

I also think that the default should continue to be distroless as before, we just want another image built that we could use it to replace the default...

I think that the default should continue to be distroless as before, we just want another image built that we could use it to replace the default...

Agreed!

How do we give the built images different names

I think we can just use different tags for them. The current tags use distroless by default and the new ubi images can be tagged {version}-ubi for instance.

Okay. Where should that tagging be done?
@cpanato can you provide review for my changes here?

Where should that tagging be done?

I would first try to bake that into the Makefile, if that gets to complex/ugly i'd factor out a shell script that does the heavy lifiting.

@moolen We've created a new PR addressing this request in another way. If you could please review. Thanks!

Handled in another PR. Closing.


Extract IncludeDirectives.

Extract IncludeDirectives into the jsonapi_parser gem, in an attempt to share work between ActiveModelSerializers and jsonapi-resources (c.f. https://github.com/rails-api/active_model_serializers/pull/1685).
c.f. https://github.com/beauby/jsonapi_parser/blob/master/lib/json/api/include_directive.rb

Note that Travis is failing because of dependency resolution failing for rails 4.1 (jsonapi_parser currently requires activesupport ~> 4.2, but this is not a strong requirement at all, I'll change it if there is interest in this PR).

A bit of context here:

The proposed IncludeDirective implementation has an underlying structure of a Hash. example:

{
  posts: {
    author: {},
    comments: {
      author: {}
    }
  }

whereas the current implementation has a somewhat similar structure, with the addition of an included flag for each relationship (which in practice is always true), and the sub-relationships are stored under an :include_related key.

The proposed implementation has the additional benefit of handling wildcards (* for "all relationships", ** for "all relationships and their relationships, and so on recursively"). Those are not part of the spec, and are therefore optional (using the :allow_wildcard option to the IncludeDirective constructor – not enabled in this PR). There currently are discussions whether the spec should allow some kind of wildcard, and whichever choice is made would be easily added in the proposed implementation.

@beauby Good idea. I'm looking at the parsing logic for requests again (in anticipation of support for  Operations in the spec), so this is good timing. We should coordinate on the features.
The included flag is a remnant from before the spec was finalized, and can probably be removed (I doubt anyone is using it).

Rebased.


add support for the :retry_count and :retry_backoff_ms options

Fixes #11
Relates to #10
Adds support for the :retry_count and :retry_backoff_ms options.
To preserve BWC :retry_count is 0 by default.

/cc @karenzone  for doc changes.

@yaauie added your suggestions.
Also bumped version.

Let me know if there is anything else @yaauie.

Nothing else. LGTM.

thanks @yaauie @karenzone


TST: Update tests with scope & remarks

[x] Related to https://github.com/OSGeo/PROJ/issues/2247

Failure is due to core dump on unrelated test ...


Fix sous query help tip.

There are bigger problems that need to be addressed with CLI help messages that aren't being printed, but this solves the portion of issue 216 where the sous query help tip gives incorrect information.

Current coverage is 59.60% (diff: 0.00%)

Merging #227 into master will not change coverage

@@             master       #227   diff @@
==========================================
  Files           128        128
  Lines          6758       6758
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           4028       4028
  Misses         2368       2368
  Partials        362        362

Powered by Codecov. Last update bf66dd2...0af71ed


Add pagination to /outputs endpoint

The query currently returns all outputs in the database, which increases loading times and places a high burden on the data throughput.
Adding pagination will limit the size of the data returned from the query.

Closed by #53


Replace transformer apply_rotary_pos_emb with triton version

This is a port of https://github.com/qwopqwop200/GPTQ-for-LLaMa/pull/221/files by @aljungberg to this repo.
On my 4090 4bit + group-size:512 + true-sequential 30b model inference test I saw about 8-10% speed up for new tokens/s  (excluding prompt) in my own limited testing depending on input size. Did not see any adverse effects or drastic change in output versus non-triton rotary.
Added note that tl.libdevice is getting deprecated and refractored to tl.math in triton 2.1.0. I tried to add dynamic switching code but triton JIT does not allow this.
@fpgaminer  Please test this branch for kernel math accuracy vs main.

Note that in my testing there was little benefit to auto-tuning this kernel -- for any input size and model parameter count, roughly the same settings given here were the best or very close. That said, the one thing I didn't vary was hardware, so there could be other GPU models that benefit from a different block size.

Did not see any adverse effects or drastic change in output versus non-triton rotary.

These embeddings are slightly more accurate (compared to Meta's reference implementation).

@aljungberg I tried to change as little as possible for the port and noticed a diff where
https://github.com/qwopqwop200/GPTQ-for-LLaMa/pull/221/files#diff-6e5c6a701250dbeadf3480830a752403c9e485c8e093bc5977af4319ff12c53cR160
attn_weights is always returning None in your def forward change.
Since I do not know why, I played it safe and keep the non-null original code.  Is the attn_weights never used by forward caller or it was not possible to be not null? Thanks.

I recall using just @torch.jit.script on the HEAD transformers apply_rotary_pos_emb and getting a similar 10% speed-up.  Do we know if the Triton implementation beats that?  If the performance is similar I'd rather lean on PyTorch to do the optimization rather than implementing custom Triton kernels for everything, which require on-going maintenance.
I also haven't tried torch.compile on a quantized model yet; not sure if it handles Triton kernel calls.  That might have a similar benefit if it works.

Comparison using just a single input/sample for inference on all the variations discussed here:
diff in new tokens per/s on 30b 4bit group:512 model

main/baseline
triton rotary (this pr): +6.4%
main + torch.compile: +0.4%
main + @torch.jit.script apply_rotary: +1.5%
main + @torch.jit.script on def apply_rotary & half_rotate: +1.6%
main + torch.compile + @torch.jit.script on def apply_rotary+rotate_half : +2.0%

So both compile and @torch.jit.script do improve main but each has very small incremental improvement. Need to combine all for net 2%.


Failed to execute 'measure' on 'WorkerPerformance': The mark '757::componentWillMount' does not exist

Description
I am trying to use the ReactPerf tool in order to analyze DOM rendering performance and running to the following exception:
Failed to execute 'measure' on 'WorkerPerformance': The mark '757::componentWillMount' does not exist

The number 757 is variable.
Reproduction
Simply import the perf addon as in import Perf from 'react-native/Libraries/Renderer/src/renderers/shared/ReactPerf'; and then run Perf.start().
Solution
Ideally, Perf.start(), Perf.stop(), etc would work as advertised. It's very difficult to investigate rendering issues without it for more complex scenes.
Additional Information

React Native version: 0.39.1
Platform: Both
Operating System: MacOS

Same on RN 0.38.0

If you do something like this. It will work.
  componentDidMount() {
    setTimeout(() => {
      Perf.start();
      setTimeout(() => {
        Perf.stop();
        const measurements = Perf.getLastMeasurements();
        Perf.printWasted(measurements);
      }, 30000);
    }, 5000);
  }

Or just call
Perf.start() outside the class.

Closing this issue because it has been inactive for a while. If you think it should still be opened let us know why.


strcpy strncpy memcpy sprintf etc.

Hi
What’s this about?
LLVM ERROR: Code generator does not support intrinsic function 'llvm.objectsize.i64.p0i8'!
e.g.
typedef struct test_t {
  int value;
  char message[8];
} test;

test *tp = malloc(8*sizeof(Test));

tp->value = 1;  // OK
strcpy (tp->message, "Hello");  // Not OK, nor are any of its relatives

Is this a bug?
Or a sandbox thing?
Is there any way to copy memory that this compiler likes?
Or am I having a wobble?
Cheers
Alex

What is Test used to calculate the amount of memory needed?

Oops, just a typo...
Still haven’t found a way to copy blocks of memory...


Colon in headings prevents them being numbered

For example, the second section in Software Engineering was "## Analysis: What do we build?" was unnumbered. I've worked around by replacing the colon with an em-dash. Escaping the colon or using ASCII doesn't seem to fix it. It would be nice to have colons allowed in headings if possible.

Cheers, Heidi had logged this but I had closed it as I couldn't see the issue. I'll get this sorted ASAP.


The use of io::Result instead of futures::Async

I noticed that, contrary to my unsubstantiated expectations, thatUnixDatagram::{send, recv} return io::Result, instead of turningWouldBlock errors into futures::Async::NotReady.
It's not clear to me what result types are approriate for each layer -- I'd have assumed io::Result in mio, and public, but primitive methods (like send and recv) in tokio-based APIs would use some Async type variant.
I'm asking not due to API usability issues, but since I am trying using tokio-uds as a blueprint for zmq-tokio.
This is really one of the biggest hurdles for me: that there's no blueprint I'm totally confident in having the API types right, and no docs explaining how it should be done, and why.
If I reach sufficient understanding, I can maybe come up with a documentation patch for tokio-core that explains the design ideas behind that, but right now I'm at quite a loss.

Thanks for the report! Right now this crate mirrors the APIs of UDP/TCP in tokio-core itself, so this is really more of an upstream issue there rather than for this repository itself.
For now, though, the rule of thumb is:

poll methods (e.g. with poll in the name) always return something with Async
I/O methods match their underlying counterparts, but are nonblocking. E.g. they return "would block" errors

We may consider unifying these two strategies under one umbrella eventually, but for now we're at where we're at :(

Thanks for the explanation; it's not that I find it hard to understand, but I was irritated by the existence of two essentially equivalent ways of expressing the same thing, and was wondering whether I was missing some important underlying reason for this difference.
I'm closing this now, as the issue (if any) is with tokio-core documentation.


Efficiency of redundant fuzzers

Both sqlmap and arachni have SQL injection capabilities. Why run both? It doesn't look like there's an attempt to pare down either to a specific configuration or avoid running identical payloads.

Arachni's capabilities are actually a superset of sqlmap's under this context[1] so it should suffice.
Although if you follow that train of thought to the end you'd end up at "Just setup Arachni as a Grid and skip Gryffin altogether" so you've got to draw the line somewhere.
In any case, in its current setup Gryffin uses sqlmap for SQL injection and Arachni for XSS so there won't be any overlap.
[1] Arachni doesn't have exploitation features but Gryffin is scan only anyways.

Is Arachni's SQLi vector taken from SQLMap? I tried to follow the sql injection related changes on Arachni and was lost. I can find related commits in non-master branch, and it is no longer in master: https://github.com/Arachni/arachni/blob/master/external/metasploit/modules/exploits/unix/webapp/arachni_sqlmap.rb

That was an old Metasploit module for SQL injections that delegated to sqlmap -- if I remember correctly.
SQL injections in Arachni are handled by the following checks:

sql_injection -- Error based.
sql_injection_differential -- Blind, performing differential analysis using boolean injection.
sql_injection_timing -- Blind, performing timing attacks.

I see. It would be interesting for us to make Arachni SQLi detection available as a separate plugin and run some back-by-back testing against SQLmap.
Since both Arachni and SQLMap are both active projects, I admit that I am not up-to-date to comment which one is a superset of the other or not. Also this github project would not be a proper place for such discussion. Should that discussion be happening in the Arachni or SQLMap project page?

By superset I meant that Arachni covers the vulnerability identification features of SQLmap (i.e. SQL injections) as well many other types, while SQLmap is SQL injection only.
I don't see why this discussion would be happening anywhere else though since the issue @mutantzombie raised is whether or not it makes sense to have dependencies with redundant features, and that only applies to Gryffin.
In any case, I'm just giving you the lowdown on Arachni, I can't speak of much else with any sort of authority.

I'd summarize sqlmap as an exploit tool and arachni as a distributed vuln scanner. Sqlmap addresses the use cases around pen testing (extract info from the DB, execute commands). Arachni addresses vulnerability scanning (crawl and discover resources, identify vulns in those resources). It'd be reasonable to say arachni is a superset in terms of scanning features.
In addition to test vectors, a scanner needs to have strong heuristics around applying those payloads and minimizing false positives. Both tools score well on wavsep (as one reference). Their differences are really in purpose.
Sqlmap provides many command line options for tuning, but these don't seem to be leveraged beyond a specific default. Arachni can run SQL injection tests alongside XSS (and others). I would imagine consolidating tests could improve efficiency in terms of how a fuzzer performs internally, as well as things like "cold start" mentioned in #9.
I was curious what motivated this choice.

The project is being archived.


Kotlin to 1.7.20

🚀 Description
Bump Kotlin to 1.7.20
📄 Motivation and Context
Just keeping the Kotlin version up to date
🧪 How Has This Been Tested?
This is still a WIP

More context on this here: https://youtrack.jetbrains.com/issue/KT-54236


[Feature] Option to automatically convert webp files

Would be nice to have a option to automatically convert webp (common on Telegram) files to more common file formats before uploading them to the mediaserver/other bridged networks (like Discord). Because its nice to be able to see stuff like stickers on networks like IRC but youre then presented with a webp file, which is still a really uncommon file format + Discord for example usually wants to block them.

What format should it convert too ?

PNG would be the best option with the least loss in quality and it also supports the transparent that's used in Telegram stickers for example but JPG would be nice as well, to save some space.
I guess the best way to do it, would be to add an option to choose between none, PNG and JPG.

Any news to this? It would also help reducing the storage requirement of the media server, since stickers could then (in PNG form) directly uploaded to networks like Discord.

No, not yet. But this feature request may resolve it self as all the major browsers are going to support it (https://www.cnet.com/news/firefox-to-support-googles-webp-image-format-for-a-faster-web/) and discord probably will support it too.

Browser support will get better yes but this is not really a solution to this problem.
Could something like maybe help? https://github.com/pennello/go_webp2png

It has been added in a PR, could you test https://bintray.com/42wim/nightly/Matterbridge/v1.14.0-rc1-7-gd44d2a5#files  ? and give feedback?


The counter has been made dynamic

https://github.com/bilalgursen/youtube2nes-nextjs13-mp3-converter/assets/70916256/6063a428-634d-4af5-a855-33aaddfe1cf9

The counter has been made dynamic thanks @05akalan57


Allow $imports in type fields

Fixes https://github.com/rabix/sbpack/issues/66.

Thank you @ThomasHickman ! I am also pulling this into cwl-utils' copy of this code over at https://github.com/common-workflow-language/cwl-utils/pull/222


Validate ember build works as expected

I've added an acceptance test to validate two different things:

The addon doesn't break the build (we could add more assert types to tests/unit/example-test.js to increase coverage)
The generated tests.js is transformed as expected, this means that the build filters are all in place

@acostami this is the kind of acceptance test I had in mind. By running the build process and asserting on the generated file we test the addon end to end. What do you think?


fix: don't panic when eval_origin is None

Is there a test we could add?

Yeah, working on it. Unfortunately quite difficult because according to V8 source code this shouldn't be able to happen :sweat_smile:

Take a look at example here: https://github.com/denoland/deno/issues/24782 I think it had the same (or similar) problem

It's a different problem. It's denoland/deno#24990


For...of with HTMLCollection

Hi,
Getting a compile error when trying to compile:
// ul is an HTMLElement
for (let child of ul.children) {
    //body
}

I get the following error: error TS2495: Type 'HTMLCollection' is not an array type or a string type.
Is there a way to get type support for this? Or is too much work to bother with?

HTMLCollection is not an array.
https://developer.mozilla.org/en-US/docs/Web/API/NodeList#Why_can't_I_use_forEach_or_map_on_a_NodeList.3F

xLama, I am aware. However, the compiled code only needs an interface of .length, which means psuedoarrays should also be able to compile with the for..of syntax, right?

I think If ECMAScript does not support HTMLCollection like an array, TypeScript neither.
However ECMAScript 6 supports it

That's a good point!

You can do this por the moment:
var foo:HTMLCollection;
var bar = [].slice.call(foo);
for (var g of bar){}

Yeah. The other thing you can do (if you promise not to mess with the body of the DOM in the loop) is:
for(let c of <any>bar) {}

Thanks! :)

ES6 does not support HTMLCollection on for-of loop as it is not iterable. NodeList is iterable and should be supported. Check #2695.

@SaschaNaz :+1:

@SaschaNaz  What about this? #2696
for-of only works on arrays for ES3/ES5 by design.

@xLama You are right. Limited iterable interfaces should be supported but currently not. #4947 is also related.

@SaschaNaz There is a problem. How do you want to iterate them when emit to ES3/5 without complicate it?

i think this is something that's missing from lib.dom.iterable.d.ts
i haven't tested other browsers but chrome and firefox both return a function (named values) for HTMLCollection.prototype[Symbol.iterator]
not that i know which one i should be reading but mdn provides some spec links for HTMLCollection
or is this something wrong with the spec? in "living standard" and "dom4" i can see NodeList has iterable<Node>; but HTMLCollection doesn't seem to have anything like that (is wanting to conveniently loop through an element's children really that uncommon?)
const myElement: Element = document.body;

const children: HTMLCollection = myElement.children;

// is this what i'm supposed to write?

for (const child of <IterableIterator<Element>> Array.prototype[Symbol.iterator].call(children)) {
	console.log(child);
}

// it's somehow even longer than the traditional ugly method

for (let i = 0; i < children.length; i++) { const child = children[i];
	console.log(child);
}

// this method is cheating but it also works:

interface HTMLCollection {
   [Symbol.iterator](): IterableIterator<Element>;
}

for (const child of children) {
	console.log(child);
}

Looking at this again, i believe the TS definitions do match the spec. NodeList is iterable, but HTMLCollection is not. and HTMLElement.children is an HTMLCollection see https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/children.
If the spec is wrong, then we need to change it, but i do not think i have enough DOM expertise to say which is correct.

WebIDL says:

If the interface has any of the following:

an iterable declaration
an indexed property getter and an integer-typed attribute named “length”
a maplike declaration
a setlike declaration

then a property must exist whose name is the @@iterator symbol, with attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } and whose value is a function object.

Chromium on April 2016 implemented and merged the change based on this criteria.
This also means that TSJS-lib-generator can automatically add [Symbol.iterator] key, but without methods e.g. values().

Microsoft/TSJS-lib-generator#235 to fix this.

I see that PR was merged in May, but I still have this error with latest TS (2.4.2)

@felixfbecker have you tried turning on --downlevelIteration?

No, didn't know that existed, but as I understand it I don't need it with target: ES6. Here's the error:
[ts] Type must have a '[Symbol.iterator]()' method that returns an iterator

when I jump to definition the typings don't have the Symbol.iterator defined

The PR https://github.com/Microsoft/TSJS-lib-generator/pull/235 added dom.es6.generated.d.ts but TS haven't merge the file in the build process yet.

Is there a reason why not the MDN's example of for-of iterator is not working? I have a slight memory that it was working before:
var iterable = {
  [Symbol.iterator]() {
    return {
      i: 0,
      next() {
        if (this.i < 3) {
          return { value: this.i++, done: false };
        }
        return { value: undefined, done: true };
      }
    };
  }
};

for (var value of iterable) {
  console.log(value); // Error: is not an array type or a string type.
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of
Here is the code in playground:
http://www.typescriptlang.org/play/index.html#src=var iterable %3D {
  [Symbol.iterator]() {
    return {
      i%3A 0%2C
      next() {
        if (this.i < 3) {
          return { value%3A this.i%2B%2B%2C done%3A false }%3B
        }
        return { value%3A undefined%2C done%3A true }%3B
      }
    }%3B
  }
}%3B

for (var value of iterable) {
  console.log(value)%3B
}

You need to compile with --downlevelIteration when targeting ES3/ES5, which is not supported in the playground at the moment.

Worked like a charm, thanks!


PDB-Dev endpoint timing out

Feedback from PDB-Dev:

looks good. I was able to get all the information that we discussed. I've encountered only one issue so far:

for large entries (for instance, PXD019437), the initial request
(either for sequences or residue pairs) times out after 30 s with HTML
code 500 (internal server error). I assume it continues in the
background and goes to the cache because, after some time (~5 min was
enough for me), the same request completes in 1 or 2 seconds. Can you
confirm this behavior? Would it be possible to return some other code
to distinguish the real errors and delays caused by larger files so I
can add some delays/repeated requests on our side?

Regards,
Arthur

Yes, I presume its timing out the first time but succeeding later because the database caches results by default.
Guess there are two possible solutions; speed up the database queries or increase the allowed execution time. Maybe both these things are a good idea.
(Using subqueries before joining tables may speed things up, we're not sure about this.)
Could we first try increasing allowed execution time to see if it works when given more time?

#45 Need to implement a caching

Need to implement a caching

I have nothing against caching, but I don't think it will help with this problem because it is with the first load?
From Arthur's original error report:

the initial request
(either for sequences or residue pairs) times out after 30 s with HTML
code 500 (internal server error). I assume it continues in the
background and goes to the cache because, after some time (~5 min was
enough for me), the same request completes in 1 or 2 seconds.

As i said, I assume the reason it works second time is caching that's enabled in postgresql by default.
I think the solutions would be: speed up the database queries (might be possible); increase the allowed execution time (not great if it needs about 5 min); or some kind of paging. Maybe all these things would be good.
For the third time, could we first try increasing allowed execution time to see if it works and how much more time it requires?

also, i'll try speeding up the queries

@sureshhewabi - from https://docs.pylonsproject.org/projects/waitress/en/stable/arguments.html

channel_timeout
Maximum seconds to leave an inactive connection open (integer). "Inactive" is defined as "has received no data from a client and has sent no data to a client".

this might be the argument to fiddle with, if we could increase that to 300 maybe things work

i'm not sure what the problem is here now because for me it executes and returns quite quickly. (I tried to fill up my local database to a realistic degree before testing.)

on a copy of pride's current production database, the residue pair query for PXD019437 only takes about second and half for me (first execution so no caching). So i guess its not the db query that's slowing it down.
@sureshhewabi - if you want to test it on the actual database the query is:
SELECT si.id, u.identification_file_name as file, si.pass_threshold as pass,
pe1.dbsequence_ref as prot1, dbs1.accession as prot1_acc, (pe1.pep_start + mp1.link_site1 - 1) as pos1,
pe2.dbsequence_ref as prot2, dbs2.accession as prot2_acc, (pe2.pep_start + mp2.link_site1 - 1) as pos2
FROM spectrumidentification si INNER JOIN
modifiedpeptide mp1 ON si.pep1_id = mp1.id AND si.upload_id = mp1.upload_id INNER JOIN
peptideevidence pe1 ON mp1.id = pe1.peptide_ref AND mp1.upload_id = pe1.upload_id INNER JOIN
dbsequence dbs1 ON pe1.dbsequence_ref = dbs1.id AND pe1.upload_id = dbs1.upload_id INNER JOIN
modifiedpeptide mp2 ON si.pep2_id = mp2.id AND si.upload_id = mp2.upload_id INNER JOIN
peptideevidence pe2 ON mp2.id = pe2.peptide_ref AND mp2.upload_id = pe2.upload_id INNER JOIN
dbsequence dbs2 ON pe2.dbsequence_ref = dbs2.id AND pe2.upload_id = dbs2.upload_id INNER JOIN
upload u on u.id = si.upload_id
where u.id = ANY (array[12, 13, 14, 15]) and mp1.link_site1 > 0 and mp2.link_site1 > 0 AND pe1.is_decoy = false AND pe2.is_decoy = false
 AND si.pass_threshold = true;

maybe its actaully working, will test again when api back up

its a problem with FastAPI https://github.com/PRIDE-Archive/xi-mzidentml-converter/issues/45

its a problem with FastAPI https://github.com/PRIDE-Archive/xi-mzidentml-converter/issues/45

not necessarily, but its also not to do with DB or caching of DB results

@aozalevsky
Please note that all the URLs were changed from /pride/archive/xiview/ws to /pride/ws/archive/crosslinking
All the URLs can be found (and tested) in swagger page:https://www.ebi.ac.uk/pride/ws/archive/crosslinking/docs

@sureshhewabi @colin-combe thanks for the clarification. I run tests (in that exact order):

It looks like that the effect is still there, but:

Even the slowest cold requested was completed in ~15 s which is far less than the timeout. Huge improvement.
"Hot" requests from the cache are very consistent
I assume residue-pairs calls internally are almost identical and filtering is applied only at the final stage, thus calling all first effectively triggering caching for passing thus there is no hot/cold effect on the latter.

I think that's ok. But we still have to be aware, that if larger entries come up they can potentially time out.
The pdbdev/{pid}/sequences endpoint doesn't work and always returns empty output.
Example:
https://www.ebi.ac.uk/pride/ws/archive/crosslinking/pdbdev/projects/PXD019437/sequences
{
  "data": []
}

I tried crosslinking/projects/{pid}/proteins instead but it doesn't return sequences. Sequences are crucial for us. Would it be possible to fix it?

I think that's ok. But we still have to be aware, that if larger entries come up they can potentially time out.

Yeah, its a potential problem. Suresh says that pagination of the data returned by REST APIs is highly recommended.
I guess that would avoid any potential timeouts.

The pdbdev/{pid}/sequences endpoint doesn't work and always returns empty output.

Thanks for the bug report, yes, it was broken. @sureshhewabi - this PR should fix
https://github.com/PRIDE-Archive/xiview-api/pull/4/files
So retrieving sequences should be fixed once @sureshhewabi has updated things.
@sureshhewabi - i notice theres still string concatenation in the creation of the sql queries fro the PDB-Dev endpoint (my bad). I'll fix that.

I will implement a pagination, otherwise we are serving plenty of data

@sureshhewabi i see that https://github.com/PRIDE-Archive/xiview-api/pull/4/files was merged, are there any estimates of when it will be rolled out? Thanks in advance!

@aozalevsky Deployed. Please check now
I added the pagination for the /residue-pairs/based-on-reported-psm-level/passing endpoint as well. (eg: https://www.ebi.ac.uk/pride/ws/archive/crosslinking/pdbdev/projects/PXD019437/residue-pairs/based-on-reported-psm-level/passing)

@sureshhewabi everything seems to be ok, thanks!

@aozalevsky Thank you for your support and comments! Could you please provide more details on this endpoint please:

Where are you going to use this endpoint? Will this get called by a webpage or for programatic access for a pipeline
Could you reproduce the test that you did previously?
What is the tool you were using to do the API performance test? what are the parameters?(For example, if you used Jmeter - number of threads, Ramp-up period and loops(4 I guess)

@sureshhewabi

Where are you going to use this endpoint? Will this get called by a webpage or for programatic access for a pipeline

We're going to use it programmatically for the generation of validation reports for structures deposited at https://pdb-dev.wwpdb.org/ . The goal is to establish a correspondence between raw data deposited in mzIdentML files  (sequences + residue pairs) and molecules and restraints used for modeling.

Could you reproduce the test that you did previously?

I repeated the same tests (without pagination)

Multiple entries timed out at the first call (~30s).

worked as expected (already cached after calling all)

Here everything worked fine but surprisingly consistent. I didn't check the source code, but I assume this data was also triggered/cached during the residue-pairs call.

What is the tool you were using to do the API performance test? what are the parameters?(For example, if you used Jmeter - number of threads, Ramp-up period and loops(4 I guess)

oh, it's a very naive test, just a simple python loop:
import requests
import time
import tqdm

responses = []
for r_ in tqdm.tqdm_notebook(response['projects']):
    t0 = time.time()
    pid = r_['project_id']
    url = f"https://www.ebi.ac.uk/pride/ws/archive/crosslinking/pdbdev/projects/{pid}/residue-pairs/based-on-reported-psm-level/all"
    r = requests.get(url)
    t1 = time.time()
    print(pid, t1 - t0)
    try:
        responses.append(r.json())
    except Exception as e:
        print(pid, e)
        continue

@sureshhewabi - i think i just saw the same thing with https://www.ebi.ac.uk/pride/archive/crosslinking
The data didn't load first time and table was left blank, but subsequent attempts did work.

@sureshhewabi looks like API is down again. All endpoints return 500 and https://www.ebi.ac.uk/pride/archive/crosslinking shows a blank page.

@aozalevsky Sorry That was my mistake today. I was doing a deployment and eventually it got broken. I am working on this, but looks like it will take more time to fix.

I realised it is because of some instability of the network in openstack. I will contact systems and get back to you

@sureshhewabi thanks! i see that API is back and seems working properly. Except for one entry: PXD036833
It shows both empty sequences and empty residue pairs.
https://www.ebi.ac.uk/pride/ws/archive/crosslinking/pdbdev/projects/PXD036833/residue-pairs/based-on-reported-psm-level/passing`
https://www.ebi.ac.uk/pride/ws/archive/crosslinking/pdbdev/projects/PXD036833/sequences
At the same time, https://www.ebi.ac.uk/pride/archive/crosslinking/PXD036833 seems to be ok.

@sureshhewabi @colin-combe can you please check the PXD036833? since it's the only entry that is linked to PDB-Dev structures right now, it's crucial for further development and demos.

I am working on it. I did a fix in API and currently deploying it.(I locally tested it and it was fine) I will delete it and re-parse it in production and let you know.

@aozalevsky Please check now

@sureshhewabi everything works as expected! thank you so much, I'll proceed with integration and testing on our side.

@sureshhewabi yes


sorting sorts randomly instead of asc

I have a project in which i applied abc-filter="[sequence number]"
however when i try to
$('.view-id-personas').mixItUp('sort', 'abc-filter:desc');
i get a random order in which the first abc-filter is
abc-filter=”7″
then abc-filter=”22″
then abc-filter=”0″
and so on…
am i missing something here?
what can i do to make the script sort ascending or descending and not randomly?
I am using latest 2.1.7 version

Hi Avners.
Are you using data attributes for your sort values? All custom data attributes on html elements should be preceded with "data-" for validity. The sort functionality expects this when looking for sorting values.

Very much, thanks!
only outstanding issue is that the default sort when refreshing the page is the random one,
can i apply a different one?

When you first instantiate mixItUp, you can set the default sort via the configuration object:
$('.view-id-personas').mixItUp({
  load: {
     sort: 'abc:desc'
  }
});


Update service-fabric-cluster-creation-via-arm.md - fix the link to the Ubuntu SF ARM template

This is a one-character fix to the URL for the Ubuntu SF ARM template on Github.
Old (incorrect) link: https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/5-VM-ubuntu-1-NodeTypes-Secure
Updated link: https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/5-VM-Ubuntu-1-NodeTypes-Secure
The difference is 'u' vs 'U' in 'Ubuntu'

@sryabkov : Thanks for your contribution to the Azure documentation! The author, @chackdan, has been notified to review your proposed change.

#sign-off


manifests: OLM is creating a namespace without run-level

On installation CVO is errors until openshift-apiserver is running because of missing openshift.io/run-level: "1" label on openshift-operators.
I1212 21:46:09.241861       1 cvo.go:269] Error syncing operator openshift-cluster-version/version: Could not update operatorgroup "openshift-operators/global-operators" (operators.coreos.com/v1alpha2, 108 of 218): the server has forbidden updates to this resource

OLM is running at pretty high priority order (30) in release payload and is blocking installation of other operators for quite some time.
What is the use of openshift-operators namespace and why is this in the release payload? And if this is important for OLM can you add openshift.io/run-level: "1" label like other important SLOs.

Thanks @abhinavdahiya - just made #620 to address this.

What is the use of openshift-operators namespace and why is this in the release payload?

openshift-operators is the "target" namespace where OLM installs operators for the cluster (global operators that provide services in all namespace, at least). It's in the release payload so that OLM operators can be installed out of the box.

And if this is important for OLM can you add openshift.io/run-level: "1" label like other important SLOs.

Added in #620

OLM is running at pretty high priority order (30) in release payload and is blocking installation of other operators for quite some time.

Can you help me understand how this is possible? The PRs that added this namespace all went green on e2e-aws, and we even switched our olm-specific e2e tests to run in the openshift-operators namespace. How did all of that succeed if it was blocking the installer?

Can you help me understand how this is possible? The PRs that added this namespace all went green on e2e-aws, and we even switched our olm-specific e2e tests to run in the openshift-operators namespace. How did all of that succeed if it was blocking the installer?

OLM is running at pretty high priority order (30) in release payload and is* blocking installation of other operators for quite some time*.

e2e-aws succeeds but the error is causing delays as CVO needs to wait for openshift-apiserver to be running before it can push objects to non openshift.io/run-level: "1" namespaces, hence delaying creation of operators in lower priority...

Ah, I see - thanks. The fix should merge soon.
On Wed, Dec 12, 2018 at 8:05 PM Abhinav Dahiya<EMAIL_ADDRESS>wrote:

Can you help me understand how this is possible? The PRs that added this
namespace all went green on e2e-aws, and we even switched our
olm-specific e2e tests to run in the openshift-operators namespace. How
did all of that succeed if it was blocking the installer?
OLM is running at pretty high priority order (30) in release payload and
is* blocking installation of other operators for quite some time*.
e2e-aws succeeds but the error is causing delays as CVO needs to wait for
openshift-apiserver to be running before it can push objects to non
openshift.io/run-level: "1" namespaces, hence delaying creation of
operators in lower priority...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/operator-framework/operator-lifecycle-manager/issues/619#issuecomment-446804134,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADix9Yhhp18440IrNP5ZciJFf7tuhSCks5u4afigaJpZM4ZQjJl
.


How to perform inference MoE model with expert parallel

Hello, I want to perform inference on the HuggingFace MoE model Qwen1.5-MoE-A2.7B with expert parallelism using DeepSpeed in a multi-GPU environment. However, the official tutorials are not comprehensive enough, and despite reviewing the documentation, I still don't know how to proceed.
Could you please help me refine this request?

hello


Compilation issue: cuda pow<double, float> undefined

I'm not able to compile caffe2 v0.8.1 on windows using VS2015, cuda 9.1, cudnn 7.1.
5>D:/_DEV/3rdParties/caffe2/modules/detectron/softmax_focal_loss_op.cu(80): error : calling a host function("pow<double, float> ") from a global function("caffe2::_NV_ANON_NAMESPACE::SoftmaxFocalLossKernel") is not allowed
5>
5>D:/_DEV/3rdParties/caffe2/modules/detectron/softmax_focal_loss_op.cu(80): error : identifier "pow<double, float> " is undefined in device code
5>
5>  2 errors detected in the compilation of "C:/Users/*****/AppData/Local/Temp/tmpxft_0002319c_00000000-10_softmax_focal_loss_op.cpp1.ii".
I changed this line caffe2/modules/detectron/softmax_focal_loss_op.cu +81:
      losses[i] =
          -(pow(1.0 - Pdata[idx], gamma) *
          log(max(Pdata[idx], FLT_MIN))) * z;

to:
      losses[i] =
          -(pow(1.0f - Pdata[idx], gamma) *
          log(max(Pdata[idx], FLT_MIN))) * z;

It now compiles fine. Not sure if this is a compilation bug or if it's really intended.
System information

Operating system: Windows
Compiler version: Visual Studio 2015
CMake version: 3.10
CMake arguments:
Relevant libraries/versions (e.g. CUDA): 9.1

@edubois thanks so much for finding this for us. This is indeed a bug. Our windows coverage is pretty spotty right now, so your help is really appreciated.

It should also be slightly faster ;D


Remove netlify config since webapp is published in an image now

Proposed changes
In simplifying the deployment, the webapp is published in an image that is run on the Docker stack now, so there's no need for any of the Netlify config. The Netlify site that previously hosted the webapp has been deleted.
Just another step in #90.
Checklist

[x] Are the issues being addressed linked to this PR?
[x] Do all commit messages start with the issue number?
[x] Are all code changes sufficiently tested?
[x] Are there screenshots for UI changes?

@pthan1 The next step is to containerize the Flyway migrations. Currently they're done manually on prod.

If you were to create another web app now, would you set up everything in Docker from the beginning?

@eileenxue It was always the case that we wanted to have deployments be fully containerized. The reason it's not set up that way now is because of externalities like timelines and budgets and other unknown unknowns.
The way priorities panned out, it was better to do the simplest thing to ship the software (that is, take on tech debt) and then invest time in doing things a better way when time is available (that is, repay the debt).


Adding script to generate cgmanifest.json for transitive dependencies

Our current tooling for searching for dependencies only examines immediate dependencies. It's possible for dependency Foo to rely on a version of Bar that requires an update. Our tooling doesn't pick up dependency Bar.

This script generates a cgmanifest.json, or appends to an existing one.
Sample: pwsh .\eng\Set-ComponentRegistrations.ps1 D:\git\conniey\azure-sdk-for-java-2\sdk\eventhubs\ -ExcludeRegex "mgmt-*"

Will search under eventhubs for pom.xml and will exclude any directories that start with "mgmt-*".

/cc @JimSuplizio @joshfree

Feels like we are doing a lot of heavy lifting here for something that component governance should be doing. Did you speak to anyone on the component governance team about this already?

@mitchdenny Hey. Yes, I did. They said it's not a scenario they support and to create a cgmanifest.json for these transitive dependencies.

@mitchdenny Hey. Yes, I did. They said it's not a scenario they support and to create a cgmanifest.json for these transitive dependencies.

Interesting. If it doesn't matter to them, why does it matter to us?

I tried to explain it in the summary, but concrete examples are here, where the dependency itself does not contain any issues, but the dependencies it pulls in does. Tools like DependencyCheck do check for these transitive dependencies.

https://github.com/Azure/azure-sdk-for-java/issues/8440
https://github.com/Azure/azure-sdk-for-java/pull/8247

/azp run java - core


Settlers2.net documentations

Hey Merri,
guess I'm not really able to find any good contact data to contact you. Sadly all your documentations are down at the moment. Can you please have a look at it? :)

Thanks for letting me know! There was a config error, WordPress assumed http but site is https.


[bug] Tauri dev failing when adding tailwind to SvelteKit project

Describe the bug
After adding tailwindcss to a brand new project, I get an error when running pnpm tauri dev.
But works when running pnpm run dev and opening in the browser.
Seems similar to this issue: https://github.com/tauri-apps/tauri/issues/11482
Reproduction

Create a new project with pnpm create tauri-app. All default options, except selecting Svelte as the framework.
Add tailwind with pnpm dlx sv add tailwindcss
Run pnpm tauri dev

Expected behavior
Should be able to run the app, instead of crashing.
Full tauri info output
[✔] Environment
    - OS: EndeavourOS Rolling Release x86_64 (X64)
    ✔ webkit2gtk-4.1: 2.46.3
    ✔ rsvg2: 2.59.2
    ✔ rustc: 1.82.0 (f6e511eec 2024-10-15)
    ✔ cargo: 1.82.0 (8f40fc59f 2024-08-21)
    ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
    ✔ Rust toolchain: 1.82.0-x86_64-unknown-linux-gnu (default)
    - node: 22.11.0
    - pnpm: 9.13.2
    - npm: 10.9.0

[-] Packages
    - tauri 🦀: 2.1.1
    - tauri-build 🦀: 2.0.3
    - wry 🦀: 0.47.0
    - tao 🦀: 0.30.8
    - tauri-cli 🦀: 2.0.4
    - @tauri-apps/api : 2.1.1
    - @tauri-apps/cli : 2.1.0

[-] Plugins
    - tauri-plugin-shell 🦀: 2.0.2
    - @tauri-apps/plugin-shell : 2.0.1

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../build
    - devUrl: http://localhost:1420/
    - framework: Svelte
    - bundler: Vite

Stack trace
10:39:54 AM [vite] Internal server error: [postcss] /home/tore/workspace/query-nest/src/routes/+page.svelte?svelte&type=style&lang.css:2:12: Unknown word
  Plugin: vite:css
  File: /home/tore/workspace/query-nest/src/routes/+page.svelte?svelte&type=style&lang.css:2:11
  1  |  <script lang="ts">
  2  |    import { invoke } from "@tauri-apps/api/core";
     |             ^
  3  |
  4  |    let name = $state("");
      at Input.error (/home/tore/workspace/query-nest/node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/input.js:106:16)
      at Parser.unknownWord (/home/tore/workspace/query-nest/node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/parser.js:593:22)
      at Parser.other (/home/tore/workspace/query-nest/node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/parser.js:435:12)
      at Parser.parse (/home/tore/workspace/query-nest/node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/parser.js:470:16)
      at parse (/home/tore/workspace/query-nest/node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/parse.js:11:12)
      at new LazyResult (/home/tore/workspace/query-nest/node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/lazy-result.js:133:16)
      at Processor.process (/home/tore/workspace/query-nest/node_modules/.pnpm/postcss@8.4.49/node_modules/postcss/lib/processor.js:53:14)
      at compileCSS (file:///home/tore/workspace/query-nest/node_modules/.pnpm/vite@5.4.11/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:36897:59)
      at async TransformPluginContext.transform (file:///home/tore/workspace/query-nest/node_modules/.pnpm/vite@5.4.11/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:36170:11)
      at async PluginContainer.transform (file:///home/tore/workspace/query-nest/node_modules/.pnpm/vite@5.4.11/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:49096:18)

Additional context
No response

But works when running pnpm run dev and opening in the browser.

Can you try that same thing but with epiphany (also known as gnome web)?

Yes, I have now tried with Epiphany and it also works there.

I now also managed to reproduce the bug in Epiphany.
Seems like I mangage to make it run in Epiphany and with pnpm taruri dev if I open the app in a browser (like Firefox) first and then open the app in Epiphany or the app window afterwards.

the same problem


Can't mock $apollo, readonly value

Hi,
I can't mock $apollo with @vue/test-utils, I have got the following error:

[vue-test-utils]: could not overwrite property $apollo, this is usually caused by a plugin that has added the property as a read-only value

The code which throw the error is:
const query = jest.fn().mockResolvedValue({ data: { login: { token: 'token' } } });
const wrapper = mount(Login, {
  localVue,
  mocks: {
    $apollo: {
      query,
      provider: {
        defaultClient: jest.fn(),
      },
   },
 },
});

How can I mock $apollo in my jest test ?
Thanks for your help !

Hello @johnrazeur, solution that comes to my mind is to NOT install vue-apollo plugin in case if you use components for test (e.g., exclude Vue.use(VueApollo)), and therefore you will not overwrite anything. Please let me know if it solves your problem.

Yes, I exclude the Vue.use(VueApollo) when NODE_ENV is test, and it works !
Thank you for your help !


Fix postman api variable

The /api/ is missing from the variable, tests are failing in dev

Duplicate of #214

Still need to fix this in dev


Update Test-SampleMetadata.ps1 add azure-ai-contentsafety

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


DisplayLayer Update Logic

this but more efficient

https://github.com/raffimolero/TileMapDual/pull/8


⚠ ClamAV has degraded performance

In c1ff7c6, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 91 ms

Resolved: ClamAV performance has improved in e94ceb2.