Handle errors that occurs inside runner

Currently there is no mechanism to handle any error raised by runner internals (e.g. connected with addSteps call). It really makes the whole debugging cumbersome.

Actually it seems that beb451abb21c443eb0df9dc785f682129026cab7 is enough for now.


WIP: Shared archives

This one is almost ready to merge @sallar and @Jameskmonger  - The readme is a work in progress currently, but I'd love your thoughts on its content: https://github.com/buttercup-pw/buttercup-core/blob/shared_archives/README.md
It's the most important part of the repo's face value.


Add initialize plugin command with Yarn

Thanks for this. However, would like to keep the instructions simple, which means just using npm uniformly in all the docs


example/turn_client/udp failed to get attribute NONES

Not sure if this a coturn issue or not.
Your environment.

Version: 72ffd594f7c6104b5680a4fea5651928e3b6ddb4
Browser: Not related
Other Information -  Using coturn with docker image: coturn/coturn.

What did you do?
go run main.go -host {COTURN SERVER} -ping -port 3478 -user USER=PASSWORD

panic: attribute not found

goroutine 1 [running]:
main.main()
	/Users/AAAA/src/turn/examples/turn-client/udp/main.go:73 +0x674
exit status 2

What did you expect?
turn_client example runs.
What happened?
turn_client example failed to run with panic

It seems that my server is not enabling authentication, succeed after authentication is enabled.
but it's still a compatible problem in my opinion.

Nice catch!
I think a better error message here would be fantastic. I am unsure if it is a good idea to support no authentication. I don't want to suggest anything to users that could cause harm.
TURN has some great features like Long-Term Credential Mechanism with a seed that make it really easy.


Feat: Controllers

Built out the controllers section of the repo, including:
Abstraction for open and closed loop control
A SquID Controller
More coming soon.

Would you be able to add more documentation, especially for why there's a different type for states and outputs? Also, this is a nitpick but I think the type variables shouldn't be in CONSTANT_CASE. Maybe something like

TState (the C# convention)
StateT (https://google.github.io/styleguide/javaguide.html#s5.2-specific-identifier-names)
StateType

In FTC Lib there is already a PIDF object implemented. This might make the feedforwards particularly redundant?


After logging in, I see “Please wait while we log you in” until refresh

After logging in, on the admin-local & admin pages, I see the text “Please wait while we log you in”.
After I refresh, I see the correct admin page

Is this valid, went through the starter today and didn't experience this 🤔

Yep I think Jeff fixed this one


Add support for Remix v2.0.0

Describe the bug
Remix v2 has deprecated useTransition in favor of useNavigation as documented here: https://remix.run/docs/en/2.0.0/start/v2#usetransition
After upgrading to Remix v2, the following error occurs:
X [ERROR] No matching export in<EMAIL_ADDRESS>for import "useTransition"

    node_modules/remix-utils/browser/react/use-global-pending-state.js:1:9:
      1 │ import { useTransition, useFetchers } from "@remix-run/react";

Your Example Website or App
https://github.com/jgentes/mixpoint
Steps to Reproduce the Bug or Issue
Go to package.json, update all remix dependencies to "2.0.0" and run "yarn", then "yarn dev"
Expected behavior
Probably ought to update remix-utils to the latest version of Remix
Screenshots or Videos
No response
Platform
Windows, edge
Additional context
No response

v2 is already in the works. You can use it today by instlaling remix-utils@next

v2 is already in the works. You can use it today by instlaling remix-utils@next

npm i remix-utils@next
npm ERR! Found<EMAIL_ADDRESS>npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>

I went the ape route. It works for now I guess...
# or code instead of neovim
nvim node_modules/remix-utils/browser/react/use-global-pending-state.js

and change all instances of useTransition for useNavigation
-- import { useTransition, useFetchers } from "@remix-run/react";
++ import { useNavigation, useFetchers } from "@remix-run/react";

node:internal/modules/cjs/loader:557
      throw e;
      ^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in /Users/amieva/Documents/Programming/Remix-TS/av/node_modules/remix-utils/package.json
    at new NodeError (node:internal/errors:399:5)
    at exportsNotFound (node:internal/modules/esm/resolve:266:10)
    at packageExportsResolve (node:internal/modules/esm/resolve:602:9)
    at resolveExports (node:internal/modules/cjs/loader:551:36)
    at Module._findPath (node:internal/modules/cjs/loader:620:31)
    at Module._resolveFilename (node:internal/modules/cjs/loader:1039:27)
    at Module._load (node:internal/modules/cjs/loader:898:27)
    at Module.require (node:internal/modules/cjs/loader:1120:19)
    at require (node:internal/modules/helpers:112:18)
    at Object.<anonymous> (/Users/amieva/Documents/Programming/Remix-TS/av/build/index.js:6279:205) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

Node.js v19.4.0
ERROR: "dev:server" exited with 1.

v2 is already in the works. You can use it today by instlaling remix-utils@next

I'm seeing:
[1] ✘ [ERROR] Could not resolve "remix-utils"
[1]
[1]     app/components/RichTextRenderer.tsx:21:27:
[1]       21 │ import { ClientOnly } from 'remix-utils';
[1]          ╵                            ~~~~~~~~~~~~~
[1]
[1]   The path "." is not exported by package "remix-utils":
[1]
[1]     node_modules/remix-utils/package.json:54:13:
[1]       54 │   "exports": {
[1]          ╵              ^
[1]
[1]   You can mark the path "remix-utils" as external to exclude it from the bundle, which will remove this error.

Why is no one reading the v2 documentation or even just this https://github.com/sergiodxa/remix-utils/issues/228#issuecomment-1729241106, in this same issue, from yesterday? 😅
You CAN'T write this anymore:
import { ... } from "remix-utils";

You have to use the correct imports that are shown in all the new examples in the v2 README.md.
e.g. for ClientOnly:
import { ClientOnly } from "remix-utils/client-only";

Your IDE should be more than capable of suggesting the correct imports, just delete the old ones that don't work anymore.

Why is no one reading the v2 documentation or even just this #228 (comment), in this same issue, from yesterday? 😅
You CAN'T write this anymore:
import { ... } from "remix-utils";

You have to use the correct imports that are shown in all the new examples in the v2 README.md, e.g. for ClientOnly:
import { ClientOnly } from "remix-utils/client-only";

That doesn't work either. VS Code is not finding those subdirectories for the import statement and when running remix dev, I get the following error (I replaced my real path with PATH_TO_PROJECT in case that wasn't clear):
Error [ERR_REQUIRE_ESM]: require() of ES Module [PATH_TO_PROJECT]/node_modules/.pnpm/remix-utils@7.0.0-pre.3_@remix-run+react@2.0.1_@remix-run+router<EMAIL_ADDRESS>from [PATH_TO_PROJECT]/build/index.js not supported.

Instead change the require of client-only.js in [PATH_TO_PROJECT]/build/index.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/Users/jamestrenda/code/repos/mundet/build/index.js:5281:26)

Any help would be greatly appreciated.

Why is no one reading the v2 documentation or even just this #228 (comment), in this same issue, from yesterday? 😅
You CAN'T write this anymore:
import { ... } from "remix-utils";

You have to use the correct imports that are shown in all the new examples in the v2 README.md, e.g. for ClientOnly:
import { ClientOnly } from "remix-utils/client-only";

That doesn't work either. VS Code is not finding those subdirectories for the import statement and when running remix dev, I get the following error (I replaced my real path with PATH_TO_PROJECT for brevity, in case that wasn't clear):
Error [ERR_REQUIRE_ESM]: require() of ES Module [PATH_TO_PROJECT]/node_modules/.pnpm/remix-utils@7.0.0-pre.3_@remix-run+react@2.0.1_@remix-run+router<EMAIL_ADDRESS>from [PATH_TO_PROJECT]/build/index.js not supported.

Instead change the require of client-only.js in [PATH_TO_PROJECT]/build/index.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> ([PATH_TO_PROJECT]/build/index.js:5281:26)

Any help would be greatly appreciated.

This error is because Remix Utils v7 will ship ESM-only code, and it seems you Remix app is generating CJS code as the build output for the server, so you can't require() ESM modules.
You need to add remix-utils to serverDependenciesToBundle in your remix.config file.

@sergiodxa and how can i use it then? do i still use import { ClientOnly } from "remix-utils/client-only"; etc?
i stuck a little bit here.

Why is no one reading the v2 documentation or even just this #228 (comment), in this same issue, from yesterday? 😅
You CAN'T write this anymore:
import { ... } from "remix-utils";

You have to use the correct imports that are shown in all the new examples in the v2 README.md, e.g. for ClientOnly:
import { ClientOnly } from "remix-utils/client-only";

Your IDE should be more than capable of suggesting the correct imports, just delete the old ones that don't work anymore.

Probably because some people are just following guides from other docs or articles that have not been updated to V2 then finding an issue and coming here.

@mufftee and other people who have the same problem. You must use regex, not string like this:
// remix.config.js
...
  serverDependenciesToBundle: [
    /remix-utils/ // not "remix-utils"
  ],
...

// in your component
import { ClientOnly } from "remix-utils/client-only";

@mufftee and other people who have the same problem. You must use regex, not string like this:
// remix.config.js
...
  serverDependenciesToBundle: [
    /remix-utils/ // not "remix-utils"
  ],
...

// in your file component
import { ClientOnly } from "remix-utils/client-only";

Works like a charm!1

In case this helps anyone else, I needed to update these settings in tsconfig.json to support the new exports:
{
  "compilerOptions": {
    "module": "ES2022",
    "moduleResolution": "Bundler",
    ...
  }
}

When I try to install remix-utils@next, it fails:
npm i -S remix-utils@next
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@remix-run/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/remix-utils
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!

When I try to install remix-utils@next, it fails:
npm i -S remix-utils@next
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@remix-run/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/remix-utils
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!

I think for now you need to npm install with --legacy-peer-deps

Oops, yeah, I read that after and forgot to delete my comment.

Would be great if we the peer dependencies could be updated so that we didn't need the --legacy-peer-deps flag.

In case this helps anyone else, I needed to update these settings in tsconfig.json to support the new exports:
{
  "compilerOptions": {
    "module": "ES2022",
    "moduleResolution": "Bundler",
    ...
  }
}

I updated my tsconfig.json's moduleResolution: "node" to moduleResolution: "Bundler". NOTE: Bundler` is only available for typescript version 5.0+
I was initially curious about how Bundler compares to the node value and others & found this comparison table from the typescript team:

References

https://github.com/microsoft/TypeScript/pull/51669
https://dev.to/ayc0/typescript-50-new-mode-bundler-esm-1jic

@cliffordfajardo indeed thats the correct tsconfig and it also worked for me, but the dependencies are still not updated and its still required to run npm i --legacy-peer-deps which doesn't work for us in production. Have you found a solution for that?

@DonKoko this was one of the suggested workarounds, have'nt tried it yet

thanks @zifahm . I was even the one who created the discussion in discord. Idk how i missed that comment.
Solution is to add overrides to package.json
  "overrides": {
    "remix-utils": {
      "@remix-run/react": "^2.0.1",
      "@remix-run/server-runtime": "^2.0.1"
    }
  },

How can i do this with the new version?
import * as RemixUtils from 'remix-utils';
RemixUtils.eventStream(...)

You can't anymore, and you should have never done this because it would cause all utils to be bundled.

oh so in the old code, this:
import { eventStream } from 'remix-utils'
leads to less being bundled than this:
import * as RemixUtils from 'remix-utils'
?  I would have thought they lead to the same amount being bundled, is this a remix specific difference?

That's how bundlers work, by doing * as RemixUtils you're bringing all that the package comes with as a single object, instead of importing exactly what you need.
In the next version of Remix Utils (a new pre-release has been published btw which uses Remix v2 as dependency) each util will have a unique import path like remix-utils/sse/server for eventStream or remix-utils/sse/react for useEventSource.

Why were some of the utilities removed in the latest version ? Namely badRequest is something that appears to be missing,. maybe others too. Has it perhaps been replaced with something from Remix V2 itself ?

Why were some of the utilities removed in the latest version ? Namely badRequest is something that appears to be missing, maybe others too. Has it perhaps been replaced with something from Remix V2 itself ?

Most of those response utils where just wrappers of json, it's simpler to just use json instead of maintaining a wrapper.
Response helpers that add extra features or don't wrap json were left in the package. Examples include redirectBack, jsonHash, namedAction, notModified (because it has the limit of not receiving body or headers) and any non JSON response helper so you don't need to care about the specific content-type of the response.

Also v7.0.1 with Remix v2 support is out as stable release https://github.com/sergiodxa/remix-utils/releases/tag/v7.0.1.
Closing this since it's released now, for any specific problem please open a new issue to treat them individually.

So, what do we do with badRequest and forbidden from V6?

@saashqdev You can always copy them to your own codebase (they are here and here), or do json(data, 400) and json(data, 403), they didn't do more than that

Ah, cool. Thanks a lot.

Response helpers that add extra features or don't wrap json were left in the package. Examples include redirectBack, jsonHash, namedAction, notModified (because it has the limit of not receiving body or headers) and any non JSON response helper so you don't need to care about the specific content-type of the response.

Love this new version, thanks for everything with this 🙏
May I recommend adding the dropped response utils to changelog or the Upgrade notes? Used those all over an app and thought I was taking crazy pills until I dug down into the packages.
Simple enough to replace but may make upgrade easier for some.

Installed v7.3.0 today and IntelliJ is complaining.
v2.3.0 of Remix.
ESM only project.
Switching to  moduleResolution: "Bundler" makes things worse for a lot of other imports.

@benjamindulau did you restart your Typescript server after the installation? In the bottom right corner, you can see it

@cjoecker Yep! I restarted the entire IDE, cleared cache, restarted Typescript, everything (well I hope not everything since I didn't do what works :p)

Using VS Code, remix 2.3.1 and remix-utils 7.3.0 with Indie Stack, and I'm getting Cannot find module [...] or its corresponding type declarations on all remix-utils imports. Restarted VS Code did not solve the problem.
Any idea?

@nicolasrenon Ensure you have TS v5, that your tsconfig.json has moduleResolution set to bundler, and if you're using CJS add remix-utils packages to serverDependenciesToBundle.

If you can't switch moduleResolution to bundler then you can't upgrade to Remix Utils v7.

I'm also having this issue. Switching module resolution to "Bundler" will solve it, but that causes problems in other places..

Note that "moduleResolution": "Bundler" in new Remix apps, and it's recommended by TS when working with a bundler.


ngMock: wrong parsing of pathParams when there are queryParams

Do you want to request a feature or report a bug?
This is a bug.

What is the current behavior?
httpBackend.whenRoute() does not parse correctly the path-parameters when they are immediately followed by query-parameters.

Consider the following example:
$httpBackend.whenRoute('DELETE', '/api/resource/:_id').respond((method, url, data, header, params) => {}
If whenRoute is triggered by /api/resource/1?q=hello, params will contain wrong parsing of the id:
params = {id: '1?q=hello', 'q': 'hello'}

What is the expected behavior?
params = {id: '1', q: 'hello'}

What is the motivation / use case for changing the behavior?
This behaviour looks wrong and inconsistent.

Which version of Angular, and which browser and OS does this issue affect? Did this work in previous
versions of Angular? Please also test with the latest stable and snapshot versions.
Angular 1.5, in previous releases params was not generated

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix)

A little background:
(Almost) the same logic is used in ngMock's parseRoute() and ngResource's pathRegExp().
(It should be the same logic, but theu seem to have gotten slightly out of sync.)
The one intentional difference is this:
In ngResource we match the RegExp against $location.path() (not the whole URL, containing the query). Thus we don't have to take special care to avoid matching the query.
In ngMock, we need to have a way to ignore the query/hash part for whenRoute().

👍


Rural Arts Template

Description
Added code for Rural Arts product template page.
Fixes #187

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

)

@arpit456jain I have made some changes, kindly merge this PR as it is last day. I will surely work on responsiveness soon.


Mobile not working properly.

Describe the bug
Not showing icon in mobile environment.
Setting a file's icon as emoji is working, but SVG icon not working.
And I also set the icon file path to .obsidian/icons as you recommended.
DESC:

If emoji setting is 'None': Not showing icon, just a bit of padding left.
If emoji setting is 'Native' or 'Twemoji': Showing the icon's file name.
Desktop: fine

To Reproduce
Set SVG icon (not emoji) and check it in mobile Obsidian.
Expected behavior
Screenshots
Desktop:

Mobile:

Additional context

edit: sorry, it's working now somehow. I think it was occurred by delay of iCloud sync. Sorry for the misunderstanding and appreciate about this plugin! Now I'm closing this issue.

hmm I think it's still happening... And I have no idea why it's not working.
Is this just for me? Does anyone have the same problem here?

Right now in mobile, bookmarks tab showing the icons, but just not for the file navigation tab.

following, I am also experiencing this

Ok I see. Sorry for the duplicate issue, I didn't know. 😭
Thanks a lot!


Hybrid Azure AD join vs. Tenant Restrictions

Hello
The information provided here are in a conflict with the content provided by docs for tenant restrictions:
https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/tenant-restrictions#configuration
Here is defined that the following urls must be excluded from TLS interception:
enterpriseregistration.windows.net
login.microsoftonline.com
device.login.microsoftonline.com
autologon.microsoftazuread-sso.com
Where tenant restrictions require TLS interception on the following urls:
login.microsoftonline.com
login.microsoft.com
login.windows.net
For tenant restriction they are explicit note that *.login.microsoftonline.com respectively device.login.microsoftonline.com must be excluded from TLS interception to avoid issues with Azure AD hybrid join.
Can you please clarify if TLS interception is supported on login.microsoftonline.com for hybrid join or if the two features are incompatible?
Thank you
Simon

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

ID: 623a03a6-0197-c346-7a88-beee7caf628c
Version Independent ID: 33c236b5-0eff-1adf-bba8-cf9d459a3201
Content: Configure hybrid Azure Active Directory join - Microsoft Entra
Content Source: articles/active-directory/devices/howto-hybrid-azure-ad-join.md
Service: active-directory
Sub-service: devices
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@sbenzch
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

Both docs say exclude the domains.

Hello Flo
No, tenant restrictions require tls interception to add the the following headers:
Restrict-Access-To-Tenants
Restrict-Access-Context
It says:
The proxy must be able to perform TLS interception, HTTP header insertion, and filter destinations using FQDNs/URLs
and
Do not include subdomains under *.login.microsoftonline.com in your proxy configuration. Doing so will include device.login.microsoftonline.com and will interfere with Client Certificate authentication, which is used in Device Registration and Device-based Conditional Access scenarios. Configure your proxy server to exclude device.login.microsoftonline.com and enterpriseregistration.windows.net from TLS break-and-inspect and header injection.
So the mismatch between the two articles is the domain login.microsoftonline.com..
Thank you
Simon

Reaching out to the PG for them to respond.

Do we have already any feedback from the PG?
Thank you
Simon

Do we have already any update in this topic?
Thank you

#label:"awaiting-product-team-response"

Updated doc with more details.


lnd becoming unusable after htlcs in a channel > default-remote-max-htlcs

Background
Since the last 24 hours, lnd is behaving weirdly.
One thing I have seen is that there is 30 htlc in one channel, despite having default-remote-max-htlcs=10 option set
Disk storage went from ~1Gb to 6Gb in 2 days. and the node is overly slow.
The log seems to show a log of error failure related to the channel that has more than 10 htlc.
2021-05-14 17:21:22.831 CEST
2021-05-14 15:21:22.829 [WRN] CRTR: Attempt 774716 for payment 6770f241f9288c4bf28698cd************************* failed: could not add downstream htlc
Info
2021-05-14 17:21:22.831 CEST
2021-05-14 15:21:22.829 [ERR] CRTR: Failed sending attempt 774716 for payment 6770f241f9288c4bf28698cd7********************* to switch: could not add downstream htlc
Info
2021-05-14 17:21:22.831 CEST
2021-05-14 15:21:22.829 [WRN] HSWC: ChannelLink(652799:1128:1): Unable to handle downstream add HTLC: commitment transaction exceed max htlc number
Info
2021-05-14 17:21:22.831 CEST
2021-05-14 15:21:22.829 [WRN] CRTR: Attempt 774717 for payment 92633c7aeb012d19da653********************* failed: could not add downstream htlc
Info
2021-05-14 17:21:22.831 CEST
2021-05-14 15:21:22.829 [ERR] CRTR: Failed sending attempt 774717 for payment 92633c7aeb012d19da653********************* to switch: could not add downstream htlc
Info
2021-05-14 17:21:22.831 CEST
2021-05-14 15:21:22.829 [WRN] HSWC: ChannelLink(652799:1128:1): Unable to handle downstream add HTLC: commitment transaction exceed max htlc number
Info
2021-05-14 17:21:22.822 CEST
2021-05-14 15:21:22.822 [WRN] CRTR: Routing failure for local channel 7177600************** occurred
Info
2021-05-14 17:21:22.821 CEST
2021-05-14 15:21:22.818 [ERR] CRTR: Channel update of ourselves received
Info
2021-05-14 17:21:22.821 CEST
2021-05-14 15:21:22.818 [WRN] CRTR: Routing failure for local channel 7177600************** occurred
Info
2021-05-14 17:21:22.816 CEST
2021-05-14 15:21:22.813 [ERR] CRTR: Channel update of ourselves received
Info
2021-05-14 17:21:22.803 CEST
2021-05-14 15:21:22.800 [WRN] CRTR: Attempt 774714 for payment 22354d6931ff4d4197a0c828e9282c4d4635a4a3b2533c45bc5802e44f385b7b failed: could not add downstream htlc
Info

Your environment

version of lnd: 0.12.1
which operating system (uname -a on *Nix): Linux lnd-0 4.19.167+ #1 SMP Tue Feb 2 07:59:55 PST 2021 x86_64 Linux
version of btcd, bitcoind, or other backend: bitcoin 0.21
any other relevant environment details

Steps to reproduce
Do not know how the node ends up in this situation
Actual behaviour

I have force closed the channel in question. I seems there are no longer issues in the log.

The remote max htlcs only applies to one side's commitment transaction

Disk storage increase is probably (I'm guessing) from failed payments that are stored. We might be mis-handling the remote max htlc's though so I'll look into it.

looking at the payment index (774714, several order of magnitude of the number payment this node is doing on a daily basis) with cpu maxing at 200% (instead of 10 or 20%) made me thing of a loop within lnd that was trying to do a payment and failing but continuously retrying. this issue seems to correlate very well with the time the channel suddenly reached 30 htlc.

Maybe related to https://github.com/lightningnetwork/lnd/issues/4656 ?

Maybe related to #4656 ?

seems it's related indeed. the loop seems endless in this case.

Disk storage increase is probably (I'm guessing) from failed payments that are stored.

is there a way to clean this up (that doesn't involve creating a new node?)

is there a way to clean this up (that doesn't involve creating a new node?)

You can use the DeleteAllPayments API to clear the payments, 0.13 has the option to only delete the failed htlc attempts as well, if you want to keep the failed payment.

is there a way to clean this up (that doesn't involve creating a new node?)

You can use the DeleteAllPayments API to clear the payments, 0.13 has the option to only delete the failed htlc attempts as well, if you want to keep the failed payment.

ok thanks I'll get it a try once the .13 is released. by default lnd keeps forever trace of all payment, including failed one/and also failed htlc?

ok thanks I'll get it a try once the .13 is released. by default lnd keeps forever trace of all payment, including failed one/and also failed htlc?

Yeah, we keep everything by default. Failed payments and failed htlc attempts. If you want to just delete all failed payments, that's already available. 0.13 just adds the option to only delete the htlcs but keep the payments, so depends on how much you want to delete.

ok I'll try that. I'll use the api to do it, but why not providing this option to lncli as well?


--pre behaves weirdly in various commands

Be sure to check the existing issues (both open and closed!).
Describe the issue briefly here.

pipenv lock should respect allow_prereleases in existing Pipfile
pipenv install packagename fails to pass --pre either from command line or from Pipfile into pipenv lock, causes the command to fail during locking

Either we pass --pre or have allow_prereleases in the Pipfile, as long as there's package name in the cli arguments, it does not work, because of this code fails to passing pre=pre, to my guess: https://github.com/pypa/pipenv/blob/master/pipenv/core.py#L2005

pipenv update --pre --outdated not respecting the --pre flag, removing --outdated works

Expected result
None of the things above works when there's a prerelease dependency in the Pipfile, for example, proto-google-datastore-v1beta3
Actual result
They should all work (IMO, at least for the last two)
Steps to replicate
Pipfile is as follows:
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
"proto-google-datastore-v1beta3" = "*"

[dev-packages]
ipdb = "*"

[requires]
python_version = "3.6"

[pipenv]
allow_prereleases = true

Running any of the 3 commands above should fail with this Pipfile with the error
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches proto-google-datastore-v1beta3
Tried: 0.0.2rc0, 0.0.3rc0, 1.0.0b0, 1.0.0b1, 1.0.0b2

Minimal example:
[packages]
proto-google-datastore-v1beta3 = "*"

[pipenv]
allow_prereleases = true

My testing result based on pipenv 11.9.0

pipenv lock --pre --clear - PASS
pipenv lock --clear with allow_prereleases = true - FAIL

What is this package name ‘proto-google-datastore-v1beta3’? It does not follow Pep440 ?

@gsemet proto-google-datastore-v1beta3 is a valid package name, and actually does exist. The v1beta3 is part of the package name, not version.

Yes but does they use a prerelease version or normal version?

Ok i see they are in the logs. Pipenv update —pre should work.

I think @shivawu is talking specifically in the context of installing the package without the prerelease flag, then adding it to the pipfile, then attempting to update it by passing the package name specifically. Is that right? If not can you give us step by step instructions to reproduce?

No, sorry for the misunderstanding. I'm talking about 3 different scenarios, as there are 3 items in the original post.
The step to reproduce, take this exact Pipfile (without a Pipfile.lock).
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
"proto-google-datastore-v1beta3" = "*"

[dev-packages]
ipdb = "*"

[requires]
python_version = "3.6"

[pipenv]
allow_prereleases = true

Problem 1: Run pipenv install ipython (ipython is any package), it would successfully add the package into the Pipfile, but fails at the locking stage, because pre flag is not successfully propagated.
 !  ~/D/T/pipenv  pipenv install ipython                                46.7s  五  3/23 10:05:19 2018
Installing ipython…
Collecting ipython
  Using cached ipython-6.2.1-py3-none-any.whl
Collecting decorator (from ipython)
  Using cached decorator-4.2.1-py2.py3-none-any.whl
Collecting prompt-toolkit<2.0.0,>=1.0.4 (from ipython)
  Using cached prompt_toolkit-1.0.15-py3-none-any.whl
Collecting traitlets>=4.2 (from ipython)
  Using cached traitlets-4.3.2-py2.py3-none-any.whl
Collecting pygments (from ipython)
  Using cached Pygments-2.2.0-py2.py3-none-any.whl
Collecting jedi>=0.10 (from ipython)
  Using cached jedi-0.11.1-py2.py3-none-any.whl
[[source]]
Collecting simplegeneric>0.8 (from ipython)
Collecting pickleshare (from ipython)
  Using cached pickleshare-0.7.4-py2.py3-none-any.whl
Requirement already satisfied: setuptools>=18.5 in /Users/wucy/.local/share/virtualenvs/pipenv-JzloF-4y/lib/python3.6/site-packages (from ipython)
Collecting appnope; sys_platform == "darwin" (from ipython)
  Using cached appnope-0.1.0-py2.py3-none-any.whl
Collecting pexpect; sys_platform != "win32" (from ipython)
  Using cached pexpect-4.4.0-py2.py3-none-any.whl
Collecting wcwidth (from prompt-toolkit<2.0.0,>=1.0.4->ipython)
  Using cached wcwidth-0.1.7-py2.py3-none-any.whl
Requirement already satisfied: six>=1.9.0 in /Users/wucy/.local/share/virtualenvs/pipenv-JzloF-4y/lib/python3.6/site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython)
Collecting ipython-genutils (from traitlets>=4.2->ipython)
  Using cached ipython_genutils-0.2.0-py2.py3-none-any.whl
Collecting parso==0.1.1 (from jedi>=0.10->ipython)
  Using cached parso-0.1.1-py2.py3-none-any.whl
Collecting ptyprocess>=0.5 (from pexpect; sys_platform != "win32"->ipython)
  Using cached ptyprocess-0.5.2-py2.py3-none-any.whl
Installing collected packages: decorator, wcwidth, prompt-toolkit, ipython-genutils, traitlets, pygments, parso, jedi, simplegeneric, pickleshare, appnope, ptyprocess, pexpect, ipython
Successfully installed appnope-0.1.0 decorator-4.2.1 ipython-6.2.1 ipython-genutils-0.2.0 jedi-0.11.1 parso-0.1.1 pexpect-4.4.0 pickleshare-0.7.4 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pygments-2.2.0 simplegeneric-0.8.1 traitlets-4.3.2 wcwidth-0.1.7

Adding ipython to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches proto-google-datastore-v1beta3
Tried: 0.0.2rc0, 0.0.3rc0, 1.0.0b0, 1.0.0b1, 1.0.0b2

Again with this Pipfile, no Pipfile.lock, running pipenv lock, I'm saying lock command should respect allow_prerelease flag

Agin with this Pipfile, no Pipfile.lock, running the following command fails as well

 ~/D/T/pipenv  pipenv update --pre --outdated                            882ms  五  3/23 10:07:53 2018

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches proto-google-datastore-v1beta3
Tried: 0.0.2rc0, 0.0.3rc0, 1.0.0b0, 1.0.0b1, 1.0.0b2

Ping, anything I can help with on the clarification or anything else?

No definitely not intended. PR welcome!

good catch !

Thanks for fixing the issue! Is there a plan for releasing new versions? I'm blocking on this to adopt my codebase to pipenv


Add safe string replace function

To escape lua patterns before doing a gsub allowing literal replacement.

Can we add a couple tests to ensure this works?

If you rebase this from master, it should fix the failed CI run.

I'm afraid I don't really have time to add tests for this. Its implicitly tested by the auth plugin anyway.


Receive HighState feedback at 1kHz

Hi there, I'd like to log a feature request.
I note that it is now possible to send high level commands and receive low level feedback (motor state). This is useful for implementing state-estimation-related systems while still utilising the high level command interface.
However I've noticed that when using the high level interface, the state feedback is only sent at 50 Hz, while in low level mode it is sent at 1kHz. This significantly limits the accuracy of state estimation that is achievable in high level mode compared to low level mode.
I'd request that state feedback be sent at 1kHz even when operating in high level mode, such that we can achieve the same state estimation accuracy in high level mode that we can achieve in low level mode.
My setup is as follows:
Robot go1 edu HW 1.0.9
Software 0.1.35
Legged_sport version:1.36
unitree_legged_sdk version a5df2e4471b3c34 (with small local modifications).

OK, next version.

emmmm

Hello,our new version is under development, please wait


Add config file to allow behavior changes

As of the current codebase, in order the change the behavior of the app. you need t change at app source. It would be useful if the following could be set in a config file, and not source:
POST_ON_TWITTER
POST_ON_MASTODON
SPLIT_ON_TWITTER
TOOT_VISIBILITY

Bonus points if the config is read dynamically at runtime and the end user does not need to rebuild docker containers to get the new config.

This is actually very useful since you can currently use multiple instances of MastodonToTwitter by running it from different directories. It looks for the credentials in the current directory. But you have to use the same config, since that is loaded from the script.

The latest version supports a configuration file, but only one currently. I could update the script to allow the configuration file to be loaded from a custom path (e.g. using an environment variable).


replace safemap package

Use the sync.Map instead. Should have better performance and scalability than a mutex guarded map. It ain't typesafe, atm, but that will hopefully come around soon.

oh. I can't assign myself to the ticket. But I would if I could. :-)


Add reserve_data option to ParserFileterTemplate

Q
A

Bug fix?
no

New feature?
no

API breaks?
no

Deprecations?
no

Related tickets
N/A

License
Apache 2.0

What's in this PR?
Adds the reserve_data option to the ParserFilter template.
Why?
I want to retain Kubernetes (and other) metadata fields from the event for analysis.
Checklist

[X] Implementation tested (with at least one cloud provider)
[X] Error handling code meets the guideline
[X] Logging code meets the guideline (TODO)
[X] User guide and development docs updated (if needed)
[X] Related Helm chart(s) updated (if needed)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Note: The build fails with the following
Error: validation failed: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.containers[0].volumeMounts[0]): unknown field "securityContext" in io.k8s.api.core.v1.VolumeMount

I do not believe this to be related to the changes in this PR.

Sorry for the force push, but I realized that I had a typo in my commit comment.

The failed test is related to the Helm chart change that introduce SecurityContext, we will fix that asap

Thanks for the contribution

@jasonaliyetti we just released the new version of Logging Operator which contains your changes
https://github.com/banzaicloud/logging-operator/releases/tag/0.1.9


Excluded relationship ignored in Deployment views

Hello,
I've created a deployment diagram like this:
deployment myAppSystem "Live" "LiveDeployment" {
            include deploymentNode1 deploymentNode2
            exclude deploymentNode3
            exclude relationship
            autoLayout
}

So, I want the diagram to include some deployments nodes but hide others. Additionally, I want a relationship between some containers to be hidden.
As a result, I see the deployment nodes are shown as expected, but the relationship between containers is not excluded. Not sure if it also happens with relationship between systems.
It would be great if you can find a way to fix it.
Thank you,
Juan

It's hard to figure out what's happening from just the short snippet ... please post a full example, and I'll take a look. Thanks!

Hi Simon,
Sure. Here it is a full example:
workspace {

    model {

        user = person "Consumer"

        mySystem = softwareSystem "My System" {
            sampleApp = container "App"

            backendContainer1 = container "Backend container 1"
            backendContainer2 = container "Backend container 2"
            backendContainer3 = container "Backend container 3"
        }

        user -> sampleApp "user to sampleApp"

        sampleAppTpBackendContainer1 = sampleApp -> backendContainer1 "sampleApp to backendContainer1" "Gateway"
        sampleAppTpBackendContainer2 = sampleApp -> backendContainer2 "sampleApp to backendContainer2"  "Gateway"
        sampleApp -> backendContainer3 "sampleApp to backendContainer3" "Gateway"

        deploymentEnvironment "Live" {

            deploymentNodeApp = deploymentNode "Deployment Node 1" "" {
                livesampleAppInstance = containerInstance sampleApp
            }
            cdnInfra = deploymentNode "CDN" ""{
                cdn = infrastructureNode "Gateway"
            }

            cloud = deploymentNode "Some Cloud" {
                cluster1 = deploymentNode "cluster 1"{

                    deploymentNode "backendContainer1 deploy"{
                        containerInstance backendContainer1
                    }
                    deploymentNode "backendContainer2 deploy"{
                        containerInstance backendContainer2
                    }

                }
                cluster2 = deploymentNode "cluster 2" {
                    deploymentNode "backendContainer3 deploy"{
                        containerInstance backendContainer3
                    }
                }
            }

            deploymentNodeApp -> cdnInfra "make all API request through"
            cdnInfra -> cloud "forward request"

        }

    }

    views {

        container mySystem "All_Containers" {
            include *
            autoLayout
        }

        deployment mySystem "Live" "LiveDeployment" {
            include deploymentNodeApp cdnInfra cluster1
            exclude cluster2
            exclude sampleAppTpBackendContainer1 sampleAppTpBackendContainer2
            autoLayout
        }

}

I'm trying to hide relationships "sampleAppTpBackendContainer1" "sampleAppTpBackendContainer2" in the deployment diagram. But, as you can see, they are not hidden.
Thanks,
Juan

This is what you're aiming for?

Yes! What is the right way to get it?

One more question: In case the Deployment diagram becomes more complex, is the auto-layout going to work as expected? I mean, as it works for other diagrams, optimising the distribution of the elements in the view?

This required a small change to the DSL parser, which I'm going to commit shortly, and release with the CLI later this week.
Regarding auto-layout ... you'll just need to try it, and switch to manual layout if it's not producing a good result.

Thanks Simon!


Add parallel version of L-BFGS-B minimizer

This PR adds a parallel implementation of the L-BFGS-B minimization algorithm from the package optimparallel to qibo optimizers. I believe this may be useful to accelerate the training of variational quantum circuits in some cases.

@DiegoGM91 thanks for your effort. I think there are important 2 points we have to address here:

Qibo's circuit evaluation is thread-safe only if you allocate a new initial_state for each parallel circuit evaluation (because we do in place updates). So this optimizer will work if you allocate the initial state directly inside the cost function, or if you use the default initial state (|0>).
Performance: we did some tests and we know that tensorflow "doesn't like" parallel evaluations on the same device in eager mode. We have observed that running 2 or more instances of circuit in parallel doesn't improve performance, in comparison to a sequential evaluation. Do you observed some consistent speed up?

Thanks for the comments @scarrazza.
Regarding the first point, I just tried it using the default initial state |0...0> (this will occur in many variational algorithms)
Regarding the second point, I didn't do any proper benchmark, I just observed how cost functions evaluations were printed out on the screen, and I would say that in my test case, there was an  improvement in speed. I can make however some proper benchmarks to see whether this is actually the case or not, and under which circumstances.

@DiegoGM91 following our discussion last week, let me summarize the steps to validate this PR:

consider a specific case study where we can demonstrate performance improvements
check how to extend the approach to other applications

Here are some benchmarks comparing the performance of the l-bfgs-b method from scipy and optimparallel, for the quantum text classifier. The numbers in the table indicate the time it takes to complete one iteration of the optimization procedure (which includes multiple cost function evaluations), in seconds. I show mean results obtained using timeit. Results were obtained on an Intel i7-9750H CPU with six cores and 16GB of memory. Single thread was set for the quantum circuit execution using tf.config.threading.set_inter_op_parallelism_threads(1) and tf.config.threading.set_intra_op_parallelism_threads(1).

optimparallel
scipy
ratio

4 qubits, 3 layers, 80 data points
16.6
70.1
4.22

4 qubits, 3 layers, 400 data points
85
357
4.20

4 qubits, 4 layers, 80 data points
15.8
68
4.30

4 qubits, 4 layers, 400 data points
78
344
4.41

8 qubits, 4 layers, 80 data points
65
264
4.06

8 qubits, 4 layers, 400 data points
319
1353
5.12

I can extend these benchmarks to the VQE and QAOA models and also to higher qubit numbers, and see how it goes, if you think it is worth it.

@DiegoGM91 thanks for this benchmark, just a quick question, what happens if you run both codes using taskset -c 0 <your script>?

@scarrazza when restricting to a single CPU, then I get 358 seconds for 4 qubits, 4 layers, 400 data points with optimparallel.

Great, and the scipy numbers are same?

Yes, I get 364 seconds for 4 qubits, 4 layers, 400 data points with scipy.

@DiegoGM91 I am playing with this PR, and I need probably more information about your runs.
If I take the vqe example in qibo/examples/benchmarks/vqe.py and run:
time python vqe.py --nqubits 3 --nlayers 4 --method l-bfgs-b --maxiter 15000

it runs and takes 2.8s to complete, while if I do:
time python vqe.py --nqubits 3 --nlayers 4 --method parallel_lbfgsb --maxiter 15000

the code freezes at the the first iteration (probably due to the concurrent futures in optimparallel).
Could you please try this example and let me know if this freeze happens for you too?

@scarrazza yeah, the same happens for me too. It just freezes out.

Then could you please share the layout of your code? Do you use set_parameter or reallocate the circuit at each loss function call?

I use the set_parameters method. This is the code:
    def minimize(self, init_theta, data=None, labels=None, nshots=None):
        """
        Args:
            init_theta: iterable with the initial angles to be used in the circuit.
            data: numpy.ndarray data[page][feature]  (this is an array of feature vectors).
            labels: iterable with the labels of the feature vectors to be classified.
            nshots: int number of runs of the circuit during the sampling process (default=None).

        Returns:
            numpy.float64 with value of the minimum found, numpy.ndarray with the optimal angles
        """
        from optimparallel import minimize_parallel
        result = minimize_parallel(self.cost_function, init_theta, args=(data,labels,loss,nshots), options={'maxiter':10})
        loss = result.fun
        optimal_angles = result.x

        return loss, optimal_angles

    def cost_function(self, theta, data=None, labels=None, nshots=None):
        """
        Args:
            theta: iterable with the biases and the angles to be used in the circuit.
            data: numpy.ndarray data[page][feature]  (this is an array of feature vectors).
            labels: iterable with the labels of the feature vectors to be classified.
            nshots: int number of runs of the circuit during the sampling process (default=None).

        Returns:
            numpy.float32 with the value of the square-loss function
        """
        Predictions = np.zeros(shape=(len(data),self.measured_qubits))

        for i, feature_vector in enumerate(data):
            Predictions[i] = self.predictions(theta, feature_vector, nshots)

         def square_loss(labels, predictions):
                """
                Args:
                    labels: list or numpy.array with the qubit labels of the quantum states to be classified
                    predictions: list or numpy.array with the qubit predictions for the quantum states to be classified

                Returns:
                    numpy.float32 with the value of the square-loss function
                """
                loss = 0
                for l, p in zip(labels, predictions):
                    for qubit in range(self.measured_qubits):
                        loss += (l[qubit] - p[qubit]) ** 2

                return loss / len(labels)

        return square_loss(labels, Predictions)

    def predictions(self, theta, feature_vector, nshots=None):
            """
            Args:
                theta: iterable with the biases and angles to be used in the circuit.
                feature_vector: numpy.ndarray with the feature_vector to be classified.
                nshots: int number of runs of the circuit during the sampling process (default=None).

           Returns:
                numpy.ndarray() with predictions for each qubit, for the initial state
            """
            bias = np.array(theta[0:self.measured_qubits])
            self.circuit(theta, feature_vector)
            result = self._circuit(nshots)
            prediction = np.zeros(self.measured_qubits)

            if nshots is None:
                for qubit in range(self.measured_qubits):
                    for clase in range(self.nclasses):
                        binary = bin(clase)[2:].zfill(self.measured_qubits)
                        prediction[qubit] += result[clase]**2 * (1-2*int(binary[-qubit-1]))
            else:
                result = result.frequencies(binary=False)
                for qubit in range(self.measured_qubits):
                    for clase in range(self.nclasses):
                        binary = bin(clase)[2:].zfill(self.measured_qubits)
                        prediction[qubit] += result[clase] * (1-2*int(binary[-qubit-1]))

                prediction /= nshots

            return prediction + bias

    def circuit(self, theta, feature_vector):
            """
            Args:
                theta: iterable with the biases and angles to be used in the circuit.
                feature_vector: numpy.ndarray with the feature_vector to be classified.

            Returns:
                qibo.tensorflow.circuit.TensorflowCircuit with the variational circuit for angles "theta"
            """
            bias = np.array(theta[0:self.measured_qubits])
            circuit_params = np.array(theta[self.measured_qubits:])
            circuit_params = [circuit_params[i:i+2] for i in range(0,len(circuit_params),2)]
            angles = [x*omega[0]+omega[1] for l in range(self.nlayers) for x,omega in zip(2*list(feature_vector),circuit_params[2*l*self.nqubits:2*(l+1)*self.nqubits])]
            for x,omega in zip(feature_vector,circuit_params[2*self.nlayers*self.nqubits:]):
                angles.append(x*omega[0]+omega[1])

            self._circuit.set_parameters(np.array(angles))

            return self._circuit

where self._circuit = self.ansatz(rotations) is just a qibo circuit with some parameterized gates.

Are you using the custom backend or something else? (defauleinsum, matmuleinsum)

Custom

And if you set the intra/inter number to > 1 it code freezes, right?

I hadn't tried that because of the low number of qubits I use in the classifier (it turns out you can classify complicated data using very few qubits).
But right, it freezes when I set the intra/inter number to > 1.

Closing in favour of #281.


Logo for the theme

The theme would require a logo

It will be great if the literal meaning of the word "Accio" is used while making the logo

I would like to work on this project 🙂

Sure, Assigning it to you, @chirag828049 would be more helpful in case of queries to this issue...
A simple logo must be enough , try to stick to SVG format for the logo and you may add the logo in the static directory present in the root.

#39


Use theme's analytics instead of JBrowse built-in analytics

Nathan:
Could you give me some background?  What do you mean by theam?  Is this a modifycation to get our GA code to work?
@StevenCannon-USDA @jd-campbell @nathanweeks

Following along, I see that the jbrowse code in assets/js references analytics.html in the theme ... which sets the gtag to {{ site.google_analytics_id }} ... which is set in the _config.yml: google_analytics_id: "G-8KSLD77VLS"

That's right; the theme's analytics.html is injected into assets/js/jbrowse/index.html after the latter is generated when the JBrowse node package is installed. jekyll renders the included liquid object {{ site.google_analytics_id }}. Klunky, but should work.


Support for SQL Check and Constraint bug?

I tried the Unique Constraint of user1_id and user2_id. It works on one way but not the other. Values don't repeat but do repeat if I add them in reverse order.

See how I have user1_id and user2_id already:

And If I try to add it reversed, it adds anyway.

I tried adding unique constraint 2 times with reversed columns in each, but it doesn't work either.
So would be cool to be able to limit also in that way.
For the segond suggestion. How can I make it so user1_id and user2_id can't be the same? Would be cool to have the ability to use CHECKS with operators:

I'm not sure that I understand the above, but in any case I don't think it is a bug because the unique constraint is maintained on SQLite DB level (note that the order of combined constraints matter).
For now there are no plans to allow CHECK constraints. You can handle those on application level - either when using as framework OR with an API rule like (user1_id != user2_id)

On second read, if you are trying to create a compound unique constraint of 2 fields, then adding a second index with the reverse order may no be very efficient in terms of storage but should do the job (not that if your collection already has duplicated entries, the index creation will fail).

While searching to see how other databases handle this, in PostgreSLQ an usually workaround is to use an expression with LEAST/GREATEST.
The alternative in SQLite should be MIN/MAX (I haven't researched it or tested it in details so there could be some edge that I'm probably missing):
CREATE UNIQUE INDEX `idx_QjNONm2` ON `chats` (
  MIN(user1_id, user2_id),
  MAX(user1_id, user2_id)
)
``

The main drawback of the above is that because the index fields are now treated as expression, on duplication you'll get a generic API error instead of individual errors for the 2 fields.


When is the release for 1.19.4?

Tomorrow

Ok :3

Well, 1.19.3 is up. 1.19.4 will follow tomorrow, for real this time

releasing sometime today?

It'll be posted to CurseForge in a few minutes. I didn't do much testing, so please let me know if you run into any (new) bugs.


Fixes wrong hyperlinks

Fixes https://github.com/CartoDB/cartodb/issues/4605#issuecomment-123683831
cc @saleiva

Frontend tests were OK :+1: (details)


Explore use of require.resolve() in jest-resolve.

Simplified node_modules resolution in resolveSync()
Drastically simplified resolveAsDirectory()
Removed now obsolete helper function.

Summary
First: This is meant as a base of discussion, not for actual merging. As I don't know all implications this change has, I did not commit fully to require.resolve().
In the performance regression thread, the question was raised where jest-resolve and nodejs require differ in their way of resolving modules.  I stumbled onto  require.resolve() when I looked into that.
I found that, even with a conservative effort, I could replace quite a decent amount of code and thus reduce complexity.
Test plan

Tested the change against an existing suite of tests.
CI / CD
Existing unit tests?

(Again, this isn't meant to be merged, just to discuss the approach)

The problem is that we don't necessarily want to use the default implementation. Typical example is jest.mock('some-lib'), we then want to point to the mock implementation or usage of moduleNameMapper. We also have options like moduleDirectories and modulePaths. We also support a browser field instead of main.
So essentially, we need to control the resolution and cannot rely on Node's behavior. But I'm sure we can do things to make our implementation better. Node's implementation of require is here: https://github.com/nodejs/node/blob/1d5186e65745fdeb4b3d547ffa73a549125a2136/lib/internal/modules/cjs/helpers.js#L28-L94

The mocking, moduleName mapping and the actual loading of the module are still handled by the Resolver class. require.resolve() just returns a path. Also moduleDirectories and modulePaths should still be respected.  But I still glanced over some other options for the defaultResolver (like the extensions option).
Hopefully I can take a closer look at the package over the weekend.


Local Storage

Save the event in local storage when the save button is clicked in that timeblock.

Persist events between refreshes of a page


Choco failed to install

To Reproduce
Steps to reproduce the behavior:
Run irm christitus.com/win in powershell and it fails to do the setup at all. Almost all processes fail, never had the issue before when using this I know a little about computer usage but nothing about these things so Idk what else to do

Such problem isn't easy to reproduce as it has so many variables to look for.
Please attach any screenshot or error logs to narrow it down.

What we're looking at is the actual script codes.
What exactly did you enter in your powershell?

irm christitus.com/win
this is what I ran as I always have, it used to work for me before idk if anything changed or what

You need to execute the script, irm christitus.com/win alone will only fetch it.
You need to run irm christitus.com/win | iex per README

@roguekira  you should close this issue now.

@padsalatushal how? This is my first time ever really using github..


"Active Tool" option not working

I have my active tool set to "None" and the "Measure" tool always pops up when the application is opened. If I set my active tool to "Layers" same thing happens, always starts with "Measure".

Issue will be fixed in the next release.


Do not override config values in nuxt.config.js when using the Nuxt CLI tools

What problem does this feature solve?
This allows us to use the nuxt build then nuxt start chain of commands to build and deploy development and production environments in the same way. It also allows us to provide a much better testing experience in development environment due to the much richer logging Nuxt provides in dev mode.
Concrete use case:
We're using separate Kubernetes clusters for development/integration and production. Both environments have an identical build and deployment setup with the same restriction: we do not run nuxt build in a pod due to its resource consumption. This rules out any usage of nuxt dev.
If nuxt build respects the the value of NODE_ENV and/or the value of dev in nuxt.config.js this scenario becomes possible. It also has the added benefit of providing symmetry to the tools nuxt is build on, e.g. webpack only forces production optimizations when using the -p flag or when setting it in the config file.
What does the proposed changes look like?
The nuxt CLI no longer overrides the configuration file. The current behavior can remain the default, unless explicitly configured otherwise. That way it should not introduce braking behavior

This feature request is available on Nuxt community (#c9747)

Not sure I fully understand your use-case, but have a look at NuxtCommands. You could just copy the existing commands and tweak them as you see fit. Even though you can already tweak almost everything using hooks

@pimlie None of these ideas prevent nuxt build from forcing NODE_ENV=production as well as other build time optimizations on me.
Also the point of the feature request is to enable this type of behavior without resorting to hooks or any other low-level/Nuxt-as-a-library type of usage. What I'm proposing is, is that commands like nuxt build provide sane defaults, but obay the configuration files, regardless of any specific use case
As for the use-case:
In my case it is the desire to selectively run development or production build from our kubernetes deployments. These clusters are meant as runtime environments, i.e. pods are deployed with quite restrictive resource limits (0.2vCPUs / 75mb memory), precluding any usage of nuxt build/nuxt dev inside the cluster.
Though I can imagine other use-cases, like running webpack plugins to inspect a build for development and production in reproducible setups.
I can try phrasing the question differently:
Why does Nuxt behave this way in the first place? Next.js does not (especially in this case), Webpack doesn't and other tools also follow the logic of provide sane defaults but allow developers to overwrite them.
I thought this phrasing may come of as too argumentative though so I based it around the situation I identified this.

We have a new programmatic API in Nuxt 3 which I think should handle your use case and will not override the defaults.
build/dev commands do need to override dev and set NODE_ENV as otherwise the commands won't do what they say they are doing which would be a much more confusing situation (ie. it would be possible for nuxt build to start a dev server or nuxt dev to build the project).


file-age-color also runs on issues and PR tab

Description
The new file age color feature also changes colors on issue and PR tabs.

How to replicate the issue + URL

This repo https://github.com/refined-github/refined-github/
Press issue or pr tab

Only happens if you go directly from a file page to a issue/pr tab, moving from issue to pr tab doesn't have this issue.
Extension version
23.2.20
Browser(s) used
Google Chrome 110.0.5481.104 x64

Might be a timing issue caused by the SPA. Is it possible the feature is running after the DOM change but before the URL change? This might explain why going to another tab right after doesn't have this issue.

timing issue caused by the SPA

Last related change in 23.2.1:

https://github.com/refined-github/refined-github/pull/6267

Oh, I thought that was a feature :eyes:
I just wanted to report the bug that it doesn't load when you directly go to issue or PRs e.g. by reloading the page
You first need to load the Code tab and then navigate to issue/PR

I also honestly thought this was an intentional feature. If there could be an option to also enable this for issues / pull requests I'd greatly appreciate that!


Clicking object does not popup inspector view on Safari

https://github.com/pocka/figspec/pull/36#issue-1174131996
Confirmed on macOS Safari Version 15.1 at 4996f1c and master.

https://stackoverflow.com/questions/42938270/click-event-on-svg-not-working-in-safari

some investigation:

seems to be broken in the storybook since before lit upgrade
I cannot reproduce this using figspec/components outside of this local storybook (e.g.)
Messing around with making the <path> of the node outlines not overflow of the <svg> in the storybook demo in this repo, it functions normally

Basically: Pretty sure you nailed down the issue, but I don't know why it's broken for this storybook but not for other demos that are in a similar situation

@e111077
Thanks for the insight! The second point, that the selection does work outside Storybook, is interesting.
My current plan is to replace the SVG outlines with Canvas, as (probably) SVG rendering is the cause of #30 and #31.

Moving to canvas was good enough for Google Docs, it's good enough for figspec!
Not much you can do to get around the giant JSON binary in memory.
Perhaps mouse interactions with canvas can stream to a WASM binary that preprocesses the JSON which streams back rendering data? Though I wonder how slow the communication across the binary would be. A lot of work but sounds like fun!

v1.0.2


juicefs: add accesskey2 & secretkey2 for mirror fs

Ⅰ. Describe what this PR does
Add access-key2 & secret-key2 in secret for mirror filesystem. Refer to https://juicefs.com/docs/zh/cloud/guide/mirror/
Ⅱ. Does this pull request fix one issue?

Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Ⅰ. Describe what this PR does
Add access-key2 & secret-key2 in secret for mirror filesystem. Refer to https://juicefs.com/docs/zh/cloud/guide/mirror/
Ⅱ. Does this pull request fix one issue?
Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Looks like juicefs support multiple mirrors not only 2 mirrors.

/test fluid-e2e

/retest


Outline Image Effect - VR Single Pass Support

Hey guys, me again. Im attempting to make the image effect for the outlines work in VR with the single-pass instanced rendering mode. I've tried a couple solutions using the Unity documentation on the subject (specifically this one) though nothing seems to stick. Currently, the game view simply renders a gray/black view with nothing else visible.
I've tried adjusting the UV Coords with the unity_StereoScaleOffset and the UnityStereoTransformScreenSpaceTex, but I believe I am simply too inexperienced to understand how to use these in order to get the desired results.
Below is an example of what is being rendered (Scene view vs Game view). In the headset, the left eye renders a white image, and the right eye renders a black one.

This is the outline settings currently:

For additional context, I am using a valve index headset with Steam VR Unity plugin.
Also, thanks for the great asset! Appreciate all the help with this VR stuff.

Thank you for the details description and the screenshots.
A few questions to help us debug:

Which version of Unity are you using?
Which version of URP are you using?
Can you please list the steps to reproduce the issue from a blank project to the screen you're seeing?

Hi! We have added Single Pass Stereo support for Unity 2021 and later in Flat Kit 2.9.0, please check it out.


Feature/34_create_agreement_index

Description
Add a description of your changes here.
Is this PR related with an open issue?
Related to Issue #
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] Follows the code style of this project.
[ ] Tests Cover Changes
[ ] Documentation

I think the index looks simpler and better now. One last consideration, do you think it would be useful to register in that index a publication date time or similar (createdAt as datetime)? That way that index can be used to create the secondary market wall where you can sort by date when the asset was made available in that market.

@aaitor yes, that makes sense. There's one more question: do we want this to fully support the secondary markets or just combined with the DDO? If yes, them we need to add some more info like: seller name, asset title, artist. Anyways, that information can be obtained with a projection via did.

Yes, I think that information (title, category, etc) should come from the DDO. Basically this index should return a list of DIDs short by date. With this list of DIDs you call the usual index to get all the details of the assets.

@aaitor publication time added.

I think the index looks simpler and better now. One last consideration, do you think it would be useful to register in that index a publication date time or similar (createdAt as datetime)? That way that index can be used to create the secondary market wall where you can sort by date when the asset was made available in that market.

I think we should go with just storing the entire service agreement. It has a well defined schema and then the index would work for any agreement and the creation date is already there

@r-marques requested changes in here. 👍


[Marker.io] "book a demo" button not configured on "campaigns" card tile

Steps to reproduce:

click "book a demo" button on campaigns card

Actual result: not configured
Expected result: please configure

Reported by: vinod<EMAIL_ADDRESS>- Contact via Marker.io
Source URL: https://wf-b.stg.prezzee.com/en-us/pricing
Issue details: Open in Marker.io
Device typedesktopBrowserChrome <IP_ADDRESS>Screen Size1366 x 768OSWindows 10 (10.0.0)Viewport Size1366 x 641Pixel Ratio@1x

also needs to be fixed on "API integrations" card shown below the "campaigns" card

links updated by the client

🤖 Marker.io bot - This issue was marked as ✅ Resolved in Marker.io


Fix initial layout

This fixes the layout issues we found with the validation layers.
It's still a bit rough and needs reviewing but it's testable right now.
To test:
VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation

Then run your application.

Nice, after applying the patch I'm seeing no more image layout errors in the standard validation output!
That said, it seems that either there are some other issues with this patch or it is revealing something wrong within nannou and conrod's usage of vulkano. Before applying the patch, all examples would run without panic!ing and text seemed to render correctly, however after applying the patch the vk_image.rs and vk_images.rs examples panic! with Undefined layout errors and text in all examples looks oddly distorted.
Applying the patch
I applied the patch like this while on the nannou v0.9 branch:
[patch.'https://github.com/mitchmindtree/vulkano']
vulkano = { git = "https://github.com/freesig/vulkano", branch = "fix_initial_layout" }

vk_image.rs and vk_images.rs panic!
The only examples to panic! were the vk_image.rs and vk_images.rs examples. Here are the backtraces for each below:
     Running `target/debug/examples/vk_image`
thread 'main' panicked at 'assertion failed: `(left != right)`
  left: `Undefined`,
 right: `Undefined`', /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/command_buffer/sys.rs:1880:9
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
   1: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:71
   2: std::panicking::default_hook::{{closure}}
             at src/libstd/sys_common/backtrace.rs:59
             at src/libstd/panicking.rs:197
   3: std::panicking::default_hook
             at src/libstd/panicking.rs:211
   4: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:474
   5: std::panicking::continue_panic_fmt
             at src/libstd/panicking.rs:381
   6: std::panicking::begin_panic_fmt
             at src/libstd/panicking.rs:336
   7: vulkano::command_buffer::sys::UnsafeCommandBufferBuilderPipelineBarrier::add_image_memory_barrier
             at /home/mindtree/.cargo/git/checkouts/conrod-4c1bb476976111ac/991b1af/backends/conrod_vulkano/<::std::macros::panic macros>:8
   8: vulkano::command_buffer::synced::base::SyncCommandBufferBuilder<P>::prev_cmd_resource
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/command_buffer/synced/base.rs:642
   9: vulkano::command_buffer::synced::commands::<impl vulkano::command_buffer::synced::base::SyncCommandBufferBuilder<P>>::copy_buffer_to_image
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/command_buffer/synced/commands.rs:876
  10: vulkano::command_buffer::auto::AutoCommandBufferBuilder<P>::copy_buffer_to_image_dimensions
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/command_buffer/auto.rs:878
  11: vulkano::image::immutable::ImmutableImage<F>::from_buffer
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/image/immutable.rs:236
  12: vulkano::image::immutable::ImmutableImage<F>::from_iter
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/image/immutable.rs:205
  13: vk_image::model
             at examples/vulkan/vk_image.rs:85
  14: nannou::app::Builder<M,E>::run
             at ./src/app.rs:600
  15: vk_image::main
             at examples/vulkan/vk_image.rs:8
  16: std::rt::lang_start::{{closure}}
             at /rustc/3de0106789468b211bcc3a25c09c0cf07119186d/src/libstd/rt.rs:64
  17: std::panicking::try::do_call
             at src/libstd/rt.rs:49
             at src/libstd/panicking.rs:293
  18: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:87
  19: std::rt::lang_start_internal
             at src/libstd/panicking.rs:272
             at src/libstd/panic.rs:388
             at src/libstd/rt.rs:48
  20: std::rt::lang_start
             at /rustc/3de0106789468b211bcc3a25c09c0cf07119186d/src/libstd/rt.rs:64
  21: main
  22: __libc_start_main
  23: _start

     Running `target/debug/examples/vk_images`
thread 'main' panicked at 'assertion failed: `(left != right)`
  left: `Undefined`,
 right: `Undefined`', /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/command_buffer/sys.rs:1880:9
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
   1: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:71
   2: std::panicking::default_hook::{{closure}}
             at src/libstd/sys_common/backtrace.rs:59
             at src/libstd/panicking.rs:197
   3: std::panicking::default_hook
             at src/libstd/panicking.rs:211
   4: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:474
   5: std::panicking::continue_panic_fmt
             at src/libstd/panicking.rs:381
   6: std::panicking::begin_panic_fmt
             at src/libstd/panicking.rs:336
   7: vulkano::command_buffer::sys::UnsafeCommandBufferBuilderPipelineBarrier::add_image_memory_barrier
             at /home/mindtree/.cargo/git/checkouts/conrod-4c1bb476976111ac/991b1af/backends/conrod_vulkano/<::std::macros::panic macros>:8
   8: vulkano::command_buffer::synced::base::SyncCommandBufferBuilder<P>::prev_cmd_resource
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/command_buffer/synced/base.rs:642
   9: vulkano::command_buffer::synced::commands::<impl vulkano::command_buffer::synced::base::SyncCommandBufferBuilder<P>>::copy_buffer_to_image
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/command_buffer/synced/commands.rs:876
  10: vulkano::command_buffer::auto::AutoCommandBufferBuilder<P>::copy_buffer_to_image_dimensions
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/command_buffer/auto.rs:878
  11: vulkano::image::immutable::ImmutableImage<F>::from_buffer
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/image/immutable.rs:236
  12: vulkano::image::immutable::ImmutableImage<F>::from_iter
             at /home/mindtree/.cargo/git/checkouts/vulkano-b4f940c5afebf2a5/1f51761/vulkano/src/image/immutable.rs:205
  13: vk_images::model
             at examples/vulkan/vk_images.rs:92
  14: nannou::app::Builder<M,E>::run
             at ./src/app.rs:600
  15: vk_images::main
             at examples/vulkan/vk_images.rs:8
  16: std::rt::lang_start::{{closure}}
             at /rustc/3de0106789468b211bcc3a25c09c0cf07119186d/src/libstd/rt.rs:64
  17: std::panicking::try::do_call
             at src/libstd/rt.rs:49
             at src/libstd/panicking.rs:293
  18: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:87
  19: std::rt::lang_start_internal
             at src/libstd/panicking.rs:272
             at src/libstd/panic.rs:388
             at src/libstd/rt.rs:48
  20: std::rt::lang_start
             at /rustc/3de0106789468b211bcc3a25c09c0cf07119186d/src/libstd/rt.rs:64
  21: main
  22: __libc_start_main
  23: _start

Text Distortion
Here are before and after images demonstrating what the simple_ui.rs example looks like before the patch is applied and after the patch is applied:
Before:

After:

While this only shows the simple_ui.rs example, all examples that displayed some text showed the same strange distortion behaviour. I'm not sure whether this is revealing
Example Output
Here are two logs of stdout: the first contains the output of every nannou example before applying the patch, the second contains the output of every example after applying the patch.

cargo_test_output_pre_patch.txt

cargo_test_output.txt

As you can see, there are no more InvalidImageLayout errors in the output with patch applied!
Possible Bug Causes
The only standard validation layer error that remains is the VkImageViewCreateInfo-usage-02275(ERROR / SPEC) error which seems to show up for every example. I wonder whether or not this has anything to do with the odd text distortion or panic!s? That said, we were seeing this same error prior to the patch and we didn't see either of these bugs so I guess it is unlikely that it is related.
I'll come back to this soon and take a look at the vk_image.rs and vk_images.rs nannou examples soon to see if I can find anything odd about them if you don't beat me to it.

Ok this vk_image.rs error seems to be happening because of ImmutableImageInitialization returning Undefined for initial_layout_requirement()

Nice! I can confirm the last commit does fix the panic!s that were occurring on vk_image.rs and vk_images.rs! No examples are panic!ing anymore :+1:
I'm still seeing the odd font distortion issue for some reason. I wonder if it has something to do with the StorageImage that is used for caching glyphs and whether or not the necessary flags etc are set for sampling...
I guess there's also a chance its a driver bug of some sort, though it is odd that it would only show up after fixing the layout transitions.
Is there a way we can compare the transitions that simple_ui.rs would generate before and after the patch is applied? Maybe seeing the difference in the layouts used might give an idea of what's going on?
It would be nice to see this tested on another system too... Might see if we can test this branch on joshy's lappy.

Ok the text distortion is not happening on my ubuntu.
It could still be a problem with how we are using vulkano and it's not showing up on here because it's a different intel chip. Might be worth checking that the fonts haven't been corrupted or something in a commit.
I'll run some more tests and see what shows up

Nothing is showing up on any of the validation tests. I'm a little lost as t where to begin with this.

After some fixes to the conrod vulkano glyph cache implementation this seems to be working perfectly!

I'm going to merge this now :+1: Do you want to also add this commit to your PR at vulkano-rs/vulkano#1171?


Suggestion: have /jenkins-is-the-way/ instead of /user-story/ in the URLs

The current URLs of most of the pages doesn't mean anything special with /user-story/:
https://stories.jenkins.io/user-story/to-improve-railway-signaling-solutions
I'm suggesting to put in place a redirection (or maybe replace the user-story from the paths and slugs in the code) to get /jenkins-is-the-way/ in them, so the title of the stories is reflected in the URL and means something when reading them:
https://stories.jenkins.io/jenkins-is-the-way/to-improve-railway-signaling-solutions
Chat exchange:

hervelemeur
WDYT about replacing /user-story/ in the urls by /jenkins-is-the-way/ with a redirection for example?
https://stories.jenkins.io/user-story/to-improve-railway-signaling-solutions would become https://stories.jenkins.io/jenkins-is-the-way/to-improve-railway-signaling-solutions

MarkEWaite (Mark Waite)
I'm not sure what we gain by that redirection. An original URL looked like this:
https://jenkinsistheway.io/user-story/jenkins-is-the-way-to-facilitate-day-to-day-work/
The same page on stories.jenkins.io looks like this:
https://stories.jenkins.io/user-story/to-facilitate-day-to-day-work/
If your intent is to match the original URL, then I think that we would want to redirect from
https://stories.jenkins.io/user-story/jenkins-is-the-way-to-facilitate-day-to-day-work/
to
https://stories.jenkins.io/user-story/to-facilitate-day-to-day-work/

hervelemeur
most of the stories in the repo start with "to-...". I thought it was interesting to get the "Jenkins Is The Way" of the title also reflected in the URLs.
(as a bonus, AFAIK it could help a little on the SEO side by having the url closely matching the page title)

MarkEWaite (Mark Waite)
Wouldn't it be even better for SEO if the original URL were matched?
https://jenkinsistheway.io/user-story/jenkins-is-the-way-to-facilitate-day-to-day-work/ (original)
https://jenkinsistheway.io/user-story/to-facilitate-day-to-day-work/ (current)

hervelemeur
idk, I don't think so but not sure at all. I also think/hope there will be more new stories than old ones at a certain point, and that the new domain will take over the old one in search results.

halkeye
I can add a redirect pretty easily

can i tackle this one ?

I do not think we should pursue this issue further as per feedback on #55.


User Content Page Comments Section Update when article deleted

User Content page comment section is currently not updated whenever user deletes an article they commented on.

[ ] add reducer/action to store to delete specific comment section
[ ] dispatch update comment section whenever an article deletion is executed

Issue resolved.


Is this project still active?

Hi there! I'd like to know whether or not this project is still active or managed by someone. I'm a maintainer of Impulse and I'm currently implementing plugin support for all the servers I can find.
An answer would be much appreciated.
Sincerely, ShadowAria.

Hi, and sadly nope.

Yes, it isn't.

Yes


Support iOS Voip Push ？？

Support？？
https://developer.apple.com/library/archive/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html

How to push VoIP push?


Unable to display P2P Messages on account with has_encrypttoself_message=1

Describe the bug
If an account with existing messages have sent encrypted message with parameter EncryptToSelfMessage via API, XT Wallet can't display no new nor old messages on the P2P Messages tab.
To Reproduce
Steps to reproduce the behavior:

Create and activate a new account: S-XZHR-G9B3-2QTZ-DDZLM
Send some messages with this new account to random existing accounts
Send an encrypted message with parameter EncryptToSelfMessage via API
parameters set are:
[string]recipient : self account address S-XZHR-G9B3-2QTZ-DDZLM
[int64]feeNQT : 1000000
[string]secretPhrase : pass/seed phrase
[int32]deadline : 60
[string]messageToEncryptToSelf : some text to encrypt, used the following: When encrypting messages to yourself, you may want to use this field.
[boolean]messageToEncryptToSelfIsText : true
Test transaction ID:<PHONE_NUMBER>46487487
See error :
4.1 For a test account, transaction to self can't be displayed in XT Wallet and Copy button takes a copy of an address, not a message, like in other cases

4.2 For a main account S-BHGT-NTCV-K4VS-ACTUZ there's an error on a P2P Message tab, none of existing messages can be seen

Expected behavior
An icon of a lock with a text Click to reveal is expected to be displayed, with an ability to decrypt an encrypted message sent to self.
Screenshots
If applicable, add screenshots to help explain your problem.
Browser (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Main account S-BHGT-NTCV-K4VS-ACTUZ messages were broken after transaction id<PHONE_NUMBER>940051613 and can be displayed by Classic Wallet only (all except the message to self).

Thank for reporting.

The error in wallet is caused by Transaction<PHONE_NUMBER>367044149, which is marked as Arbitrary Message (Type:1, Subtype: 0) but has no attachment at all and though causes an undefined exception. Not sure, how you were able to create this transaction.
{
    "type": 1,
    "subtype": 0,
    "timestamp": 265893110,
    "deadline": 1440,
    "senderPublicKey": "bbc48b1e7f47816a718ed2a687e7e598c4813550575bac82c78966d5c20c1431",
    "recipient": "10370429460841545177",
    "recipientRS": "S-BHGT-NTCV-K4VS-ACTUZ",
    "amountNQT": "0",
    "feeNQT": "1000000",
    "signature": "4ce82222d30f81fb49e0156eedca7be6f65d3ec77b78058806daefb9ec3d6700fdc3db45a67208fef1fc23508ede668bb272ec606b0ff0ab2264e64bce092c55",
    "signatureHash": "2ee4b89101f5224c3eb3443d93938d325a658e6f79aa2104732fac48728a7e5d",
    "fullHash": "350436cc22f311697e51a3ca089d4dd2b57ba111f7eecd9d2dfbea8a780a2a02",
    "transaction": "7571099779367044149",
    "sender": "10370429460841545177",
    "senderRS": "S-BHGT-NTCV-K4VS-ACTUZ",
    "height": 1101780,
    "version": 2,
    "ecBlockId": "13018393768308794197",
    "ecBlockHeight": 1101770,
    "cashBackId": "10370429460841545177",
    "block": "13020333166423716473",
    "confirmations": 19776,
    "blockTimestamp": 265893151
}

I'm adding an additional check...This type of tx should not be possible imho, as the type requires an attachment object.

After I consulted @jjos2372 it is technically legit to have message transactions without attachment (not sure how you did this), and I fixed the message list, such no error appears anymore. Furthermore, I found a small bug, which did not decrypted messages send to self using the common encryption feature. At this moment, the encryptToSelf thing is not supported by XT (nor SignumJS), and I do not see any good reason to do so - yet. Will discuss further with jjos and deleterium regarding the encryptToSelf thing.
I close this as (partially) solved. At least the wallet won't show the error anymore (upcoming version)

After I consulted @jjos2372 it is technically legit to have message transactions without attachment (not sure how you did this), and I fixed the message list, such no error appears anymore. Furthermore, I found a small bug, which did not decrypted messages send to self using the common encryption feature. At this moment, the encryptToSelf thing is not supported by XT (nor SignumJS), and I do not see any good reason to do so - yet. Will discuss further with jjos and deleterium regarding the encryptToSelf thing.
I close this as (partially) solved. At least the wallet won't show the error anymore (upcoming version)

Hi,
thank a lot, really appreciate the efforts and fixes!
It's a shame I can't even reproduce the issue and can't tell exactly now what fields were filled into the api form.
Regarding a transaction that prevents XT Wallet to display any message, I think it is<PHONE_NUMBER>893624201, that has an attachment, not<PHONE_NUMBER>367044149 you mentioned.
I can see both those Txs in Classic Wallet in the Transactions section and even an encrypted message of Tx<PHONE_NUMBER>893624201 can be decrypted and displayed correctly.
In a Messages section of Classic Wallet I can see only<PHONE_NUMBER>893624201 in a list but without a message displayed. All other messages (to and from other accounts) are displayed correctly.
XT, Phoenix Web 1.4.2 and Phoenix 1.5.0-beta.2 can't display any message at all for my account.

I think in Phoenix it will be the same problem. I assume that a message has always an attachment object, but that's apparently not guaranteed... so, I need to apply the same fix there. For Phoenix you have to wait for beta.3 then. Sorry. But XT 1.4.1 was just released.


[RPC] android process isolation/watchdog

Summary: add more robustness to android RPC to facilitate automated schedule optimization via autotvm.
Previously the android RPC app would crash if passed a bad schedule as the RPC server ran in the same process as the app (different thread). This PR moves the RPC service to an android service that runs in a separate process to provide process isolation.
There is also now a watchdog which periodically polls the RPC service to check if it is alive. The watchdog starts a new RPC service if a bad schedule crashed the service.
The watchdog also instructs the RPC service to check if it is currently in a session that has timed out (currently a hard timeout of 30 seconds is enforced). The RPC service kills itself in this case; the app will wait for a respawn from the watchdog. This step is necessary as some bad schedules have been found to leave OpenCL in a bad state where the entire process must be completely restarted while locking up the RPC service.

CC @yzhliu

@PariksheetPinjari909 @srkreddy1238 can you also help review this?


double click on search result brings up the table with the previous search filtered instead of the current search.

this was tested on several postgres hosts, with different versions, up to 9.6
using DBeaver 5.1.0 (issue was present on previous versions as well), running on windows 10 64bit
steps to reproduce:
search DB for some term, e.g. "test1"
result window shows tables where this string is found, double click on any table brings up the table data, filtered to only show values containing "test1", as expected.
if i start a new search for a different term, e.g. "test2", search window shows a list of tables, but after double click on any table in the list, it is opened with the term "test1" filtered.
not "test2" as expected.
the only way to start a new search is to close the entire app window and re-open.
requiring to save and re-open all current tabs and files.
Amir.

Thank for bug report.
Workaround: you can just close search results view (no need to restart whole application)


chore(version): Update database version

Add instance migration project

Adjust create scripts

Create upgrade scripts

Add the new changeSets to liquibase

add migration fixture for 7.23

update old engine test

remove telemetry fields from old engine cfg

chore(database): remove telemetryReporterActivate from old-engine and rolling-update tests

adjust old version for spin and connect

exclude DatabaseNamingConsistencyTest in test-old-engine

chore(database): activate oracle23 in old-engine stage in CI (#4677)

related to #203
related to camunda/camunda-bpm-platform#4556
Backported commit 396d635ce7 from the camunda-bpm-platform repository.
Original author: psavidis<EMAIL_ADDRESS>

I can't judge that ATM and am not sure if this should go into the beta-2. I would feel more comfortable if this would go into the next beta.

Now that we have released the beta-2 we can merge this for beta-3. We also have this sql scripts artifacts now, I think until 7.24 EOL version we just need to advice anyone coming from a version >7.22 to manually check and execute the db migration scripts. These are only tiny changes adding a field here and there so it's absolutely doable.

Added a forum thread for it: https://forum.operaton.org/t/deciding-on-the-database-versioning-for-operaton/105/2

If I interpret our discussion in the forum correctly, this can be merged as is, I think?

That is true, i just wanted to wait until today so that everybody had a chance to comment on this


Window Size for Settings still Not Retaining manual adjust Size

Environment
Microsoft Windows [Version 10.0.19041.264]
Windows build number: [run "ver" at a command prompt]
PowerToys version:
PowerToy module for which you are reporting the bug (if applicable):

Steps to reproduce
Click powertoys in notification tray, window is on set size that cannot be adjusted, meaning everytime you click on the icon , the window reverts to default size and location

Expected behavior

Actual behavior

Screenshots

It also doesn't remember maximized state.

Let's use #3685 to track this.


Add svelte-unicons

This is the only package of svg icons by IconScout/unicons to use in svelte project.

LGTM, add a full stop . at the end of the line.

LGTM, add a full stop . at the end of the line.

'.' added. thanks


Redesign Prepared (Fixes #95, #97)

This intends to fix #95. It should also improve reliability as it also fixes #97.
Full description, including motivation, is in the included file ABOUT_PREPARED_V2.md
Tasks:

[x] Eliminate PreparedImpl.
[x] Eliminate Prepared.exec/Prepared.query. (Make them overloads of the regular exec/query functions.)
[x] Eliminate Prepared.release/Prepared.register.
[x] Eliminate Prepared's reference to a Connection.
[x] Eliminate mysql.prepared's dependency on mysql.connection (except when compiling unittests).
[x] Connection manages a list of the prepared statements registered on it.
[x] Implement internal Connection.release/Connection.register functionality.
[x] Create public Connection.release/Connection.register.
[ ] ~Create public ConnectionPool.release/ConnectionPool.register~ (delayed for follow-up release).
[x] Automatically register Prepared the first time it's used on a Connection (if not already manually registered).
[x] Ensure a prepared statement cannot accidentally remain in the release queue after it's re-registered. (This shouldn't be possible anyway, but need to be sure)
[x] Temporary compatibility layer: prepareBackwardCompat.
[ ] ~Test calling release during GC cycle.~ (blocked by #159)
[ ] ~Implement #118~ (delayed for follow-up release).
[x] Prune dead imports.
[x] Write "Migrating to v2.0.0" documentation.
[x] Double-check for sufficient unittesting.
[x] Double-check all relevant documentation.

Just waiting for travis-ci approval now...


Corrected typos in relation to dual protocol support

Was Acitve Diectory
Now Active Directory

@gamcmaho : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@gamcmaho thanks much for catching this typo!
#sign-off

#sign-off