Links to API Reference are broken

Fix in master and release_0_9 (create a separate PR for each).
STR
Generate the documentation site. Instruction..
Open documentation site and click on any API reference link. For example, go to Jmix React UI -> EntityEditor and navigate the link to EntityEditorProps.
AR
Link leads to https://docs-frontend.jmix.io/jmix-frontend-docs/0.x/api-reference/jmix-react-ui/interfaces/_ui_form_form_.entityeditorprops.html which results in 404.
ER
Link leads to https://docs-frontend.jmix.io/jmix-frontend-docs/0.x/api-reference/jmix-react-ui/interfaces/ui_form_form.entityeditorprops.html
Note
It seems that the newer typedoc version has changed the way file names are constructed.
Check all links in the documentation site and make sure they are working.

Page /jmix-frontend/docs-build/jmix-frontend-docs/1.0/overview/index.html:
1.1 Backoffice UI link
AR: https://docs.jmix.io/jmix/0.x/backoffice-ui/ leads to page Coming soon:

ER: link should be https://docs.jmix.io/jmix/1.0/backoffice-ui/

1.2. Jmix Studio link
AR: https://docs.jmix.io/jmix/0.x/studio/index.html leads to page with Caution:

ER: https://docs.jmix.io/jmix/1.0

Page Getting Started /jmix-frontend/docs-build/jmix-frontend-docs/1.0/getting-started/learning-path.html
2.1 our forum link
AR: https://www.cuba-platform.com/discuss/c/jmix/40
ER: https://forum.jmix.io/

Page Forms /jmix-frontend/docs-build/jmix-frontend-docs/1.0/client-react/forms.html
AR: FieldProps link /jmix-frontend/docs-build/jmix-frontend-docs/1.0/api-reference/jmix-react-ui/interfaces/_ui_form_form_.fieldprops.html leads to 404
ER: FieldProps correct link

@ilya-trifonov see above comment from

Page React Client / Observable State with MobX

observer link
AR: https://mobx.js.org/refguide/observer-component.html

ER: probably https://mobx.js.org/react-integration.html

observable link
AR: https://mobx.js.org/refguide/observable.html

ER: https://mobx.js.org/observable-state.html

Page React Client / Forms
FieldProps link
AR:
http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/1.0/api-reference/jmix-react-ui/interfaces/_ui_form_form_.fieldprops.html

Page React Client / I18n
react-intl documentation link
AR: https://github.com/formatjs/react-intl/blob/master/docs/README.md

ER: https://github.com/formatjs/formatjs/blob/main/README.md

Page React Client / Security
Security service link
AR: http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/1.0/api-reference/jmix-react-core/classes/_app_security_.security.html

corresponding methods link
AR: http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/1.0/api-reference/jmix-rest/modules/security.html

getEffectivePermissions link
AR: http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/1.0/api-reference/jmix-rest/classes/cuba.cubaapp.html#geteffectivepermissions

Page Jmix React UI / EntityEditor
EntityEditorProps link
AR: http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/1.0/api-reference/jmix-react-ui/interfaces/ui_form_form.entityeditorprops.html

Page Jmix React UI / NestedEntitiesTableField
NestedEntitiesTableFieldProps link
AR: http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/1.0/api-reference/jmix-react-ui/interfaces/ui_form_form.nestedentitiestablefieldprops.html

Page Jmix React UI / NestedEntitiyField
NestedEntitiyFieldProps link
AR: http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/1.0/api-reference/jmix-react-ui/interfaces/ui_form_form.nestedentityfieldprops.html

Page REST API
here link

AR: http://files.cuba-platform.com/swagger/7.2
ER: any Jmix page?

Libraries API Reference combo box in the header:

All of the links lead to some CUBA pages and broken
ER: links lead to Jmix pages
Jmix instead of CUBA should be displayed in the link captions

GitHub Home :

AR: link leads to https://github.com/cuba-platform/frontend
ER: link leads to https://github.com/Haulmont/jmix-frontend

Jmix Frontend UI in the header:

AR: link leads to https://docs.jmix.io/
ER: probably we don't need the link here, it's just a main page caption

unable to check the release_0_9 branch because of blocking issue

release_0_9 branch

Page Jmix Frontend UI Manual / Overview
Jmix Studio block
link Jmix Studio
AR:
https://docs.jmix.io/jmix/0.x/studio/index.html

Jmix REST library block
Generic REST API link
AR:
https://docs.jmix.io/jmix/0.x/rest/index.html

Page Jmix Frontend UI Manual / Getting Started
our forum link
AR:
https://www.cuba-platform.com/discuss/c/jmix/40
ER:
https://forum.jmix.io/

Jmix Frontend UI Manual / React Client / Getting Started with React Client

Both gif pictures is obsolete and should be updated to the current version

Exploring the Generated Project
AR:
the displayed structure is obsolete:

ER:
the app's actual structure

Jmix Frontend UI Manual / React Client / Where Do I Go From Here?
Generic REST API link
AR:
https://docs.jmix.io/jmix/0.x/rest/index.html

Jmix Frontend UI Manual / React Client / Observable State with MobX

MobX link
AR:
https://mobx.js.org/intro/overview.html

ER:
https://mobx.js.org/README.html

observer link
AR:
https://mobx.js.org/refguide/observer-component.html

Jmix Frontend UI Manual / React Client / Forms
FieldProps link:
AR:
http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/0.x/api-reference/jmix-react-ui/interfaces/_ui_form_form_.fieldprops.html

Jmix Frontend UI Manual / React Client / I18n

Adding New Localized Content
react-intl documentation link
AR:
https://github.com/formatjs/formatjs/blob/main/docs/README.md

Jmix Frontend UI Manual / React Client / Backend Model
obsolete directory name:

Jmix Frontend UI Manual / React Client / Security
corresponding chapter link
 Jmix Platform manual link
AR:
https://docs.jmix.io/jmix/0.x/security

Security Service (Jmix React Core) block
Security service link
AR:
http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/0.x/api-reference/jmix-react-core/classes/_app_security_.security.html

Jmix REST Utility Methods block
corresponding methods link
AR:
http:/localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/0.x/api-reference/jmix-rest/modules/security.html

getEffectivePermissions link
AR:
http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/0.x/api-reference/jmix-rest/classes/_cuba_.cubaapp.html#geteffectivepermissions

Jmix Frontend UI Manual / React Client / AccessControl
Security in Jmix link
AR:
https://docs.jmix.io/jmix/0.x/security

Jmix Frontend UI Manual / React Core / AttrPermAccessControl
AttrPermAccessControlProps link
AR:
http://localhost:63343/jmix-frontend/docs-build/jmix-frontend-docs/0.x/api-reference/jmix-react-core/interfaces/access_control_attrpermaccesscontrol.attrpermaccesscontrolprops.html

Security in Jmix link
AR:
https://docs.jmix.io/jmix/0.x/security

Jmix Frontend UI Manual / React Core / ClientSideDataCollectionStore
Composition relationship

Jmix Frontend UI Manual / React Core / Security
Security in Jmix link
AR:
https://docs.jmix.io/jmix/0.x/security

Jmix Frontend UI Manual / TypeScript SDK
Something wrong with copy icon:

Jmix Frontend UI Manual / REST API
Generic REST API

CUBA link is here:

link to CUBA frontend here
https://github.com/cuba-platform/frontend


TFJob in Pipeline Spec

As part of our current goal to integrate Pachyderm and Kubeflow, we'd like to add support for placing TFJobs directly in Pachyderm pipeline specs. This is still a high-level exploration, but the tasks that I currently see are:

[x] Allow pipeline specs to be written in YAML. This seems feasible by replacing our current parser with https://github.com/go-yaml/yaml
[ ] Add an unstructured field for TFJobs to our pipeline spec and job spec (validating it will initially consist of checking that either transform or TFJob is set
[ ] Modify our standby/resume logic so that for TFJob pipelines, it creates a new TFJob instead of a new RC

TODO: Figure out getting TFJob data back into Pachyderm

Overall this seems like a nicely scoped down approach. The only thing that isn't discussed here that will need to be figured out for an mvp of this is how tfjob is getting access to the data. The simple answer is through the s3gateway, but the tricky part is telling it which commits to access. You can't have it access the master branches directly, because those can change between when the job gets triggered and when it starts to run (or while it's running) so we need to point it at static commits, however that means that the TFJob spec needs to be slightly different each time, to reference different commits, or the s3gateway needs to be extended so that it can be setup to give a view into pfs that only exposes the input repos and only at the commits that are supposed to be processed.
A few other thoughts on this: it seems like most of kubeflow is written in jsonnet, although TFjobs (at least the ones I've submitted) were in yaml. Does using jsonnet for pipelines hold any fruit for us long term? It might potentially be an solution to the issue discussed above if we wanted to template the tfjobs on the commits they're processing.
It seems potentially interesting to me to store the tfjob spec as a separate file in the spec commit, rather than embedding it. I don't see any super compelling reason to do it now, but thinking about this long term, I foresee a world where we have a bunch of different files that can be embedded in a pipeline spec (tfjob, sparkjob, the existing stdin field is already an example) and having them as separate files in the filesystem seems just a little bit cleaner to me.

YAML support added by: https://github.com/pachyderm/pachyderm/pull/4078


Resize Logo

Firehose Logo Is Too Big
If we want to have a unity between the primary Firehose Project site and our community site then it would be a good idea to resize the logo to be the same as the primary site's logo.
This will have some extra work because the logo was specifically sized to match with the rest of the Navbar. If we change the logo size we will have to adjust the rest of the Navbar's sizing so there is slightly more work involved than just resizing a logo.

I think I fixed the logo issue. That is, if I understood you correctly. Logo is sized to the same dimensions as the Firehose Project website and has equal margins on the top and bottom. Made a pull request.


[Event-Request] REP5685 Copy Fixed Asset

Can we have an OnOpenPageEvent on the requestpage with as parameters the requestpage variables so we can modify them?
OnOpenPage()
IF NumberofCopies < 1 THEN
  NumberofCopies := 1;
FANo := FANo2;
OnOpenPageEvent(FANo, NumberofCopies, FirstFANo, UseFANoSeries); //<<<<

Thanks to SirBete to file this request through Partner Source / CSS. This is now resolved and will be included in the application base with NAV 2018 CU 5 (May 2018 CU). No Event added but exposed as external InitializeRequest function.


Cannot convert value of type 'Any' to expected argument type 'JSON'

When I am trying to parse the json and then use the decode method I get the following:

Cannot convert value of type 'Any' to expected argument type 'JSON'

let json: Any? = try? JSONSerialization.jsonObject(with: data!, options: [])

            if let j: Any = json {
                let user: Weather? = Weather.decode(j) // This line is causing the issue.
            }

JSON
{"coord":{"lon":139,"lat":35},
"sys":{"country":"JP","sunrise":1369769524,"sunset":1369821049},
"weather":[{"id":804,"main":"clouds","description":"overcast clouds","icon":"04n"}],
"main":{"temp":289.5,"humidity":89,"pressure":1013,"temp_min":287.04,"temp_max":292.04},
"wind":{"speed":7.31,"deg":187.002},
"rain":{"3h":0},
"clouds":{"all":92},
"dt":1369824698,
"id":1851632,
"name":"Shuzenji",
"cod":200}
Models
Here are my structs and decodable methods:
import Foundation

import Argo
import Curry
import Runes

struct Weather {
    let rain: String
    let wind: Wind
}

struct Wind {
    let speed: Double
    let deg: Double
}

extension Weather: Decodable {
    static func decode(_ json: JSON) -> Decoded<Weather> {
        return curry(Weather.init)
            <^> json <| "rain"
            <*> json <| "wind"
    }
}

extension Wind: Decodable {
    static func decode(_ json: JSON) -> Decoded<Wind> {
        return curry(Wind.init)
            <^> json <| "speed"
            <*> json <| "deg"
    }
}

Argo Version
Argo (4.1.2)
Dependency Manager
Cocoapods
Many thanks in advance.

Not tested this, so fingers crossed! I think the problem is that you should have used the decode function rather than the static method on Weather. I think this should do it:
let json: Any? = try? JSONSerialization.jsonObject(with: data!, options: [])

   if let j: Any = json {
       let user: Weather? = decode(j)
   }

Thanks for the response. I was unable to get this working still. However I went with the following which did work:
let json: Any? = try? JSONSerialization.jsonObject(with: data!, options: [])

   if let j: Any = json {
       let user: Decoded<Weather> = decode(j)
   }

so instead of
let user: Weather? = decode(j) // With this option it couldn't find the decode method.
I use:
let user: Decoded = decode(j)

This is strange. You can see the decode function that you should be able to use here: https://github.com/thoughtbot/Argo/blob/master/Sources/Argo/Functions/decode.swift#L79
If that's not working, you should still be able to use .value to get to the optional like so:
let user: Weather? = decode(j).value
Also, another tip to save some code space, you can eliminate the if-let by doing this:
let user: Weather? = json.flatMap(decode)
Although, if that method isn't working for you, you can try this:
let user: Weather? = json.flatMap { decode($0).value }

I'm going to go ahead and close this due to inactivity but please feel free to reopen if this is still an issue.


IP & domain access not working with Surge TUN mode

Describe the bug
ip & domain direct access not working with surge's tun mode VPN (https://nssurge.com)
turn off the TUN mode works fine
To Reproduce

start a nginx container
access via ip or domain
not working

Expected behavior
No response
Diagnostic report (required)
OrbStack info:
Version: 0.16.0 (160000)
Commit: b92cc5239da462d9918d844fc5b04ec110a35e1a (v0.16.0)
System info:
macOS: 13.4.1 (22F82)
CPU: arm64, 12 cores
CPU model: Apple M2 Max
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2023-08-11T07-29-11.454063Z.zip

Screenshots and additional context (optional)
No response

Can you try:
traceroute container.orb.local
curl -v container.orb.local
curl -v -4 container.orb.local
curl -v -6 container.orb.local

@PhilETaylor That's a different issue. Mailpit's SMTP server on port 1025 trips up the auto port detection. It's been improved for the next version, but in the meantime you can use http://brave_goldwasser.orb.local:8025.

yeah I see that now that I stopped the container after sending the last message, I returned to the browser and I see
220 519b0ca15e80 Mailpit ESMTP Service ready
500 5.5.2 Syntax error, command unrecognized
500 5.5.2 Syntax error, command unrecognized
500 5.5.2 Syntax error, command unrecognized
500 5.5.2 Syntax error, command unrecognized
500 5.5.2 Syntax error, command unrecognized
500 5.5.2 Syntax error, command unrecognized
500 5.5.2 Syntax error, command unrecognized
500 5.5.2 Syntax error, command unrecognized
500 5.5.2 Syntax error, command unrecognized

which confirms what you said, it was bound to the wrong open port :)
If unrelated to the OP then sorry for the noise.

Hi, here is the log. It seems that there is an issue when enabling TUN VPN. Should I exclude the *.orb.local DNS query from the VPN?
➜  ~ traceroute container.orb.local
traceroute to container.orb.local (<IP_ADDRESS>), 64 hops max, 52 byte packets
 1  <IP_ADDRESS> (<IP_ADDRESS>)  0.761 ms  0.334 ms  0.152 ms
 2  * * *
 3  * * *
 4  * * *
^C
➜  ~ curl -v container.orb.local

*   Trying <IP_ADDRESS>:80...
* Connected to container.orb.local (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: container.orb.local
> User-Agent: curl/7.88.1
> Accept: */*
>
* Empty reply from server
* Closing connection 0
curl: (52) Empty reply from server
➜  ~ curl -v -4 container.orb.local

*   Trying <IP_ADDRESS>:80...
* Connected to container.orb.local (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: container.orb.local
> User-Agent: curl/7.88.1
> Accept: */*
>
* Empty reply from server
* Closing connection 0
curl: (52) Empty reply from server
➜  ~ curl -v -6 container.orb.local

* Closing connection 0
curl: (7) Couldn't connect to server
➜  ~

What about scutil --dns?

➜  ~ scutil --dns
DNS configuration

resolver #1
  search domain[0] : localdomain
  nameserver[0] : <IP_ADDRESS>
  flags    : Request A records
  reach    : 0x00000002 (Reachable)

resolver #2
  domain   : local
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300000

resolver #3
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300200

resolver #4
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300400

resolver #5
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300600

resolver #6
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300800

resolver #7
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 301000

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : localdomain
  nameserver[0] : <IP_ADDRESS>
  if_index : 14 (en0)
  flags    : Scoped, Request A records
  reach    : 0x00000002 (Reachable)

after bypass the <IP_ADDRESS>/16 in VIF Excluded Routers, ip direct access works, but domain access still fail.
➜  ~ traceroute clever_heisenberg.orb.local
traceroute to clever_heisenberg.orb.local (<IP_ADDRESS>), 64 hops max, 52 byte packets
 1  <IP_ADDRESS> (<IP_ADDRESS>)  0.828 ms  0.253 ms  0.172 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * *^C
➜  ~ traceroute <IP_ADDRESS>
traceroute to <IP_ADDRESS> (<IP_ADDRESS>), 64 hops max, 52 byte packets
 1  <IP_ADDRESS> (<IP_ADDRESS>)  1.373 ms  0.923 ms  0.371 ms
➜  ~
➜  ~
➜  ~
➜  ~ curl -v clever_heisenberg.orb.local
*   Trying <IP_ADDRESS>:80...
* Connected to clever_heisenberg.orb.local (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: clever_heisenberg.orb.local
> User-Agent: curl/7.88.1
> Accept: */*
>
* Empty reply from server
* Closing connection 0
curl: (52) Empty reply from server
➜  ~ curl -v <IP_ADDRESS>
*   Trying <IP_ADDRESS>:80...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: <IP_ADDRESS>
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.23.3
< Date: Fri, 11 Aug 2023 13:56:29 GMT

Have you added orb.local to the bypass proxy list in Surge yet?

Yes, I have already added *.orb.local to the bypass proxy settings.
After further testing, it appears that Safari is functioning properly. However, Chrome and Edge (OSX) are not working.

@te-simonren Can you run all the commands again and share the output, along with a new diagnostic report?

here are the logs and diagnostic report:
OrbStack info:
Version: 0.16.1 (160100)
Commit: 4235b341267c814080ec0e117d1e680d8f8f8676 (v0.16.1)
System info:
macOS: 13.5.1 (22G90)
CPU: arm64, 12 cores
CPU model: Apple M2 Max
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2023-08-18T06-45-18.172002Z.zip

➜  ~ traceroute clever_heisenberg.orb.local
traceroute to clever_heisenberg.orb.local (<IP_ADDRESS>), 64 hops max, 52 byte packets
 1  <IP_ADDRESS> (<IP_ADDRESS>)  5.554 ms  2.373 ms  2.511 ms
 2  <IP_ADDRESS> (<IP_ADDRESS>)  2.847 ms  3.089 ms  3.570 ms
 3  * *^C
➜  ~ curl -v clever_heisenberg.orb.local
*   Trying [fd07:b51a:cc66:0:a617:db5e:c0a8:d702]:80...
* Connected to clever_heisenberg.orb.local (fd07:b51a:cc66:0:a617:db5e:c0a8:d702) port 80 (#0)
> GET / HTTP/1.1
> Host: clever_heisenberg.orb.local
> User-Agent: curl/8.1.2
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.23.3
< Date: Fri, 18 Aug 2023 06:40:54 GMT
< Content-Type: text/html
< Content-Length: 8702
< Last-Modified: Thu, 22 Dec 2022 20:49:18 GMT
< Connection: keep-alive
< ETag: "63a4c2ce-21fe"
< Accept-Ranges: bytes

➜  ~ curl -v -4 clever_heisenberg.orb.local
*   Trying <IP_ADDRESS>:80...
^C
➜  ~ curl -v -6 clever_heisenberg.orb.local
*   Trying [fd07:b51a:cc66:0:a617:db5e:c0a8:d702]:80...
* Connected to clever_heisenberg.orb.local (fd07:b51a:cc66:0:a617:db5e:c0a8:d702) port 80 (#0)
> GET / HTTP/1.1
> Host: clever_heisenberg.orb.local
> User-Agent: curl/8.1.2
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.23.3
< Date: Fri, 18 Aug 2023 06:41:39 GMT
< Content-Type: text/html
< Content-Length: 8702
< Last-Modified: Thu, 22 Dec 2022 20:49:18 GMT
< Connection: keep-alive
< ETag: "63a4c2ce-21fe"
< Accept-Ranges: bytes
<

➜  ~ scutil --dns
DNS configuration

resolver #1
  search domain[0] : localdomain
  nameserver[0] : <IP_ADDRESS>
  flags    : Request A records
  reach    : 0x00000002 (Reachable)

resolver #2
  domain   : local
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300000

resolver #3
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300200

resolver #4
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300400

resolver #5
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300600

resolver #6
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300800

resolver #7
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 301000

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : localdomain
  nameserver[0] : <IP_ADDRESS>
  if_index : 15 (en0)
  flags    : Scoped, Request A records
  reach    : 0x00000002 (Reachable)

here are the logs and diagnostic report:
OrbStack info:
Version: 0.16.1 (160100)
Commit: 4235b341267c814080ec0e117d1e680d8f8f8676 (v0.16.1)
System info:
macOS: 13.5.1 (22G90)
CPU: arm64, 12 cores
CPU model: Apple M2 Max
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2023-08-18T06-45-18.172002Z.zip

➜  ~ traceroute clever_heisenberg.orb.local
traceroute to clever_heisenberg.orb.local (<IP_ADDRESS>), 64 hops max, 52 byte packets
 1  <IP_ADDRESS> (<IP_ADDRESS>)  5.554 ms  2.373 ms  2.511 ms
 2  <IP_ADDRESS> (<IP_ADDRESS>)  2.847 ms  3.089 ms  3.570 ms
 3  * *^C
➜  ~ curl -v clever_heisenberg.orb.local
*   Trying [fd07:b51a:cc66:0:a617:db5e:c0a8:d702]:80...
* Connected to clever_heisenberg.orb.local (fd07:b51a:cc66:0:a617:db5e:c0a8:d702) port 80 (#0)
> GET / HTTP/1.1
> Host: clever_heisenberg.orb.local
> User-Agent: curl/8.1.2
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.23.3
< Date: Fri, 18 Aug 2023 06:40:54 GMT
< Content-Type: text/html
< Content-Length: 8702
< Last-Modified: Thu, 22 Dec 2022 20:49:18 GMT
< Connection: keep-alive
< ETag: "63a4c2ce-21fe"
< Accept-Ranges: bytes

➜  ~ curl -v -4 clever_heisenberg.orb.local
*   Trying <IP_ADDRESS>:80...
^C
➜  ~ curl -v -6 clever_heisenberg.orb.local
*   Trying [fd07:b51a:cc66:0:a617:db5e:c0a8:d702]:80...
 Chrome seems to cache DNS answers for longer than macOS does, so it's likely that you had the bad (intercepted) addresses cached. Maybe try again now?

I have tried troubleshooting Chrome, but it is still not working. However, Safari and Firefox are functioning properly. I believe there may be a misconfiguration issue with my Chrome. Thank you for your response and support.

Guys, it's working now. I was able to fix the issue by disabling and then re-enabling network access to the container domain and IPs. After each action, I made sure to reopen the orbstack.

hi @kdrag0n, safari works because it's using ipv6 address.
with recent v1.0 of Orbstack, the ip/domain access failed when enable VPN-TUN mode.
turn off VPN-TUN mode everything work fine.

@te-simonren For VPN-TUN mode, do you mean enable the "Enhanced Mode"?
I tried the following situations:
With "Enhanced Mode" enabled

In Safari, visiting domain works without any additional configuration in Surge
In Chromium based browser, visiting domain cannot work

With "Enhanced Mode" disabled

Both browsers work properly.

Yes, exactly as you said. When Enhanced Mode is enabled, I believe Safari functions properly because it utilizes IPv6. To confirm that IPv4 is not functioning, you can use the commands curl -4 and curl -6.

@te-simonren The problem seems caused by Surge's VIF taking over the OrbStack's virtual network. So when Enhanced Mode is enabled, the DNS queries are sent to Surge DNS address (<IP_ADDRESS>), but it returns a fake IP address instead of the real container IP address.

@goofansu It's possible, but even when using the IP copied from the orbstack UI, it still doesn't work with Enhanced Mode enabled.
Here is a log of the routing table with/without surge's enhanced mode. There is no bridge101 when enhanced mode enabled.

@te-simonren I found the solution.
Try set always-real-ip to *.orb.local.
In Surge GUI, this config locates at "More -> Settings -> Advanced".

After that, the dig <container>.orb.local command can find the correct DNS record, and visiting domain works correctly.
❱ dig docker-getting-started.orb.local

; <<>> DiG 9.10.6 <<>> docker-getting-started.orb.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 49457
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;docker-getting-started.orb.local. IN	A

;; AUTHORITY SECTION:
.			3542	IN	SOA	a.root-servers.net. nstld.verisign-grs.com.<PHONE_NUMBER> 1800 900<PHONE_NUMBER>0

;; Query time: 21 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Sun Sep 24 20:57:19 CST 2023
;; MSG SIZE  rcvd: 136

@goofansu, yes, you are correct!
Furthermore, I take additional steps as follows:

Disable the "Enhanced Mode" setting.
Launch a pod and Kubernetes with ingress from Orbstack.
Verify the output of netstat -nr | grep 192 to ensure that you have obtained routes for both 192.168.194 and 192.168.215.
Enable the "Enhanced Mode" setting.

By following these steps, everything should function properly.

@te-simonren Thank you for the details, I didn't use Kibernetes😄 Can you visit the IP address in browser directly? I cannot, even when Surge is closed.

@goofansu, both the IP and domain are working for me. Try rebooting Orbstack after closing Surge.

@te-simonren Thank you, both domain and IP work now with Surge TUN Mode
Ref:
https://github.com/orbstack/orbstack/issues/529#issuecomment-1732565991
https://github.com/orbstack/orbstack/issues/529#issuecomment-1732875282
cc @kdrag0n

@kdrag0n,
Yes, after turning off Surge and restarting the PostgreSQL pod, everything started running smoothly.

This is my test result,

Start orbstack first, then start Surge.

Start Surge first, then start orbstack.

OrbStack info:
Version: 1.1.0
Commit: bfae870a3b9d4fba5c1c26711ac5a5b9183bdb74 (v1.1.0)

System info:
macOS: 13.6.3 (22G430)
CPU: amd64, 8 cores
CPU model: Intel(R) Core(TM) i7-7920HQ CPU @ 3.10GHz
Model: MacBookPro14,3
Memory: 16 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2023-11-22T01-07-06.125951Z.zip

In the second case, the local service can not be accessed through domain & IP

Seems that orbstack won't add a route rule for the connection if surge enhance mode is enabled
This is my test result:
No Surge enabled, a new route rule is added
$ docker run --rm -d --name nginx nginx
$ curl -v https://nginx.orb.local
*   Trying <IP_ADDRESS>:443...
* Connected to nginx.orb.local (<IP_ADDRESS>) port 443
$ netstat -rn
__REDACTED__
192.168.215        link#26            UC              bridge101      !
__REDACTED__

If surge is enabled, no new route rule will be added, so the default route is used
13:06:23.158618 [Connection] Handled by VIF
13:06:23.158923 [TLS] TLS Client Hello SNI: nginx1.orb.local
13:06:23.163335 [Rule] Sub-rule matched: IP-CIDR <IP_ADDRESS>/16(LAN)
13:06:23.163367 [Rule] Rule matched: RULE-SET LAN
13:06:23.164336 [Socket] Connecting with address: <IP_ADDRESS>, bound to the primary interface (en0) explicitly under Enhanced Mode

That's intended behavior to avoid breaking Surge.

That's intended behavior to avoid breaking Surge.

Does this mean that if I enable Surge's enhanced mode, I can no longer access the x.orb.local domain? Do I have to disable Surge's enhanced mode in order to access it?

@kdrag0n I noticed that you closed my #1002 . You think my problem is the same as #529, but I just checked my Surge configuration and found that I have enabled the enhanced mode of Surge and can also access *.orb.local. It seems that my problem may not be caused by this reason.
@te-simonren Friend, you only need to configure Surge simply to access *.orb.local normally when tun mode is enabled. Configuration: Always Real IP Hosts: *orb.local
Screenshot as follows

@tlerbao It's not officially supported even if it happens to work some of the time. In your case it seems to be breaking after sleep because of this issue.

@kdrag0n
Oh, I really don't know why exactly, I can only try to explain my situation as much as possible.

It seems that I have set Surge's: Always Real IP Hosts: *orb.local, and can access *orb.local normally in Tun mode.

It seems that the problem occurred recently due to updating OrbStack.

It may not be related to MacOS waking up from sleep. That afternoon, while I was continuously developing, it happened once. I restarted MySQL several times.

I rely on you to solve the problem, thank you.

@kdrag0n Oh, I really don't know why exactly, I can only try to explain my situation as much as possible.

It seems that I have set Surge's: Always Real IP Hosts: *orb.local, and can access *orb.local normally in Tun mode.
It seems that the problem occurred recently due to updating OrbStack.
It may not be related to MacOS waking up from sleep. That afternoon, while I was continuously developing, it happened once. I restarted MySQL several times.

I rely on you to solve the problem, thank you.

Hello, the Always Real IP feature may not always work. However, you can access *.orb.local using an IPv6, although it may not always work with IPv4. You can verify this using curl.
If we have already added the OrbStack route to the system, for example by launching a dummy nginx pod and then starting Surge, all functions will work correctly.

Hello, the Always Real IP feature may not always work. However, you can access *.orb.local using an IPv6, although it may not always work with IPv4. You can verify this using curl.

Many people have disabled ipv6, this may not be a universal solution.

If we have already added the OrbStack route to the system, for example by launching a dummy nginx pod and then starting Surge, all functions will work correctly.

 Of course, it is even more troublesome. If we want to create a new container and network, in order to solve the problem, we have to stop Surge's Enhanced mode first, which will cause the entire client that relies on the Surge network to be unable to access the Internet. Wait until OrbStack creates the routing rules, then enable Surge's Enhanced mode!

That's intended behavior to avoid breaking Surge.

May you elaborate on the implementation & design details here? Looks like the major problem is that OrbStack fails to add routes when Surge is in Enhanced Mode. If it added the bridge, Surge should work well with OrbStack.

If we have already added the OrbStack route to the system, for example by launching a dummy nginx pod and then starting Surge, all functions will work correctly.

This method seems to be failing, only containers started before Surge starts can be accessed normally. Am I alone in this problem or do you all have it? (newest Surge and OrbStack)
Network is so complicated. It's harder to study or develop when use Surge and OrbStack simultaneously.

If we have already added the OrbStack route to the system, for example by launching a dummy nginx pod and then starting Surge, all functions will work correctly.

This method seems to be failing, only containers started before Surge starts can be accessed normally. Am I alone in this problem or do you all have it? (newest Surge and OrbStack)
Network is so complicated. It's harder to study or develop when use Surge and OrbStack simultaneously.

Still working on my end. By launching a dummy pod before enabling Surge's Enhanced Mode, all subsequently created and started pods remain accessible.

@te-simonren Yes, I just tried rerunning orbstack and then enabling the Enhanced Mode, and I am able to access *.orb.local.

Still working on my end. By launching a dummy pod before enabling Surge's Enhanced Mode, all subsequently created and started pods remain accessible.

I was like that before, but now this method doesn't work for me, I'm not sure what changed.

Still working on my end. By launching a dummy pod before enabling Surge's Enhanced Mode, all subsequently created and started pods remain accessible.

I was like that before, but now this method doesn't work for me, I'm not sure what changed.

Try rebooting and setting the VIF mode to Auto in the Settings -> Advanced panel.

Try rebooting and setting the VIF mode to Auto in the Settings -> Advanced panel.

Have no effect.
Two IPs, second one pre Surge boot and first one post Surge boot.

Disabling the IPv6 DNS of Surge will solve it.

@cc-crack

Disabling the IPv6 DNS of Surge will solve it.

Not enabled

Surge recently update to version 5.8.1 (2929), which changes the implementation of enhancement mode. The problem in this issue has completely disappeared. There is no problem starting OrbStack after starting Surge.
Is issue end?

Surge recently updated to version 5.8.1 (2929), which changes the implementation of Enhanced Mode. The problem in this issue has completely disappeared. There is no problem starting OrbStack after starting Surge.
How about you?

Yes, with the new version of Surge, everything works fine for me.
I think it's okay to close this issue now.


Extracellular exosome parentage

Hi,
I think GO:0070062 extracellular exosome should be a direct child of GO:0005615 extracellular space, as they are present in the interstitial fluid and blood (see
https://en.wikipedia.org/wiki/Exosome_(vesicle)). Currently this term is a descendant of extracellular region.
Rachael.

Yes. If you click on the link in the above closed message, you will see the diff. I trusted you were correct.

Ah OK, thanks!


Suppress error in non-browser environments

Hey! We’re using ReactJS.NET to render initial page state. We found that your component throws error because document object is missing in non-browser environment. Could you merge my pull-request and release new version, please.

Hi @mistakster ,
So sorry for late reply, but I have been sick with the flue, but back on my feet now :-)
Will merge an release new version!

Hey! Hope you are well now. Thanks a lot.

At 99% ;-)
Released new version, hope everything works okay now.

Sure. I updated my project today and your module works without issues. Thanks.


Why did the storage service report "could not find bag" for four extant bags?

From Ashley in Slack:

Here are the bnumbers that failed due to the Storage Service not finding the bag or not having permission to get them

d24cf28d-e3b0-4ded-a97b-2fd692670cb9 – digitised / b13105784
91e2d6dc-af82-4c5b-aa5a-4f3fa17a7be6 – digitised / b13152592
eb6bef2d-331e-4d6a-adc8-986e756ab9be – digitised / b13154606
*f301dca5-22ec-4e10-9977-25f169a6f53d – digitised / b13136240 (this one supposedly does have an error according to and didn't make a bag but nothing on the Goobi logs I can see indicates an error. The BagIt job was cancelled once and restarted so maybe that caused an issue)

So indeed, we see errors in the bag unpacker logs:

com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 0D6C0A8ECF523732; S3 Extended Request ID: OeEBRaKG2afGH8D5uPpnH15NdiViQhMD0URIVpFwBdq+7i1ZN3RFtsYKr76q85eLrNTAYeeDusk=)

This bucket is set to expire objects after 10 days. The corresponding objects aren't in the bucket. Why not?

Closing as WONTFIX, looks like a bug on the Intranda side.


Gh input repo

This PR implements #2414 (specifically the first iteration), which includes:

the ability to add a GH repo by URL to a pipeline
the ability to specify a name / branch on this input repository
the ability to subscribe this repository to new commits that come into the GH repo

Current UX:
User adds a Github type of input to their pipeline spec, e.g.
"input" : {
	"github" : {
		"URL":  "https://github.com/pachyderm/pachyderm.git",
		"Name": "my-fork",
                "Branch": "sean"
	},
}

And then on the webhooks settings page for their GH repo they would add the URL to the githook service. This service is deployed alongside pachd, and so would be the public IP address (or load balancer) for the k8s cluster, on the right port, e.g. <IP_ADDRESS>:30999/v1/handle/push.
Implementation:

Pipeline Creation

When the pipeline is created, the GithubInput is validated (including the URL schema). What's novel here is that we create the input repo at pipeline creation time, if it does not already exist.

Githook Server

When a new push happens on the GH repo, GH issues a POST to this githook server, which then creates a new commit on the underlying input repo. That commit is just the raw payload of the github POST. An example can be seen here. We record this information in commit.json. This will enable the UI to display metadata and use the API links within that payload to semantically link back to the commit on github.

Worker Data Download

When the worker is downloading all the input data, it does so normally w the underlying pachyderm input repo. Once that data is loaded, it parses the payload located at /commit.json, and uses the payload.Repository.CloneURL to clone the repository locally.
Note: This PR includes a bunch of new stuff under /vendor because the library we use is pure go for the git client. It seems like there are a lot of golang versions of system libraries that this client depended on. I benchmarked building this branch vs building master, and it doesn't seem to have any appreciable difference on build times. (docker make-build takes right around 58s in either case for me)
Limitations:

does NOT work with private repositories

if a user tries to hook in a private repository, when the githook server gets the POST payload,
we fail the pipeline and put a descriptive error in the reason field

will clone whole repository (full depth)

the reason being is that there's no way w git to clone at a SHA in a single command
so we need to clone then checkout ... but that creates a race if the user issues another push to this branch while we're processing the first push
as a result, clones can take a little while
we have some choices / optimizations we can make here, but this is just a first pass

Next Steps:

explore k8s components that would let us expose a public IP for this service
explore options (oauth app vs github app) to integrate this better for users

ideally we'd like the user to be able to add the github URL to their pipeline and be done (if they're authenticated via github)
so that on the UI, this is very simple to add via the pipeline builder

it would be nice to prevent users from making commits to the pachyderm repo subscribed to a GH repo

perhaps we can create a 'machine user' for the pach cluster ... and only that one and admins have write access to this repo?
I do think there's a way to re-use our auth capabilities to solve this problem

Also, just occurred to me that we merged this without docs which is fine although generally something we should do. Can you make an issue / other pr to add docs for this when you have a chance?

Just to capture what we chatted about --- I planned on doing docs after the next iteration. The reason being ... the docs I'd have to write now are much longer than what I'd write after we have a first class k8s config that exposes this service on a public IP. Once we have that, I'll add docs, and they'll be more concise.

It is possible to clone just one commit with Git>2.5 (which is pretty old).
See https://stackoverflow.com/a/30701724/85140

Good to know. It didn't seem like the git client we're using here supported
it, but maybe I missed a config option somewhere. As we hit bottlenecks,
this will be a good thing to keep in mind.
On Tue, Nov 14, 2017 at 6:57 AM, Omer Katz<EMAIL_ADDRESS>wrote:

It is possible to clone just one commit with Git>2.5 (which is pretty old).
See https://stackoverflow.com/a/30701724/85140
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/pachyderm/pachyderm/pull/2488#issuecomment-344284547,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkfwaBbV-HtjSZGLkLJCyFiJYwuz_L-ks5s2apZgaJpZM4QNnN0
.


Added ability to fetch a product from it's unique item number (SKU).

@nclundsten, @Xerkus Similar query regarding the merging of this change to the question asked in #107.

Can I ask why there seems to be a reluctance to merge this item? Other PR's have been merged but this always left? Do people not agree that this is worthwhile/correct? Is it worth me spending time re-basing this PR? Can I get some kind of feedback on this? Even a negative "don't agree with this for reason X" would be better than nothing. At least we can then start some discussion about it. @Xerkus @nclundsten


WIP: v0.11

Closes #468.
Closes #466.
Closes #457.
Closes #456.
Closes #386 (insofar as moved to Docker).
Closes #310 (insofar as moved to Docker).
Closes combine-docker#31.

Further testing suggests that the Transform import is working correctly, so I think this PR can be merged!


Cannot use http operator

I installed airflow using sudo pip install airflow
I am trying to use SimpleHttpOperator from https://github.com/airbnb/airflow/blob/master/airflow/operators/http_operator.py
However, when I do
from airflow.operators import SimpleHttpOperator in my dag definition file
It gives me the error -
ImportError: cannot import name SimpleHttpOperator
Does http operator work today?
P.S. is there any mailing list for Airflow today, (for naive queries like this)?

I realized the installed version of airflow is 1.2.0, and does not have the SimpleHttpOperator
How do I install latest airflow version 1.2.1 ?
When I try to upgrade using sudo pip install --upgrade airflow, it eventually gives me an error -
"IOError: Cannot find krb5.h, enusre you have installed krb5 development library.
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/python-krbV"
I have ubuntu 14.04 and already tried installing krb5 using -
sudo apt-get install krb5-kdc krb5-admin-server
But the installation error does not go away. Any suggestions?

@kapil-malik  I believe this is a case of the version on Pypi being a bit behind the documentation (and the repository). The latest version on Pypi seems to have been published on July 1st where as the http operator would appear to have been introduced on July 2nd.
https://github.com/airbnb/airflow/commits/master/airflow/operators/http_operator.py

@syvineckruyk yes, thanks for the reply. Indeed, I found it myself too. However, the upgrade of existing airflow installation - OR - a fresh airflow installation on another box gives me the error I mentioned above. Any suggestions around the same?

@kapil-malik
Well you won't be able to upgrade past 1.2.0 using Pypi at the moment since that is the latest published version.
As for the error you are seeing above ... not sure not using Ubuntu and have never seen that error ... is this being triggered by the Pypi upgrade command or are you using the source from Github ?
If from source what command triggers the error ?

By the Pypi upgrade command, and also from a fresh Pypi installation on another Ubuntu box.
Will try to explore what might be the issue.
Btw, to use the HttpOperator, can you suggest timeline for the next published release?
OR, if I want to build from Github, are there any defined steps?
Again, is there a mailing list for such naive queries ?

@kapil-malik not aware of timeline but I would not expect it to be very long ...
As for your issue with Pypi ... i have not tried on Ubuntu ... but I believe this may be related to a missing python-dev installation (including dependencies). If you are working on a box that you can experiment on I would try that. But this is just a hunch.
Installing from Github is pretty straightforward but you run the risk of running an unstable version ...
clone the repo,
install the requirements (pip install -r requirements.txt )
install airflow (python setup.py install or python setup.py develop)
No mailing list that I know of for the moment.

I just pushed 1.3.0 out to pypi.
I don't know where the kerberos dependency comes from, I don't see it anywhere in my airflow install. Which higher level package is trowing this error?

Thanks for the github steps @syvineckruyk and for the update @mistercrunch
kerberos dependency is coming from snakebite (in dependency.txt)  ... I can reproduce it with sudo pip install snakebite
I was able to get past it by sudo apt-get install libkrb5-dev
Will update once I am able to complete a fresh install successfully.

I should move this as extras_require then. Thanks for your patience troubleshooting this, it will make it much easier to install Airflow for the wave of installers!

Related commit is out:
https://github.com/airbnb/airflow/commit/3d51ef727645e7332333c5aaaf5f00738461b963?diff=unified
it missed the train to 1.3.0 on pypi though, I'll push another version later this week.

Hi @mistercrunch
Thanks for the update. New release on pypi works like a charm. Here are the additional manual steps on Ubuntu 14.04 with python 2.7, python2.7-dev (pip) installed for sudo pip install airflow -

export LANG=en_GB.UTF-8
I had LANG=en_US.UTF-8, which gives - http://stackoverflow.com/questions/10561923/unicodedecodeerror-ascii-codec-cant-decode-byte-0xef-in-position-1
sudo apt-get install libkrb5-dev (this would go away I believe)
Error message : Cannot find krb5.h
sudo apt-get install libsasl2-dev
Error message : Cannot find sasl.h

Needed for airflow initdb -
4. sudo pip install amqp, anyjson
Thanks

We're all using LANG=en_US.UTF-8 and it's fine, I'd be curious to see the stack traces for some of these errors.
About libsasl2-dev, I assume you installed airflow[hive], I think sasl is needed by pyhs2.
I'll try installing on a fresh Ubuntu install and see what kind of troubles I hit.

@kapil-malik  Thank you for your steps.
You guys are awesome! :+1:


Compile and Install directions for Linux unclear

I had to resort to someone who also had trouble on "StackOverflow" to compile and install GFLW on my Debian 10 Linux system.
Took forever to figure out that once untarred all I had to do was:
install xorg-dev package for X11 libraries then:
cmake -G "Unix Makefiles"                                 This line I would never get from GFLW compile instructions!!
make
sudo make install                                                Is this necessary can't find it on GFLW site!!
Although this installs in /usr/local/lib/ directory which I suspect is not ideal!
Can we have someone with good communication skills provide a better how to compile and install please!

Just to confirm, we are talking about the instructions here https://www.glfw.org/docs/latest/compile_guide.html ?
I'm sorry you found the instructions lacking; I think I can see a couple of ways we can improve them already, but I'd like to understand where in particular you found issue.

cmake -G "Unix Makefiles" This line I would never get from GFLW compile instructions!!

It should work to just run cmake with the path of the glfw root directory, as specified in the guide. Did the command not work without the -G "Unix Makefiles" part on your system?
The guide says "Go ahead and compile the actual GLFW library with these files, as you would with any other project.", which I agree is not enough detail for beginners. On Linux this almost always means to run make and (optionally) make install, but on other platforms it can mean opening up Visual Studio and clicking the Build button, etc. We should probably expand this with platform-specific commands, similar to the "Dependencies" section above.

sudo make install Is this necessary can't find it on GFLW site!!

It's not necessary to do this, but it will make your life easier when compiling other programs (otherwise you'd need to specifc the path to where you built glfw). I can add a line to the documentation about this.

Although this installs in /usr/local/lib/ directory which I suspect is not ideal!

That's the normal location to install libraries you have compiled yourself (as opposed to installed through a package manager) on Linux. If you want to put it somewhere else, you can edit the CMAKE_INSTALL_PREFIX path in CMakeCache.txt before running make.

Ah yes, I was having a bad day when I wrote this issue, I must apologize. As it happens I was trying to resurrect my Vulkan graphics development installation after up revving my Linux installation from Debian 8 to Debian 10.  The vulkan SDK, and related utilities, including GLFW, were previously installed on my hard drive at  much earlier versions.  Some of the up revving from vulkanSDK <IP_ADDRESS> to <IP_ADDRESS> and GLFW 3.2.1 to 3.3.4 caused me a lot of head scratching, however got there in the end and am now in a good place.
That said, the installation instructions, yes, https://www.glfw.org/docs/latest/compile_guide.html ?, do seem a little bloated and now having gone back to re-install GLFW with hindsight and your comments above, it would still be nice if at the top of the Linux install section there was an intro that cut to the chase with the following:
/* Download glfw 3.3.4 zip file from GLFW web sight or github /
mkdir glfw
cd glfw
cp //glfw-3.3.4.zip .   / Or latest glfw version /
unzip glfw-3.3.4.zip                                    / Or latest glfw version /
cd glfw-3.3.4                                              / Or latest glfw version */
cmake .
make
make install
Now most of the above is just downloading and unzipping the directory, most people can follow that easily, which really just leaves the following lines:
/* Download and unzip GLFW to a suitable directory /
cmake .              / run from the GLFW directory /
make                  / run from the GLFW directory /
make install        / run from the GLFW directory */
Then perhaps write separate paragraphs (or more)  on each of the 4 steps above with the details on each item Download, CMAKE, MAKE (most people would not need them I'm thinking unless they get into trouble)
Again apologies for my frustrations in my initial issue report.

Oh one other thing of note is that when compiling with g++ the LDFLAGS line needs to contain -lglfw3 not -lglfw, this is probably in your documentation somewhere, cheers


step lines chart looking incomplete when used with a column chart

Summary
fix step lines chart looking incomplete when used with a column chart. Draw an additionnal horizontal line for the last chart point.
Solves
Part of issue #638

Thanks for this and #655!
In this case, adding a new shape, will impact performance, instead, I would create a new custom StepLine that inherits from Shape, this will allow the Open source version to have a better performance, and should also help us to solve this visual issue.
Your solution could also work, I'll evaluate both options, and decide which one is better to solve this.
Thanks again.


feat: support environment variables in module config

Closes #110

Ah missed that sorry! Resolved in latest commit


[discussion][pre-propose]unify micro interface

refer to :  https://github.com/micro/go-micro/issues/1473 Topic : service.Service and micro.Service
here is a proposed preview.
how do you think about this preview?

@asim  @vtolstov @jakexks  @ben-toogood

Not sure about this yet. Thinking maybe a dotted import might make more sense so top level inherits but one to think about. Considering how central a Service is I'm more tempted to remove the package itself. It was only put there for non command line parsed initialisation but considering we're moving to the Config interface it probably make sense to strip the package.

I'm going to close for now. I think what we're going to do is continue to have the top level micro.Service and just leverage the internals.


Failed to resolve: com.github.afollestad.material-dialogs

terrible error

allprojects {
repositories {
jcenter()
maven {
url "https://jitpack.io"
}
}
}
then solved

https://github.com/afollestad/material-dialogs/releases/tag/<IP_ADDRESS>

The library is now on jCenter, as an alternative to JitPack.io. jCenter is Android Studio's default Maven repository.
See the README for updated dependency info: https://github.com/afollestad/material-dialogs#gradle-dependency


System.register named modules output

I'm in the process of writing a TypeScript pre-processor for Karma runner where I'm trying to use the System.register output. The problem I'm bumping into is that I can't seem to figure out how to have named System.register output from TS transpiler.
This is, given this config:
 var compileResult = ts.transpile(content, {
            module: ts.ModuleKind.System,
            moduleName: 'foo'
});

I would expect to get System.register('foo', ['deps'], function(exports_1) but I'm getting (with typescript@next): System.register(['deps'], function(exports_1)
Is there any additional compiler switch that needs / should be used? I've found the moduleName option being mentioned, but it seems not to be enough with the above config.
Is there any additional compiler switch that needs / should be used? Or named modules with System.register are not implemented?

it is already implemented. Initially there was transpile function with the following signature
export function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string;

This version was pretty difficult to extend (i.e to add new input parameters or return some extra information like source maps) without breaking existing consumers so later this function was superseded by transpileModule
export interface TranspileOptions {
    compilerOptions?: CompilerOptions;
    fileName?: string;
    reportDiagnostics?: boolean;
    moduleName?: string;
    renamedDependencies?: Map<string>;
}

export interface TranspileOutput {
    outputText: string;
    diagnostics?: Diagnostic[];
    sourceMapText?: string;
}

/*
 * This function will compile source text from 'input' argument using specified compiler options.
 * If not options are provided - it will use a set of default compiler options.
 * Extra compiler options that will unconditionally be used by this function are:
 * - isolatedModules = true
 * - allowNonTsExtensions = true
 * - noLib = true
 * - noResolve = true
 */
export function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput

Example:
var ts = require("typescript");
var content =
	"import {f} from \"foo\"\n" +
	"export var x = f()";

var compilerOptions = { module: ts.ModuleKind.System };
var res1 = ts.transpile(content, compilerOptions, /*fileName*/ undefined, /*diagnostics*/ undefined, /*moduleName*/ "myModule1");
console.log(res1);

console.log("============")

var res2 = ts.transpileModule(content, {compilerOptions: compilerOptions, moduleName: "myModule2"});
console.log(res2.outputText);

prints
System.register("myModule1", ["foo"], function(exports_1) {
    var foo_1;
    var x;
    return {
        setters:[
            function (foo_1_1) {
                foo_1 = foo_1_1;
            }],
        execute: function() {
            exports_1("x", x = foo_1.f());
        }
    }
});

============
System.register("myModule2", ["foo"], function(exports_1) {
    var foo_1;
    var x;
    return {
        setters:[
            function (foo_1_1) {
                foo_1 = foo_1_1;
            }],
        execute: function() {
            exports_1("x", x = foo_1.f());
        }
    }
});

@vladima perfect, that did the trick! Thank you so much for your prompt input!
Out of curiosity: is it documented anyplace that I've missed?

We do not have this documented. @vladima Can you add this to the compiler API wiki page?

Done, I've added the note to Using then compiler API page.

Thnx @mhegazy @vladima for your help and reactivity. Love what you guys are doing with TS, keep it up!


Background Functions onCreate first argument (snap) contains empty object when Firestore document added to collection

[READ] Step 1: Are you in the right place?

For issues or feature requests related to the code in this repository
file a Github issue.

If this is a feature request make sure the issue title starts with "FR:".

For general technical questions, post a question on StackOverflow
with the firebase tag.
For general Firebase discussion, use the firebase-talk
google group.
For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
Firebase support channel.

[REQUIRED] Step 2: Describe your environment

Operating System version: MacOS Mojave 10.14.4
Firebase SDK version:
Python:
firebase-admin==3.1.0; google-api-core==1.14.3; google-api-python-client==1.7.11; google-cloud-core==1.0.3; google-cloud-firestore==1.5.0
Node:
"firebase-admin": "^8.0.0"; "firebase-functions": "^3.1.0"
Library version: _____
Firebase Product: Firestore; Functions

[REQUIRED] Step 3: Describe the problem
When using Python Firestore client to add (not set document with id) document to a collection the respective Firestore background  functions snap has empty object instead of the data. However the snap.id is correct.
Steps to reproduce:

Init Python Firestore Client.
Add document with data to a collection
Write and deploy a Firestore function (onCreate)
Check functions logs and see that snap.data() === {}

Relevant Code:
shell: export GOOGLE_APPLICATION_CREDENTIALS='<PATH_TO_JSON_FILE>'
Python:
import firebase_admin
from firebase_admin import credentials
firebase_admin.initialize_app()
from google.cloud import firestore
db = firestore.Client()
db.collection('messages').add({'message':'Hello world'})
Functions index.js:
const functions = require("firebase-functions");
exports.onNewMessage = functions.firestore
.document("messages/{messageId}")
.onCreate((snap, context) => {
console.log("Data: ", snap.data());
Now check Functions logs:
Data:  {}

Does the saved document contain data when viewed from the Firebase Console?

Does the saved document contain data when viewed from the Firebase Console?

Yes.


Repositories path merged to global composer.json wrongly

HI, I have the following setup

src\libs\library_one\src\composer.json

{
	"name": "xxx/library_one",
	"type": "library",
	"require": {
		"php": "^7.4"
	},
	"autoload": {
		"psr-4": {
			"XXX\\LibraryOne\\": "src"
		}
	},
	"minimum-stability": "stable"
}

src\apps\app_one\src\composer.json

{
	"name": "xxx/app_one",
	"require": {
		"php": "^7.4",
		"xxx/library_one": "self.version"
	},
	"autoload": {
		"psr-4": {
			"XXX\\AppOne\\": "src"
		}
	},
	"repositories": [
		{
			"type": "path",
			"url": "../../../src/libs/*/"
		}
	],
	"minimum-stability": "stable"
}

After running cmd php vendor/bin/monorepo-builder merge the global composer.json was updated as follows, notice that the repository paths have been copied exactly which is not valid when in root folder. Fyi, app_one is working fine when I did composer install within the app folder and execute its code but when I do composer install in root folder which contains the global composer.json it failed due to the path not being valid.
Please let me know if I am doing something wrong or if it is a bug. Thank you.

composer.json

{
    "require": {
        "php": "^7.4"
    },
    "require-dev": {
        "phpunit/phpunit": "^9.0",
        "symplify/monorepo-builder": "^11.1"
    },
    "autoload": {
        "psr-4": {
            "XXX\\AppOne\\": "src/apps/app_one/src",
            "XXX\\LibraryOne\\": "src/libs/library_one/src"
        }
    },
    "repositories": [
        {
            "type": "path",
            "url": "../../../src/libs/*/" <<<< The correct path should be `src/libs/*/`
        }
    ],
    "replace": {
        "xxx/app_one": "self.version",
        "xxx/library_one": "self.version"
    },
    "minimum-stability": "stable"
}

Hi, thanks for reporting.
There is a similar service to handle this for paths in PSR-4 → autoload the same way.
Could you send a fix with for repositories → url?

Not sure, can you point me the exact file location that the fix needs to be applied.

I'm not sure, but should be some service responsible for mergin. Similar place where the PSR-4 paths are decorated.

I have created the decorator but could not find how it can be called along with the other decorators. Could you tell me in which file it should be?

Kind reminder


conversion error: unsure if I'm just missing something

Ello. I'm using the rust svdtools program to build an svd for a chip without one.
I started by converting the rp2040.svd to rp2040.yaml as a reference, and began
writing the yaml for my chip, to convert to svd later for use with gdb and such.
Some of the data is dummied out (for instance, its not a traditional mcu, but is
a cortex-a7 proc). Attempting to convert with what I currently have (below) results
in the following error:
[2022-04-11T13:49:24Z ERROR svdtools::cli] peripherals[0]: invalid type: map, expected a sequence at line 20 column 9
Line 20 column 9 translates to the : before BOOT_ADDR; this seems correct,
as the rp2040.yaml file has the same kind of setup:
Am I missing something or is this a legit bug?
---
vendor: Raspberry Pi
name: RP2040
version: "0.1"
description: ""
licenseText: "\n    Copyright (c) 2020 Raspberry Pi (Trading) Ltd. \\n\n    \\n\n    SPDX-License-Identifier: BSD-3-Clause\n  "
cpu:
  name: CM0PLUS
  revision: r0p1
  endian: little
  mpuPresent: true
  fpuPresent: false
  vtorPresent: true
  nvicPrioBits: 2
  vendorSystickConfig: false
  deviceNumInterrupts: 26
addressUnitBits: 8
width: 32
peripherals:
  - name: XIP_CTRL

---
vendor: Hisilicon
name: Hi3521A
version:  "0.0"
description: ""
licenseText: ""
cpu:
  name: other
  revision: r0p1
  endian: little
  mpuPresent: true
  fpuPresent: true
  vtorPresent: true
  nvicPrioBits: 0
  vendorSystickConfig: false
  deviceNumInterrupts: 64
addressUnitBits: 8
width: 32
peripherals:
  - name: BOOT_ADDR
    version: "1"
    description: ""
    baseAddress: 0x0
    size: 32
    addressBlock:
      offset: 0
      size: 0x4000000
      usage: buffer
  - name: BOOT_ROM
    version: "1"
    description: ""
    baseAddress: 0x04000000
    size: 32
    addressBlock:
      offset: 0
      size: 0x1000
      usage: buffer
  - name: SRAM
    version: "1"
    description: ""
    baseAddress: 0x04010000
    size: 32
    addressBlock:
      offset: 0
      size: 0x4000
      usage: buffer
  - name: FMC_CTRL
    version: "1"
    description: ""
    baseAddress: 0x10000000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: OHCI
    version: "1"
    description: ""
    baseAddress: 0x10030000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: EHCI
    version: "1"
    description: ""
    baseAddress: 0x10040000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: DMAC
    version: "1"
    description: ""
    baseAddress: 0x10060000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: CIPHER
    version: "1"
    description: ""
    baseAddress: 0x10070000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: SCD
    version: "1"
    description: ""
    baseAddress: 0x10080000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: GSF
    version: "1"
    description: ""
    baseAddress: 0x100a0000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: SATA
    version: "1"
    description: ""
    baseAddress: 0x11010000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: TIMER01
    version: "1"
    description: ""
    baseAddress: 0x12000000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: TIMER23
    version: "1"
    description: ""
    baseAddress: 0x12010000
    size: 32
  - name: TIMER45
    version: "1"
    description: ""
    baseAddress: 0x12020000
    size: 32
  - name: TIMER67
    version: "1"
    description: ""
    baseAddress: 0x12030000
    size: 32
  - name: CRG
    version: "1"
    description: ""
    baseAddress: 0x12040000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
    registers:
      - register:
        name: CRG_PLL0
        description: APLL configuration register 0
        addressOffset: 0x0000
        resetValue: 0x12000000
        fields:
          - name: postdiv2
            description: Level-2 output divider of the APLL
            bitRange: "[30:28]"
            access: read-write
          - name: postdiv1
            description: Level-1 output divider of the APLL
            bitRange: "[26:24]"
            access: read-write
          - name: frac
            description: Decimal divider of the APLL
            bitRange: "[23:0]"
            access: read-write
        name: CRG_PLL1
        description: APLL configuration register 0
        addressOffset: 0x0004
        resetValue: 0x02003064
        fields:
          - name: bypass
            description: APLL clock frequency-division bypass control
            bitRange: "[26:26]"
            access: read-write
          - name: dacpd
            description: APLL test signal control
            bitRange: "[25:25]"
            access: read-write
          - name: dsmpd
            description: APLL decimal frequency-division control
            bitRange: "[24:24]"
            access: read-write
          - name: pd
            description: PLL power-down control
            bitRange: "[23:23]"
            access: read-write
          - name: foutvcopd
            description: Power-down control for the APLL VCO output
            bitRange: "[22:22]"
            access: read-write
          - name: postdivpd
            description: Power-down control for the APLL POSTDIV output
            bitRange: "[21:21]"
            access: read-write
          - name: fout4phasepd
            description: Power-down control for the APLL FOUT output
            bitRange: "[20:20]"
            access: read-write
          - name: refdiv
            description: Divider of the APLL reference clock
            bitRange: "[17:12]"
            access: read-write
          - name: fbdiv
            description: Integral multiplier of the APLL
            bitRange: "[11:0]"
            access: read-write
  - name: SYSCTL
    version: "1"
    description: ""
    baseAddress: 0x12050000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: WDG
    version: "1"
    description: ""
    baseAddress: 0x12070000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: UART0
    version: "1"
    description: ""
    baseAddress: 0x12080000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: UART1
    version: "1"
    description: ""
    baseAddress: 0x12090000
    size: 32
  - name: UART2
    version: "1"
    description: ""
    baseAddress: 0x120a0000
    size: 32
  - name: RTC
    version: "1"
    description: ""
    baseAddress: 0x120b0000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: I2C
    version: "1"
    description: ""
    baseAddress: 0x120c0000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: SSP
    version: "1"
    description: ""
    baseAddress: 0x120d0000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: PMC
    version: "1"
    description: ""
    baseAddress: 0x120e0000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: PINMUX
    version: "1"
    description: ""
    baseAddress: 0x120f0000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: PINCTRL
    version: "1"
    description: ""
    baseAddress: 0x120f0800
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: DDRT0
    version: "1"
    description: ""
    baseAddress: 0x12100000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: DDRC
    version: "1"
    description: ""
    baseAddress: 0x12110000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: PERICTL
    version: "1"
    description: ""
    baseAddress: 0x12120000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: IR
    version: "1"
    description: ""
    baseAddress: 0x12140000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: GPIO00
    version: "1"
    description: ""
    baseAddress: 0x12150000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: GPIO01
    version: "1"
    description: ""
    baseAddress: 0x12160000
    size: 32
  - name: GPIO02
    version: "1"
    description: ""
    baseAddress: 0x12170000
    size: 32
  - name: GPIO03
    version: "1"
    description: ""
    baseAddress: 0x12180000
    size: 32
  - name: GPIO04
    version: "1"
    description: ""
    baseAddress: 0x12190000
    size: 32
  - name: GPIO05
    version: "1"
    description: ""
    baseAddress: 0x121a0000
    size: 32
  - name: GPIO06
    version: "1"
    description: ""
    baseAddress: 0x121b0000
    size: 32
  - name: GPIO07
    version: "1"
    description: ""
    baseAddress: 0x121c0000
    size: 32
  - name: GPIO08
    version: "1"
    description: ""
    baseAddress: 0x121d0000
    size: 32
  - name: GPIO09
    version: "1"
    description: ""
    baseAddress: 0x121e0000
    size: 32
  - name: GPIO10
    version: "1"
    description: ""
    baseAddress: 0x121f0000
    size: 32
  - name: GPIO11
    version: "1"
    description: ""
    baseAddress: 0x12200000
  - name: GPIO12
    version: "1"
    description: ""
    baseAddress: 0x12210000
  - name: GPIO13
    version: "1"
    description: ""
    baseAddress: 0x12220000
  - name: HDMI
    version: "1"
    description: ""
    baseAddress: 0x13010000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: VDP
    version: "1"
    description: ""
    baseAddress: 0x13020000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: AVC0
    version: "1"
    description: ""
    baseAddress: 0x13040000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: TDE
    version: "1"
    description: ""
    baseAddress: 0x13050000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: IVE
    version: "1"
    description: ""
    baseAddress: 0x13060000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: JPGD
    version: "1"
    description: ""
    baseAddress: 0x13070000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: VGS
    version: "1"
    description: ""
    baseAddress: 0x13080000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: VICAP
    version: "1"
    description: ""
    baseAddress: 0x130c0000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: AVC1
    version: "1"
    description: ""
    baseAddress: 0x13100000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: VPSS
    version: "1"
    description: ""
    baseAddress: 0x13110000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: VOIE
    version: "1"
    description: ""
    baseAddress: 0x13120000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: JPGE
    version: "1"
    description: ""
    baseAddress: 0x13130000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: AIAO
    version: "1"
    description: ""
    baseAddress: 0x13140000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: MDU
    version: "1"
    description: ""
    baseAddress: 0x13150000
    size: 32
    addressBlock:
      offset: 0
      size: 0x10000
      usage: registers
  - name: SFC_MEM
    version: "1"
    description: ""
    baseAddress: 0x14000000
    size: 32
    addressBlock:
      offset: 0
      size: 0x1000000
      usage: buffer
  - name: DRAM
    version: "1"
    description: ""
    baseAddress: 0x80000000
    size: 32
    addressBlock:
      offset: 0
      size: 0x80000000
      usage: buffer

Actually, I found a conversion issue. When converting a yaml to svd, the resultant svd file does
not contain the schema information some svd tools (in my case, SVD-Loader-Ghidra) require for
operation.
Converted SVD:
<device schemaVersion="" xmlns:xs="" xs:noNamespaceSchemaLocation="">

'real' SVD:
<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD.xsd">

#102

Yep, that fixed that. Thanks for the info.


Differences between other libraries

Out of curiosity, what are the main differences/pros and cons between this and twinetojson or TwineJson?

I hadn't seen twinetojson before. Looking at it, I'm not 100% sure how it works – it operates on "Snowman-formatted Twine story files", but Twine 2 doesn't generally store your work as userspace-accessible files unless you manually export. Unless they're doing some fun spelunking into Twine 2's internals, I'm guessing they're going to make you manually export or run your project, save it to disk, and then run that through their node/cli program, which is a few extra steps than TwineJson or Twison. Maybe @tinwatchman can illuminate.
This project actually started out because I was getting opaque errors trying to use TwineJson, and reimplementing its functionality myself ended up being quicker than diving into someone else's code. This project's main differences over TwineJson are (on the technical side) a far smaller codebase and strong test coverage, and (on the user side) an emphasis on both preserving the original Twine-provided data and augmenting wherever possible.

Hello,

Looking at it, I'm not 100% sure how it works – it operates on "Snowman-formatted Twine story files", but Twine 2 doesn't generally store your work as userspace-accessible files unless you manually export. Unless they're doing some fun spelunking into Twine 2's internals, I'm guessing they're going to make you manually export or run your project, save it to disk, and then run that through their node/cli program, which is a few extra steps than TwineJson or Twison.

That's correct. I made twinetojson as part of a project where I was pulling passage data out of a Twine file and importing it into a server-side database. (If you're curious, the story was then displayed to users via server-side rendering rather than client-side. This allowed us to do something akin to a multiplayer game.) So as to not tie the library to a specific database implementation -- and to give myself an intermediary step where I might be able to check the data over myself before it was upserted -- I made the tool output a JSON file.
You're correct that my library does require exporting a story HTML file, and that this adds an additional step that your story format (which I naturally failed to come across before this point) does not. That said, this worked out for me anyway, since someone else was doing the majority of the writing on the project and he would've had to export his changes to a file regardless.
Anyway, glad to see someone else doing Node work with Twine files! I'll have to keep an eye on your stuff from now on.

Makes total sense, @tinwatchman! This whole space is full of "I had a specific need, so I wrote my own thing to handle it" :). The idea of piping Twine output into a server-side thing to allow multiplayer is super interesting – would love to see documentation of the finished product if any exists!
For me personally, this project was essentially a stepping stone to realizing "hey, for what I'm doing I really want to just build my own frontend instead of trying to fit a square-shaped Twine UI into my round hole". (If you're curious, there's no real documentation yet, or even a proper authoring UI yet, but all that work is continuing at https://github.com/lazerwalker/storyboard)


Implement a way to "Freeze" Devices

Well you can revoke devices from other devices there should be an option to freeze then temporarily disable them until you thaw them or enable them again.

That would be the exact same as revoking and then re-adding.
I guess you could add a flag to the revoke sigchain to say “display this as “frozen” not “revoked”...” but I really don’t see the point.
In order to record the freeze you need to write to the sigchain. In order to prevent a frozen device to decrypt etc. you need to rekey. In order to unfreeze a device you need to share the encryption keys and write to the sigchain.
Which is literally exactly what happens when you revoke a device and then re-add it.


MiniMap Stroke Width

In the flow I'm working the background is black and made the strokeColor to match my border on my nodes. It is barely visible in the mini map. If you have a way to customize stroke width I'd appreciate it! Or can pitch in to add that prop.

      <MiniMap
        nodeStrokeColor={(n) => {
          return '#73d2d2';
        }}
        nodeColor="#4a4e4e"
      />

For now you would need to overwrite it with css. What do you think about a nodeStrokeWidth prop? We could add that.

For now you would need to overwrite it with css. What do you think about a nodeStrokeWidth prop? We could add that.

Yeah that'd be great! 💯

released in v8.8.0


feat(icons): add social media and interface icons #205

Changes to be committed:
modified:   src/data/icons.json
new file:   src/icons/back-to-top.svg
new file:   src/icons/copy-paste.svg
new file:   src/icons/linkedin.svg
new file:   src/icons/tiktok.svg
Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes: #205
Summary:
Added tiktok, linkedin, back-to-top, and copy-paste icons.
Type of change:

[ ] New capability
[ ] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[x] Other (additional icons)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Auro docsite updated. See pipeline https://itsals.visualstudio.com/E_SharedServices_Platform/_build/results?buildId=2146609&view=results


Xcode 8 Beta 6 Fixes (Swift 3.0)

This fixes the compiler errors for Xcode 8 Beta 6.

@marmelroy I'm getting an error message on Travis:
"The repository at marmelroy/Zip was not found."
Does the CI account still exist for this repository?


Blam! A 5xx error occured

After paying with stripe (at least I got a nice green background tick for a second or two) I got
Blam! A 5xx error occured
and no confirmation email whatsoever. Now I am not sure if I paid or not.
I can retry later today just let me know.

Hi Anthon,
sorry it was my fault :/
Please can you send a ticket to<EMAIL_ADDRESS>?
Thanks.


Add IsInterlaced option

On April 1, 2015, at 12:02 PM, Luke<EMAIL_ADDRESS>wrote:
Merged #61.
—
Reply to this email directly or view it on GitHub.￼


Why not provide a way to set the time zone permanently

Why not provide a way to permanently set the time zone? Is there a problem in Golang

Golang itself does not support global time zone setting. The reason is unclear.

You can try this

func init()  {
locale,_ := time.LoadLocation("Asia/Shanghai")
time.Local = locale
}


docs: add flowchart

The direction of the arrow changes the layout significantly. As far as I know, it is difficult to get the layout to do what we want in Mermaid.js.

I know that some parts are not technically correct, but I will go with this diagram for now.


Block AVP with empty name in backend

Love 2-line fixes!!! =)

Nice nice! The branch is out-of-date, fix and I'll merge :smile:

Ok, rebased & pushed!


Migrate MAAP hub to use jupyterhub-home-nfs

The MAAP jupyterhub doesn't have any users yet, and it would be good to switch to jupyterhub-home-nfs before it gets users.
Information to be determined

Initial size of the disk
Initial per-user limit

Definition of done

[ ] MAAP is using jupyterhub-home-nfs
[ ] Existing EFS is decomissioned

/cc @wildintellect

We'll need to get metrics from @sujen1412 on what the current home directory usage is, excluding mounted folders, in order to estimate a sensible quota.

@wildintellect we can also increase it later if needed (but not decrease it). Maybe we can pick something small to start and go from there?


Bug 1834936: fix(resolver): don't pick operator from same package when resolve requiredAPI

When resolver looks for an operator that provides requiredAPIs, it
doesn't exclude operators from the same package that the original
operator that requires those APIs. As a result, if there is an
existing version of that operator now provides those requiredAPIs
(due to API ownership transfer), resolver will select an older or
newer version of the same operator to fulfill that requiredAPIs
which leads to API ownership conflicts on providedAPIs.
The resolver will look up all latest channel entries that provides
the necessary requiredAPIs and filter out those from the same package
before go on with the operator selection.
Signed-off-by: Vu Dinh<EMAIL_ADDRESS>
Description of the change:
Motivation for the change:
Note to reviewer:
This PR is designed to be backport-friendly as it is planned to be backported all the way down to 4.2. As a result, there are significant amount of code which is here solely for backport reason. After the backport is done, there will be follow-up PR(s) to update OLM and registry and clean up the codebase in the master.
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /docs
[ ] Commit messages sensible and descriptive

/retest

/retest

/test unit

/retest

/retest

/lgtm

/test e2e-gcp

/retest

/retest

/cherry-pick release-4.4


Add masking

no commit left behind

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Add lost by CRIM3S

Song Name
lost
Artist Name
CRIM3S
Source
Youtube
Youtube Link
cpEkXk6u_b4
Direct File Link
https://www.github.com/song.mp3
Song ID
945695
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 27690100
Downloaded: Yes

Hi :v

{
"name": "lost",
"artist": "CRIM3S",
"source": "youtube",
"startOffset": 0,
"yt-id": "cpEkXk6u_b4",
"songs": [
945695
]
}

accept


ARROW-8140: [Dev] Follow class name change

NullType was renamed to NullField by 963ac4f330f8dba27672f091eb4706f24707a876.

+1


for cycle & if conditions return  EOF error

I'm newer user of both python and Spyder, but since the begining in original conf of Spyder3 (now also Spyder4) from Anaconda, I noted such EOF error while stepping any for cycle or if statement !!  It's crazy.. you can't do almost anything....
Any solutions ???
thks
for param_seasonal in seasonal_pdq:
File "", line 1
for param_seasonal in seasonal_pdq:
^
SyntaxError: unexpected EOF while parsing
try:
File "", line 1
try:
^
SyntaxError: unexpected EOF while parsing

F9 isn't a line by line debugging. It just copies the current line or selection to ipython console and executes it whether the current line or selection is valid code or not. Proper line by line debugging is done using ctrl + F5
It would be nice if F9 was a bit smarter but that is covered in #4431. Closing as a duplicate


Can the wallet plugin support ok and backpack?

I didn’t find ok and backpack in @solana/wallet-adapter-wallets  Is it supported?

Many wallets are already supported via the Wallet Standard and don't require adapters.


Travis: add 2.6.0, update to JRuby <IP_ADDRESS>, use rvm aliases

This PR updates the CI matrix to use latest JRuby, <IP_ADDRESS>.
JRuby <IP_ADDRESS> release blog post
Also:

MRI rubies: point to RVM aliases in https://github.com/rvm/rvm/blob/master/config/known

Can you remove 2.2 support? It's probably not useful anyway.

@ioquatix Ah, done!

Thanks!


Fix declarative config tests for release builds

Description
A detailed explanation of the changes in your PR.
Feel free to remove this section if it is overkill for your PR, and the title of your PR is sufficiently descriptive.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
TODO(replace-me)
Use this space to explain how you tested your PR, or, if you didn't test it, why
you did not do so. Valid reasons include, for example, "CI is sufficient",
"No testable changes". Feel free to attach JSON snippets, curl commands,
screenshots.
In addition to reviewing your code, reviewers must also review your testing
instructions and make sure they are sufficient.

Current dependencies on/for this PR:

master

PR #5379   👈

This comment was auto-generated by Graphite.

/test

/retest


kubectl logs and exec fails for worker nodes

What happened?
After Setup of kubeone cluster at AWS any kubectl logs or kubectl exec command fails if the target is a worker machine from the machinecontroller.
kubectl logs -n test nginx-7854ff8877-tsk8n
error: You must be logged in to the server (the server has asked for the client to provide credentials ( pods/log nginx-7854ff8877-tsk8n))

kubectl exec -n test nginx-7854ff8877-tsk8n -- sh
error: unable to upgrade connection: Unauthorized

The workload of the cluster itself seems not to be effected, but administration is hard restricted so this needs to get fixed soon.
Expected behavior
Command kubectl logs kubectl exec does work for all nodes.
How to reproduce the issue?

AWS

What operating system are you running in your cluster?
Ubuntu 22.04

Additional information
It seams somehow that the kubelet config of the nodes are not correct or the communication from kubelet to control plane is broken.
Relevant stack overflow: https://stackoverflow.com/a/50020792
kubectl with the admin/super-admin kubeconfig also works not from the control plane machines:
root@ip-172-32-162-21:~# kubectl --kubeconfig /etc/kubernetes/super-admin.conf -n test logs nginx-7854ff8877-l2jtz
error: You must be logged in to the server (the server has asked for the client to provide credentials ( pods/log nginx-7854ff8877-l2jtz))
root@ip-172-32-162-21:~# kubectl --kubeconfig /etc/kubernetes/admin.conf -n test logs nginx-7854ff8877-l2jtz
error: You must be logged in to the server (the server has asked for the client to provide credentials ( pods/log nginx-7854ff8877-l2jtz))

Indeed, and the fix has not been released (and included in K1) yet.

So we just need a new release!

Awesome so it's already cherry picked for next kubeone 1.8 release?

OK, we have new v1.5.3 release


Chromium update error with textscreens

[ERROR] addons/3d2d_aurebesh_textscreens_1191355200/lua/entities/sammyservers_textscreen/cl_init.lua:109: bad argument #1 to 'GetTextSize' (string expected, got nil)

GetTextSize - [C]:-1
AddDrawingInfo - addons/3d2d_aurebesh_textscreens_1191355200/lua/entities/sammyservers_textscreen/cl_init.lua:109
3. func - addons/3d2d_aurebesh_textscreens_1191355200/lua/entities/sammyservers_textscreen/cl_init.lua:134
4. unknown - lua/includes/extensions/net.lua:32

this is what I get when I load in.. please fix it or tell me how to fix it.. thanks!

It looks like you're using a modified version of the addon, specifically 3d2d_aurebesh_textscreens_1191355200, from https://steamcommunity.com/sharedfiles/filedetails/?id=1191355200. The stack trace there and line numbers do not match the current code-base: https://github.com/Cherry/3D2D-Textscreens/blob/master/lua/entities/sammyservers_textscreen/cl_init.lua.
They haven't pushed an update since 2017, so the code-base they're using is very out of date. You'll need to contact the author of this modification for assistance, or try using the official version at https://steamcommunity.com/sharedfiles/filedetails/?id=109643223.


Remove Module Base Address and Load Bias from FunctionInfo

Towards making modules (and thus functions) independent from their
process, module base address and module load bias should not be stored
inside FunctionInfo.
This PR removes these fields, in particular by introducing a new GetAbsoluteAddress
function, that uses the process and module data.
It also serializes basic information about the modules and the process.
Loading a capture, will also create the basic information
in data manager.
Symbol loading does not require the process anymore.
Test: Compile, Take Captures, Load Captures, Save Captures
Bug: http://b/169309553

I just removed the information for function info. Also loading modules, does now not need the process anymore.
There is one issue left, that allows to load symbols on a loaded capture.
Also, module info should not have the load address (currently needed at the creation)

Continued in #1340


Update MD file on new branch 2017-20-15_17-11-19

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


consider this https://www.nature.com/articles/s41550-021-01594-8

https://www.researchgate.net/figure/XMM-Newton-EPIC-and-NuSTAR-flux-spectra-of-Jupiter-with-the-simulated-spectrum-and_fig5_358515222


Avoid panic after connection failure

Return false after printing error information to avoid panic
fix #948

Good idea. Thank you.


data loss upgrading from 2.9.1 to 3.1.0 with database backend

Describe the problem
Upgrading from 2.9.1 to 3.1.0 and running python manage migrate, both migrations appear successful, but the data isn't transferred, nor is the old table dropped.
Steps to reproduce

Install version 2.9.1 and make a couple of sample settings, changing from their defaults.
Update to 3.1.0 and run python manage.py migrate
Inspect the DB table and notice the new constance_constance table created from 0001_initial is empty, and the old constance_config table still exists.

After some debugging, I think it concerns the SQL in 0002_migrate_from_old_table. Specifically, If I remove the try/except block, I get the following exception:
django.db.utils.ProgrammingError: (1064, "You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near 'key, value ) SELECT id, key, value FROM constance_config' at line 1")

But by escaping the column names (e.g.  ( id, key, value ) → ( `id`,  `key`, `value` )), I was able to get the 2nd migration to work (data transferred/old table dropped), leading me to believe it's because of SQL reserved words.
System configuration

Django version: 4.2.4
Python version: 3.10.6
Django-Constance version: 3.1.0
MySQL version: 8.0.18

It will be fixed soon https://github.com/jazzband/django-constance/pull/531
Sorry, my fault

No worries and thanks for your help!

It seems that fixing this error caused an error for me.
System configuration
Django version: 3.1
Python version: 3.9
Django-Constance version: 3.1.0
MySQL version: 8.0.22
Using connection = schema_editor.connection does not work in my case.

I have just experienced the very same issue with MySQL, fixed it on my own and later found this issue...
If anyone lands in here looking for the answer "why": this migration may be indeed fixed, but it is not yet released.
I am not sure if the fix works for me either, I had to run this sqls manually to fix it (state was already messed up a bit):
DELETE FROM constance_constance;
INSERT INTO constance_constance SELECT * FROM constance_config;
DROP TABLE constance_config;

On that note, would it be possible to generate a new release with the corrected migration file?

Our experience with upgrading from 2.9.1 to 3.1.0 was a bit shocking. The newly created table constance_constance was not filled with existing data. The old table constance_config was preserved (luckily). The incomplete transfer also caused the admin interface not saving things and showing a lot of defaults.
We've fixed it by running the following query in the database:
truncate table constance_constance;
insert into constance_constance select * from constance_config;

Hope this helps someone that is feeling the stress :)

To pick up on @mfisco's comment again:
#531 is essential as there is a high risk of data loss, but unfortunately it has not yet been released.
Would it be possible to generate a new release? @camilonova or @sergei-iurchenko
Or at least a warning in the README that there is a risk of data loss with version 3.1.0 would certainly not be amiss.
So just a suggestion, don't stress about it. Thanks a lot!

@camilonova please make a new release. I don`t have such permissions


Remove usage of Exclude with rubocop

Verification

[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

Provide a detailed description of the proposed feature
When Exclude is used in e.g. .rubocop.yml files: these are not always handled consistently by e.g. the VSCode rubocop integration and they aren't flagged as unnecessary when they on longer are.
We should instead:

disable all the rubocop rules we're never going to realistically fix e.g. Metrics/ClassLength
for those we'd like to tackle some day, use # rubocop:disable with a reason in the file itself

What is the motivation for the feature?
VSCode not to flag all of formula_installer.rb as failing rubocop :sweat
How will the feature be relevant to at least 90% of Homebrew users?
It wouldn't be but it will make life easier for maintainers and contributors.
What alternatives to the feature have been considered?
Fixing all these rules.

disable all the rubocop rules we're never going to realistically fix e.g. Metrics/ClassLength

Do you mean disable the rules entirely across everything (Enabled: false), not just for the specific files? I agree that we are never going to get the big files below the limits any time soon, but that seems like a slippery slope towards a lot more files becoming like formula.rb.

Do you mean disable the rules entirely across everything (Enabled: false)

Yes.

but that seems like a slippery slope towards a lot more files becoming like formula.rb.

It seems these numbers just keep getting bumped anyway so: I'm not sure it's stopping anything right now and is just annoying for no real reason 😢

This is as done as it's gonna get! The remaining Excludes are for tap paths and Homebrew/MoveToExtendOS.

Great work, thanks @issyl0!


add travis.yml

Add travis.yml for auto running test
Upload coverage report to codecov

please trigger the PR again, I will close this one.
I add some settings for code climate.


Make all Gradle tasks cacheable

Update annotations on tasks that were not cacheable to make them cacheable.
Using @get: on annotations is the style used in Gradle guides, and may in fact be required to get accurate results from validateTaskProperties task, so have updated existing annotations to use the get use-site target.
Also tweaked a couple of annotations in the Detekt task so they're correctly set on the internal & public parameters.
Fixes #1856

OOM errors in CI.