Search from homepage doesn't always work

Bug Report
Expected behaviour
Search from homepage should filter by name
Actual behaviour
Sometimes the filter is not applied, seems like a timing issue.
Steps to reproduce the behaviour
Go to homepage, type 'asdf' and press enter.  Keep repeating this and eventually, it will actually return all tools/workflows.
┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Issue Number: DOCK-852

Looks good on staging.dockstore.org


STYLE: Add additional braces around initialization of subobject

Fixes warning on AppleClang
https://open.cdash.org/viewBuildError.php?type=1&buildid=6201669

I see some failures from ITK.Linux.Python at https://open.cdash.org/viewTest.php?onlyfailed&buildid=6205647 but I guess these are unrelated to this pull request, right?


Create table for hvac actions

Description of PR : Create table for hvac actions
Changes

Added table called 'hvacaction' that includes the actions (heater, etc.)
Table will be automatically added to kubernetes after pull request

Related Issues
Resolves #9
Assignee checklist:

[ X ] Have you checked if an issue is present and open for this PR ?
[ X ] Have you checked to ensure there aren't other open Pull Requests for the same update/change ?
[ X ] Does your submission pass tests ?
[ X ] Have you lint your code locally prior to submission ?
[ X ] Did you add / update the documentation ?
[ X ] Does the CI pipeline pass ?

LGTM


feat: Add fennel executer

Adds command:
Fnl - Executes fennel arguments . Like :lua
FnlFile - Executes range of current buffer or
file in argument if provided
Adds keymap:
<Plug>(exec-fennel-operator) - Executes fennel in range selected by
operator
Adds autocmd:
Adds an autocmd on SourceCmd event so :source & :runtime works on fennel files
@rktjmp I've intregated this to hotpot . But I need to trigger
require 'hotpot.exec_fennel'.define_commands()

when user runs require'hotpot' . Funny thing is /lua/hotpot.lua looks like generated fennel code but I can find the source :P . Preferably there should be an option so users can disable this when they want but hotpot doesn't have usual setup function . How are options set ?
Closes #8

require 'hotpot.exec_fennel'.define_commands()

Can't the commands be put in a .vim file? That's what I had been planning.
Not against a setup function, I had one originally but there was no need for it so it got dropped. I actually prefer explicit setup over implicit for most plugins but for hotpot I think I want it to be just the require because it's "low level" (but see #2 "compiler plugins", may end up with a setup anyway).
That or they will happen automatically in install().
--
/lua/hotpot.lua is generated from /dogfood.fnl, sits outside the /fnl dir for now.
--
I am actually just about to integrate your stuff from #8, dirty branch: https://github.com/rktjmp/hotpot.nvim/tree/shuffle.
Don't use that branch, it's not finished.
I had just marked you as the git commit author which AFAIK should list you as a contributor once it's merged into master, if you're ok with that style.
Or I might merge and rebase on this since it touches nothing.
I'll take care of the integration since it's a moving target and merges would be messy.

Can't the commands be put in a .vim file? That's what I had been planning.

That's actually a good idea .

I might merge and rebase on this since it touches nothing.

You probably should I've updated the code abit to handle compile_time and runtime error better . And this version uses hotpots compiler .

:+1:


multiple-dependency-versions should also includes peer dependencies

In a monorepo where we mark dependencies as external, we can use peerDependencies to spesify versions too. The rule doesn't include them in the checks however.

Good catch, thanks! Not sure yet when I'll trigger another release, hopefully in January.

Thanks a lot!! I was learning rust to be able to contribute, thanks a lot for the swift response!

Released in https://github.com/QuiiBz/sherif/releases/tag/v0.8.0!


[NT-1251] “You're a backer” label

📲 What
Adds the "You're a backer" label to the project cards when the current user has backed that project.
🤔 Why
To signal to users which projects they have backed while browsing through projects in discovery.
🛠 How

added the youreABackerView and youreABackerLabel
added the youreABackerViewHidden output to DiscoveryProjectCardViewModel
added screenshot and VC tests
notice that I updated the layout margins on the main description stack view, so I had to recreate all the snapshots

👀 See

♿ Accessibility

[x] Tap targets use minimum of 44x44 pts dimensions
[x] Works with VoiceOver
[x] Supports Dynamic Type

✅ Acceptance criteria

[ ] back a project from discovery and then find that project again in the discovery list. You should see the "You're a backer" label

⏰ TODO

[ ] get final approval from Colleen on the position of the tag, I had to make a small change compared to the designs

Can we remove the exclamation point from this string?

Looks good! I know there was this bug at one point that discovery doesn't refresh to show this after backing. That's what I saw now, is that still expected? 🤔

Yeah that's still a bug, we'll have to fix it separately.


Correct Joken.Token.t typespec

Several fields in the Joken.Token can actually be nil, but the typespec says they will always hold a different value. This causes Dialyzer warnings:
defmodule Test do
  def test do
    Joken.token(%[])
  end
end
# => Dialyzer: Function test/0 has no local return

Coverage remained the same at 84.783% when pulling 1f501a0dcb69b9d1760960b433539901ec3c9f8c on danielberkompas:patch-1 into dd19fe8b6e8b4fe5d1f519d88d0f2090a8d280f6 on bryanjos:master.

Coverage remained the same at 84.783% when pulling 1f501a0dcb69b9d1760960b433539901ec3c9f8c on danielberkompas:patch-1 into dd19fe8b6e8b4fe5d1f519d88d0f2090a8d280f6 on bryanjos:master.

Looks good! Thanks!


Issue accessing flagr on kubernetes

In the deployment yaml I have pulled the flagr image from checkr/flagr
I have configured FLAGR_DB_DBDRIVER and FLAGR_DB_DBCONNECTIONSTR to point to a mysql database - which does work.
I have configured the variable PORT to be 18000
I can see the pod has started and is able to talk to the database. I access the pod via httpproxy but this is not working. When trying https://fqdn.domain.com/flagr I get {"code":404,"message":"path /flagr/ was not found"}
my Deployment.yaml
kind: Deployment
apiVersion: apps/v1
metadata:
name: flagr
labels:
app: flagr
spec:
replicas: 1
selector:
matchLabels:
app: flagr
template:
metadata:
labels:
app: flagr
spec:
containers:
- name: flagr
image: checkr/flagr
resources:
requests:
cpu: "250m"
memory: "64Mi"
limits:
cpu: "500m"
memory: "128Mi"
env:
- name: PORT
value: "18000"
- name: FLAGR_DB_DBDRIVER
value: mysql
- name: FLAGR_DB_DBCONNECTIONSTR
value: admin@testmysqlsrv:######@tcp(testmysqlsrv.mysql.database.azure.com:3306)/testmysql
my services.yaml
kind: Service
apiVersion: v1
metadata:
name: flagr
spec:
selector:
app: flagr
ports:
-  port: 80
targetPort: 18000
my proxy.yaml
apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
name: frontend
spec:
virtualhost:
fqdn: fqdn.domain.com
routes:
- conditions:
- prefix: /
services:
- name: web
port: 80
- conditions:
- prefix: /api
services:
- name: webapi
port: 80
- conditions:
- prefix: /odata
services:
- name: odata
port: 80
- conditions:
- prefix: /flagr
services:
- name: flagr
port: 80
Am I missing something in my proxy config?

Hey, @stumueller
Since you've rewritten the path to /flagr you need to inform flagr of that too...  so set the variable FLAGR_WEB_PREFIX to /flagr so that flagr knows which path it should respond to requests:
From the flagr config:
    // WebPrefix - base path for web and API
    // e.g. FLAGR_WEB_PREFIX=/foo
    // UI path  => localhost:18000/foo"
    // API path => localhost:18000/foo/api/v1"
    WebPrefix string `env:"FLAGR_WEB_PREFIX" envDefault:""`

You will have the UI there:
https://fqdn.domain.com/flagr
And API:
https://fqdn.domain.com/flagr/ap1/v1/...
Let us know if that works and you can close this issue!


Clean parallel

Pull Request Description
What issue does this change request address?
Closes #2133
What are the significant changes in functionality due to this change request?
Removes the pp code.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[ ] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

Job Mingw Test on 8f1030a : invalidated by @joshua-cogliati-inl
failed in fetch


Add a custom dictionary type that supports spaces

Describe the feature and the current behavior/state.
Currently, custom dictionary can't contain spaces because the segmentation is based on spaces. It is recommended to add a custom dictionary in a format that uses commas to split word, word type, and word frequency.
Will this change the current api? How?
No.
Who will benefit with this feature?
Users who need to include spaces in their custom dictionaries will benefit from this.
Are you willing to contribute it (Yes/No):
Yes.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): All system.
Python version: N/A
HanLP version: Portable-1.8.4

Any other info
None.

[x] I've carefully completed this form.

I think a new custom dictionary type can be added to ensure that users using older versions can still use custom dictionaries separated by spaces.

Hi, .csv and .tsv have already been implemented:
https://github.com/hankcs/HanLP/blob/1323221c38e9188b19cef3f770eec40148a459ac/src/main/java/com/hankcs/hanlp/dictionary/DynamicCustomDictionary.java#L235
You can just go ahead and rename your dic to these extensions.

Hi, .csv and .tsv have already been implemented:
https://github.com/hankcs/HanLP/blob/1323221c38e9188b19cef3f770eec40148a459ac/src/main/java/com/hankcs/hanlp/dictionary/DynamicCustomDictionary.java#L235
You can just go ahead and rename your dic to these extensions.

Ok, thanks for your reply. I'll try it.


PipeableElement.click() should trigger .focus() on element

Otherwise any on('blur')s are not triggered on the page before, say, submitting a form or taking another action.

Closed in #52


new logic added for checking availability of pod

@yorinasub17 whats wrong this time , i cant see CI build result.

Ok digging into the test failure, it was failing the tunnel tests.
=== RUN   TestTunnelOpensAPortForwardTunnelToPod
=== PAUSE TestTunnelOpensAPortForwardTunnelToPod
=== CONT  TestTunnelOpensAPortForwardTunnelToPod
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:26Z command.go:87: Running command kubectl with args [--namespace 3v2yuf apply -f /tmp/TestTunnelOpensAPortForwardTunnelToPod685333842]
--- PASS: TestDeleteConfigContextWithAnotherContextRemaining (0.01s)
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z command.go:158: namespace/3v2yuf created
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z command.go:158: pod/nginx-pod created
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z retry.go:72: Wait for pod nginx-pod to be provisioned.
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z client.go:33: Configuring kubectl using config file /home/circleci/.kube/config with context
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z pod.go:134: Pod is now available
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z tunnel.go:138: Creating a port forwarding tunnel for resource pod/nginx-pod routing local port 0 to remote port 80
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z client.go:33: Configuring kubectl using config file /home/circleci/.kube/config with context
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z tunnel.go:170: Selected pod nginx-pod to open port forward to
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z tunnel.go:183: Using URL https://<IP_ADDRESS>:8443/api/v1/namespaces/3v2yuf/pods/nginx-pod/portforward to create portforward
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z tunnel.go:200: Requested local port is 0. Selecting an open port on host system
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:30Z tunnel.go:206: Selected port 35705
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:31Z tunnel.go:229: Error starting port forwarding tunnel: error upgrading connection: unable to upgrade connection: pod not found ("nginx-pod_3v2yuf")
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:31Z command.go:87: Running command kubectl with args [--namespace 3v2yuf delete -f /tmp/TestTunnelOpensAPortForwardTunnelToPod070234480]
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:36Z command.go:158: namespace "3v2yuf" deleted
TestTunnelOpensAPortForwardTunnelToPod 2020-03-24T17:37:37Z command.go:158: pod "nginx-pod" deleted
--- FAIL: TestTunnelOpensAPortForwardTunnelToPod (15.59s)
    tunnel.go:133:
        	Error Trace:	tunnel.go:133
        	            				tunnel_test.go:35
        	Error:      	Received unexpected error:
        	            	error upgrading connection: unable to upgrade connection: pod not found ("nginx-pod_3v2yuf")
        	Test:       	TestTunnelOpensAPortForwardTunnelToPod

Digging in, it turns out that checking for the container status is insufficient for pods in the running state. There appears to be a race between the container status being ready, and the pod entering the running state to be able to start the tunnel. Once I switched  the return true to what it was before, it passed the test: https://github.com/gruntwork-io/terratest/commit/9dceed895809d6699fa18ae5a19b28ead5004aee

Since it is working on that branch and it includes your commit (properly attributed to you), I'm going to open a new PR and merge that in.
Thanks for your contribution!


enhancement Remove corresponding col stats status if the loading at the end of analyze task is failed

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


[learn-css-transforms-by-building-a-penguin]: step-2 first test

Describe the Issue
The test fails to catch the difference between an element and class selector
Affected Page
https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-2
Your code
.body {
  background: linear-gradient(45deg, rgb(118, 201, 255), rgb(247, 255, 222));
}

The hint is

You should set background to linear-gradient(45deg, rgb(118, 201, 255), rgb(247, 255, 222)).

But the first hint should be displayed instead:

You should use the body element selector.

The regex fails to tell the difference between an element and class selector.
https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61967e74a8e3690ab6292daa.md
Expected behavior
https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61967e74a8e3690ab6292daa.md
Screenshots
No response
System
All
Additional context
No response

We should just use the getStyle method on the CSSHelp class to look for 'body'. Examples of this can be seen in other tests.

An issue with the https://github.com/freeCodeCamp/freeCodeCamp/labels/help wanted or https://github.com/freeCodeCamp/freeCodeCamp/labels/first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors.
If you would like to contribute, and have not read the contributors docs, please do so here: https://contribute.freecodecamp.org/#/
If you have any issues with contributing, be sure to join us on the contributors channel, or on the contributors sub-forum

Hi @ShaunSHamilton, My name is Om Bansal and this is my first time contributing to open source can i work on this issue?

Go for it - we will accept the first fully correct PR that fixes the issue.


Add unit tests for the CatalogSource reconciler

Motivation:
Project does not have any test right now.
Goal:
Add initial set of unit tests for the catalogsource controller

Also add codecov to the GitHub action running unit test introduced here


docs: Move Make target to docs folder

This commit moves the docs make target from the main
Makefile (so a user was expected to run "make docs" from the
main directory) to the docs directory (so now the user just runs
"make" from the docs directory).
FYI @kklin -- this definitely makes more sense (it also removes the
need to have go / govendor installed in order to build the docs)

Will merge once travis passes


Add XCM Support Between Picasso and Statemine

Hi team, the Picasso team (Composable Finance) has supported bridging from Picasso to Statemine on their bridge Centauri. Please add XCM support between Picasso and Statemine in SubWallet. Thank you!

Picasso: https://picasso.xyz/
Centauri (bridge): https://app.trustless.zone/

This issue will be resolved in the SubWallet-Chain repo


✨ Add forceSafeTransferETH + trySafeTransferETH (to combat gas griefing)

Description
To combat gas griefing.
First, we have forceSafeTransferETH, which uses SELFDESTRUCT via a temporary contract to force send the ETH, if the call exceeds a gas stipend.
Second, we have trySafeTransferETH, which returns false instead of reverting, if the call exceeds a gas stipend.
Right now, i've defined some constants as suggestions for the gas stipends:
/// @dev Suggested gas stipend for contract receiving ETH
/// that disallows any storage writes.
uint256 internal constant _GAS_STIPEND_NO_STORAGE_WRITES = 2300;

/// @dev Suggested gas stipend for contract receiving ETH to perform
/// a few storage reads and writes, but low enough to prevent griefing.
/// Multiply by a small constant (e.g. 2), if needed.
uint256 internal constant _GAS_STIPEND_NO_GRIEF = 100000;

If you have a better suggestion for the values, lemme know. Thanks!
Maybe I should add the try variants for the ERC20 stuff too
(usually ERC20 are from trusted sources, with greatly reduces the risk of grieving, but there could be a need for it).
Checklist
Ensure you completed all of the steps below before submitting your pull request:

[x] Ran forge snapshot?
[x] Ran npm run lint?
[x] Ran forge test?

Pull requests with an incomplete checklist will be thrown out.

so a griefer can't jam the calling contract

can you say more about what you're thinking of? Successful call that doesn't actual transfer the ETH feels like a foot gun

@wilsoncusack
This is for push based refunds.

A griever can implement some kind of receive() that consumes a ton of gas to make it not possible to refund them.
This can cause issues if the refunds are in a loop, or via some kind of lazy mechanism (e.g. a new bidder refunds the old bidder who is outbidded).
Personally, I'd prefer pull-based refunds, but some project may have business requirements that heavily favors push based refunds.

Ah ok yeah this makes sense. Have thought of Nouns being griefed in this way. Seems best to use this with a WETH fallback?

@Vectorized this is clever, though I think the "try" terminology from a dev UX implies it might "revert, throw, raise an exception" etc.

maybe safeTransferEthNoRevert? Kinda long tho

using mstore(0x00,xor(0x730000000000000000000000000000000000000000ff,shl(8,to))) reduces gas consumed during the transaction but will increase contract size
iszero check can be removed by placing forcesendEther in else block .Will this reduce gas?

@0xdineshkumarsm I think smaller bytecode is nicer in this case, since nearly all of the time, we will be transferring to non-grievers.

@devtooligan WETH doesn't seem to have a fixed de-facto address across all EVM chains.
Hardcoding all those addresses can lead to bytecode bloat.
Also, Solady tries to be as chain agnostic as possible.

WETH doesn't seem to have a fixed de-facto address across all EVM chains.
fair

cool, let's do this!!!  🚀 💥


go test on clock fails on TestVersion

± go test
# _/home/ar/work/exercism/go/clock
./clock_test.go:32: undefined: TestVersion
./clock_test.go:33: undefined: TestVersion
FAIL	_/home/ar/work/exercism/go/clock [build failed]

go 1.4rc2

Oops. I didn't realize I needed to set TestVersion. Does this need to be added to the README or elsewhere?

Mm, the appropriate place to possibly mention it would be the Go help page.  This page doesn't mention TestVersion explicity, but it does cover the typical steps to solving an exercise -- reading the compile errors, reading the test program, puzzling out how to get the program to compile.  In the case of TestVersion the compiler tells you it's not defined, the required value in the test program is pretty easy to spot, ... it's kind of part of the exercise.


Unable to build. If the problem persists...

Building...
Build error: Unable to build. If the problem persists, please consider creating an issue about the problem in https://github.com/solana-playground/solana-playground/issues
The source code can be found here
Locally it builds so cannot debug the error

If I run build in https://beta.solpg.io/https://github.com/VACostin/degen_wall_sc/tree/main, I get:
$ build
Building...
error[E0432]: unresolved import `solana_security_txt`
  --> src/lib.rs:22:5
   |
22 | use solana_security_txt::security_txt;
   |     ^^^^^^^^^^^^^^^^^^^ use of undeclared crate or module `solana_security_txt`

error: cannot determine resolution for the macro `security_txt`
  --> src/lib.rs:27:1
   |
27 | security_txt! {
   | ^^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

This is not the problem here, but the project you shared is also on a different Anchor version (Playground is still on v0.29 currently).


unable to connect to dbus

Hiya. Keen on using bulkvis.
Managed to get some of the way through the install.
Q1: does a 'bulkfile' = a fast5 file that contains other, individual fast5 files?
Q2: did basecalling need to be enabled? Can I just look at squiggles?
Here's a screenshot of something happening.....

... but logging to console says the following.....
~/.virtualenvs/bulkvis/bulkvis$ bokeh serve --show ~/.virtualenvs/bulkvis/bulkvis
2020-01-16 12:12:17,847 Starting Bokeh server version 0.12.15 (running on Tornado 5.0.1)
2020-01-16 12:12:17,849 Bokeh app running at: http://localhost:5006/bulkvis
2020-01-16 12:12:17,849 Starting Bokeh server with process id: 6963
** (/usr/lib/firefox/firefox:7105): WARNING **: 12:12:18.435: Unable to connect to dbus: Could not connect: Connection refused
[2020-01-16T12:12:18Z ERROR audio_thread_priority::rt_linux] setrlimit64: 1
/home/mike.harbour/.virtualenvs/bulkvis/lib/python3.6/site-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
** (/usr/lib/firefox/firefox:7150): WARNING **: 12:12:18.903: Unable to connect to dbus: Could not connect: Connection refused
2020-01-16 12:12:18,908 200 GET /bulkvis (<IP_ADDRESS>) 177.64ms
2020-01-16 12:12:19,112 200 GET /static/css/bokeh.min.css?v=f7fe43f4980a82921415acbd60d5fd66 (<IP_ADDRESS>) 7.16ms
2020-01-16 12:12:19,316 101 GET /bulkvis/ws?bokeh-protocol-version=1.0&bokeh-session-id=qV2dJR0Tsr3asgoqy4jSoZ3X7jM3tLA69dQJIefqqZVN (<IP_ADDRESS>) 1.10ms
2020-01-16 12:12:19,316 WebSocket connection opened
2020-01-16 12:12:19,316 ServerConnection created
** (/usr/lib/firefox/firefox:7213): WARNING **: 12:12:19.502: Unable to connect to dbus: Could not connect: Connection refused
....symptom is, no bulkfiles seem to be available to choose.
I put a multi-fast5 file into the folder stated to be the 'bulkfile directory' in my config.ini.
Any help gratefull received
Mike

I still have the same issue. Were you able to fix it ?

Unfortunately not.

Ah. I’m sorry about this - we will look in to it for you ASAP.

Ok. Reinstallation has resolved the dbus error - don't know how. But I still cannot see any fast5 files to select.

are you saying that you are able to replicate the behaviour I've seen?

Yes. I am able to go through the installation step and start bokeh. Firefox opens bulkvis, but I still cannot select any fast5 files that are in the folder that I specified in cofig.ini
My terminal shows the following
2020-03-12 10:42:24,140 Starting Bokeh server version 0.12.15 (running on Tornado 5.0.1)
2020-03-12 10:42:24,142 Bokeh app running at: http://localhost:5006/bulkvis
2020-03-12 10:42:24,142 Starting Bokeh server with process id: 7271
/home/epigene/bulkvis-env/lib/python3.6/site-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
2020-03-12 10:42:24,380 200 GET /bulkvis (<IP_ADDRESS>) 133.95ms
2020-03-12 10:42:24,419 200 GET /bulkvis (<IP_ADDRESS>) 21.60ms
2020-03-12 10:42:24,526 101 GET /bulkvis/ws?bokeh-protocol-version=1.0&bokeh-session-id=dYTWP7LTYlcRvapEOjhGUDEJdSoU3Lf9sc0uNQwg6CL7 (<IP_ADDRESS>) 0.37ms
2020-03-12 10:42:24,526 WebSocket connection opened
2020-03-12 10:42:24,526 ServerConnection created

Ok, I was worried I was wasting your time by having done something incorrectly.

@DrOllyGomez If you are trying to visualize squiggles, you can either use SquiggleKit - https://github.com/Psy-Fer/SquiggleKit or hdf view - https://www.hdfgroup.org/downloads/hdfview/ both of these are working pretty well for me. You don't need basecalled fast5's for theses

many thanks for the references.


Single Point Issue

Dear MatthijsHak,
did you ever try to run with the input parameter "geom_opt=False", there might be some issues? In "MetalDock/src/metal_dock/orca_engine.py", the  "mol.write('output.xyz')" in the section "def orca_single_point(xyz_file, var)" is missing.
Additionally, did you encounter the situation that the metal-ligand structrue is not reasonable after docking? As following shown, the cymene struture after docking is indeed not reasonable.

Regards,
Z.LIN.

Dear Z. Lin,
I really appreciate the help with finding all bugs. I have changed the ORCA single point file such that it now works properly.
Regarding the docking structures, I have not encountered problems with cymene. Could you perhaps send me the directory, especially the pdbqt files. Sometimes pymol does not generate the structures properly.
Once again, thank you for the help.
Regards,
Matthijs

Dear Matthijs,
If I would like to get RMSD, for instance, I need to abstract the xyz file of the ligand from the 1JZE.pdb in your paper. Should the 1JZE.pdb file be edited? Or can the 1jze.pdb downloaded from RCSB directly be used for the metaldock simulation?
Regards,
Zexiong


Raw ores are missing the forge:raw_materials tags

Describe the bug
Forge finally decided on a tag for raw stuff, it is forge:raw_materials/<material name>. Currently Occultism raw ores do not have these tags, making them incompatible with mods that use them (like Tinkers Construct, you cannot melt Occultism raw ores in their smelteries)
To Reproduce

Load Occultism
Enable advanced tooltips (F3 + H)
Hover over Occultism's silver raw ore item and see the tag missing
Hover over the raw ore item for copper and see it does have the corresponding raw_materials tags

Expected behavior
For the raw ore items to have there corresponding raw_materials tags, and the base forge:raw_materials tag too.
System (please complete the following information):

Occultism Version: occultism-1.18.1-1.26.8
OS: Windows 10
Minecraft Version: 1.18.1
Modpack Link and Version, or list of mods: https://www.curseforge.com/minecraft/modpacks/mps-s7

Additional context
A datapack which fixes this:
occultism_raw_materials_tag_fix.zip

@ChiefArug many thanks!


[Bug]  Green screen

Describe the Bug
Hi.
Here is an archive.
e5824449-2d66de43-8459fe70-9ff5359c-97655c13.zip
After this commit https://github.com/OHIF/Viewers/commit/6651008fbb35dabd5991c7f61128e6ef324012df  i see green screen for this study. In local mode it works, but I I use osimis/orthanc:22.11.3 and I downloaded source code before and after this commit and it was ok before  this commit, so i don't think it is an issue with Orthanc
Steps to Reproduce

use osimis/orthanc:22.11.3
download source code before provided commit
open the study

The current behavior
green screen
The expected behavior
proper viewer
OS
all
Node version
all
Browser
all

same issue here , using google.js configuration latest version .
there is an estimated time for a fix  ?

I don't think it is related to that commit honestly. This is a long lasting bug in Orthanc that we tried to communicate to fix, but they fixed and later reverted the fix. https://discourse.orthanc-server.org/t/orthanc-convert-ybr-to-rgb-but-does-not-change-metadata/3533/16

I posted a comment there https://discourse.orthanc-server.org/t/orthanc-convert-ybr-to-rgb-but-does-not-change-metadata/3533/19?u=alireza

hey @sedghi thanks for your answer, this is very appreciated ! how does orthanc works inside ohif ? is it a remote server that the ohif sends a request or this is a static node module , because if it is a node module , maybe the temporary solution is to downgrade it to the version with the fix that they released ?

seems like this will help
https://discourse.orthanc-server.org/t/orthanc-convert-ybr-to-rgb-but-does-not-change-metadata/3533/20?u=alireza

seems like this will help
https://discourse.orthanc-server.org/t/orthanc-convert-ybr-to-rgb-but-does-not-change-metadata/3533/20?u=alireza

this actually fix the issue !!! many thanks for mentioning!
please considerate fixing google.js in the next branch with this fix

Checkout lastest master branch, it should have been fixed with the recent push

We just release the OHIF 3.8, you can find more details here https://ohif.org/release-notes/3p8/
If you still encounter this issue in 3.8, please re-open this.


Crawler fails after few seconds: Cannot create status file

We start a Http-crawler via cron and occasionally it stops with the following exception after few seconds:
FATAL [AbstractCrawler$ProcessURLsRunnable] MyCrawler: An error occured that could compromise the stability of the crawler. Stopping excution to avoid further issues...
com.norconex.jef4.JEFException: Cannot persist status update for job: MyCrawler
at com.norconex.jef4.suite.JobSuite$2.statusUpdated(JobSuite.java:341)
at com.norconex.jef4.status.JobStatusUpdater$1.mapChanged(JobStatusUpdater.java:33)
at com.norconex.commons.lang.map.MapChangeSupport.fireMapChange(MapChangeSupport.java:103)
at com.norconex.commons.lang.map.ObservableMap.put(ObservableMap.java:102)
at com.norconex.commons.lang.map.Properties.setString(Properties.java:572)
at com.norconex.commons.lang.map.Properties.setInt(Properties.java:650)
at com.norconex.collector.core.crawler.AbstractCrawler.processNextReference(AbstractCrawler.java:376)
at com.norconex.collector.core.crawler.AbstractCrawler$ProcessURLsRunnable.run(AbstractCrawler.java:615)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Cannot create status file: /opt/MyCrawler/output/progress/latest/status/MyCrawler__MyCrawler.job
at com.norconex.jef4.status.FileJobStatusStore.write(FileJobStatusStore.java:117)
at com.norconex.jef4.suite.JobSuite$2.statusUpdated(JobSuite.java:339)
... 10 more
The mentioned job file will have a prop.processedCount of less than 10 AND an endTime-Parameter (so the JEF could write to it after the exception).
We configured 6 and have a handful of starturls.
Is there any fix or workaround for this?
Udate: We're using version norconex-collector-http-2.0.1
Thanks a lot!

What the error suggests, is it could not write a file to that location for some reason: /opt/MyCrawler/output/progress/latest/status/MyCrawler__MyCrawler.job
Can it be permission issues?  Does the user running the cronjob have permissions on the directories/files?
There has been quite a few fixes since.  2.1.0 is out, and there are snapshot version of 2.2.0 available also.  I recommend you test with a more recent version and confirm if this happens again.

We updated to version 2.1.0 and had no issues for quite many crawler runs - seems the problem is solved.
Thank you!


Make the entrypoint file more prominent within the deployment selector

Currently the entrypoint file is shown, but appears less significant than the deployment (which is showing title and credential nickname).
Since the entrypoint is the top-level object in a deployment, we need to show it as more prominent. One idea is to update the select button to show it ahead of the title (perhaps with 3 lines), or place it on the same line as the credential. (But horizontal space is limited, so we should probably explore 3 lines first.)
When this is changed, we should also examine how the multi-selector can also show the entrypoint as part of the 2 line entry for each deployment, so that the concepts are consistent.

Group decided to:

Update multi-select entries to include entrypoint (as part of project dir segment)
Add entrypoint name to top of deployment selector


sendget with strides is failing

reported by @vehre here: https://github.com/sourceryinstitute/opencoarrays/pull/250#issuecomment-261204819

https://github.com/sourceryinstitute/opencoarrays/files/597019/stridedsendget.f90.gz


Parquet WriterProperties.max_row_group_size not wired up

Describe the bug
This property (that can be set via the WriterPropertiesBuilder):
https://github.com/apache/arrow-rs/blob/508f25c10032857da34ea88cc8166f0741616a32/parquet/src/file/properties.rs#L99
can only be retrieved using this getter:
https://github.com/apache/arrow-rs/blob/508f25c10032857da34ea88cc8166f0741616a32/parquet/src/file/properties.rs#L132-L135
but this getter is never used. In fact quickly trying out this property has no effect. I think it should probably we wired up here:
https://github.com/apache/arrow-rs/blob/508f25c10032857da34ea88cc8166f0741616a32/parquet/src/arrow/arrow_writer.rs#L80-L101
where the incoming RecordBatch is split into batches of the configured size that will then fed into individual record batches.
To Reproduce
Steps to reproduce the behavior:

create a RecordBatch with 3 rows.
Set WriterProperties.max_row_group_size to 1
Create a parquet file
See the that parquet file has only 1 row group (should be 3).

Expected behavior
Record batches created from arrow should respect WriterProperties.max_row_group_size.
Additional context
Commit in question is 508f25c10032857da34ea88cc8166f0741616a32.

Thanks for noticing this @crepererum, it's related to https://github.com/apache/arrow-rs/issues/225, which is blocked by the inability to slice structs and lists correctly.
We want to use the slice facility to limit the row group sizes, i was thinking about this a few hours ago, that maybe we could track the offset and length in parquet instead of relying on arrow.


merge from template-esm-only

.github/workflows/ci.yml

chore: add ${{ secrets.PKGBUILD_PUBLISH }} (jobs.release.steps.env.PKGBUILD_PUBLISH)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Feature] Workflow adds a  retrying limit on error handling

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

Now Workflow Step will keep retrying when there is an error in execution, which is unnecessary.
Describe the solution you'd like

Workflow adds a limit on the number of times of error handling. When the limit is exceeded, the workflow state changes to suspend.
Describe alternatives you've considered

Additional context

At the same time, we can add a backoff limit mechanism to wait

fixed by #2881


Detect when the plugin is fully loaded

Hello there,
First of all, very nice plugin. I enjoy a lot working with it. Great job and thank you!
I have a question for you: is there any way to detect when the plugin is loaded? Like having something like this:
var taggle = new Taggle('list-tags', {
            callback: function() {
              console.log("Fully loaded!");
            }
});

Thank you!

Hey @DaPo what do you mean "fully loaded"? Since the instantiation is synchronous, couldn't you just do:
var taggle = new Taggle('list-tags');
console.log("Fully loaded!");


lidar.vtp fails to be loaded in ParaViewGlance demo

On https://kitware.github.io/paraview-glance/app/, here is the error preventing ParaViewGlance to load:

Can you try force-refreshing? It happened to me once, and then when I emptied cache and then reloaded it worked for me.

Yes a force refresh (CTRL + SHIFT + R) makes it work the second time.
However if I close the tab and create a new tab again, I still have the issue.
I wonder if there is a timing issue (data is not available when worker is instantiated or something like that?)

I can't seem to reproduce this anymore. Does it occur on nightly? If not then I will update stable to nightly.

Seems that it is fixed in stable. Thanks.


Fix Cheetah error

Fixes #30 and #40

Same issue on my server.
This PR needs to be merged into the repository.

I'm not sure about your changes
see https://discuss.python.org/t/why-is-it-better-to-write-if-a-is-none-instead-of-if-a-none/42203
is not None should be better than != None
This repo is not maintained anymore... I added latest changes and PR to this fork
https://github.com/seehase/neowx-material

The issue is not about
is not None

Rather it is about:
is not

And should be replaced with:
!=

The exact error message is:
SyntaxWarning: "is not" with 'str' literal. Did you mean "!="
Replacing all the 'is not' with '!=' solves the issue.

but all your changed files replaces
is not None
with
!= None
or do I get it wrong, and in this case is not None would be correct

My guess is that you are right.
But the Cheetah Engine may be doing things differently or imposing a more strict syntax.
I ended up doing a global search and replace on all the *.tmpl files, and the warning went away.

OK, i don't cheetah very well, but I cannot see the errors you have
could it be maybe a wrong version
I have CHEETAH 3.2.6 and using the is not None in my templates

My version of Cheetah is newer.
It is 3.3.3, from the Ubuntu 24.04 LTS repositories.
And my python is 3.12.3.


[Remote Store] During index creation, upload path for tlog-data, tlog-md, segment-data and segment-md to fixed base path

Is your feature request related to a problem? Please describe
With optimised prefix pattern for remote store path (as mentioned in https://github.com/opensearch-project/OpenSearch/issues/12567), it becomes necessary to know the path of each shard of all indexes that have been created ever to ensure that we have capability to clean up any zombie data that can happen due to async deletion of remote data after snapshot deletion (after index deletion) or async deletion of translog data.
Describe the solution you'd like
The proposal is to upload the path for each combination of data and metadata files for translog and segment in a fixed path in remote store to be able to refer to all possible paths for a cluster.
Related component
Storage:Performance
Describe alternatives you've considered
No response
Additional context
No response

I was considering MetadataCreateIndexService for hooking index creation. However, ruling it out due to following reasons -

For each index creation, the upload needs to happen in sync and since the cluster manager batches cluster state updates, it means that we can have cluster update timing out if there are multiple indexes created.
Since the MetadataCreateIndexService methods are called only in the context of just one index, we can not batch together the paths for different files in one file upload.

We have another option that is mentioned below. The reason this is good and preferred is because we are able to identify index creation or the migration usecase (document replication type to segment replication with remote store enabled).

Index creation case is handled by using the previous version of the index metadata. If it is null, then the index is getting created for the first time.
Migration case is also handled here. There is a method called write full metadata that gets called in very few cases of which the very first time we enable the remote cluster state using the previousClusterUUID field.
https://github.com/opensearch-project/OpenSearch/blob/bad49efab29bd5161458f182b87c5d78d8de3cac/server/src/main/java/org/opensearch/gateway/remote/RemoteClusterStateService.java#L276-L285


Server count rollups should handle duplicate host names

Some servers can be associated with multiple applications, so the rollups need to take distinct server counts.

Also change server information sample generator to include duplicate server names (associated with different apps)

wip


new referral scheme

So far this captures the relevant referral data in middleware.js, storing it in cookies (for a future login), and passing it in the request headers (for logged in stackers) for storage in the db.
how this is going to work

referrals can be earned the following ways:

explicit referrals by sharing links with /r/<referrer name> at the end or invite links
implicit referrals:

every item link attributes a referral to the OP
every item link with a commentId attributes a referral to the comment's OP
every profile page link attributes a referral to the stacker on the profile
every territory link attributes a referral to the territory founder

for logged out stackers, we store referrals in their cookies to be used on signup:

sn_referrer is set by either explicit or implicit referrals for 24 hours
if a stacker is referred again by an explicit referral within that 24 hour period, it is overwritten
if a stacker is referred again by an implicit referral within that 24 hour period, it is NOT overwritten

for logged in stackers, in addition to the signup referrals, we catalog every explicit and implicit referral they receive in the OneDayReferral table

at the end of the day, for each referee, the most frequent referrer of the referee (ie contributed the most rows to the OneDayReferral table for the referee)  is crowned the "one day referrer" of the referee
the "one day referrer" of the referee gets 50% of the referee's referral rewards, and the referee's original referrer (ie users.referrerId) get the other 50%

20% of all daily rewards will be distributed to the referrers of the daily reward earners (ie the people on the rewards leaderboard)

todos

[x] attribute either implicit or explicit referrer on signup
[ ] use the OneDayReferrral table and users.referrerId to dole out daily referral rewards

@ekzyis I marked this ready for review because I want to deploy this before implementing referral rewards so that I can have a real data set to test rewards on.

Great review! I incorporated all your feedback.


Display theorems in more generality

If A => B => C, users presumably would rather see A => C than A => B. They may or may not want to be able to see B => C.

One day I'd love pi-base to have visualizations of implication trees. See https://en.wikipedia.org/wiki/Selection_principle#/media/File:ScheepersDiagram.jpg for example.


Add running jump animation

The actual only jump animation of the array is ok for idle->jump but looks very weird when doing walk->jump and run->jump
https://user-images.githubusercontent.com/46661277/168200739-d3b0e293-9d38-4045-8b02-193c13b7e861.mp4
The goal of this issue is to find a new animation that works on the vanguard and can fit with the walk->jump and run->jump transitions

Hi @Liquid-Blocks ,
Should I look for new animation on mixamo? or any where else that I could take a look?

Hi @codeeMadness, the only place I know for animations is mixamo, but anything is good.


Allow changes to different Datasets to proceed concurrently

Prior to this change, concurrent modification of two different
Datasets in a given Database would result in an
ErrOptimisticLockFailed for whichever process lost the race. As of
this patch, concurrent changes to the same Dataset will result in an
ErrMergeNeeded for the loser, but concurrent changes to different
Datasets will succeed.
Towards #2524

PTAL

Sweet

jenkins: test this please

lgtm

Note that this needs impl in JS.


Installation: packages missing

Problem:
kaleido is missing:
On Windows 10, Rhino 7.0, ARA 0.9.3 installed using conda instructions.
Warning:
kaleido 0.2.1 causes issues on Windows (hangs up) as previously reported in https://gitlab.renkulab.io/ai-augmented-design/aixd/-/issues/70 .
A working solution is to pip install kaleido==0.1.0.post1 as suggested in https://github.com/plotly/Kaleido/issues/134
TODO:
add the correct version of kaleido to the requirements

For Mac #43, the above solution doesn't work. Instead use:
 $ pip install -U kaleido

Closed with the removal of static plots


[chore] feeData calculation refactor

Splits feeData and payment calculations into separate functions and puts it back into the built query

Test before:
axiomQueryFee:<PHONE_NUMBER>000000
overrideAxiomQueryFee:<PHONE_NUMBER>379098
projectedCallbackCost:<PHONE_NUMBER>79098
maxFeePerGas:<PHONE_NUMBER>
proofVerificationGas:  420000
callbackGasLimit:      100000
Payment:<PHONE_NUMBER>379098
Minimum Payment:<PHONE_NUMBER>379098

Test after (note that projectedCallbackCost varies based on the L1 fee from the oracle):
axiomQueryFee:<PHONE_NUMBER>000000
overrideAxiomQueryFee:<PHONE_NUMBER>747220
projectedCallbackCost:<PHONE_NUMBER>47220
maxFeePerGas<PHONE_NUMBER>
callbackGasLimit       100000
proofVerificationGas   420000
payment<PHONE_NUMBER>747220
minimumPayment<PHONE_NUMBER>747220

tests passed && ready for review


Fix usage of previous/current timestep - module_levelpool.f90

The current or previous time step is used in the incorrect place. Instead the files should use previous for previous and current for current.

https://github.com/NCAR/wrf_hydro_nwm_public/blob/master/trunk/NDHMS/Routing/Reservoirs/Persistence_Level_Pool_Hybrid/module_persistence_levelpool_hybrid.F#L354


delete_unpublished_courses does not respect limit

Steps to Reproduce

Configure ocw-studio to import courses from S3
Run ./manage.py import_ocw_course_sites -b ocw-to-hugo-output-qa -l 1

Expected Behavior

1 course is imported and unpublished courses are removed from the DB

Actual Behavior

1 course is imported and every imported course that is not the imported course is removed

Closed in https://github.com/mitodl/ocw-studio/pull/551


Ui got freez when the child have many items

https://user-images.githubusercontent.com/109852917/181875388-b53b65d7-64e4-4434-af9b-b4f6dc81d0c0.mp4
vendor (include 40 folders and 1 files as child)
node_modules (include 300+ folders as child)
I think it's occured by this  or maybe this
I have tried to used with java.util.concurrent.Executor (in case asynctask is deprecated and not familiar with rxjava) but somehow the view didn't show anything like it doesn't get the notify

Yeah, I think you're right DocumentFile.listFiles() is pretty slow compare with File.listFiles() according  to this, maybe you can try his approach to see if it can get better performance?

Yeah, I think you're right DocumentFile.listFiles() is pretty slow compare with File.listFiles() according to this, maybe you can try his approach to see if you can get better performance?

I'm stuck I tried this  but some of the constructor are not public, I have no idea to make it:)

Check out ItzNotABug/DocumentFileCompat, it is much faster than DocumentFile and the usage just the same.
See https://github.com/ikws4/TreeView/commit/1c5b98f25fea5cd700bef73f965b951752133397.

last commit was resolved the issues above but I got new bugs

Somehow the view always recognize every child as expandable I think that's why this code doesn't work

sorting doesn't apply

I think it caught by (1) unable to click item which are not expandable (In my app I have implemented debug activity and it saying java.lang.nullpointerexception attempt to get length of null array

Somehow the view always recognize every child as expandable I think that's why this code doesn't work

It has nothing to do with the library itself, but the issue with ItzNotABug/DocumentFileCompat, it's isDirectory seem not working. So I changed it to !isFile().

sorting doesn't apply

Sorting does applied, but may not as you wanted.

So I changed to this


Rename repository to RiffRaff

People often fail to find this repository because it's commonly referred to as RiffRaff. I'd also like to change the build name, but we can probably do that as part of moving the build out of TeamCity.
cc @jennysivapalan @Reettaphant @sihil

Also should it then be riff-raff? That seems most consistent with naming elsewhere to me.

Agreed riff-raff to be consistent.

I've done this. To riffraff initially (since that was the sub domain), but am happy with the consensus I found here. GitHub seems to automatically redirect which is nice and I've updated TeamCity.
You'll need to reclone or update the origin on your existing repos: git remote set-url origin git@github.com:guardian/riff-raff.git.


FID and MS-SSIM

Dear Author,I have used the pretrained weights file 'brats_unet_128_1200k.pt' to infer 156 images, and then calculated the FID and MS-SSIM metrics. However, the FID is 176.4371, and the MS-SSIM is 0.8892, which are significantly different from the metrics reported in the paper. I have run the inference twice, and the results are within this range. Additionally, I have tried training on the BRATS2021 dataset, and at 100,000 iterations, the inferred FID is 141.5412, and the MS-SSIM is 0.8929. At 210,000 iterations, the FID is 156.3899, and the MS-SSIM is 0.8747. Could you please tell me why there is such a discrepancy?

@Jason-u can you specify what you did exactly? As far as I understood, you inferred 156 samples (in our paper we report scores over 1000 samples) and then computed FID and MS-SSIM. How many reference images of the real dataset did you use to compute these scores? Also just 156?

no,I use the whole dataset
------------------ Original ------------------
From: Paul Friedrich @.>
Date: Fri,Oct 4,2024 3:41 PM
To: pfriedri/wdm-3d @.>
Cc: Jason-u @.>, Mention @.>
Subject: Re: [pfriedri/wdm-3d] FID and MS-SSIM (Issue #6)

@Jason-u I think this is the problem. If you did not change the variable sets.num_samples to another value (default is 1000) you actually initialize the array containing the activations from the feature extraction network to have 1000 entries (pred_arr = np.empty((sets.num_samples, sets.dims)). As np.empty initializes this array with arbitrary values and you just fill 156 of the 1000 entries with non-random numbers, the computed FID scores make no sense at all. You would rather need to reduce this number to the number of samples (this would make the results less robust) or generate more samples (in this case 1000).

Thank you for your response, I will give it a try again today. Do you think there is a way to improve the MS-SSIM score, is it because the wavelet caused its low MS-SSIM metric? I hope to seek your advice, thank you for your help.

@Jason-u good to hear. I'm not sure I understand the question. We use MS-SSIM to measure the diversity of the generated images. A low MS-SSIM score in this case indicates that the generated images are not similar to each other, i.e. they are diverse. So a low MS-SSIM score is what we actually want.

Translation: Haha, I'm sorry for such a mistake, thank you for your help!


[StateAccumulator] Gate wrapped object assertion behind protocol

Description
Describe the changes or additions included in this PR.
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Covered by https://github.com/MystenLabs/sui/pull/10416/files


Problem about train

Thanks for your code!
Can the code for this object detection be used for training?if it is possible，Can you give me some advice?


Set Line breaks correctly

Camunda Modeler system information

Version: 5.0.0-alpha.1
Operating System: Windows 10 amd64
Plugins:
Execution Platform: BPMN - Camunda Platform

Is your feature request related to a problem? Please describe.
Longer descriptions in e.g., tasks, annotations, are "line-break" in a gramatically not correct manner. This leads to poor (not professional-looking diagrams.
Describe the solution you'd like
"Line break" according to grammatical rules
Describe alternatives you've considered
Allow setting manual line breaks. Allow using Markup / HTML.
Additional context

Hello,
Thank you for your contribution. At the moment this is not on our roadmap, but we will move it into our backlog for future consideration.


issue #183: shorten URL pasted into sheet

Also gets rid of slack link

RIP slack. Did we want to remove all slack references from the codebases or just in this google sheet creation logic?

Depends on how likely it is that discord becomes worse and we want to switch back to slack in the future...
@asdfryan wrote all the slack integration last year, any thoughts how easy it would be to de- or re-tangle?

Depends on how likely it is that discord becomes worse and we want to switch back to slack in the future...
@asdfryan wrote all the slack integration last year, any thoughts how easy it would be to de- or re-tangle?

YAGNI. Just delete it all IMO.


Speeding up inserts in blob storage

I'm finding that inserting data into a table is quite slow when it's backed by blob storage (Azure blob storage in my case). I've tried:

Single insert of entire dataset at table creation time
Batched insert (Table.add) post table creation
Multi-threaded insert (is the Table object thread safe?)

All of them seem to be equally slow. What's the best way to speed this up?

Hi @aravindsrinivasan, thanks for trying out LanceDB.
The methods you are using to insert all seem reasonable. I don't think you are using LanceDB in a way that would make it slow.
I think the most productive thing you could do here is quantify how fast you are able to write on Azure with LanceDB vs some other library. For example, you can time how long it takes to insert 100,000 vectors. Then if you vectors are say 1024 dimensions, then you can estimate the data you wrote is about 100,000 * 1024 dim * 4 bytes ~= 400MB. (If there are other columns, you will have to account for the size of those as well.) Divide that by the number of seconds it took and you get an estimate of how much throughput you are getting from writing with LanceDB. For comparison, it would be useful to know how slow that is compared to using the Azure CLI to upload a file directly (like this).

@wjones127 thank you for the response. Turns out my internet was the culprit -- plugging in the ethernet cable made it 10x faster.
Generally speaking, what has your team found to be the fastest way to upload into an index? Parallelization didn't seem to work as well as sequential inserts with a large batch size. This feels counter intuitive to me so curious if this is to be expected

Thansk @wjones127.


moleculer-db lifecycle functions are excluded

I have a problem, with moleculer-db mixed into one of my services. moleculer-db contains lifecycle entity functions, that aren't actions, methods or events. They are global in the same way as created(), started() and stopped() functions.
Namely
    afterConnected() {
        ...
    },

    entityCreated(json, ctx) {
        ...
    },

    entityUpdated(json, ctx) {
        ...
    },

    entityRemoved(json, ctx) {
        ...
    },

And the problem is, that when I use db adapter, the moment when it connects to database, it's calling a function, which doesn't exists in the schema under this.schema.afterConnected
https://github.com/moleculerjs/moleculer-db/blob/b80c01bf1e4f6e4aae38f67b203bb58e428632b7/packages/moleculer-db/src/index.js#L389
and therefore, this service and its lifecycle db event won't trigger
@Service({
  name: "users",
  mixins: [DbService],
  adapter: new MongooseDbAdapter(process.env.MONGO_URI),
  model: UserModel
})
class UsersService extends BaseSchema {
  ...

  public async afterConnected() {
    const count = await this.adapter.count();
    if (count === 0) {
      await this.seedDB();
    } else {
      this.logger.info(`${count} users in DB. Skipping seed...`);
    }
  }
}

You need to use the @Method decorator if you need the function in the service, otherwize it's "private" and wont be accessible from a function that's been executed in the moleculer-context.
In your case the afterConnected is being called from another moleculer service and in this case it's your mixin, that's why it's not accessible, unless you add the @Method decorator.


Subscribe to projects

This PR introduces a new feature: It allows users to subscribe to a project to get notifications.

[x] Add the DS to store new subscriptions (#87)
[x] Add the use case logic to the domain (#88)
[x] Add a GUI component to trigger subscriptions (#92)
[x] Notify the user about success or failure of subscriptions (#96)
[x] Wire together view and use case (#96)

I think this is ready to review, right @KochTobi?


Delete exchangeV2 dependencies

Work points:
1.Move IAssetMatcher from exchangeV2

NO need it anymore
do all task in #59, #50, #55


Dos numberstring

There are several things in this PR that I found while working on the main feature. I'm not sure about the last one for 1+1/3. but a test depended on it so I put it here. What do you think ?

 I pushed -f . Should be good now. I included some other commits because I think they can go in, if not we can just skip them

Does this bootstrap?
I get this:
resource:basis/math/functions/functions.factor

233: : most-negative-finite-float ( -- x )
234:     -0x1.ffff,ffff,ffff,fp1023 >integer ; inline
                                   ^
T{ no-math-method f 1 2 / }

The following restarts are available:

:1      Load resource:basis/math/functions/functions.factor again
:2      Load resource:basis/math/ratios/ratios.factor again
Factor 0.98 x86.64 (1682, heads/master-0-gb9c0255, Tue May 12 09:30:20 2015)

I hadn't tested bootstrapping.. it's because of
8c476a9 math.parser: don't lose precision in make-float-bin-exponent
I'm not sure what is happening ? While recompiling math.ratios and math.functions, the parser can't do arithmetic like 1 2 / that creates a ratio ? Not sure if we should work around in math.functions and define the constant somewhere else, or ensure that the parser doesn't use ratios, or something else ?

Hmm, I'm not sure why ratios would not be available - I'll try and look at this later today.

Anyway this is not new, the following patch breaks bootstrap even before the changes of this PR
diff --git a/basis/math/functions/functions.factor b/basis/math/functions/functi
index 6b1382f..bea47c8 100644
--- a/basis/math/functions/functions.factor
+++ b/basis/math/functions/functions.factor
@@ -230,6 +230,7 @@ M: complex log >polar [ flog ] dip rect> ; inline

 <PRIVATE

+: useless ( -- x ) 1.1e10;
 : most-negative-finite-float ( -- x )
     -0x1.ffff,ffff,ffff,fp1023 >integer ; inline

So vocabs loaded by basis/bootstrap/math/math.factor during the "math.ratios" require phase were already not allowed to used dec floats with positive exponents (because the math.parser implementation uses ratios for these. My change is to also use ratios for hex floats with positive exponents). Note that floats with negative exponents work because ratios are not used...

I don't know the bootstrap system enough, but does this mean we should move math.ratios to core ?

Hmm, I see.  math.ratios depends on math.functions.  And math.parser depends on math.ratios in some cases...

This workaround fixes bootstrap
diff --git a/basis/math/functions/functions.factor b/basis/math/functions/functions.factor
index 6b1382f..d338129 100644
--- a/basis/math/functions/functions.factor
+++ b/basis/math/functions/functions.factor
@@ -230,11 +230,9 @@ M: complex log >polar [ flog ] dip rect> ; inline

 <PRIVATE

-: most-negative-finite-float ( -- x )
-    -0x1.ffff,ffff,ffff,fp1023 >integer ; inline
+CONSTANT: most-negative-finite-float -17976931348623157081452742373170435679807056752584499659891747680315726078002853876058955863276

-: most-positive-finite-float ( -- x )
-    0x1.ffff,ffff,ffff,fp1023 >integer ; inline
+CONSTANT: most-positive-finite-float<PHONE_NUMBER>8623157081452742373170435679807056752584499659891747680315726078002853876058955863276

 CONSTANT: log-2   0x1.62e42fefa39efp-1
 CONSTANT: log10-2 0x1.34413509f79ffp-2

What if we changed it to not do recip and instead do 1.0 swap /, does that still have precision problems?

1.0 swap / still has precision problems. Even more tests fail with it (like 1.0e2 then becomes 99.9999999999999)

I think if we move gcd to math, then we can remove the requirement on math.functions and probably move math.ratios into core so that math.parser can depend on it?
@erg what do you think?  These would be moved:
FROM: math => gcd fast-gcd lcm ;

And if we move rect> and >rect, we can move math.complex which is I think a good idea.

The number tower was meant to be opt-in but nobody seems to not include
ratios or complex numbers. I guess it's fine to move those into core.
On Thu, Jul 30, 2015 at 9:04 AM, John Benediktsson<EMAIL_ADDRESS>
wrote:

And if we move rect> and >rect, we can move math.complex which is I think
a good idea.
—
Reply to this email directly or view it on GitHub
https://github.com/slavapestov/factor/pull/1408#issuecomment-126383519.

Well in this case math.ratios would be needed to parse floats by math.parser, so thats a good reason for "core".

So, I moved math.ratios to core so we can use them in math.parser, and I get this test failure on this branch?
==== resource:core/math/parser/parser-tests.factor

resource:core/math/parser/parser-tests.factor: 453

Unit Test: {
    { 1.25 }
    [
        "1+1/4" 3000 [ 48 ] "" replicate-as append
        "e-3000" append string>number
    ]
}

=== Expected:
1.25
=== Got:
f

Want to try rebasing on master and looking at that?

Also, it appears that benchmark.parse-float is faster, but the benchmark.parse-fixnum and benchmark.parse-bignum get slower?

It needs https://github.com/jonenst/factor/commit/f582ab1a0d1a22a4588b0c8b33348e77164fae6f to pass this test. I had included it in the first version of this PR, but it's controversial and I didn't remember why I had included it so I removed it in the second version.. Sorry about that.
So maybe remove or comment out this test for now and discuss what we want in https://github.com/slavapestov/factor/pull/1362 ?
Basically, the main problem with https://github.com/jonenst/factor/commit/f582ab1a0d1a22a4588b0c8b33348e77164fae6f is that it has the following behavior
1+1/1e10 ! 1.0000000001
1+1/1e100 ! 1.0
1+1/1e1000 ! f

which is not intuitive (the last one is f because we check that the right part of + is not number= to an integer to refuse input like 1+0 or 1+0.0, but by the time we do this check, we can't tell if the input was 1+0.0 or 1+1/1e1000)

Also, it appears that benchmark.parse-float is faster, but the benchmark.parse-fixnum and benchmark.parse-bignum get slower?

Well when parsing non floats number, we are incrementing the 'magnitude' field at each digit for nothing because we only find out that it's a float at the end when parsing the dot or the exponent. But I didn't expect that to be a big performance hit... How much slower is it ?

Looks like a bit of a regression for integers, and not the speedup I thought.

Jon
On Thu, Jul 30, 2015 at 8:14 PM, John Benediktsson<EMAIL_ADDRESS>
wrote:

Looks like a bit of a regression for integers, and not the speedup I
thought.

Okay, will do!

If you move ratios and complex to core, then you have larger deploy images. You can't strip out math.

math already had ratio and complex tuple. I added gcd to it, though.

Are you saying that core/ already had ratio and complex tuples defined in core?

Yeah in core/math/math.factor.

Okay, merged!  Committed b3323c15bd914d2dc3b518703ac6b9c5b8c55b76 which fixed some performance issues.


fix(infra): run 'check_stac_metadata' test first in dataset validation

check_stac_metadata step should run as first one.

Ah, thanks. I was wondering why I still see this this change in my diff.

Fixed now.


materialized: incremental fails if table does not already exist

When setting a table to incremental, dbt throws the following error if the table does not already exist:
aggregates not allowed in WHERE clause

Ideally, when set to incremental, dbt would check if the table exists, and if it does not, build the table. It works fine in cases where the table already exists.

Agree--100%, that is the intended goal. If it's not working in the case of the table not yet existing that's a bug.

@duncancfraser -- this is supposed to work! I could foresee an issue where dbt would get confused if the table schema changes between dbt incremental runs, but there's definitely logic in there to create a new table if one doesn't exist for incremental models.
Can you send me (here or via email) the relevant output from logs/dbt.log -- would love to get this working properly.

@drewbanin sure thing!
create temporary table "address_lookup__dbt_incremental_tmp" diststyle key distkey ("address_id") compound sortkey ("address_id", "zipcode") as (
    select * from (
        with __dbt__CTE__spree_countries as
  (select *
   from storefront.spree_countries),
     __dbt__CTE__dma_zip_map as
  (select *
   from maps.zip_to_dma),
     __dbt__CTE__zip_code_tax_rates as
  (select *
   from storefront.zip_code_tax_rates),
     __dbt__CTE__spree_states as
  (select *
   from storefront.spree_states),
     __dbt__CTE__household_by_dma_2015 as
  (select *
   from maps.hh_dma_2015_stats ),
     __dbt__CTE__courier_zones as
  (select *
   from maps.courier_zones),
     __dbt__CTE__spree_addresses as
  (select *,
          case
              when address1 similar to '%(45 Bond|47-09 30th St|37 E 18th|37 East 18th|151 W. 26th St.|151 West 26th St.)%' then true
              else false
          end as is_casper_address
   from storefront.spree_addresses)
select sa.id as address_id,
       sa.updated_at,
       sa.firstname,
       sa.lastname,
       sa.address1,
       sa.address2,
       sa.city,
       sa.is_casper_address,
       sa.zipcode,
       cty.iso as country_iso,
       cty.iso3 as country_iso3,
       cty.name as country,
       sst.name as state,
       sst.abbr as state_code,
       dmz.dma_name,
       dmz.dma_code,
       cz.carrier_name as courier_name,
       cz.courier_region,
       cz.max_delivery_date,
       cz.min_delivery_date,
       cz.status as courier_zone_status,
       ztr.tax_region_code,
       ztr.tax_region_name,
       ztr.combined_rate as combined_tax_rate,
       ztr.state_rate as state_tax_rate,
       ztr.county_rate as country_tax_rate,
       ztr.city_rate as city_tax_rate,
       ztr.special_rate as special_tax_rate,
       hh.household_count,
       hh.population_12_and_older,
       hh.household_rank
from __dbt__CTE__spree_addresses sa
left join __dbt__CTE__spree_countries cty on sa.country_id = cty.id
left join __dbt__CTE__spree_states sst on sst.id = sa.state_id
left join __dbt__CTE__dma_zip_map dmz on dmz.zip = sa.zipcode
left join __dbt__CTE__courier_zones cz on cz.zip_code = sa.zipcode
left join __dbt__CTE__zip_code_tax_rates ztr on ztr.zip_code = sa.zipcode
left join __dbt__CTE__household_by_dma_2015 hh on hh.dma_code = dmz.dma_code
    ) as tmp limit 0
);

create table if not exists "analytics"."address_lookup" (like "address_lookup__dbt_incremental_tmp");

delete from "analytics"."address_lookup" where  (address_id) in (
    with dbt_delete_sbq as (
        with __dbt__CTE__spree_countries as
  (select *
   from storefront.spree_countries),
     __dbt__CTE__dma_zip_map as
  (select *
   from maps.zip_to_dma),
     __dbt__CTE__zip_code_tax_rates as
  (select *
   from storefront.zip_code_tax_rates),
     __dbt__CTE__spree_states as
  (select *
   from storefront.spree_states),
     __dbt__CTE__household_by_dma_2015 as
  (select *
   from maps.hh_dma_2015_stats ),
     __dbt__CTE__courier_zones as
  (select *
   from maps.courier_zones),
     __dbt__CTE__spree_addresses as
  (select *,
          case
              when address1 similar to '%(45 Bond|47-09 30th St|37 E 18th|37 East 18th|151 W. 26th St.|151 West 26th St.)%' then true
              else false
          end as is_casper_address
   from storefront.spree_addresses)
select sa.id as address_id,
       sa.updated_at,
       sa.firstname,
       sa.lastname,
       sa.address1,
       sa.address2,
       sa.city,
       sa.is_casper_address,
       sa.zipcode,
       cty.iso as country_iso,
       cty.iso3 as country_iso3,
       cty.name as country,
       sst.name as state,
       sst.abbr as state_code,
       dmz.dma_name,
       dmz.dma_code,
       cz.carrier_name as courier_name,
       cz.courier_region,
       cz.max_delivery_date,
       cz.min_delivery_date,
       cz.status as courier_zone_status,
       ztr.tax_region_code,
       ztr.tax_region_name,
       ztr.combined_rate as combined_tax_rate,
       ztr.state_rate as state_tax_rate,
       ztr.county_rate as country_tax_rate,
       ztr.city_rate as city_tax_rate,
       ztr.special_rate as special_tax_rate,
       hh.household_count,
       hh.population_12_and_older,
       hh.household_rank
from __dbt__CTE__spree_addresses sa
left join __dbt__CTE__spree_countries cty on sa.country_id = cty.id
left join __dbt__CTE__spree_states sst on sst.id = sa.state_id
left join __dbt__CTE__dma_zip_map dmz on dmz.zip = sa.zipcode
left join __dbt__CTE__courier_zones cz on cz.zip_code = sa.zipcode
left join __dbt__CTE__zip_code_tax_rates ztr on ztr.zip_code = sa.zipcode
left join __dbt__CTE__household_by_dma_2015 hh on hh.dma_code = dmz.dma_code
    )
    select (address_id) from dbt_delete_sbq
    where (updated_at > (select max(updated_at) from "analytics"."address_lookup")) or (updated_at > (select max(updated_at) from "analytics"."address_lookup")) is null
);

insert into "analytics"."address_lookup" (
    with dbt_incr_sbq as (
        with __dbt__CTE__spree_countries as
  (select *
   from storefront.spree_countries),
     __dbt__CTE__dma_zip_map as
  (select *
   from maps.zip_to_dma),
     __dbt__CTE__zip_code_tax_rates as
  (select *
   from storefront.zip_code_tax_rates),
     __dbt__CTE__spree_states as
  (select *
   from storefront.spree_states),
     __dbt__CTE__household_by_dma_2015 as
  (select *
   from maps.hh_dma_2015_stats ),
     __dbt__CTE__courier_zones as
  (select *
   from maps.courier_zones),
     __dbt__CTE__spree_addresses as
  (select *,
          case
              when address1 similar to '%(45 Bond|47-09 30th St|37 E 18th|37 East 18th|151 W. 26th St.|151 West 26th St.)%' then true
              else false
          end as is_casper_address
   from storefront.spree_addresses)
select sa.id as address_id,
       sa.updated_at,
       sa.firstname,
       sa.lastname,
       sa.address1,
       sa.address2,
       sa.city,
       sa.is_casper_address,
       sa.zipcode,
       cty.iso as country_iso,
       cty.iso3 as country_iso3,
       cty.name as country,
       sst.name as state,
       sst.abbr as state_code,
       dmz.dma_name,
       dmz.dma_code,
       cz.carrier_name as courier_name,
       cz.courier_region,
       cz.max_delivery_date,
       cz.min_delivery_date,
       cz.status as courier_zone_status,
       ztr.tax_region_code,
       ztr.tax_region_name,
       ztr.combined_rate as combined_tax_rate,
       ztr.state_rate as state_tax_rate,
       ztr.county_rate as country_tax_rate,
       ztr.city_rate as city_tax_rate,
       ztr.special_rate as special_tax_rate,
       hh.household_count,
       hh.population_12_and_older,
       hh.household_rank
from __dbt__CTE__spree_addresses sa
left join __dbt__CTE__spree_countries cty on sa.country_id = cty.id
left join __dbt__CTE__spree_states sst on sst.id = sa.state_id
left join __dbt__CTE__dma_zip_map dmz on dmz.zip = sa.zipcode
left join __dbt__CTE__courier_zones cz on cz.zip_code = sa.zipcode
left join __dbt__CTE__zip_code_tax_rates ztr on ztr.zip_code = sa.zipcode
left join __dbt__CTE__household_by_dma_2015 hh on hh.dma_code = dmz.dma_code
    )
    select * from dbt_incr_sbq
    where (updated_at > (select max(updated_at) from "analytics"."address_lookup")) or (updated_at > (select max(updated_at) from "analytics"."address_lookup")) is null
);

2016-08-28 16:45:40,173 - dbt.schema - ERROR - Thread-2 - Error running SQL: -- Compiled by DBT

create temporary table "address_lookup__dbt_incremental_tmp" diststyle key distkey ("address_id") compound sortkey ("address_id", "zipcode") as (
    select * from (
        with __dbt__CTE__spree_countries as
  (select *
   from storefront.spree_countries),
     __dbt__CTE__dma_zip_map as
  (select *
   from maps.zip_to_dma),
     __dbt__CTE__zip_code_tax_rates as
  (select *
   from storefront.zip_code_tax_rates),
     __dbt__CTE__spree_states as
  (select *
   from storefront.spree_states),
     __dbt__CTE__household_by_dma_2015 as
  (select *
   from maps.hh_dma_2015_stats ),
     __dbt__CTE__courier_zones as
  (select *
   from maps.courier_zones),
     __dbt__CTE__spree_addresses as
  (select *,
          case
              when address1 similar to '%(45 Bond|47-09 30th St|37 E 18th|37 East 18th|151 W. 26th St.|151 West 26th St.)%' then true
              else false
          end as is_casper_address
   from storefront.spree_addresses)
select sa.id as address_id,
       sa.updated_at,
       sa.firstname,
       sa.lastname,
       sa.address1,
       sa.address2,
       sa.city,
       sa.is_casper_address,
       sa.zipcode,
       cty.iso as country_iso,
       cty.iso3 as country_iso3,
       cty.name as country,
       sst.name as state,
       sst.abbr as state_code,
       dmz.dma_name,
       dmz.dma_code,
       cz.carrier_name as courier_name,
       cz.courier_region,
       cz.max_delivery_date,
       cz.min_delivery_date,
       cz.status as courier_zone_status,
       ztr.tax_region_code,
       ztr.tax_region_name,
       ztr.combined_rate as combined_tax_rate,
       ztr.state_rate as state_tax_rate,
       ztr.county_rate as country_tax_rate,
       ztr.city_rate as city_tax_rate,
       ztr.special_rate as special_tax_rate,
       hh.household_count,
       hh.population_12_and_older,
       hh.household_rank
from __dbt__CTE__spree_addresses sa
left join __dbt__CTE__spree_countries cty on sa.country_id = cty.id
left join __dbt__CTE__spree_states sst on sst.id = sa.state_id
left join __dbt__CTE__dma_zip_map dmz on dmz.zip = sa.zipcode
left join __dbt__CTE__courier_zones cz on cz.zip_code = sa.zipcode
left join __dbt__CTE__zip_code_tax_rates ztr on ztr.zip_code = sa.zipcode
left join __dbt__CTE__household_by_dma_2015 hh on hh.dma_code = dmz.dma_code
    ) as tmp limit 0
);

create table if not exists "analytics"."address_lookup" (like "address_lookup__dbt_incremental_tmp");

delete from "analytics"."address_lookup" where  (address_id) in (
    with dbt_delete_sbq as (
        with __dbt__CTE__spree_countries as
  (select *
   from storefront.spree_countries),
     __dbt__CTE__dma_zip_map as
  (select *
   from maps.zip_to_dma),
     __dbt__CTE__zip_code_tax_rates as
  (select *
   from storefront.zip_code_tax_rates),
     __dbt__CTE__spree_states as
  (select *
   from storefront.spree_states),
     __dbt__CTE__household_by_dma_2015 as
  (select *
   from maps.hh_dma_2015_stats ),
     __dbt__CTE__courier_zones as
  (select *
   from maps.courier_zones),
     __dbt__CTE__spree_addresses as
  (select *,
          case
              when address1 similar to '%(45 Bond|47-09 30th St|37 E 18th|37 East 18th|151 W. 26th St.|151 West 26th St.)%' then true
              else false
          end as is_casper_address
   from storefront.spree_addresses)
select sa.id as address_id,
       sa.updated_at,
       sa.firstname,
       sa.lastname,
       sa.address1,
       sa.address2,
       sa.city,
       sa.is_casper_address,
       sa.zipcode,
       cty.iso as country_iso,
       cty.iso3 as country_iso3,
       cty.name as country,
       sst.name as state,
       sst.abbr as state_code,
       dmz.dma_name,
       dmz.dma_code,
       cz.carrier_name as courier_name,
       cz.courier_region,
       cz.max_delivery_date,
       cz.min_delivery_date,
       cz.status as courier_zone_status,
       ztr.tax_region_code,
       ztr.tax_region_name,
       ztr.combined_rate as combined_tax_rate,
       ztr.state_rate as state_tax_rate,
       ztr.county_rate as country_tax_rate,
       ztr.city_rate as city_tax_rate,
       ztr.special_rate as special_tax_rate,
       hh.household_count,
       hh.population_12_and_older,
       hh.household_rank
from __dbt__CTE__spree_addresses sa
left join __dbt__CTE__spree_countries cty on sa.country_id = cty.id
left join __dbt__CTE__spree_states sst on sst.id = sa.state_id
left join __dbt__CTE__dma_zip_map dmz on dmz.zip = sa.zipcode
left join __dbt__CTE__courier_zones cz on cz.zip_code = sa.zipcode
left join __dbt__CTE__zip_code_tax_rates ztr on ztr.zip_code = sa.zipcode
left join __dbt__CTE__household_by_dma_2015 hh on hh.dma_code = dmz.dma_code
    )
    select (address_id) from dbt_delete_sbq
    where (updated_at > (select max(updated_at) from "analytics"."address_lookup")) or (updated_at > (select max(updated_at) from "analytics"."address_lookup")) is null
);

insert into "analytics"."address_lookup" (
    with dbt_incr_sbq as (
        with __dbt__CTE__spree_countries as
  (select *
   from storefront.spree_countries),
     __dbt__CTE__dma_zip_map as
  (select *
   from maps.zip_to_dma),
     __dbt__CTE__zip_code_tax_rates as
  (select *
   from storefront.zip_code_tax_rates),
     __dbt__CTE__spree_states as
  (select *
   from storefront.spree_states),
     __dbt__CTE__household_by_dma_2015 as
  (select *
   from maps.hh_dma_2015_stats ),
     __dbt__CTE__courier_zones as
  (select *
   from maps.courier_zones),
     __dbt__CTE__spree_addresses as
  (select *,
          case
              when address1 similar to '%(45 Bond|47-09 30th St|37 E 18th|37 East 18th|151 W. 26th St.|151 West 26th St.)%' then true
              else false
          end as is_casper_address
   from storefront.spree_addresses)
select sa.id as address_id,
       sa.updated_at,
       sa.firstname,
       sa.lastname,
       sa.address1,
       sa.address2,
       sa.city,
       sa.is_casper_address,
       sa.zipcode,
       cty.iso as country_iso,
       cty.iso3 as country_iso3,
       cty.name as country,
       sst.name as state,
       sst.abbr as state_code,
       dmz.dma_name,
       dmz.dma_code,
       cz.carrier_name as courier_name,
       cz.courier_region,
       cz.max_delivery_date,
       cz.min_delivery_date,
       cz.status as courier_zone_status,
       ztr.tax_region_code,
       ztr.tax_region_name,
       ztr.combined_rate as combined_tax_rate,
       ztr.state_rate as state_tax_rate,
       ztr.county_rate as country_tax_rate,
       ztr.city_rate as city_tax_rate,
       ztr.special_rate as special_tax_rate,
       hh.household_count,
       hh.population_12_and_older,
       hh.household_rank
from __dbt__CTE__spree_addresses sa
left join __dbt__CTE__spree_countries cty on sa.country_id = cty.id
left join __dbt__CTE__spree_states sst on sst.id = sa.state_id
left join __dbt__CTE__dma_zip_map dmz on dmz.zip = sa.zipcode
left join __dbt__CTE__courier_zones cz on cz.zip_code = sa.zipcode
left join __dbt__CTE__zip_code_tax_rates ztr on ztr.zip_code = sa.zipcode
left join __dbt__CTE__household_by_dma_2015 hh on hh.dma_code = dmz.dma_code
    )
    select * from dbt_incr_sbq
    where (updated_at > (select max(updated_at) from "analytics"."address_lookup")) or (updated_at > (select max(updated_at) from "analytics"."address_lookup")) is null
);

Traceback (most recent call last):
  File "/Users/duncan.fraser/anaconda2/lib/python2.7/site-packages/dbt/schema.py", line 61, in execute
    cursor.execute(sql)
ProgrammingError: aggregates not allowed in WHERE clause

2016-08-28 16:45:40,173 - dbt.schema - DEBUG - Thread-2 - rolling back connection
2016-08-28 16:45:40,174 - dbt.runner - ERROR - Thread-2 - Error executing target/build/Casper/fat/address_lookup.sql
aggregates not allowed in WHERE clause
Traceback (most recent call last):
  File "/Users/duncan.fraser/anaconda2/lib/python2.7/site-packages/dbt/runner.py", line 239, in safe_execute_model
    status = self.execute_model(runner, model)
  File "/Users/duncan.fraser/anaconda2/lib/python2.7/site-packages/dbt/runner.py", line 229, in execute_model
    result = runner.execute(self.schema, self.target, model)
  File "/Users/duncan.fraser/anaconda2/lib/python2.7/site-packages/dbt/runner.py", line 102, in execute
    status = schema.execute_and_handle_permissions(model.contents, model.name)
  File "/Users/duncan.fraser/anaconda2/lib/python2.7/site-packages/dbt/schema.py", line 99, in execute_and_handle_permissions
    raise e
ProgrammingError: aggregates not allowed in WHERE clause

@duncancfraser this is a strange one -- the above SQL should work as expected. Moreover, there aren't any aggregates in any of the where clauses, so the aggregates not allowed in WHERE clause error message doesn't seem like a reasonable one. Are you still having a problem with this?

re: "work as expected" -- if you run the SELECT part of the query inside of the INSERT statement, you get back a result set without any errors! strange

Closing this!


fix(RTE): remove whitespaces only in tables and lists [TOL-104]

Currently when pasting in a text with links inside, the whitespace before the links are removed.
After this changes it will now only remove whitespaces that can lead to misleading behaviour (inside of tables and lists)

@chrishelgert and maybe @contentful/team-tolkien  I was playing around with the latest Table plugin from Plate and it doesn't seem to suffer from the issue covered in the tests. The editor also doesn't have the bug with hyperlink spacing. It seems like a few plugins have changed a lot since we integrated tables. I wonder if it is worth experimenting a bit by updating our relevant code.
Keep in mind that this likely won't come out of the box when upgrading Plate (at least some features won't) because we have to opt-in manually in our plugin implementations (this affects both tables and lists). That's because we are overriding what gets registered on plugin initialization
Since we have to upgrade Plate anyway soon it may be worth the effort in my opinion. What do you think?

@chrishelgert and maybe @contentful/team-tolkien I was playing around with the latest Table plugin from Plate and it doesn't seem to suffer from the issue covered in the tests. The editor also doesn't have the bug with hyperlink spacing. It seems like a few plugins have changed a lot since we integrated tables. I wonder if it is worth experimenting a bit by updating our relevant code.
Keep in mind that this likely won't come out of the box when upgrading Plate (at least some features won't) because we have to opt-in manually in our plugin implementations (this affects both tables and lists). That's because we are overriding what gets registered on plugin initialization
Since we have to upgrade Plate anyway soon it may be worth the effort in my opinion. What do you think?

We've already a ticket and a draft pr for the update, we should adjust the AC, then estimate it and then have a look how we can bring it into the roadmap 👍
I think we already thought about having a look again at the implementation and our custom code around the RTE regarding some safari issues.
As it might take some time to get the update shipped, I would suggest that we ship the current workarounds and check with/after the update if we can get rid of them again, what do you think?


doc: #26 clarify which init to use, reformat docs for easier noticing this

Motivation:
I noticed on a community chat that it was confusing to some that the first init they noticed was documented as "dont use this".
The specific confusion was:

first found init(label: String, dimensions: [(String, String)], handler: TimerHandler) but it has docs "do not use" (correctly, as the intended one to be used is init(label:dimensions:))
next looked at the MetricsFactory, since seems like that's what "creates things"; but this yields the internal handlers;

Problem: we did not lead the user to the "right" init function to use, as it is defined a bit below -- in an extension, as we wanted it there to be next to the destroy as then all lifecycle for users is in there.
Modifications:

adds more see-also links
reformats main wording that the "this is main api" etc are more visible

Result:

Resolves #26

We could push it one level more... by separating things into 2 files, where the handlers and factory are in "MetricsSPI.swift" though I know there were some reservations about using the SPI/API wording in docs.

It may also help to pull the convenience initializers (i.e. the ones that you want the user to use) out of the extension and put them in the main class body.

It may also help to pull the convenience initializers (i.e. the ones that you want the user to use) out of the extension and put them in the main class body.

Yeah maybe, we should perhaps move all the things then -- including the destroy() as the reason for those to be in the extension was for the reason to be "the init and destroy are grouped together there", though at the downside of the more important one being on the class itself and the others on the extension 🤔
I wonder what @weissi or @tomerd think here

Cool, will do the small fixup in the morning then :) Thanks!

Yeah maybe, we should perhaps move all the things then -- including the destroy() as the reason for those to be in the extension was for the reason to be "the init and destroy are grouped together there", though at the downside of the more important one being on the class itself and the others on the extension 🤔

Hmm, how does it help to pull in the convenience initialisers?

Hmm, how does it help to pull in the convenience initialisers?

Only by means of source proximity "first thing when reading top down" could be the intended to be used one; having that said, I don't really think it changes much so I'd stay with the comments changes as this PR does right now.

Added the follow up https://github.com/apple/swift-metrics/pull/27/commits/ff86d5b65efdc8f2c6ae5c7e7019b99cf8e36870
Should be good to go,

Hmm, how does it help to pull in the convenience initialisers?

Only by means of source proximity "first thing when reading top down" could be the intended to be used one; having that said, I don't really think it changes much so I'd stay with the comments changes as this PR does right now.

I believe the best way to organise Swift data types is
// only the absolutely necessary stuff
struct DataType {
    var actualStoredProperty
    ...
}

// public API
extension DataType {
    public func iCanAlsoDoThis() { ... }
}

// conformance to Fooable
extension DataType: Fooable {
    ...
}

because then it can easily be seen what are the stored properties (important to judge the 'width' of a type and its implementation) are. Also it's pretty clear what the public API is (one extension block) and its conformances (other extension blocks). Example here.
Pulling things into the actual type declaration does the opposite. If it's purely a top-down issue, then maybe organise it this way?
// public API
extension DataType {
    public func thisIsTheMethodYouShouldUse() {
    }
}

struct DataType {
}

ie. put the public API extension first?

to manage scope i suggest we merge this, then address the order / structure in follow up PR if there is consensus it needs to change?

I like the suggestion @weissi 👍
Can do in a follow up, so this one would only be the docs and I'll do another one with the order changes:

extension first and it would be the public API really

the "right" init and the destroy(),
and other funcs as well I guess, like the recordNanoseconds etc

then class

@ktoso ready to merge this?

Ah sorry about delay here, yes let’s merge and I’ll do the follow up PR shortly


Functional tests verifying VM behavior with deletion --cascade=false

Verifies VM deletion with --cascade=false results in orphaned VMI and DataVolume objects.
NONE

Missing Polarion RFEs and Test case Ids.

Missing Polarion RFEs and Test case Ids.
And we test 2 options: cascade=true and cascade=false
maybe update PR title.

I believe it because it does not have one, not all tests under the KubeVirt functional tests mapped to the polarion.

Missing Polarion RFEs and Test case Ids.
And we test 2 options: cascade=true and cascade=false
maybe update PR title.

I believe it because it does not have one, not all tests under the KubeVirt functional tests mapped to the polarion.

The Polarion RFEs and Test case Ids are in the card for those test cases. (automation gap card)

@ILpinto ah wasn't aware of it, thanks for clarification


Feature request: horizontal “separator between methods”

“Productivity Power Tools 2015” had the “Structure Visualizer” sub-extension which could show, among others, separator between methods. While Visual Studio 2017 incorporated one (main?) feature of the sub-extension (structure guide lines) the “Productivity Power Tools 2017/2019” no longer includes the said sub-extension, so the “separator between methods” got lost.
Given that “Editor Guidelines” implements a visually related feature also previously part of “Productivity Power Tools”, this is IMHO quite a natural extension to add the missing “separator between methods” feature to.

I'm not going to work on this feature.