Add support for committee "JCTLM" for their document types

JCTLM: https://www.bipm.org/en/committees/jc/jctlm/
Sample 1:

Sample 2:

@ronaldtse Need sample document for this.

Samples to be done in metanorma/mn-samples-bipm#19

The JCTLM has a lot of ad hoc reports rather than standards, so the notion of supporting document types is... strange. It's no wonder I've let this ticket unactioned for four years. I also don't see much point in tweaking the styling here.
Of the JCTLM documents:

jctlm-ec-07.adoc is annex II to the JCTLM Executive Committee Report (JCTLM-EC-07). As an annex to a report, it needs to be treated as a report.  (It is currently "brochure", but "brochure" in BIPM means the SI Brochure.)  https://www.bipm.org/documents/20126/53185286/JCTLM-EC-07_Annex_II.pdf/fd696763-8247-f607-957f-13f7f778ea5a

The appendix ID needs to be incorporated into the document ID.
The sample given is quite pedestrian in its formatting, although it does have a header with logo; I don't think it is a priority for us to do fancy formatting of these documents without engagement.

jctlm_dbwg_p00.adoc is a policy document. Its formatting is slightly different (blue headers) https://www.bipm.org/documents/20126/48513640/DBWG-P-00.pdf/4ae57596-cb84-547e-4014-8cf39b3ecf7d

It has a richer header: Author date version authoriser.

jctlm_dbwg_p01a.adoc has the same format, and also appears to be policy https://www.bipm.org/documents/20126/48513651/DBWG-P-01A.pdf/7d728279-730e-9183-81e2-e95d1d83885d
jctlm_dbwg_p02a.adoc ditto https://www.bipm.org/documents/20126/2081407/DBWG-P-02A.pdf/b638b4dc-ed37-30a6-7df9-102e438fbd8d
jctlm_dbwg_p02b.adoc ditto https://www.bipm.org/documents/20126/48524603/DBWG-P-02B.pdf/a8e19f6e-8c42-ded5-ee0a-5467feafddd7
jctlm_executive_p-00.adoc : ditto https://www.bipm.org/documents/20126/50418739/JCTLM+EXEC-P-00.pdf/7eb0ee13-acff-26ee-85e3-c7d1be7e6cfa?version=1.9&download=true
jctlm_executive-15-03.adoc : document not online
jctlm_executive_g-01.adoc : document not online
jctlm_executive_p-01.adoc : document not online
jctlm_sec_p-00.adoc : document not online
jctlm_sec_p-01.adoc : document not online, but https://www.bipm.org/documents/20126/50418739/JCTLM+SEC-P-02.pdf/60c6d7e0-7092-de00-b667-454adca1928d?version=1.3&t=1617257263601&download=true is similar, and follows the policy format

The outcome is, there will be two document types, Report, and Policy. The policy header information will be made available for rendering.

BIPM already has:

meeting-report
technical-report

JCTLM-EC-07 is the Report of the 7th meeting of the JCTLM Executive Committee, so this is a meeting-report.

Document ID is supplemented with parts and appendixes in Metadata, which means (a) only HTML ever sees it, and (b) it does not see it consistently. This is migrated into Semantic XML postprocessing.

Empty author affiliation is being printed to HTML output.


fix(lexer): regexp clashing characters with custom delimiters need escaping

Hi ! First of all, very nice lib, thank you for providing it !
I noticed that using square brackets instead of curly brackets would break the lexer because of some regexp parsing. I implemented the fix (without using regexp.QuoteMeta as it breaks othere things) and the unit test to avoid future regressions.
I hope you can merge this soon,
Thanks in advance :smile_cat:

Hi @noirbizarre @nvartolomei
Do you have any timeline to provide regarding this MR ? Thanks in advance 🙏


Used compound assignments when appropriate

Also, in the second commit, I swapped values using tuples in CairoExtensions. If this is not desired, feel free to discard that commit

Thanks! Swapping with tuples is fine by me


CommandAsyncService evalAsync could create chained futures while handiing ERR unkbown command and could lead to memory leak  in RedissonExecutor

Hi Team,
I faced with memory leak (old gen spike) when one of the cache was not enabled with EVAL/EVALSH command.
I am attaching the screen shots
G1GC is not able to GC the main promise and all connected objects chain (lamda funcation and futures) getting promoted to old gen until full GC .
Should their be a limit added to the chain ?  as main promise wont be resolved.

What are the steps to reproduce it?

Note:
issue of memory leak was fixed by enabling EVAL/EVALSH commands in the redis environment.
Steps to reproduce:
1)disable commands EVAL EVALSHA SCRIPT in redis
2)create JCache using redison client 3.23.5
//client configurations and cache creation are as follows
//creating cache: Jcache provider is redisson
Caching.getCachingProvider().getCacheManager().createCache(
cacheConfig.getName(),
getConfiguration(caheConfig, redissonConfig) //code shared below use 600sec expiry policy
//redissonConfig created
Config config = new Config();
config.setEventLoopGroup(evntLoopGroup);//static event look with 32 threads shared with all redis cache clients
config.setCleanUpKeysAmount(cacheConfiguration.getCleanUpKeysAmount());
config.setUseScriptCache(true);//Defines whether to use Lua-script cache on Redis side
String[] sentinelAddress = buildSentinelAddress(
cacheConfiguration.getEnv(), cacheConfiguration.getPort(),
redisCacheName, cacheConfiguration.getDomainSearch());
  log.info("connecting to redis sentinel addresses" + sentinelAddress);

config.useSentinelServers() and other below props
readMode: SLAVE #  SLAVE
retryAttempts: 1 #  3
retryInterval: 500  # 1500
scanInterval: 5000 # 1000
idleConnectionTimeout: 30000 #10000
connectTimeout: 6000 # 10000
timeout: 500 # 3000
failedSlaveReconnectionInterval: 5000 # 3000
failedSlaveCheckInterval: 180000 # 180000
pingConnectionInterval: 60000 # 30000
masterConnectionPoolSize: 24 # 64
masterConnectionMinimumIdleSize: 8 # 24
slaveConnectionPoolSize: 24 #64
slaveConnectionMinimumIdleSize: 8 # 24
subscriptionsPerConnection: 10 # 5
subscriptionConnectionPoolSize: 10 # 50
subscriptionConnectionMinimumIdleSize: 1 # 1
cleanUpKeysAmount: 1000 # 100
dnsMonitoringInterval: -1 #5000
public static Configuration getConfiguration(CacheConfig cacheConfig, Config config) {
MutableConfiguration<String, Map<String, Object>> xdmCacheConfig = new MutableConfiguration<>();
xdmCacheConfig.setStatisticsEnabled(true);
xdmCacheConfig.setExpiryPolicyFactory(
        CreatedExpiryPolicy.factoryOf(new javax.cache.expiry.Duration(TimeUnit.SECONDS, cacheConfig.getExpiry()))
);
return RedissonConfiguration.fromConfig(config, xdmCacheConfig);

background JCacheEviction task or sample putAll or getAll calls which calls evalAsync method in  CommandAsyncService

putAll we use CacheReactive wrapper
cacheProvider.putAll(cacheMap)
.onTerminateDetach()
.doOnSuccess((unused) ->
{
Duration timeTaken = getTimeTaken(timer, start);
log.info("Updated cache {} for keysSize {} in timeInMillis {}", cacheName, cacheMap.size(), timeTaken.toMillis());
if (log.isDebugEnabled()) {
log.debug(
"Updated cache {} for keys: {}, values={}, cacheExpirySecs={}",
cacheName,
cacheMap.keySet(),
cacheMap.values(),
expiry);
}
}
).doOnError(throwable -> {
Duration timeTaken = getTimeTaken(timer, start);
log.warn(
"Error updating cache {} - keys={}, values={}, timeInMillis={} - errorMsg={}",
cacheName,
cacheMap.keySet(),
cacheMap.values(),
timeTaken.toMillis(),
throwable.toString());
}).subscribe();
getAll using Cache
return cacheProvider.getAll(keys);


Update to<EMAIL_ADDRESS>

Resolves #60

:+1:

CLA is valid!

I'm thinking I'll add the decorator support for handleHistory and handleRoute as well.


trace log does not hide token in request when refreshing access token

$CF_TRACE=true cf ash testapp

REQUEST: [2018-12-21T15:44:25-08:00]
POST /cloudfoundry/login/8d63fb1cc5e99e86dd7229dddf9e5b7b-1f183af0-451c-43e4-81c9-ef8354d39c7e/oauth/token HTTP/1.1
Host: iam.bluemix.net
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
Content-Type: application/x-www-form-urlencoded
User-Agent: go-cli 6.41.0+dd4c76cdd.2018-11-28 / darwin

grant_type=refresh_token&refresh_token=eyJhb????????????&scope=

RESPONSE: [2018-12-21T15:44:26-08:00]
HTTP/1.1 200 OK
Connection: close
Cache-Control: no-store
Content-Language: en-US
Content-Type: application/json
Date: Fri, 21 Dec 2018 23:44:26 GMT
Pragma: no-cache
Set-Cookie: sessioncookie=6d89b7e4a757e9f0fb9e5030bf3d8c62; Path=/; Secure; HttpOnly
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
Transaction-Id: d0a3973f087a49549d845e76da04e2b1
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Powered-By: Servlet/3.1
X-Xss-Protection: 1; mode=block

{"access_token":"[PRIVATE DATA HIDDEN]","token_type":"[PRIVATE DATA HIDDEN]","refresh_token":"[PRIVATE DATA HIDDEN]","expires_in":599,"scope":"cloud_controller.read password.write cloud_controller.write openid doppler.firehose cloud_controller.admin uaa.user","jti":"ec2a561ac16d4e2ab8c9daed94474d4a"}

It is a bug of  cf cli implementation.   I opened an issue for cli to track this https://github.com/cloudfoundry/cli/issues/1535

closed as verified ok


Allow Outline to optionally be on the left

I am experimenting with this addon, and so far I enjoy a lot of things about it. It's great potential that could someday even be in the core editor.
But there's one thing that I cannot get used to. The so-called Outline is to the right. The existing, built-in Script/Method list is on the left and it's what me, and possibly other users, have gotten accustomed to. Is it feasible to optionally move the new Outline to the left, instead?

Sure. I will add a boolean constant in the code.
Later on I will experiment if those settings can be exposed via the project settings.
I agree, it would be nice to have this in core at one point. All major IDEs have an advanced Outline and a feature to quickly search for variables/methods. For now, I will experiment a bit with the plugin and at one point may write a proposal. :)


feat: Add pre commit

:tada: This PR is included in version 1.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


isomorphic500 Intl is not supported, so the polyfill has been loaded

When I run:
$ npm run dev

<EMAIL_ADDRESS>dev /Users/herve76/Desktop/isomorphic500
NODE_ENV=development DEBUG=isomorphic500 node index
isomorphic500 Intl is not supported, so the polyfill has been loaded. +0ms
Express development server listening on 3000
isomorphic500 Webpack development server listening on localhost:3001 +2s
Hash: 28498d7b5b156072b02c
Version: webpack 1.8.11
Time: 7796ms

Why does it say that isomorphic500 Intl is not supported?
Cordially,
Hervé

We load a polyfill to support Intl on node: https://github.com/gpbl/isomorphic500#the-difficult-parts


Incompatible with Mixtape & Music Control

Crashes with Mixtape or music control installed
https://modrinth.com/mod/mixtape
https://modrinth.com/mod/music-control
https://mclo.gs/NDNkiJE

Turns out to be an issue with a number of separate mods, just user error

@piebaker Do you know the mods that caused the problems you were having?


Fixed line# 19: comments.json

I made some corrections to one of the sentence, line# 19, in the comments.json file to make it more effective. Specifically, I reworded it to improve clarity and readability. I believe this change will enhance the overall quality of the comments.
Thank you for considering my contribution.

As a new contributor, we encourage you to read our contributing guidelines.
We expect our contributors to be aware of the process specific to this project. Following the guidelines religiously earns you the respect of fellow maintainers and saves everyone time.
Some examples of this are:

Do not edit files directly through GitHub – while you can, it's not a good idea.
Make sure you follow the PR checklist and not just tick things off; otherwise, we won't take you seriously.
Use the correct way to link issues in the description of the PR by updating the XXXXXX. Do not just add issue numbers everywhere and anywhere you feel like.
Keep mentions and review requests to a minimum. We understand you are excited about contributing, and our maintainers will get back to you as soon as they get a chance.
Do not work directly off your main branch - create a new branch for the changes you are working on.

We appreciate you taking the time to help us, and we hope to see more contributions from you.
Happy Contributing.

Closing because we haven't heard back from you. Please re-open a fresh PR if you are still interested after reading our contribution guidelines.
Thanks and happy coding!


Unable to generate results

Hello, thank you very much for providing the code! Can I ask you some questions about how the code works? May I ask why when I run the input model provided, there is no result for a long time, and I am forced to terminate the program because the memory is full?

You can set numbers in C_THRES and H_THRES in initialization.h bigger to make the code faster. This will leads to coarser mesh, but it may leave holes in the mesh if the object geometry has thin layers.
Regarding the code speed, I am writing a new version, which is 1000 times faster than the current version. It is expected to come out in September.

You can set numbers in C_THRES and H_THRES in initialization.h bigger to make the code faster. This will leads to coarser mesh, but it may leave holes in the mesh if the object geometry has thin layers.
Regarding the code speed, I am writing a new version, which is 1000 times faster than the current version. It is expected to come out in September.

Thank you very much for your reply! But when I try to increase numbers in C_THRES and H_THRES, there is still no result for a long time, and I will always be in the hexgen.ConstructOctree() phase. May I ask how the data of more than 200 seconds of mesh generation given in your paper is achieved? In the implementation, I only changed the "model.raw" in the main.cpp file to the specific input model name. Is this correct? Thank you very much.

It depends on many factors (e.g., project settings, computer performance). Sorry that I forgot the parameter I set for that model ---- but C_THRES and H_THRES should be large. Also, please remember to turn on all the optimization options in the project setting interface, including but not limited to O3 optimization, OpenMP parallel computing, and compiling with Release mode instead of Debug mode. If you still couldn't solve the speed problem, you can Watch the repo, a much faster and more robust version will come out in two months.

Alright, I will continue to try adjusting the parameters. Thank you very much for your patient responses, and I look forward to a faster and more robust version in the future!

Hi, thank you for sharing this. I've tried several fairly simple models (linear extrusions of steel profiles) and it never seems to finish. I have tried a few combinations of settings, but do not understand the C_THRES and H_THRES values. Could anyone shed some light on how to determine the optimum values for these?

Thank you for your report. I have recently received numerous reports indicating that the code is unable to execute normally. It appears that version 1.3 has encountered some issues. Would you be able to try using version 1.2 instead? Additionally, I would like to remind that the current code is unable to preserve sharp features (i.e., dihedral faces) that are created by extrusions. This functionality will be incorporated into the later version that I am currently working on.

OK thank you, I'll try that for now :)
Looking forward to trying your new version in future!

I've tried v1.2, it runs through but only produces the modifiedTri.vtk and no other files. My .raw file attached if you wanted to test yourself - no obligation off course, just for information if it helps.
model_tri.zip

Why do I use version 1.2 and still get stuck in ConstructTree? As shown below, I will stay in this state until the program ends on its own

Hi,thank you for sharing this code.Why do I use version 1.2 and still get stuck in ConstructTree? As shown below, I will stay in this state until the program ends on its own

Thanks so much for sharing this excellent code and paper. I successfully generated the program and tested my model, using debugging parameters to get the model to its best state. However, there are still two problems, one is that the sharp edge cannot be recognized, which is quite different from the original boundary, and the other is that the input triangular mesh feature points are lost, which is only suitable for a single closed model. It is expected that the author's subsequent updates will greatly reduce the workload of numerical simulation on the grid.


Fix example test failure: rename ScheduledJob to CronJob

Cherrypick #1678 into 1.5 branch to fix broken Travis CI builds

This change is

Passed Travis CI build, manually merging


High Cpu Usage

Occasionally the ICE adapter takes extreme CPU resources. Last game with 12 players first I lost connection to a few players, then reconnected but my whole system was blocked by the ICE adapter. It was just during a regular game.

This should be fixed with 3.3.7

This should be fixed with 3.3.7

What was the problem?

There was a log statement that could get triggered and consume all the CPU cycles writing to the log

This log statement was there for 6 years and now it suddenly causes problems. I think it's and indicator to a bigger problem (packets length changed somehow), but it's impossible to see.

Maybe the log writes should be limited in general? The ICE adapter is crucial for performance, so maybe limiting the resources assigned to non-functional tasks should be kept below a threshold to keep it functional. The logs could just mention that there were too many messages to actually log them, which should already indicate a problem, but at least the adapter may still be able to run normally.
Something like a log buffer only writing to the file every few millis max?

Yes but the new alpha client also uses it


Research/add linter for less/sass/css

Some potential solutions

https://github.com/CSSLint/csslint
https://github.com/brigade/scss-lint
https://github.com/csscomb/csscomb.js
https://github.com/lesshint/lesshint
https://github.com/stylelint/stylelint

@nscarlson Have you used a CSS/LESS/SASS linter before?

@grxy No I haven't yet.  Worth looking into.


rkt requires a network named "default"

Hi,
it looks like a bug to me that rkt requires a network named "default" even if I provide specific private-nets. This can be seen here on master. rkt help run says the default network is only a default value: "--private-net=: give pod a private network that defaults to the default network plus all user-configured networks. Can be limited to a comma-separated list of network names".
Additionnaly, at least in v0.7.0, the default default network configuration, which I fixed by creating my own default network configuration, fails.
Here's a sample run output on CoreOS stable (766.3.0):
# rkt run --debug --insecure-skip-verify \
     --private-net="public:IP=<IP_ADDRESS>" \
     --private-net="services:IP=<IP_ADDRESS>" \
     http://<IP_ADDRESS>/kubernetes/aci/kube-proxy.aci -- \
      --master=<IP_ADDRESS>:8080 \
      --proxy-mode=iptables \
      --healthz-bind-address=<IP_ADDRESS> \
      --logtostderr=true
rkt: fetching image from file:///usr/share/rkt/stage1.aci
rkt: found image in local store, skipping fetching from http://<IP_ADDRESS>/kubernetes/aci/kube-proxy.aci
2015/09/25 23:25:16 Preparing stage1
2015/09/25 23:25:16 Loading image sha512-dac263c5e77226f544852952c56860a7693c66be03bd1ab03c16379ceb1dda7e
2015/09/25 23:25:16 Writing pod manifest
2015/09/25 23:25:16 Setting up stage1
2015/09/25 23:25:16 Writing image manifest
2015/09/25 23:25:16 Wrote filesystem to /var/lib/rkt/pods/run/2665ae46-fd21-4fb7-b9a8-7d9f2b53b4d0
2015/09/25 23:25:16 Writing image manifest
2015/09/25 23:25:16 Pivoting to filesystem /var/lib/rkt/pods/run/2665ae46-fd21-4fb7-b9a8-7d9f2b53b4d0
2015/09/25 23:25:16 Execing /init
2015/09/25 23:25:16 Setup: executing net-plugin veth
Failed to setup network: error adding network "default": could not find "host-local-ptp" plugin

In general, your issue confuses me a little as you mention code in master but you refer to specific rkt versions later on. In the CoreOS stable example, have you manually updated rkt? Please provide a little more details about your rkt versions, configurations and environment you're running. It will make it easier to solve this issue.
But let's start with master for now :-) The code you mentioned checks if the default or all networks have been requested. If neither is true it will load default-restricted. These network configurations are shipped with the default stage1, please take a look at https://github.com/coreos/rkt/tree/master/stage1/net/conf. If you a default* network with a custom config, it will not be overriden by the builtin.
You should not have to provide a default* config if you don't intend to override it. However, for the error in your example output, CNI has recently deprecated host-local-ptp in favour of host-local which you can now use instead. Please see the aforementioned default configs for examples.

Hi, thanks for your answer :-)
I observed the behaviour in 0.7.0, its just that I tried to have a look at the master to check if I wasn't reporting a solved issue. I don't remember exactly how I came to this code though. By rereading it, maybe its me who is a little bit confused (late here ;)), but it really looks like "if neither default or default-restricted is declared, load it from the stage1 definition". I was expecting a logic like "if no private-net was given, load defaults, otherwise do nothing"; meaning in my case "load only public and services networks" (no "default" or "default-restricted").
But if the subsequent failure when loading the "default" network is fixed, this issue (if it is really one) is much less problematic, even though I really expect to have only the networks specified by the private-net flags set up in the pod.
I hope I'm less confusing this time :-)

The motivation for the default-restricted network is communication with the host which is required to talk to the metadata service. I'd agree with not loading any additional network if --mds-register=false is passed. I'll come back to this later, as I'm about to work on the metadata service.

Ok I understand. I'll try to come with some patch to give hand on this. What you suggest about mds-register=false seems pretty easy to implement. Solving the more general problem of communicating with the MDS without network may require more work. I don't promise, but I'll try to help :-)
Thanks!

Pushing to 1.0 and linking to #1418

@MikaelCluseau I've created a new issue that explains the origin of the problematics: #1574. I think we can close this issue now, but I'll leave it to you as a confirmation.
Furthermore please note the recently merged changes for the --net(!) argument and its behaviour.

Ok, thanks for the follow-up. Will have a look :-)


Suggestion: Translate vscode color themes to terminal color schemes

For someone that knew the attributes in both vscode color themes and in terminal color scheme, it seems that it would be easy to write, say, a Python script to do this translation.
Because I know neither, I can only describe the need.

I'm curious how feasible this would actually be. Terminal color schemes are typically described as 16 indexed colors, plus a foreground/background color (and for other terminals, a bold color).
Editor themes usually aren't described like that though, are they? From my experience, they're seemingly more closely related to the token that they're applied to. I'm not sure they are limited to 16 colors, nor do many fill the entire palette. For those that don't use all 16 colors, how do we extrapolate the colors that they do use for a 16 color palette? Someone with more experience authoring VsCode themes would have to chime in on their specifics.
There's also this lovely repo that already contains translated themes for a bunch of different terminals.

The iTerm2-Color-Schemes repo that you referenced looks very promising. Looking at the schemes for vscode, it looks to be a trivial job to translate vscode, for example:
"workbench.colorCustomizations": {
"terminal.foreground": "#d0d0d0",
"terminal.background": "#212121",
"terminal.ansiBlack": "#151515",
"terminal.ansiBlue": "#6c99bb",
"terminal.ansiCyan": "#7dd6cf",
"terminal.ansiGreen": "#7e8e50",
"terminal.ansiMagenta": "#9f4e85",
"terminal.ansiRed": "#ac4142",
"terminal.ansiWhite": "#d0d0d0",
"terminal.ansiYellow": "#e5b567",
"terminal.ansiBrightBlack": "#505050",
"terminal.ansiBrightBlue": "#6c99bb",
"terminal.ansiBrightCyan": "#7dd6cf",
"terminal.ansiBrightGreen": "#7e8e50",
"terminal.ansiBrightMagenta": "#9f4e85",
"terminal.ansiBrightRed": "#ac4142",
"terminal.ansiBrightWhite": "#f5f5f5",
"terminal.ansiBrightYellow": "#e5b567"
to terminal:
"name": "Campbell",
"foreground": "#CCCCCC",
"background": "#0C0C0C",
"black": "#0C0C0C",
"red": "#C50F1F",
"green": "#13A10E",
"yellow": "#C19C00",
"blue": "#0037DA",
"purple": "#881798",
"cyan": "#3A96DD",
"white": "#CCCCCC",
"brightBlack": "#767676",
"brightRed": "#E74856",
"brightGreen": "#16C60C",
"brightYellow": "#F9F1A5",
"brightBlue": "#3B78FF",
"brightPurple": "#B4009E",
"brightCyan": "#61D6D6",
"brightWhite": "#F2F2F2"
Thanks again for pointer to the repo.

I can write a python script that can translate for you.

If this is possible, it might be a worthwhile feature for colortool. I'm going to recategorize, but feel free to override me.

I've made Base24 (very much based on Base16) that tries to address this problem. Base 24 can be found https://github.com/Base24/base24 and Base16 https://github.com/chriskempson/base16/.
Essentially, it takes a scheme (which is a yaml file of colours) and puts them into template files.
Hope this proves useful

I went ahead and wrote a python script that translates a vscode theme to a windows terminal compatible format. The gist is available here: https://gist.github.com/snibo13/7cf5af16ada582c5705c90e3dd7b8ea5


HSTR for Bash which does not need TIOCSTI #478

This PR brings a LINUX_KERNEL_6 define allowing to build a HSTR that does not need TIOCSTI syscall (TIOCSTI is not available in Linux kernels >=6.2.0):

this is an experimental change which will work for Bash only (zsh is not supported yet)

In order to make it work:

build HSTR either using qmake (defined is set there) or use the define as your compiler parameter
check hstr --show-configuration - the command is modified and looks like:

# HSTR configuration - add this to ~/.bashrc
alias hh=hstr                    # hh to be alias for hstr
export HSTR_CONFIG=hicolor       # get more colors
shopt -s histappend              # append new history items to .bash_history
export HISTCONTROL=ignorespace   # leading space hides commands from history
export HISTFILESIZE=10000        # increase history file size (default is 500)
export HISTSIZE=${HISTFILESIZE}  # increase history size (default is 500)
# ensure synchronization between bash memory and history file
export PROMPT_COMMAND="history -a; history -n; ${PROMPT_COMMAND}"
# if this is interactive shell, then bind hstr to Ctrl-r (for Vi mode check doc)
function hstrcygwin {
  offset=${READLINE_POINT}
  READLINE_POINT=0
  { READLINE_LINE=$(</dev/tty hstr ${READLINE_LINE:0:offset} 2>&1 1>&$hstrout); } {hstrout}>&1
  READLINE_POINT=${#READLINE_LINE}
}
if [[ $- =~ .*i.* ]]; then bind -x '"\C-r": "hstrcygwin"'; fi

replace your existing configuration with the above one:

./hstr --show-configuration >> ~/.bashrc

If your system already has 6.2.0+ kernel, please let me know whether this enhancement works for you.

Closing this PR as it was just an experiment & test. The production level code will be implemented in dev-2.7.0 branch.


Off-heap/high capacity base data objects

I'm happy to discuss the changes, but to summarise, there are 3 intents:

If configured, it is possible that BaseDataObjects could be backed externally to the heap (files or off heap memory), allowing a lower memory footprint for objects not actively being processed.
Data objects are not limited to being 2GB.
All changes are compatible with existing bytecode.

While this pull request doesn't entirely complete part 2 (Pickup etc would have to be changed to use the streaming apis), I think it is a large step to allowing the processing of large objects. Places that may have to deal with large objects would also benefit from the use of the streaming apis.
Could someone take a look at this and get back to me if you have any questions?

@mjwall @drewfarris , I am blind to what the process/schedule is for pull requests to be reviewed. Could you let me know on what sort of timescales this will be looked at?

Hi @adyoun2 - is this change good to go from your perspective, or do you anticipate additional changes? There merge schedule PR's is sort of ad-hoc depending on what else is in the release etc. Since this is a somewhat major change, we may want to isolate it to a release by itself, e.g: emissary 6.x?
If you are happy with its current state and ready for a detailed review - let us know. Personally, I wasn't sure if you were done yet, so I'm glad you asked.

@drewfarris
I am certainly happy that without configuring an instance to use any of the more complicated functionality, there will be very little visible change, so I would consider it to be ready for review. Happy to talk through any of the changes.
Cheers

Thanks for getting back to me

I've had a look at what would be required to have the rest of emissary use the streaming APIs, and therefore gain the ability to use the capacity increase. Luckily this also demonstrates some of the features I've added where the need isn't as immediately obvious.
@drewfarris @mjwall , are you able to see my local diff:
https://github.com/adyoun2/emissary/compare/master...adyoun2:UseStreamingAPI?expand=1

Also note I will be unavailable for a week now, so will not be able to answer questions raised immediately.

The large file issue is becoming critical for us. Could you let me know whether a review of this pull request has been scheduled?
@drewfarris

@adyoun2 - yes this is in the queue, have people lined up to look at it starting this week.

The following test classes have failures:
AllDataContainerTest
TikaFilePlaceTest
UnixFilePlaceTest

Odd, they all work for me. What failures are you seeing? Hoping it is just test configuration being environment specific

The only failures I'm seeing don't involve my changes, and will be because of my dev environment not being as expected:
[ERROR] Failures:
[ERROR]   ResourceReaderTest.testResourceLocation:35 All data resources not found expected:<4> but was:<0>
[ERROR]   ResourceReaderTest.testResourceLocationAsTest:26 All test resources not found expected:<4> but was:<0>

Listed below is a sample of some of the failed test:
AllDataContainerTest.testClone:383 expected:<[Base Dat]a with append> but was:<[]a with append>
TikaFilePlaceTest>IdentificationTest.testIdentificationPlace:92 Cannot run test emissary/id/TikaFilePlaceTest/BMP.dat: emissary.core.blob.DataException: Data exceeds the maximum size configured for array usage, size=202074 max=3000
UnixFilePlaceTest>IdentificationTest.testIdentificationPlace:92 Cannot run test emissary/id/UnixFilePlaceTest/RICH_TEXT.dat: emissary.core.blob.DataException: Data exceeds the maximum size configured for array usage, size=25895 max=3000

Oddly the ....FilePlaceTests weren't being run, are there flags I need to send to maven to cause them to be included?
AllDataContainerTest is working for me, but the failure you are seeing looks very odd.
Get a data container with contents "Base Data"
clone it
Append " with append to the original"
Confirm the contents if both the original and the clone.
Somehow the append to the original is loosing all but the last byte before appending.
It is a parameterised test, do you have more info on which sub-class it is testing?

Discovered the above failures in ResourceReaderTest were causing tests not to run. Apart from the unknown failure in AllDataContainer test for you, they should new all work.

I am seeing the same failure here as well:
AllDataContainerTest.testClone:383 expected:<[Base Dat]a with append> but was:<[]a with append>
[ERROR]   AllDataContainerTest.testClone:383 expected:<[Base Dat]a with append> but was:<[]a with append>
[ERROR]   AllDataContainerTest.testClone:383 expected:<[Base Dat]a with append> but was:<[]a with append>
[ERROR]   AllDataContainerTest.testClone:383 expected:<[Base Dat]a with append> but was:<[]a with append>

I haven't managed to reproduce these locally. If they are still occurring after the latest push, could you attach the surefire xml file for the failed test?

When there are inconsistent runs, please document the following
1 - OS and version
2 - Java and maven version
3 - exact command used, ie 'mvn clean test'
If there are still differences, adding -X to the maven command will dump lots of useful info.  Could be environment variable differences as well.

mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T19:33:14+01:00)
Maven home: /Users/P41793/maven/apache-maven-3.5.4
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"
I've made some tweaks that, if they fix it, it will make sense that it was failing for you, but not that it was working for me!

Have the changes caused it to build?

Could you let me know if you are happy with this as a general solution to the issue, or whether you think a different approach would be preferable?

It has been 2 months since I have heard anything on this. Is there any intent to pick it up again?

@adyoun2  - yes definitely. I'm taking a look at it today.

Thanks for the contribution, this looks excellent so far. I still have much to review, and I'm still building my understanding of the design, but I wanted to share a couple things to consider sooner rather than later.

The Emissary design tends to consider the byte[] in the IBDO as the primary view, but as you can see in the API, there is a mechanism for storing a number of other byte[]s using the alternate view mechanism. Often, the data stored in an alternate view is derived from the primary view -or- the contents of the primary view are moved to an alternate view while the primary view is replaced with the results of a processing place.  Consider updating the IBDO and related classes to use the IDataContainer interface for the alternate view api as well?

Consider breaking LegacyContainerWrapper in IDataContainer out into its own top level class. I suspect I understand why it's nested in IDataContainer - it is not really designed to be a 'publically' consumable API. Its presence in the IDataContainer makes that code a little harder to read.

Emissary code tends to generally avoid @author tags - I suspect this comes from the fact that some of the contributors are used to the Apache Software Foundation rules. Attribution can be obtained from git annotations / commit logs if we're trying to track down folks responsible for code. We'll probably end up getting rid of the other @author tags some time soon.

I completely agree, the intent was to deliver iteratively, first to break the back of the primary storage mechanism, then to get the framework itself to interact with the binary using streaming mechanisms, then to repeat with views. I felt a pull request with all 3 would be a bit too large.

Totally happy to do that. Would you prefer I do it now or when the rest of your comments are made?

IDE automation, I'll remove them. Again I'll wait and bundle changes together.

So for 1, this shows how views would be supported, please ignore the lack of tests/comments, as it is not production ready:
https://github.com/adyoun2/emissary/compare/master...adyoun2:Views?expand=1

Having had a look at using IDataContainers for views, there is one subtle difference in their behaviour in the 2 contexts: When it it the primary byte array, the value is never null, where it can be for views, and a 0 length array is in fact assumed to mean null. This makes sense, but introduces a few corner cases.
Would you want

IDataContainer never has null data, and it is the presence or not of the IDataContainer on the view that signifies the view's presence. (This is what I have assumed in the current branch).
The primary IDataContainer of a base data object is nullable, but guarded against on the existing base data object data methods. This feels uglier, but is in some respects more consistent.
Similar to 1, but consider zero length arrays distinct from null. If I was designing from scratch, this would probably be my preferred option, but it would be hard to introduce now.

I've made the assumption of option 1, but am happy to be steered in another direction.

The part that may have some issues is the output.filter package, as both the XmlOutputFilter and JsonOutputFilter try to serialise the entire object graph in memory. Are these classes used for all data?

Given this has been tagged for 6.0.0 release, would you prefer I roll my follow-on changes into the same pull request?
I had planned to phase it as.

Enabling changes allowing streaming over BaseDataObjects of unlimited size (This PR)
Changes to make the framework use the streaming apis itself, sich as in the Pickup and Tika places.
Allow Views to use the same mechanisms.
The Framework's use of views is all streaming.

I have all 4 combined on this branch:
https://github.com/adyoun2/emissary/compare/master...adyoun2:UseStreamingViewApi?expand=1
Would you prefer to review and commit this in the stages listed, or all in one go?

Closing in favor of new effort starting with https://github.com/NationalSecurityAgency/emissary/pull/204

Closing in favor of new effort starting with https://github.com/NationalSecurityAgency/emissary/pull/204


metadata.json - needs at least 4.6.0 of stdlib

Hi,
Using 1.0.2 of the module on the Forge, the metadata.json specifies at least 4.2.0 of puppetlabs/stdlib but you're using validate_integer in manifests/init.pp:100 and that feature only came in at stdlib version 4.6.0
https://github.com/solarkennedy/puppet-consul/blob/master/metadata.json#L14
https://forge.puppetlabs.com/puppetlabs/stdlib/changelog#2015-04-14---supported-release-460

Ah! Do you feel comfortable making a PR to fix?

Heh, sure PR #191  - I guess it's still easier to press 'Merge' than to edit + commit a 1-byte change ;)


Renderers do not fallback to next mime type when diffing notebooks

Steps to repro

Open a notebook with some widget output (see here for more details and instructions https://github.com/microsoft/vscode-jupyter/issues/12611)

%matplotlib widget

from matplotlib import pyplot as plt

fig, ax = plt.subplots()
ax.plot([0,1,2], [2,3,4] ,"o-")

Run the cell to generate the widget output
Stage the notebook
Run the cell again to generate the widget output once again
Diff the changes
No output is displayed in the diff viewer

Ideally we should fallback to the image output instead of ipywidgets.
This is what we get today (nothing is rendered)

Expected behaviour

getting this error, not really sure what I missed. @roblourens, @rebornix or @amunger do you know since you had this TPI a while back?

output still isn't displayed for me in the diff view (it does show for me in the notebook, and I confirmed a png image output is available)


Fixing an issue with NGE parsing

Quick note - this might cause NGEs creted in the last 2-3 weeks to fail.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14769/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14769/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14769/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14769/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14769/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14769/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14769/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14769/merge#BCU1XR#0

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14769/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14769/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14769/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.


Make ci green

yayyy

Codecov Report

Merging #163 (e786e87) into main (fae1e5c) will increase coverage by 12.71%.
The diff coverage is 59.36%.

@@             Coverage Diff             @@
##             main     #163       +/-   ##
===========================================
+ Coverage   57.34%   70.06%   +12.71%
===========================================
  Files           8       10        +2
  Lines         490      598      +108
  Branches       45       64       +19
===========================================
+ Hits          281      419      +138
+ Misses        206      157       -49
- Partials        3       22       +19

Impacted Files
Coverage Δ

WePay/views/payment.py
56.12% <42.30%> (+27.37%)
:arrow_up:

WePay/views/topic.py
71.42% <46.15%> (+35.94%)
:arrow_up:

WePay/models/payment.py
68.00% <54.76%> (+11.05%)
:arrow_up:

WePay/views/bill.py
63.63% <66.66%> (-6.64%)
:arrow_down:

WePay/views/exception.py
66.66% <66.66%> (ø)

WePay/models/bill.py
82.08% <70.58%> (-6.05%)
:arrow_down:

WePay/views/userprofile.py
92.50% <75.00%> (+56.38%)
:arrow_up:

WePay/models/userprofile.py
100.00% <100.00%> (+16.66%)
:arrow_up:

WePay/utils/mailing.py
100.00% <100.00%> (ø)

WePay/views/history.py
66.66% <100.00%> (+3.03%)
:arrow_up:

... and 6 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


eclib: 20180710 -> 20180815

Motivation for this change
Small update to incorporate a patch.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

Success on aarch64-linux (full log)
Attempted: eclib
Partial log (click to expand)
shrinking /nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815/bin/reduce_cubics
shrinking /nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815/bin/solve_legendre
shrinking /nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815/bin/solve_conic
shrinking /nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815/lib/libec.so.4.0.0
gzipping man pages under /nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815/share/man/
strip is /nix/store/ah0va6j4cnwj9nx4j6rwcfc8nh785jwm-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815/lib  /nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815/bin
patching script interpreter paths in /nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815
checking for references to /build in /nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815...
/nix/store/n6hkbwwwcy3csk06cjl6ildkq4zqnxgy-eclib-20180815

@GrahamcOfBorg build eclib

Success on x86_64-linux (full log)
Attempted: eclib
Partial log (click to expand)
shrinking /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/bin/h1bsd
shrinking /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/bin/nfhpcurve
shrinking /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/bin/reduce_quartics
shrinking /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/bin/mwrank
gzipping man pages under /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/share/man/
strip is /nix/store/gpc2wld1s0c6qzx9326cwn1wcx29xzsj-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/lib  /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/bin
patching script interpreter paths in /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815
checking for references to /build in /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815...
/nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815

Success on x86_64-linux (full log)
Attempted: eclib
Partial log (click to expand)
shrinking /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/bin/ecnf
shrinking /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/bin/pcurve
shrinking /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/bin/solve_conic
shrinking /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/lib/libec.so.4.0.0
gzipping man pages under /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/share/man/
strip is /nix/store/gpc2wld1s0c6qzx9326cwn1wcx29xzsj-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/lib  /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815/bin
patching script interpreter paths in /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815
checking for references to /build in /nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815...
/nix/store/y1jrf9hqfn55l85ia8djh91pk1n2m5jn-eclib-20180815

Success on aarch64-linux (full log)
Attempted: eclib
Partial log (click to expand)
shrinking /nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815/bin/reduce_cubics
shrinking /nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815/bin/solve_legendre
shrinking /nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815/bin/solve_conic
shrinking /nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815/lib/libec.so.4.0.0
gzipping man pages under /nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815/share/man/
strip is /nix/store/ah0va6j4cnwj9nx4j6rwcfc8nh785jwm-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815/lib  /nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815/bin
patching script interpreter paths in /nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815
checking for references to /build in /nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815...
/nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815

Success on aarch64-linux (full log)
Attempted: eclib
Partial log (click to expand)
these derivations will be built:
  /nix/store/d8ykdcvwajlal1f6vbnc7ks51fz7hch6-eclib-20180815.drv
waiting for locks or build slots...
/nix/store/34nvj1j9q5w2hck7ws93ys4x5wcy3pvy-eclib-20180815

Success on x86_64-darwin (full log)
Attempted: eclib
Partial log (click to expand)
/nix/store/fydfy0jpkf3bnqh15mzx17rs5a3wc012-eclib-20180815


onRowContextMenu Callback

Feature

[x] Add onRowContextMenu to Table

Moved to https://github.com/facebook/fixed-data-table/pull/160 without conflicts


chore(components): add rollup postcss plugin

:tada: This PR is included in version 1.0.0-alpha.3 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-alpha.3 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-alpha.1 :tada:
The release is available on:

GitHub release
v1.0.0-alpha.1

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-alpha.1 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:


[Feature] Boss Frame Current Target Highlight

Describe the feature
I would really like to see the Boss Frames have an option to highlight my current target. Currently, the boss frames have no feature to quickly distinguish my current target. The other Cell frames in my friendly group will highlight red if I left click select them as my target.
Describe the implementation
I would like to see a checkmark box to highlight current target under the global settings configuration of the Boss frame. Adding it as a widget option would also work out I imagine but I think it's only applicable to Boss since multiple can be up during an encounter unlike Player/Target/Pet/TargetTarget/Focus.

In general I need to implement highlighting - will add it to the backlog.


Avoid using eval(), setTimeout(), setInterval() or Function()

Thank you for the obfuscator. It is the best free one I could find,
The new Firefox add-ons cannot use eval(), setTimeout(), setInterval() or Function().
If I obfuscate an add-on using https://javascriptobfuscator.herokuapp.com, some of these 4 functions will appear in the code if I enable any of:

String Array Encoding
Disable Console Output
Debug Protection
So in order to pass the review for the add-on, I cannot enable any of these 3 options. In my case I am mostly interested in String Array Encoding(Base64).

Even without these 3 options, this project is useful for me.

Hmm.
Function() is using in the additional helper code which generated when one of options above are enabled.
This code needed to get global object.
            try {
                var getGlobal = Function('return (function() ' + '{}.constructor("return this")( )' + ');');

                that = getGlobal();
            } catch (e) {
                that = window;
            }

In Chrome extensions eval and other functions not working too. I avoided it by wrapping code in try-catch statement. If code throws error - this is browser environment and global object is window.
So i need cross platform way to detect global object.

I think i should add new option avoidEvals and code like this when it enabled.
var global = typeof global !== 'undefined' ?
             global :
             typeof self !== 'undefined' ?
               self :
               typeof window !== 'undefined' ?
               window :
               {};

The avoidEvals option would be great.
If I enable all the options on https://javascriptobfuscator.herokuapp.com, I can run fine the obfuscated add-on on my test computer. Probably because of the try-catch. But addons.mozilla.org will not accept to make it public because it sees Function() inside the code.

I would also vouch for a avoidEvals option which is considered a security nightmare by platforms.

Start working on it right now

Base implementation here and i'll very happy if someone test it.
https://github.com/javascript-obfuscator/javascript-obfuscator/commit/2fa1c95f5a828648ea98ebe43d0a9aa6e6212bb2
New option: target
Allows to set target environment for obfuscated code.
Available values:

browser;
extension;
node.

Currently output code for browser and node targets is identical.
Output code for extension target is not using eval.
So, for your case - you should set target: 'extension'

Hi. Check new<EMAIL_ADDRESS>https://github.com/javascript-obfuscator/javascript-obfuscator/blob/master/CHANGELOG.md#v0120


DoorBird

Description:
Adds components for the DoorBird video doorbell.
Pull request in home-assistant.github.io with documentation (if applicable): https://github.com/home-assistant/home-assistant.github.io/pull/3147
Example entry for configuration.yaml (if applicable):
doorbird:
  host: <IP_ADDRESS>
  username: ghaigb0001
  password: **********

binary_sensor:
  - platform: doorbird
    monitored_conditions:
      - doorbell

camera:
  - platform: doorbird
    last_visitor: true

switch:
  - platform: doorbird
    switches:
      - light_on
      - open_door

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

About the older commits: I have tried everything and cannot seem to get rid of them. Help is welcome.

We do you not use our lock component?

DoorBird is a doorbell, not a door lock.
On Aug 18, 2017 8:44 AM, "Pascal Vizeli"<EMAIL_ADDRESS>wrote:

We do you not use our lock component?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/pull/8871#issuecomment-323357504,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABnZCIibtmuogVzRoFbN3lbCcf_jTmCHks5sZZU4gaJpZM4Ouzd1
.

Andy, What's holding up merge of your pull request?

@cveenman: I don't know. @fabaff

You need cleanup your PR and remove changes on home-assistant-polymer

@pvizeli I'm not sure how to fix the submodule issue. I didn't make any changes to it, so I'm not sure why it always gets pushed. I tried checking out 1ea7137c78b3df577f5df72a6c9bbe91bb5f7cd0 (the diff of the submodule between this branch and home-assistant/dev is https://github.com/home-assistant/home-assistant-polymer/compare/1ea7137c78b3df577f5df72a6c9bbe91bb5f7cd0...1ad42592134c290119879e8f8505ef5736a3071e and it is currently checkout out as 1ad42592134c290119879e8f8505ef5736a3071e) but it creates a new hash instead.
As for cleaning up the RachioPy commits, I said I had tried and failed to do that.
Am I missing something in the docs, or does Git just hate me lately?

Make a new PR and copy you files into this new PR. That is the fast way to fix that.

https://github.com/home-assistant/home-assistant/pull/9281


Add endpoint to get execution status (an API to control locust)

It is simple to start and stop the test programatically by http requests to the locust master.
I'm missing a URL to get the status info, such as execution state, like: not-started, running, stop-ongoing, stopped.
And a URL to get the number of connected workers.
I'm aware of the headless feature, which I do not want to use.
I will be probably be able to work on adding a control api if this is accepted as a good idea.

It is simple to start and stop the test programatically by http requests to the locust master.
I'm missing a URL to get the status info, such as execution state, like: not-started, running, stop-ongoing, stopped.
And a URL to get the number of connected workers.
I'm aware of the headless feature, which I do not want to use.
I will be probably be able to work on adding a control api if this is accepted as a good idea.

I'm +/-0 on such a feature (I dont use the web ui at all). What do you think @heyman ?


You forget to add this ig

and if u wanna add if="android" cuz other platforms are fine

I think, you should better keep this thing as a fork cause newer ndks work without this fix just fine.

I think, you should better keep this thing as a fork cause newer ndks work without this fix just fine.

okay then


404 in README.md

The readme links to https://github.com/ministryofjustice/money-to-prisoners-deploy which does not exist.

It does exist. But it's a private repo, so GitHub is giving you a 404. We'll consider changing the README.
Thanks.


Correct tiktoken guide URL

Features

Fix bug:
2024-03-19 14:52:18.433 | WARNING  | metagpt.provider.openai_api:_calc_usage:250 - usage calculation failed: num_tokens_from_messages() is not implemented for model gpt4. See https://github.com/openai/openai-python/blob/main/chatml.md for information on how messages are converted to tokens.

In fact the link https://github.com/openai/openai-python/blob/main/chatml.md as been removed long time, that mislead users. The PR is correct the link.
With the changes, the output as following:
2024-03-19 15:59:26.193 | WARNING  | metagpt.provider.openai_api:_calc_usage:247 - usage calculation failed: num_tokens_from_messages() is not implemented for model gpt4. See https://cookbook.openai.com/examples/how_to_count_tokens_with_tiktoken for information on how messages are converted to tokens.

Feature Docs

Influence

Result

Other

I don't think the failed cases in unit tests is introduced by the PR changes, seems the CI case has problem? Thanks!


[W-11127438] onboarding to vale

ref: W-11127438
onboard the v7.13 branch to vale automatic style-checks.
Writer's Quality Checklist
Before merging your PR, did you:

[ ] Run spell checker
[ ] Run link checker to check for broken xrefs
[ ] Check for orphan files
[ ] Perform a local build and do a final visual check of your content, including checking for:

Broken images
Dead links
Correct rendering of partials if they are used in your content
Formatting issues, such as:

Misnumbered ordered lists (steps) or incorrectly nested unordered lists
Messed up tables
Proper indentation
Correct header levels

[ ] Receive final review and signoff from:

Technical SME
Product Manager
Editor or peer reviewer
Reporter, if this content is in response to a reported issue (internal or external feedback)

[ ] If applicable, verify that the software actually got released

Vale will not be onboarded for the time being.
Gary will request this later.
Closing PR.


Phi-3 SFT training and padding tokens

Hi, I'm trying to perform SFT training with Phi-3-vision, I followed the example with llava here https://github.com/huggingface/trl/blob/main/examples/scripts/vsft_llava.py. That however didn't work out of the box, as described in #1801 due to some problems with the batch size/how Phi wants the inputs.
Thus I modified the script to try to make it work, however I encounter the error:
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [13,0,0] Assertion 't >= 0 && t < n_classes' failed.
Upon inspection and after having added some debug prints, it looks like Phi adds some tokens with value -1, which are not handled correctly by the SFT trainer.
This is the code I used:
from contextlib import nullcontext

from trl.commands.cli_utils import init_zero_verbose, SFTScriptArguments, TrlParser

import torch
from accelerate import Accelerator
from datasets import load_dataset

from tqdm import tqdm

from transformers import AutoTokenizer, AutoProcessor, LlavaForConditionalGeneration, AutoModelForCausalLM

from trl import (
    ModelConfig,
    RichProgressCallback,
    SFTConfig,
    SFTTrainer,
    get_peft_config,
    get_quantization_config,
    get_kbit_device_map,
)

tqdm.pandas()

if __name__ == "__main__":
    parser = TrlParser((SFTScriptArguments, SFTConfig, ModelConfig))
    sft_script_args, training_args, model_config = parser.parse_args_and_config()
    training_args.gradient_checkpointing_kwargs = dict(use_reentrant=False)

    ################
    # Model, Tokenizer & Processor
    ################
    torch_dtype = (
        model_config.torch_dtype
        if model_config.torch_dtype in ["auto", None]
        else getattr(torch, model_config.torch_dtype)
    )
    quantization_config = get_quantization_config(model_config)
    model_kwargs = dict(
        revision=model_config.model_revision,
        trust_remote_code=model_config.trust_remote_code,
        attn_implementation=model_config.attn_implementation,
        torch_dtype=torch_dtype,
        device_map=get_kbit_device_map() if quantization_config is not None else None,
        quantization_config=quantization_config,
    )
    tokenizer = AutoTokenizer.from_pretrained(model_config.model_name_or_path, use_fast=True, trust_remote_code=True)
    processor = AutoProcessor.from_pretrained(model_config.model_name_or_path, trust_remote_code=True)
    processor.tokenizer = tokenizer

    model = AutoModelForCausalLM.from_pretrained(model_config.model_name_or_path, device_map="auto", trust_remote_code=True, _attn_implementation='flash_attention_2')

    class VLMDataCollator:
        def __init__(self, processor):
            self.processor = processor

        def __call__(self, examples):
            texts = []
            images = []
            for example in examples:

                question = example["messages"][0]["content"][0]["text"]
                answer = example["messages"][1]["content"][0]["text"]
                image = example["images"][0]

                if question is None or answer is None:
                    continue

                messages = [
                    {
                        "role": "user",
                        "content": question +" <|image_1|>"
                    },
                    {
                        "role": "assistant",
                        "content": answer
                    }
                ]

                text = self.processor.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
                texts.append(text)
                images.append(image)

                break

            batch = self.processor(text=texts[0], images=images, return_tensors="pt", padding=True)

            labels = batch["input_ids"].clone()
            if self.processor.tokenizer.pad_token_id is not None:
                labels[labels == self.processor.tokenizer.pad_token_id] = -100
            batch["labels"] = labels

            max_label_value = torch.max(labels)
            min_label_value = torch.min(labels)
            print(f"Batch max label value: {max_label_value}")
            print(f"Batch min label value: {min_label_value}")
            print("Batch input ids shape:", batch["input_ids"].shape)
            print("Batch labels shape:", batch["labels"].shape)
            print("Batch labels values:", batch["labels"])
            print("Batch input ids values:", batch["input_ids"])

            return batch

    data_collator = VLMDataCollator(processor)

    ################
    # Dataset
    ################
    raw_datasets = load_dataset(sft_script_args.dataset_name)
    train_dataset = raw_datasets[sft_script_args.dataset_train_split]
    eval_dataset = raw_datasets[sft_script_args.dataset_test_split]

    ################
    # Optional rich context managers
    ###############
    init_context = nullcontext()
    save_context = (
        nullcontext()
    )

    ################
    # Training
    ################
    with init_context:
        trainer = SFTTrainer(
            model=model,
            args=training_args,
            train_dataset=train_dataset,
            eval_dataset=eval_dataset,
            dataset_text_field="text",  # need a dummy field
            tokenizer=tokenizer,
            peft_config=get_peft_config(model_config),
            callbacks=None,
            data_collator=data_collator,
            dataset_kwargs={"skip_prepare_dataset": True},
        )

    trainer.train()

    with save_context:
        trainer.save_model(training_args.output_dir)
        trainer.push_to_hub()
        if Accelerator().is_main_process:
            processor.push_to_hub(training_args.hub_model_id)

To run:
python vsft_phi.py \
    --dataset_name="HuggingFaceH4/llava-instruct-mix-vsft" \
    --model_name_or_path="microsoft/Phi-3-vision-128k-instruct" \
    --output_dir="data/vsft-llava-1.5-7b-hf" \
    --report_to="wandb" \
    --learning_rate=1.4e-5 \
    --per_device_train_batch_size=8 \
    --gradient_accumulation_steps=1 \
    --output_dir="data/vsft-llava-1.5-7b-hf" \
    --logging_steps=5 \
    --num_train_epochs=1 \
    --push_to_hub \
    --remove_unused_columns=False \
    --torch_dtype=float16 \
    --fp16=True

And this is the full output:
Batch max label value: 32010
Batch min label value: -1
Batch input ids shape: torch.Size([1, 1959])
Batch labels shape: torch.Size([1, 1959])
Batch labels values: tensor([[    1, 32010, 29871,  ..., 32007, 29871,    13]])
Batch input ids values: tensor([[    1, 32010, 29871,  ..., 32007, 29871,    13]])
Batch max label value: 32010
Batch min label value: -1
Batch input ids shape: torch.Size([1, 2535])
Batch labels shape: torch.Size([1, 2535])
Batch labels values: tensor([[    1, 32010, 29871,  ..., 32007, 29871,    13]])
Batch input ids values: tensor([[    1, 32010, 29871,  ..., 32007, 29871,    13]])
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [13,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [14,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [15,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [16,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [17,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [18,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [19,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [20,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [21,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [22,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [23,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [24,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [25,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [26,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [27,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [28,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [29,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [30,0,0] Assertion `t >= 0 && t < n_classes` failed.
/opt/pytorch/pytorch/aten/src/ATen/native/cuda/Loss.cu:250: nll_loss_forward_reduce_cuda_kernel_2d: block: [0,0,0], thread: [31,0,0] Assertion `t >= 0 && t < n_classes` failed.
Traceback (most recent call last):
  File "/root/fmrl/vsft_phi.py", line 140, in <module>
    trainer.train()
  File "/root/container-venv/lib/python3.10/site-packages/trl/trainer/sft_trainer.py", line 440, in train
    output = super().train(*args, **kwargs)
  File "/root/.local/lib/python3.10/site-packages/transformers/trainer.py", line 1850, in train
    return inner_training_loop(
  File "/root/.local/lib/python3.10/site-packages/transformers/trainer.py", line 2203, in _inner_training_loop
    tr_loss_step = self.training_step(model, inputs)
  File "/root/.local/lib/python3.10/site-packages/transformers/trainer.py", line 3138, in training_step
    loss = self.compute_loss(model, inputs)
  File "/root/.local/lib/python3.10/site-packages/transformers/trainer.py", line 3161, in compute_loss
    outputs = model(**inputs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1527, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1536, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/.local/lib/python3.10/site-packages/accelerate/utils/operations.py", line 822, in forward
    return model_forward(*args, **kwargs)
  File "/root/.local/lib/python3.10/site-packages/accelerate/utils/operations.py", line 810, in __call__
    return convert_to_fp32(self.model_forward(*args, **kwargs))
  File "/usr/local/lib/python3.10/dist-packages/torch/amp/autocast_mode.py", line 16, in decorate_autocast
    return func(*args, **kwargs)
  File "/root/.local/lib/python3.10/site-packages/accelerate/hooks.py", line 166, in new_forward
    output = module._old_forward(*args, **kwargs)
  File "/root/.cache/huggingface/modules/transformers_modules/microsoft/Phi-3-vision-128k-instruct/7b92b8c62807f5a98a9fa47cdfd4144f11fbd112/modeling_phi3_v.py", line 1330, in forward
    loss = loss_fct(shift_logits, shift_labels)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1527, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1536, in _call_impl
    return forward_call(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/loss.py", line 1185, in forward
    return F.cross_entropy(input, target, weight=self.weight,
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/functional.py", line 3086, in cross_entropy
    return torch._C._nn.cross_entropy_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index, label_smoothing)
RuntimeError: CUDA error: device-side assert triggered
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

I'm using:
transformers == 4.40.2
trl == 0.9.4

Hi @qgallouedec, are there any plans to support Phi-3 and other VLMs more broadly? The problem arises because Phi-3 has inputs tokens corresponding to the image size equal to -1, for example:
[[1, 32010, 13, -1, -1, -1, -1,  [.......] -1, -1, -1, -1, 13, 32001]]
However the transformers Trainer doesn't expect any negative tokens other than the -100 padding token at the moment.
Llava on the other hand doesn't have any -1 tokens, instead it uses specific tokens that say when the image starts and when it ends, something like:
[[1, 733, 16289, 28793, 28705, 32000, 28705, 28792, 28748, 16289, 28793]]
Where 32000, 28705 represent the image.
Would it be possible to create a trainer that works with Phi and other VLMs as well?

By the way, the solution to the above is simply setting the labels to -100 instead of -1 in the collator, something like labels[labels <0] = -100  will work. The problem remaining is what if we want to finetune the vision model as well? This would likely prevent it from happening.

Thank you for your question. Currently, Phi3 support is not a priority.
But I've been looking into it, and the main thing is to modify the collate function to adapt it to the specific functioning of Phi3 :
from try.trainer.utils import pad

def collate_fn(examples):
    # update the "messages" key of every example
    # from
    # [
    #     {"content": [{"text": "Who is the author of this book?\n", "type": "text"}, {"type": "image"}], "role": "user"},
    #     {"content": [{"text": "Paul M. Franklin", "type": "text"}], "role": "assistant"},
    #     {"content": [{"text": "What is the title of this book?", "type": "text"}], "role": "user"},
    # ],
    # to
    # [
    #     {"content": "Who is the author of this book?\n<|image_1|>"", "role": "user"},
    #     {"content": "Paul M. Franklin", "role": "assistant"},
    #     {"content": "What is the title of this book?", "role": "user"},
    # ]
    for batch_idx, example in enumerate(examples):
        for j, message in enumerate(example["messages"]):
            s = ""
            for text_or_image in message["content"]:
                if text_or_image["type"] == "image":
                    s += "<|image_1|>"
                else:
                    s += text_or_image["text"]
            examples[batch_idx]["messages"][j] = {"content": s, "role": message["role"]}

    # Get the texts and images, and apply the chat template
    texts = [processor.apply_chat_template(example["messages"], tokenize=False) for example in examples]
    images = [example["images"][0] for example in examples]

    # Tokenize the texts and process the images
    batch = [processor(text, image, return_tensors="pt") for text, image in zip(texts, images)]

    # pad and collate
    batch = {
        "input_ids": pad([item["input_ids"] for item in batch], padding_value=processor.tokenizer.pad_token_id),
        "attention_mask": pad([item["attention_mask"] for item in batch], padding_value=0),
        "pixel_values": pad([item["pixel_values"][0] for item in batch], padding_value=0),
        "image_sizes": torch.cat([item["image_sizes"] for item in batch]),
    }

    # The labels are the input_ids, and we mask the padding tokens in the loss computation
    labels = batch["input_ids"].clone()
    labels[labels == processor.tokenizer.pad_token_id] = -100
    batch["labels"] = labels

    return batch

Note that there's still a problem (cu_seqlens_q must have shape (batch_size + 1)), which I can't solve at the moment, but we invite all contributors to share their script if they manage to get it working.

I noticed that your labels are the same as input_ids，which contain -1 for the place of image tokens. Maybe you can set these labels to -100, or only set the answer's labels not equal -100. Calculate loss on image token’s label, -1, is meaningless because they are just placeholder.

Yes that's what I did.

Good! Can you share your collate function by any chance?


onMove doesn't trigger consistently

This is my test script:
var gOldIndex;
var sortable = new Sortable(
  document.getElementById('list'),
  {
    draggable: '.el',
    onStart: onStart,
    onMove: onMove
  }
);

function onStart(evt) {
  gOldIndex = evt.oldIndex;
}

function onMove(evt) {
  var item = evt.dragged;

  if (item.ownerDocument.body.contains(item) === false) return true;

  var oldIndex    = gOldIndex;
  var newIndex    = Sortable.utils.index(item, sortable.options.draggable);
  gOldIndex       = newIndex;

  console.log('moving...');

  if (oldIndex === newIndex) return true;

  alert('moved!');
}

it gets called if I move an element slightly on the left or right of itself, but it doesn't get call the moment the element is actually flipped with the adjacent one.
this happens during the drag of the element, I never release it in the new position during the test.
Am I doing something wrong or is there a bug?
here a codepen:
http://codepen.io/FezVrasta/pen/qbXLPr?editors=011

Added  a codepen demo. it should alert "moved!" when the element changes position.

Nevermind, fixed it using related instead of dragged.
May I suggest a little more documentation about related element?
http://codepen.io/FezVrasta/pen/WrELdW?editors=011


Error message returned when matching stations could not be found should include the start and end stations lists.

In order to help debug data issues the list of start stations and end stations that were used when attempting to find a linked-list between the two.
Ideally these would be returned NOT as part of the text message error, but as part of the JSON structure of the error, so that they can be programatically parsed by the client app. However as a starting point putting them in the text message of the error would be fine.

Just to document, in my branch I have messages move up the call stack instead of just defaulting too "u bad at highways" so that should help debugging. It will also tell us when PostGIS cant find a nearby coordinate with a specific (but ugly looking) error message.
Also the list of stations will be returned if there are no matching highways between them. This coordinate tuple will demonstrate
curl -X POST http://localhost:8080/api/trafficstats -H "Content-Type: application/json" -d '
{
    "startpt": {
       "lat": 45.608105591041,
       "lng": -122.68130608198        },
    "endpt": {
       "lat": 45.530059536306,
       "lng":  -122.61469439568
    },
    "time": {
       "midpoint": "17:30",
       "weekday": "Thursday"
    }
}
';
echo "Startpoint is stationid: 1026 highwayid: 2";
echo "EndPoint is Stationid: 3130 highwayid: 7"

{
    "error": {
        "code": 400,
        "message": "Bad Request: Given coordinates refer to stations on different highways. Start Stations: 1024,1025,1026,1027 End Stations: 1057,1061,3130,3176,1057,1061,3130,3176,1057,1061,3130,3176,1057,1061,3130,3176"
    },
    "debug": {
        "source": "TrafficStats.php:80 at call stage",
        "stages": {
            "success": [
                "get",
                "route",
                "negotiate",
                "validate"
            ],
            "failure": [
                "call",
                "message"
            ]
        }
    }
}

With merging of StationsPairingTuning, this is fixed


Organize plot outputs into single html?

@shahpr 's notes on how to do this:
https://github.com/shahlab/teaching/tree/master/2019-Fall-CompGen/Lab-10
Related to #42

Issue #193 is a duplicate of this, but for simplicity, I'm closing THIS copy as there's more information on the other ticket.

Also marking this as done (even though #193 is not yet complete, just because it's a copy).


Unit tests results are cached in CI

By default Bazel caches the results of unit tests execution and does not re-run the tests if the corresponding sources have not beed modified. That is also the case for the execution in CI at the moment:
//cmd/container-disk-v2alpha:go_default_test                    (cached) PASSED in 0.1s
484
//pkg/certificates:go_default_test                              (cached) PASSED in 0.0s
485
//pkg/certificates/bootstrap:go_default_test                    (cached) PASSED in 0.1s
486
//pkg/cloud-init:go_default_test                                (cached) PASSED in 0.0s
487
//pkg/config:go_default_test                                    (cached) PASSED in 0.1s
488
//pkg/container-disk:go_default_test                            (cached) PASSED in 0.0s
489
//pkg/controller:go_default_test                                (cached) PASSED in 0.0s
490
//pkg/emptydisk:go_default_test                                 (cached) PASSED in 0.1s
491
//pkg/ephemeral-disk:go_default_test                            (cached) PASSED in 0.0s
492
//pkg/ephemeral-disk-utils:go_default_test                      (cached) PASSED in 0.0s
493
//pkg/hooks:go_default_test                                     (cached) PASSED in 0.1s
494
//pkg/host-disk:go_default_test                                 (cached) PASSED in 0.1s

https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/5136/pull-kubevirt-unit-test/1368172498033577987
https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4907/pull-kubevirt-unit-test/1364640663722790912
https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/5082/pull-kubevirt-unit-test/1369283066664587264
Is there a specific reason for not re-running all the tests each time? I dont think the unit tests produce big load on CI. I would propose to disable caching in pull-kubevirt-unit-test job. That may help to identify flaky tests earlier (e.g. https://github.com/kubevirt/kubevirt/pull/5218). It is possible to disable caching with --cache_test_results=no option. Additionally I would also consider specifying --runs_per_test=n (n>1).
/kind enhancement

Is there a specific reason for not re-running all the tests each time? I dont think the unit tests produce big load on CI. I would propose to disable caching in pull-kubevirt-unit-test job. That may help to identify flaky tests earlier (e.g. #5218). It is possible to disable caching with --cache_test_results=no option. Additionally I would also consider specifying --runs_per_test=n (n>1).

In general you are right. As it is right now, where we first pull everything from the cache, just to then not run the tests, does not make much difference. The heavy part is pulling everything, just to then find out that most of the tests do not even need to be executed.
I was working on making use of --remode_download_minimal, which would have led to downloading actually nothing, and that makes a drastic difference.
Your request makes sense but the two goals are slightly contradicting. Any idea on how we can go with full cache advantage but still catch issues faster? Maybe a periodic which runs with  --cache_test_results=no and a higher n for --runs_per_test=n ?

I made up my mind. As you say. It is not too important for CI load. Let's see that we detect flakes early. :+1:

.. and I already started thinking that a periodic might fit better :) since it will not impact the PRs.
Anyway when I was trying to run locally with runs_per_test I noted that there were tests which fail. I think that is because they use some dependencies internally and do not mock them (e.g. a system directory). Apart from that I see that the execution of some tests takes too long (>2min for some cases). IMHO the unit tests shold run very fast. So I was planning to address those issues as a first step. Maybe after that we can decide on how to run that in CI.


Connecting to cloud database

I have started a trial of OmniSci cloud, which let me access the Connection Settings of the database. Using the first connection example, I am however unable to connect to the database included with my cloud account:
con =<EMAIL_ADDRESS>
              password="mypassword",
              host="use2-api.omnisci.cloud",
              dbname="mapd")

The output error is
Could not connect to any of [('<IP_ADDRESS>', 9091), ('<IP_ADDRESS>', 9091)]

TTransportException                       Traceback (most recent call last)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\pymapd\connection.py in __init__(self, uri, user, password, host, port, dbname, protocol)
    163         try:
--> 164             self._transport.open()
    165         except TTransportException as e:

~\AppData\Local\Continuum\anaconda3\lib\site-packages\thrift\transport\TTransport.py in open(self)
    152     def open(self):
--> 153         return self.__trans.open()
    154

~\AppData\Local\Continuum\anaconda3\lib\site-packages\thrift\transport\TSocket.py in open(self)
    112         logger.error(msg)
--> 113         raise TTransportException(TTransportException.NOT_OPEN, msg)
    114

TTransportException: Could not connect to any of [('<IP_ADDRESS>', 9091), ('<IP_ADDRESS>', 9091)]

The above exception was the direct cause of the following exception:

OperationalError                          Traceback (most recent call last)
<ipython-input-13-01dd6124b3b3> in <module>()
      2               password="HyperInteractive",
      3               host="use2-api.omnisci.cloud",
----> 4               dbname="mapd")

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pymapd\connection.py in connect(uri, user, password, host, port, dbname, protocol)
     73     """
     74     return Connection(uri=uri, user=user, password=password, host=host,
---> 75                       port=port, dbname=dbname, protocol=protocol)
     76
     77

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pymapd\connection.py in __init__(self, uri, user, password, host, port, dbname, protocol)
    166             if e.NOT_OPEN:
    167                 err = OperationalError("Could not connect to database")
--> 168                 six.raise_from(err, e)
    169             else:
    170                 raise

~\AppData\Local\Continuum\anaconda3\lib\site-packages\six.py in raise_from(value, from_value)

OperationalError: Could not connect to database

Is it normal that we can't access the cloud database from the pymapd interface using this method?

You need to specify the port and protocol: port=443, protocol='https'. The default values for pymapd are for the binary connection, which is not available for cloud.

Thank you, that worked!


Fix False Positives: Use Word Boundaries for EasyPost Tokens

Use Word Boundaries for EasyPost Tokens
Description:
I am storing Elastic Kibana Exports in a GIT repo which look like:
{
     "asset-a30a06eb-2276-44b1-a62d-856e2116138c": {
          "@created": "2019-03-29T14:02:51.349Z",
          "id": "asset-a30a06eb-2276-44b1-a62d-856e2116138c",
          "type": "dataurl",
          "value": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gxYSU..aEZAKjP3cFfmXvke1VN43DcuR1BJyTjPNZx0AfLLuRmCAKrAAkcEf0qgqbJ..."
     }
}

The Base64 encoded images cause a false positive as GitLeaks detects an EasyPost API Token starting with EZAK.  I added a word boundary to prevent detecting EasyPost tokens in a Base64 string.
Checklist:

[x] Does your PR pass tests?
[ ] Have you written new tests for your changes?
[x] Have you lint your code locally prior to submission?

Looks good to me @wolframhaussig, but would you mind following the directions in the contributing guidelines for adding new rules? https://github.com/gitleaks/gitleaks/blob/master/CONTRIBUTING.md

@zricethezav Done. Sorry for that - I thought this was just for new rules

Thanks @wolframhaussig and the gitleaks-action is failing because I recently migrated zricethezav/gitleaks to gitleaks/gitleaks, which is an organization that requires a license key. I.e, failure is unrelated to this PR and has been fixed in master


Precompile rake task is not available

I'm using version 0.3.3 (the latest?)
For some reason rake assetpack:precompile described in the docs doesn't work, but rake asset:build does - even though this seems to have been deleted?

0.3.3 was shipped on April 29th (releases), the changes you're referencing were made on the 30th (commit).
There's been a number of changes since `0.3.3': https://github.com/rstacruz/sinatra-assetpack/compare/v0.3.3...master

Ah OK - I guess it's not really as maintained as I thought then, if a new gem hasn't been cut in nearly a year. Doesn't sound like something I should be using in production - I'll look for other options. Thanks for your help :)

@dgmstuart it looks like the project is in need of new maintainers: https://github.com/rstacruz/sinatra-assetpack/issues/197

@doomspork ah right. Not me I'm afraid.


add sideEffects === false for webpack

I'm not very experienced with webpack, but I saw this in the docs on tree-shaking:

The new webpack 4 release expands on this capability with a way to provide hints to the compiler via the "sideEffects" package.json property to denote which files in your project are "pure" and therefore safe to prune if unused.

Since all exports (codecs) are side effect free in numcodecs, I added this to the repo's package.json. This seemed to fix #9, removing unused codecs from the final webpack bundle.
index.js
import { Blosc } from 'numcodecs';

const codec = new Blosc();

webpack.config.js
const path = require('path');

module.exports = {
  entry: 'index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  mode: 'production',
  optimization: {
    minimize: false // just so I could inspect the bundled output
  }
}

@jbms - would you mind editing node_modules/numcodec.js/package.json for your project, adding "sideEffects": false, and seeing if it fixes your issues? I will then merge and make a new release for you.

This also seems to be supported in Rollup now:
index.js
import { Blosc } from 'numcodecs';

const codec = new Blosc();

rollup.config.js
import resolve from '@rollup/plugin-node-resolve';

export default {
  input: './index.js',
  output: {
    file: './bundle.js',
    format: 'es'
  },
  plugins: [
    resolve()
  ]
}

$ rollup -c produces an output with only blosc codec.

Thanks for looking into this.  Yes, I can confirm that setting "sideEffects": false fixes the issue.

Great.


change CL import from cl-basic to cl-base

Currently we're missing taxon constraints that should be imported from CL. See #17613

A few unsatisfiable classes are preventing use of cl-base, all connected to 'Malphighian tubule'. I think the problem lies in the logical definition for 'mesenchymal stem cell' in CL (cc @cmungall @dosumis @matentzn):
Malpighian tubule morphogenesis EquivalentTo Nothing

Malpighian tubule morphogenesis EquivalentTo anatomical structure morphogenesis and (results in morphogenesis of some Malpighian tubule)

Malpighian tubule morphogenesis SubClassOf part of some embryonic hindgut morphogenesis

embryonic hindgut morphogenesis SubClassOf part of some hindgut morphogenesis

hindgut morphogenesis EquivalentTo anatomical structure morphogenesis and (results in morphogenesis of some hindgut)

hindgut SubClassOf develops from some mesenchyme

develops from SubPropertyOf: has developmental contribution from
mesenchyme EquivalentTo tissue and (composed primarily of some mesenchymal stem cell)

composed primarily of SubPropertyOf: has_part
mesenchymal stem cell EquivalentTo connective tissue cell and (has plasma membrane part some PR_000001345) and (has plasma membrane part some PR_000001800) and (has plasma membrane part some PR_000001843) and (capable_of some osteoblast differentiation) and (capable_of some cell migration) and (capable_of some neuron differentiation) and (capable_of some epithelial cell differentiation) and (capable_of some fat cell differentiation) and (capable_of some cardiac muscle cell differentiation) and (capable_of some chondroblast differentiation) and (lacks_plasma_membrane_part some MHC class II protein complex) and (lacks_plasma_membrane_part some PR_000001003) and (lacks_plasma_membrane_part some PR_000001006)

cardiac muscle cell differentiation EquivalentTo cell differentiation and (results in acquisition of features of some cardiac muscle cell)

cardiac muscle cell SubClassOf develops from some cardiac muscle myoblast

Yeh - this should go.  It's just wrong:

mesenchyme EquivalentTo tissue and (composed primarily of some mesenchymal stem cell)

Can you check whether deleting this axiom is sufficient to remove the inconsistency?
There are also multiple historic tickets on problems with mesenchymal stem cell:
https://github.com/obophenotype/cell-ontology/issues?q=is%3Aissue+is%3Aopen++mesenchymal+stem+cell  I think we should put this on the agenda for CL calls.

@dosumis if I remove both:

mesenchyme EquivalentTo tissue and (composed primarily of some mesenchymal stem cell)
mesenchyme SubClassOf composed primarily of some mesenchymal stem cell (added by the Uberon release process)

the unsatisfiable classes go away. So should I open an issue at Uberon?

So should I open an issue at Uberon?

Yes please.  I'll try to do the edit tomorrow.

Hold on hold on, surely the problem here is in CL
Maybe the Uberon def is overstated but surely there should be some kind of existential path from mesenchyme to MSC; as far as TCs go it just has to be an existential linkage, e.g through derivation. So even if we change to something like M subClassOf has-part some deevelops-from some MSC we still get the violation.
Meanwhile the CL logical axioms are massively problematic. Look at all those human markers.
Let's look at the provenance of the CL definition: https://pubmed.ncbi.nlm.nih.gov/17986482/
Not only is this human specific, it's specific to BONE MSCs. There is terminological confusion about the term MSC. Sometimes it's used as a shorthand for bone MSC but there are also placental MSCs etc

The core definition in CL is A connective tissue cell that normally gives rise to other cells that are organized as three-dimensional masses. which also sounds fairly species-generic

Oh, @balhoff you already reported this in 2017! https://github.com/obophenotype/cell-ontology/issues/474

I made an uberon release which should fix the immediate problem
we should do a CL release too

Thanks, the Uberon release fixed the unsatisfiabilities. New minor issue: https://github.com/obophenotype/cell-ontology/issues/734

Now blocked by https://github.com/obophenotype/cell-ontology/issues/757

After newest CL release, one more blocker, which I think is a GO issue: #20176


MetaMask notification is not coming after adding details of doctors

Is Ganache running?

check IPFS installed and configured
refer to this: https://github.com/shamil-t/ehr-blockchain/issues/15

Could you please send a screenshot of the browser console while you're facing the issue?

have you restarted IPFS after configuring?

close IPFS and run: ipfs daemon

for full project or modifications contact @.***
On Tue, May 9, 2023 at 7:17 PM Shubhangi Dhongade @.***>
wrote:

[image: Image]
https://user-images.githubusercontent.com/106398285/237114496-88ab6c8e-820c-40c6-b2ef-f04f87b07e6c.png
Sir how can I work on this section?
—
Reply to this email directly, view it on GitHub
https://github.com/shamil-t/ehr-blockchain/issues/24#issuecomment-1540160073,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQCUDAD3HRA2S4CBTPLEIXDXFJDGZANCNFSM6AAAAAAXWXPXHI
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Hello.., I also facing the same issue.

But it doesn't giving me notification on MetaMask.

Ganache is working and I done making changes in IPFS and restart it.

Can you please help me to overcome this issue.. Waiting for your responds.
Thanking you...

the above-provided screenshot of the browser console didn't seem to be of this project.

Thankyou for your reply and your time.
That was my mistake, I was using IPFS Desktop instead of IPFS-CLI (Kubo).
Now it's all clear and its working.
This project is amazing. How can I get the full project ??
Kindly please reply.
On Fri, Jun 16, 2023 at 9:47 PM SHAMIL T @.***> wrote:

the above-provided screenshot of the browser console didn't seem to be of
this project.
—
Reply to this email directly, view it on GitHub
https://github.com/shamil-t/ehr-blockchain/issues/24#issuecomment-1594936192,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BATZRX62VBPZENESTMBF5KTXLSBLFANCNFSM6AAAAAAXWXPXHI
.
You are receiving this because you commented.Message ID:
@.***>

Thankyou for your reply and your time.
That was my mistake, I was using IPFS Desktop instead of IPFS-CLI (Kubo). Now it's all clear and its working.
This project is amazing. How can I get the full project ??
Kindly please reply.


366 nf open dataset force local

Codecov Report

Merging #392 into master will increase coverage by 0.13%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #392      +/-   ##
==========================================
+ Coverage   74.95%   75.08%   +0.13%
==========================================
  Files          71       71
  Lines       10201    10182      -19
==========================================
- Hits         7646     7645       -1
+ Misses       2555     2537      -18

Impacted Files
Coverage Δ

cate/ops/io.py
86.89% <ø> (ø)
:arrow_up:

cate/webapi/websocket.py
30.81% <66.66%> (+2.54%)
:arrow_up:

Continue to review full report at Codecov.

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


Overwriting "style" attribute [Vue 2.0]

Hello,
With Vue 1 "style" attribute is "merged", but with Vue 2 it is completely overwritten. Is this by design?
In the following jsfiddle, if you remove "style" attribute it will then apply "style" from within component definition. As long as "style" is present on "" (from main HTML window), it will completely overwrite component's style:
https://jsfiddle.net/rstoenescu/t0kb6vyu/2/
Thanks!

If you define a static attribute, Vue will not attempt to dynamically merge it.
If you provide a binding, Vue will do that:
https://jsfiddle.net/t0kb6vyu/3/

Ok, nice to know. But Vue 1 did merge regardless of static or dynamic attribute. It would be nice if this behavior can be continued with Vue 2 as this is quite important when writing libraries/frameworks with Vue 2. I can elaborate if needed. Just my thoughts. Thanks for the answer!

Yeah we will look into that, sure!

Like class module, I think style should also have the same behavior for consistency. I'll try to make a PR.

@defcc yeah, probably need to treat staticStyle and style separately, and need to parse static style strings into objects.

OK, I'll take a look :)

Almost done. I'll make a PR later.

Will this change merge styles in this case?
<text-element style="color: red;"/>

text-element.vue
<script>
  export default {
    render(createElement) {
      return createElement('input', {
        attrs: {
          type: 'text',
          style: 'text-align: right;'
        }
      });
    }
  };
</script>


CO2 not updating

I haven’t checked the other sensors but CO2 across my three Mila’s hasn’t budged from 411 since I installed the integration.
Anyone else experiencing this?
I’ve tried restarting the integration as well as uninstalling and reinstalling.

It looks fine on my side. Do you see the same data in the app as well?

Having my Milas for a couple of years I really don't see the CO2 numbers changing much which from a health perspective is a good thing :)

Might be a faulty unit too. I see it change immediately when I'm cooking anything in the kitchen. My Mila is in the hallway on the same floor.


⚠ Blutopia has degraded performance

In fabdbdf, Blutopia ($BLU) experienced degraded performance:

HTTP code: 502
Response time: 1408 ms

Resolved: Blutopia performance has improved in 2a5cdb4 after 12 minutes.