🐛 Bug Report: "Getting Started" failing

📜 Description
Simple app, following Getting Started Guide fails.
👍 Expected behavior
Simple app should just run.
👎 Actual Behavior with Screenshots
A compilation failure, possibly related to Rect, occurs, with the following error:
[0] ERROR in ../../node_modules/swagger-ui-react/node_modules/react-redux/dist/react-redux.mjs 1097:18-45
[0] export 'useSyncExternalStore' (imported as 'React2') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] webpack compiled with 1 error

👟 Reproduction steps
To avoid local environment inconsistencies, I've managed to reproduce the bug with the following steps, using a Docker container:

Run docker run -it --rm -p 3000:3000 -p 7007:7007 node:20 bash
Run npx @backstage/create-app@latest (all default answers)
Run cd backstage and then yarn dev

📃 Provide the context for the Bug.
No response
🖥 Your Environment
Problem occurs both in my local machine and in a docker container.

Docker container:
$ /backstage/node_modules/.bin/backstage-cli info
OS:   Linux 6.4.16-linuxkit - linux/arm64
node: v20.10.0
yarn: 1.22.19
cli:  0.25.0 (installed)
backstage:  1.21.0

Dependencies:
  @backstage/app-defaults                                          1.4.6
  @backstage/backend-app-api                                       0.5.9
  @backstage/backend-common                                        0.20.0
  @backstage/backend-dev-utils                                     0.1.2
  @backstage/backend-openapi-utils                                 0.1.1
  @backstage/backend-plugin-api                                    0.6.8
  @backstage/backend-tasks                                         0.5.13
  @backstage/catalog-client                                        1.5.1
  @backstage/catalog-model                                         1.4.3
  @backstage/cli-common                                            0.1.13
  @backstage/cli-node                                              0.2.1
  @backstage/cli                                                   0.25.0
  @backstage/config-loader                                         1.6.0
  @backstage/config                                                1.1.1
  @backstage/core-app-api                                          1.11.2
  @backstage/core-compat-api                                       0.1.0
  @backstage/core-components                                       0.13.9
  @backstage/core-plugin-api                                       1.8.1
  @backstage/e2e-test-utils                                        0.1.0
  @backstage/errors                                                1.2.3
  @backstage/eslint-plugin                                         0.1.4
  @backstage/frontend-plugin-api                                   0.4.0
  @backstage/integration-aws-node                                  0.1.8
  @backstage/integration-react                                     1.1.22
  @backstage/integration                                           1.8.0
  @backstage/plugin-api-docs                                       0.10.2
  @backstage/plugin-app-backend                                    0.3.56
  @backstage/plugin-app-node                                       0.1.8
  @backstage/plugin-auth-backend-module-atlassian-provider         0.1.0
  @backstage/plugin-auth-backend-module-gcp-iap-provider           0.2.2
  @backstage/plugin-auth-backend-module-github-provider            0.1.5
  @backstage/plugin-auth-backend-module-gitlab-provider            0.1.5
  @backstage/plugin-auth-backend-module-google-provider            0.1.5
  @backstage/plugin-auth-backend-module-oauth2-provider            0.1.5
  @backstage/plugin-auth-backend-module-oauth2-proxy-provider      0.1.0
  @backstage/plugin-auth-backend-module-okta-provider              0.0.1
  @backstage/plugin-auth-backend                                   0.20.2
  @backstage/plugin-auth-node                                      0.4.2
  @backstage/plugin-catalog-backend-module-scaffolder-entity-model 0.1.5
  @backstage/plugin-catalog-backend                                1.16.0
  @backstage/plugin-catalog-common                                 1.0.19
  @backstage/plugin-catalog-graph                                  0.3.2
  @backstage/plugin-catalog-import                                 0.10.4
  @backstage/plugin-catalog-node                                   1.6.0
  @backstage/plugin-catalog-react                                  1.9.2
  @backstage/plugin-catalog                                        1.16.0
  @backstage/plugin-events-node                                    0.2.17
  @backstage/plugin-github-actions                                 0.6.9
  @backstage/plugin-org                                            0.6.18
  @backstage/plugin-permission-common                              0.7.11
  @backstage/plugin-permission-node                                0.7.19
  @backstage/plugin-permission-react                               0.4.18
  @backstage/plugin-proxy-backend                                  0.4.6
  @backstage/plugin-scaffolder-backend-module-azure                0.1.0
  @backstage/plugin-scaffolder-backend-module-bitbucket            0.1.0
  @backstage/plugin-scaffolder-backend-module-gerrit               0.1.0
  @backstage/plugin-scaffolder-backend-module-github               0.1.0
  @backstage/plugin-scaffolder-backend-module-gitlab               0.2.11
  @backstage/plugin-scaffolder-backend                             1.19.2
  @backstage/plugin-scaffolder-common                              1.4.4
  @backstage/plugin-scaffolder-node                                0.2.9
  @backstage/plugin-scaffolder-react                               1.7.0
  @backstage/plugin-scaffolder                                     1.17.0
  @backstage/plugin-search-backend-module-catalog                  0.1.12
  @backstage/plugin-search-backend-module-pg                       0.5.17
  @backstage/plugin-search-backend-module-techdocs                 0.1.12
  @backstage/plugin-search-backend-node                            1.2.12
  @backstage/plugin-search-backend                                 1.4.8
  @backstage/plugin-search-common                                  1.2.9
  @backstage/plugin-search-react                                   1.7.4
  @backstage/plugin-search                                         1.4.4
  @backstage/plugin-tech-radar                                     0.6.11
  @backstage/plugin-techdocs-backend                               1.9.1
  @backstage/plugin-techdocs-module-addons-contrib                 1.1.3
  @backstage/plugin-techdocs-node                                  1.11.0
  @backstage/plugin-techdocs-react                                 1.1.14
  @backstage/plugin-techdocs                                       1.9.2
  @backstage/plugin-user-settings                                  0.7.14
  @backstage/release-manifests                                     0.0.11
  @backstage/test-utils                                            1.4.6
  @backstage/theme                                                 0.5.0
  @backstage/types                                                 1.1.1
  @backstage/version-bridge                                        1.0.7
Done in 0.47s.

👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, I don't have time to work on this right now

We had the same experience on a fresh install. Can't boot up the app on first try following the getting started guide.

Looking into this now, we have had problems with swagger-ui-react in the past and they just published a new package today - https://www.npmjs.com/package/swagger-ui-react - but it could be something else

Confirmed, the issue is with swagger-ui-react, if I add the following to the resolutions section of the root package.json file it works:
    "resolutions": {
        "@types/react": "^17",
        "@types/react-dom": "^17",
+      "swagger-ui-react": "5.10.5"
    },

Thanks @awanlin . I happened to be trying out backstage today, noticed the broken getting started, found this issue, and can confirm it's fixing it on my machine as well. All within 2 hours of issue submission, you had the root cause pegged. 😅👏🏼

Thanks for getting on this issue so fast @awanlin !
I followed your solution, however I still get the same error, is there anything I might have missed / has anybody else got this issue?
I have go the exact same dependencies as in the Docker container section of the original issue, except I am using:
OS:   Linux <IP_ADDRESS>-microsoft-standard-WSL2 - linux/x64

This isn't the first time this has come up for me when doing a fresh setup, is there any type of test that could be added to the build pipeline to prevent this?

Is this because the template is still react 17? Swagger-ui-react claims that the update did a react 18 compat in a backwards compatible way, but maybe that's not as backwards-compatible as they hoped?
https://github.com/swagger-api/swagger-ui/releases/tag/v5.11.0

Confirm @awanlin suggestion fixes the problem. Thanks!

@dominikhei sorry, small assumption on my part. You'll need to run yarn install after you make this change. Can you try that and follow up with the results?

Thanks for getting on this issue so fast @awanlin ! I followed your solution, however I still get the same error, is there anything I might have missed / has anybody else got this issue?
I have go the exact same dependencies as in the Docker container section of the original issue, except I am using: OS: Linux <IP_ADDRESS>-microsoft-standard-WSL2 - linux/x64

What version of swagger-ui-react is your lock file pulling when you yarn install? That's what needs to resolve correctly. Do some of the usual obvious things w/ a yarn install

revert your lock file back to the original state as it is in the backstage repo
you could try deleting node_modules
do a fresh yarn install with the above resolutions fix in place
hopefully it'll work for you - after changing the resolutions setting it's really just a yarn issue from there

This isn't the first time this has come up for me when doing a fresh setup, is there any type of test that could be added to the build pipeline to prevent this?

honestly, the whole point of a yarn.lock file is to avoid this. I noticed that when I followed the getting started steps, the yarn.lock file changes! 👀 No wonder it keeps breaking. This is the same problem a CI/CD pipeline would have, correct. And it would have the same solution - yarn doing what it's supposed to do. :)
At least that's how I see it, based on my understanding of the tools. I don't think backstage's team should have to do something extra for this. Whatever you locked into when you committed code is known to work. It should use that exactly and nothing else.

@dominikhei sorry, small assumption on my part. You'll need to run yarn install after you make this change. Can you try that and follow up with the results?

confirmed. with the change and yarn install, works.

@awanlin your answer works for me.

When such a fix will be released ?

Same here. Adding the @awanlin's line helped.

I'm just working on an update of our instance, and 5.11 works with React 18. At least it builds and runs, we don't actually have an API in our catalog.
Note, to get a full 18 stack, I also have to add resolutions, though:
  "resolutions": {
    "@testing-library/jest-dom": "^6.1.0",
    "@testing-library/react": "^14.0.0",
    "@types/react": "^18",
    "@types/react-dom": "^18"
  },

Which raises the question:
Is there any blocker to upgrading the template to react 18?

@Pike yep I think moving the template to React 18 is the best fix for this tbh.

Confirmed, the issue is with swagger-ui-react, if I add the following to the resolutions section of the root package.json file it works:
    "resolutions": {
        "@types/react": "^17",
        "@types/react-dom": "^17",
+      "swagger-ui-react": "5.10.5"
    },

Thanks for support works to me.

Does this still occur with the upgrade to React 18 in #22297?

Going to close this as not actionable at this point / fixed. We have bumped the create-app template to use React 18, while providing this migration guide for existing projects: https://backstage.io/docs/tutorials/react18-migration.
It is possible to bump swagger-ui while still using React < 18 in existing projects as well, they provide instructions for this in the swagger-ui project: https://github.com/swagger-api/swagger-ui/wiki/Using-older-version-of-React

@awanlin Thank you very much, it worked


[Feature Requested] Trino integration

Is your feature request related to a problem? Please describe.
Similar to how ILLA builder integrates with databases like postgres, mysql, clickhouse, etc., it'd be great if we could also have integrate with Trino (https://trino.io/).
Describe the solution you'd like
The solution should pretty much involve replicating the clickhouse/postgres integration.
Authentication: Trino has a Go client which supports password based HTTP authentication.
Additional context
Trino is a fast distributed SQL query engine for big data analytics. It's essentially a data virtualization technology which lets you connect to, query and combine results from heterogeneous data sources (RDBMS, NoSQL databases, S3 storages, Rest APIs, etc.).
I'd love to work on this feature. Please assign it to me.

/assign

/assign @Priyansh121096


offline building and install GEE

hey,
On my development machine I have no internet
Is it possible to build and install GEE without internet?
Is it also possible to build GEE on one machine and then install it on another?
thank you.

I answered this question in the Google Group: https://groups.google.com/forum/#!topic/google-earth-enterprise/t6cJsfDPehA.  Let us know how it works for you.

We should probably add this answer to the FAQ

I've now added a couple of entries to the FAQ.

I have built OpenGEE on a machine and tried to install it on my development machine (server) and I have this error message :
**Welcome to the Google Earth Enterprise Fusion 5.1.3 installer.
Your server [localhost] contains an invalid hostname value which typically
indicates an automatically generated hostname that might change over time.
A subsequent hostname change would cause configuration issues for the
software.  Invalid values: empty linux localhost dhcp bootp.
Exiting the installer.  If you wish to continue, re-run this command with the -h
nf 'Hostname Override' flag.**

I fixed the FQDN but now i have this message :
Proceeding with installation...
Copying files from source to target directories...
The temp install directory specified [/tmp/fusion_os_install] is corrupt (failed on copy).
Please see /opt/google/install/fusion_install_2017_07_18.110841.log for details
Please specify the path of the extracted install files or first run
scons [-j8] release=1 [installdir=/tmp/fusion_os_install] stage_install

I have already fixed the problem by rebuilding opengee from the beginning
The installation is done correctly but at the end of fusion installation I have this message :
Congratulations! Google Earth Enterprise Fusion 5.1.3 has been successfully upgraded
in [/opt/google].
You can remove the staged install files from /tmp/fusion_os_install if you do not
need to install Google Earth Enterprise Server.
Google Earth Enterprise Fusion daemon services are not running properly.
Please ensure that your asset root is selected using:
/opt/google/bin/geselectassetroot --assetroot /gevol/assets
and then start up the Google Earth Enterprise Fusion daemons using:
/etc/init.d/gefusion start
and when i use the commend recomended i have this message :
<EMAIL_ADDRESS>/opt/google/bin/geselectassetroot --assetroot /gevol/assets
/opt/google/bin/geselectassetroot: error while loading shared libraries: libxerces-c-3.1.so: cannot open shared object file: No such file or directory
<EMAIL_ADDRESS>/etc/init.d/gefusion start
gefdaemoncheck: error while loading shared libraries: libxerces-c-3.1.so: cannot open shared object file: No such file or directory
and aftre installing OpenGEE server i have this message :
Congratulations! Google Earth Enterprise has been successfully installed in the following directory:
/opt/google
      Start Google Earth Enterprise Server with the following command:
      /etc/init.d/geserver start

<EMAIL_ADDRESS>/etc/init.d/geserver start
pg_ctl: another server might be running; trying to start server anyway
pg_ctl: could not start server
Examine the log output.

Google Earth Enterprise Server for RedHat
Starting gehttpd: [Tue Jul 18 15:00:37 2017] [warn] module negotiation_module is already loaded, skipping
[Tue Jul 18 15:00:37 2017] [warn] module dav_module is already loaded, skipping
[Tue Jul 18 15:00:37 2017] [warn] module dav_fs_module is already loaded, skipping
[Tue Jul 18 15:00:37 2017] [warn] module rewrite_module is already loaded, skipping
[Tue Jul 18 15:00:37 2017] [warn] module ssl_module is already loaded, skipping
gehttpd: Syntax error on line 532 of /opt/google/gehttpd/conf/gehttpd.conf: Syntax error on line 22 of /opt/google/gehttpd/conf.d/gemodules.conf: Cannot load /opt/google/gehttpd/modules/mod_fdb.so into server: libpng12.so.0: cannot open shared object file: No such file or directory
[ÉCHOUÉ]

Done Starting Google Earth Enterprise Server

After the test to assemble OpenGEE on a machine and install it on another machine this seems to work well.
Knowing that the Building and installation are done in the same condition and environment.
First of all it must be ensured that all the packages, fibers and all the prerequisites are gathered for a perfect installation.
the tests are done on centos 7 ( local machine for Building OpenGEE and distante server for the installation)
thank you for your help


Refactor the code

We probably want to refactor this more so we can separate the behaviors
TO-DO:

we probably want to have a transform world phase that updates the position of everything and a render phase that actually does the drawing

Picked out some items in their own issues to deal with later. This last remaining item I don't want to do right now.
DONE:

[x] the affine transform or at least the ground rendering should be refactored to be the core of the module, probably the part named mode7
[x] the full world manipulation will probably be refactored to a mode7world struct
[x] object rendering (the billboard sprites) should be moved out of the module, but it should be pretty obvious how to do it (this would enable in the future people using Overlays once they can be resized somehow, but also objects and characters right now if simple click interaction is desired)
[x] original kart aspects of the module should be moved out, while the module has to keep mechanisms to implement the rendering parts of it

ok, there's more things I would like to do but it's better to release something soon and workout things later on. I want to instead focus on additional room examples with different usages and then put this on the forums to see how it goes.


[ehow] Remove exctractor

[x] I've verified and I assure that I'm running youtube-dl 2018.01.14

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[x] Other

It's doesn't have videos anymore, only redirects to youtube.
'http://www.ehow.com/video_12245069_hardwood-flooring-basics.html'

@dstftw Please review.


Fix helloWorld

make sure it really runs on MVM
Fix read Me to use jetty:run
get rid of appengine-web.xml use app.yam
improved security constraint.

I need this to stage some docs, likely to get replaced by Shun later
today.

LGTM. Test failures appear to be with Spark sample, not hello world.


How to set the default period for the agenda

I hope I'm not being an idiot, but I can't see any way to set the default parameters for the number of days an agenda shows (the default is 5 but  I want it to default to 10).
Looking for something that will give me the same as
gcalcli agenda today '10 days'
Cheers
Pete

That is not possible today without editing they python directly.  You either specify it in your command or get 5 :)


Support Ubuntu and Debian-derived OS using ID_LIKE in /etc/os-release

Tested on Pop!_OS 22.04, this should extend support to Ubuntu and Debian-derived distros that reference either in the ID_LIKE variable of /etc/os-release. Pop!_OS 22.04 in particular lists both ID_LIKE="ubuntu debian" in which case only the first is used.

Fixes #328

Confirmed working on Linux Mint
closes #352

may not work for #327 because neon has
ID_LIKE="ubuntu debian"

This broke deb-get 0.3.2, at least on Ubuntu MATE 22.04. /etc/os-release has
ID=ubuntu
ID_LIKE=debian

The code provided by this PR then replaces UPSTREAM_ID with debian, which breaks all packages that install from a PPA, given they all look like this :
function deb_copyq() {
    if [ "${UPSTREAM_ID}" == "ubuntu" ]; then
        PPA="ppa:hluk/copyq"
        PRETTY_NAME="CopyQ"
        WEBSITE="https://hluk.github.io/CopyQ/"
        SUMMARY="An advanced clipboard manager with editing and scripting features."
    fi
}

making it impossible to update or install packages from PPAs :
sudo deb-get install copyq
  [!] ERROR! Download URL for copyq is empty. Skipping.


bgpd not sending updates after reboot

I have a strange problem with my bgpd on Linux trying to send updates to OpenBSD.
When I reboot the linux machine no routes are send to OpenBSD. If I restart the daemon on Linux then everything works as expected.
The linux machine gets updates from other machines and forwards them to OpenBSD.
It gets the updates alright but does not forward them unless I restart bgpd.
Don't know how to debug more. -d -v didn't help tracing a problem.
You can see that the state is Established both ways.
This is not a firewall issue, don't know if there is a hiccup in the md5
linux# bgpctl show nei openbsd
BGP neighbor is <IP_ADDRESS>, remote AS 65001, Multihop (4)
 Description: openbsd
 Max-prefix out: 5000 (restart 5)
  BGP version 4, remote router-id <IP_ADDRESS>
  BGP state = Established, up for 03:43:49
  Last read 00:00:09, holdtime 60s, keepalive interval 20s
  Last write 00:00:06
  Neighbor capabilities:
    Multiprotocol extensions: IPv4 unicast, IPv6 unicast
    4-byte AS numbers
    Route Refresh
    Graceful Restart
  Negotiated capabilities:
    Multiprotocol extensions: IPv4 unicast, IPv6 unicast
    4-byte AS numbers
    Route Refresh
    Graceful Restart

  Message statistics:
                  Sent       Received
  Opens                    1          1
  Notifications            0          0
  Updates                  2        534
  Keepalives             672        502
  Route Refresh            0          0
  Total                  675       1037

  Update statistics:
                  Sent       Received   Pending
  Prefixes                 0        225
  Updates                  0        659          0
  Withdraws                0        334          0
  End-of-Rib               2          2
  Route Refresh statistics:
  Request                  0          0
  Begin-of-RR              0          0
  End-of-RR                0          0

  Local host:         <IP_ADDRESS>.2, Local port:  48795
  Remote host:        <IP_ADDRESS>, Remote port:   179

This is config on linux
group "firewalls" {
   local-address $myIP
   remote-as $fireASN
   multihop 4
   ttl-security no
   tcp md5sig password xxxx
   max-prefix 5000 out restart 5

   neighbor <IP_ADDRESS> {
      descr "openbsd"
      announce IPv4 unicast
      announce IPv6 unicast
   }
}

openbsd# bgpctl show nei linux
BGP neighbor is <IP_ADDRESS>, remote AS 65002, Passive, Multihop (4)
 Description: linux
  BGP version 4, remote router-id <IP_ADDRESS>
  BGP state = Established, up for 03:45:29
  Last read 00:00:06, holdtime 60s, keepalive interval 20s
  Last write 00:00:03
  Neighbor capabilities:
    Multiprotocol extensions: IPv4 unicast, IPv6 unicast
    4-byte AS numbers
    Route Refresh
    Graceful Restart
  Negotiated capabilities:
    Multiprotocol extensions: IPv4 unicast, IPv6 unicast
    4-byte AS numbers
    Route Refresh
    Graceful Restart

  Message statistics:
                  Sent       Received
  Opens                    2          2
  Notifications            0          1
  Updates               5310       4794
  Keepalives            6345       6512
  Route Refresh            0          0
  Total                11657      11309

  Update statistics:
                  Sent       Received   Pending
  Prefixes               229          0
  Updates                663          0<PHONE_NUMBER>
  Withdraws              334          0          0
  End-of-Rib               2          2
  Route Refresh statistics:
  Request                  0          0
  Begin-of-RR              0          0
  End-of-RR                0          0

  Local host:         <IP_ADDRESS>, Local port:    179
  Remote host:        <IP_ADDRESS>, Remote port: 48795

If I restart bgpd on linux, then after a while all is good.
  Update statistics:
                  Sent       Received   Pending
  Prefixes               229        229
  Updates                231        429          0
  Withdraws                0          0          0
  End-of-Rib               2          2
  Route Refresh statistics:
  Request                  0          0
  Begin-of-RR              0          0
  End-of-RR                0          0

Any ideas for further debugging and tracing the problem?
thanks

This looks like a problem with the FIB sync on linux.
Could you check the output of bgpctl show rib and bgpctl show next between the working and not working cases?
I think that the nexthop is not valid in the not working case and so no path in the rib is valid.
Which would indicate that bgpd misses some network config during startup on Linux. With the two commands above this should be easy to verify.

bgpctl show rib is ok in both working and non working cases.
bgpctl show next indeed is empy in non working case.
Only nexthop is shown. route, prio gateway, iface are empty
Note that I have those in my linux config:
fib-update no    # Mandatory, to not update the local routing table
nexthop qualify via default
I've noticed today (without reboot, after 15 days uptime) that the rib entries where missing from remote host. In Linux, rib was ok.
After restart of bgpd the bgpctl show next showed full details and routes where transferred to remote host.

I assume the bgpctl show rib command is actually showing that no route is valid.
No route has a '*' in the flags field and because of that no route is selected '>' in flags.
The nexthops can not be validated which I guess in the working case depends on the default route.
So what is bgpctl show fib showing? I bet stuff is missing that should be there.
I will try to reproduce this but may need more information.

You're right
bgpctl show rib does not have '*' in entries
flags  vs destination          gateway          lpref   med aspath origin
I     N-? <IP_ADDRESS>/32   <IP_ADDRESS>         100     0 i

Also no * in show next
Flags: * = nexthop valid
  Nexthop         Route              Prio Gateway         Iface
  <IP_ADDRESS>

all peers appear like this
Ofcourse I can ping <IP_ADDRESS> and
# bgpctl show nei <IP_ADDRESS>
BGP neighbor is <IP_ADDRESS>, remote AS 65002
 Description: other-client
 Max-prefix: 1000 (restart 5)
  BGP version 4, remote router-id <IP_ADDRESS>
  BGP state = Established, up for 00:15:18
  Last read 00:00:08, holdtime 60s, keepalive interval 20s
  Last write 00:00:18

I've setup two new VMs in order to make reproduction more easily, but I cannot replicate this...
It must be something more specific with my machine which is not obvious to me.
I have bgpd in this limbo state right now and even bgpctl reload does not fixes it, only restart.
If you can provide some debug statements in specific source code sections I would be happy to try them and see why/where it fails to get the routes to it's peers.

One thing I know we don't handle currently are multipath routes (routes with more than one nexthop).
Do you by any chance end up with such routes for e.g. the default route?

No, I'don't have multipath routes at all.
Just one static default route and one wireguard interface with /32 IP

I don't think wireguard is related. Wireguard only adds a couple of static /32 and /128 routes for remote VPN end points, on wg0 interface only, the private IPs for tunnels only - no routing of networks via the wg0 interface.
No messing with default route or routes to my other bgpd peers.
I've rebooted with wireguard disabled and still had the same problem. Actually first reboot all worked. 2nd reboot I had the problem, so there might be something related to timing. Maybe the interface is not yet fully up?
Btw I do have
# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
<IP_ADDRESS>         xx.xx.xx.65     <IP_ADDRESS>         UG        0 0          0 enp4s0
xx.xx.xx.64     <IP_ADDRESS>         <IP_ADDRESS> U         0 0          0 enp4s0

# bgpctl show next
Flags: * = nexthop valid

  Nexthop         Route              Prio Gateway         Iface
  <IP_ADDRESS>
  <IP_ADDRESS>
  <IP_ADDRESS>
  xx.xx.y1.18
  xx.xx.y2.22
  xx.xx.y3.100
  xx.xx.y4.71

# bgpctl show fib
flags: B = BGP, C = Connected, S = Static
       N = BGP Nexthop reachable via this route
       r = reject route, b = blackhole route

flags prio destination                      gateway

# bgpctl show ri
flags: * = Valid, > = Selected, I = via IBGP, A = Announced,
       S = Stale, E = Error, F = Filtered
origin validation state: N = not-found, V = valid, ! = invalid
aspa validation state: ? = unknown, V = valid, ! = invalid
origin: i = IGP, e = EGP, ? = Incomplete

flags  vs destination          gateway          lpref   med aspath origin
I     N-? <IP_ADDRESS>/32         <IP_ADDRESS>         100     0 i
I     N-? <IP_ADDRESS>/32     <IP_ADDRESS>         100     0 i
I     N-? <IP_ADDRESS>/32      <IP_ADDRESS>         100     0 i
I     N-? <IP_ADDRESS>/32     xx.xx.y4.71      100     0 i
I     N-? <IP_ADDRESS>/32      xx.xx.y3.100      100     0 i

So on startup in some cases the FIB does not sync with the kernel.
It is unclear to me why it works sometimes but not during boot.
Since you say that the default route is present before you start bgpd it is not a difference between the initial dump and changes during runtime.

But the fib is still empty even after I manually restart bgpd and starts to behave ok.
Event after bgpctl show next shows indeed the correct routes to peers, fib is empty because I have:
fib-update no
I do not want to alter my routing table, I just want to pass the entries to another machine.

The fib should not be empty. It should have the routes in there even when fib-update no is used.
That toggle just prevents bgpd from sending any updates to the kernel.

All my linux machines, even those that behave normally, have empty fib.
Indeed in openbsd fib is NOT empty

Yes, latest main code gives me FIB info.
I will try to get that info when I restart.
I've also tested 8.7 which produces:
kr_show_route: wrong imsg len
whenever I run bgpctl show fib
Applying 557a28607970f070a7c0ad0402bffb91384faace on top of 8.7 fixes it

This is the info while in problem:
# bgpctl show fib
flags: B = BGP, C = Connected, S = Static
       N = BGP Nexthop reachable via this route
       r = reject route, b = blackhole route

flags prio destination                      gateway
C        2 xx.xx.xx.64/26                   link#3
C        2 XXXX:XXXX:XXXX:XXXX::/64         link#3
C        2 fe80::/64                        link#3

missing default route in FIB
# netstat -nr
Kernel IP routing table
Destination     Gateway       Genmask         Flags     MSS Window  irtt Iface
<IP_ADDRESS>         xx.xx.xx.65   <IP_ADDRESS>         UG        0 0          0 enp4s0
xx.xx.xx.64     <IP_ADDRESS>       <IP_ADDRESS> U         0 0          0 enp4s0

# bgpctl show next
Flags: * = nexthop valid

  Nexthop         Route              Prio Gateway         Iface
  <IP_ADDRESS>
  <IP_ADDRESS>

# bgpctl show rib|head -20
flags: * = Valid, > = Selected, I = via IBGP, A = Announced,
       S = Stale, E = Error, F = Filtered
origin validation state: N = not-found, V = valid, ! = invalid
aspa validation state: ? = unknown, V = valid, ! = invalid
origin: i = IGP, e = EGP, ? = Incomplete

flags  vs destination          gateway          lpref   med aspath origin
I     N-? <IP_ADDRESS>/32      <IP_ADDRESS>         100     0 i
I     N-? <IP_ADDRESS>/32       <IP_ADDRESS>         100     0 i
I     N-? <IP_ADDRESS>/32       <IP_ADDRESS>         100     0 i
I     N-? <IP_ADDRESS>/32      <IP_ADDRESS>         100     0 i

If I manually restart bgpd later on, I get the default routes in FIB and valid routes in bgpctl show next
# systemctl restart bgpd
# bgpctl show fib
flags: B = BGP, C = Connected, S = Static
       N = BGP Nexthop reachable via this route
       r = reject route, b = blackhole route

flags prio destination                      gateway
S        4 <IP_ADDRESS>/0                        xx.xx.xx.65
C        2 xx.xx.xx.64/26                   link#3
S        4 ::/0                             XXXX:XXXX:XXXX:XXXX::1
C        2 XXXX:XXXX:XXXX:XXXX::/64         link#3
C        2 fe80::/64                        link#3

# bgpctl show next
Flags: * = nexthop valid

  Nexthop         Route              Prio Gateway         Iface
* <IP_ADDRESS>       <IP_ADDRESS>/0             4 xx.xx.xx.65   enp4s0 (UP, active)
* <IP_ADDRESS>       <IP_ADDRESS>/0             4 xx.xx.xx.65   enp4s0 (UP, active)

ok, I've found a way of replicating without reboot.
stop bgpd
Disconnect network cable
Reconnect network cable and immediately
ifconfig enp4s0 ; netstat -nr ; ethtool enp4s0 ; systemctl start bgpd
ifconfig shows IP
netstat shows default route
ethtool gives Link detected: yes
but bgpctl show fib does not list default route

I assume your interface uses a static config. Will try to reproduce this here but my fedora 41 instance is a VM so not sure if I can fumble with the virtual cable like this. This indeed feels like an issue with the link state. Maybe we miss some magic in the netlink implementation to get all routes.

Yes it's a static IPv4/IPv6 with (static) default gateway for both protocols only.

With VM F41 and setting link state down/bgpd start/up I cannot reproduce it...

Yes, I was playing with ip link set <if> down and ip link set <if> up to emulate a link loss but could not reproduce.
Does ip netconf report off for ignore_routes_with_linkdown?
If you replace netstat -nr with ip route does this show the same routes?
I looked at how we fetch the routing table and we do it the same way as BIRD and also like iproute2.
I could NOT replicate the problem with ip link set  down/up neither on physical NOR on VM.
I've found another way to replicate the problem, but only on the physical machine, not on the VM...
systemctl restart NetworkManager also causes the problem
However after enabling debugging on the NetworkManager I see the logs bellow which are related.
I don't see those on the VM, don't know why, my physical interface does not have something special configured nor any funny sysctl (checked).
I start with bgpd running ok with default route listed in FIB, and I restart NetworkManager.
It seems NM is removing the default route from "somewhere" and that affects bgpd.
netstat and ip route show the default route after NM restart, but I see entries like this near the end:
Dec 19 10:37:14 NetworkManager[1886572]: <trace> [1734597434.4388] l3cfg[f401e40fa1ec099e,ifindex=3]:    route4[0]: [DEFAULT] type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 100 mss 0 rt-src user
Dec 19 10:37:14 NetworkManager[1886572]: <trace> [1734597434.4388] l3cfg[f401e40fa1ec099e,ifindex=3]:    route4[1]: type unicast xx.xx.xx.64/26 dev 3 metric 100 mss 0 rt-src rt-kernel scope link pref-src xx.xx.xx.66
Dec 19 10:37:14 NetworkManager[1886572]: <trace> [1734597434.4389] l3cfg[f401e40fa1ec099e,ifindex=3]:    route6[0]: [DEFAULT] type unicast ::/0 via XXXX.XXXX.XXXX::1 dev 3 metric 100 mss 0 rt-src user
Dec 19 10:37:14 NetworkManager[1886572]: <trace> [1734597434.4389] l3cfg[f401e40fa1ec099e,ifindex=3]:    route6[1]: type unicast fe80::/64 dev 3 metric 1024 mss 0 rt-src ipv6ll
Dec 19 10:37:14 NetworkManager[1886572]: <trace> [1734597434.4389] l3cfg[f401e40fa1ec099e,ifindex=3]:    route6[2]: type unicast XXXX.XXXX.XXXX::/64 dev 3 metric 100 mss 0 rt-src rt-kernel
Dec 19 10:37:14 NetworkManager[1886572]: <debug> [1734597434.4389] l3cfg[f401e40fa1ec099e,ifindex=3]: obj-state: configure-first-time: [dfd822b2574d4305, ip4-route, type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 100 mss 0 rt-src user], nm-configured, in-platform
Dec 19 10:37:14 NetworkManager[1886572]: <trace> [1734597434.4389] netns[37fa608786764e32]: ecmp-route: committing IPv4 ECMP routes
Dec 19 10:37:14 NetworkManager[1886572]: <debug> [1734597434.4389] l3cfg[f401e40fa1ec099e,ifindex=3]: obj-state: prune zombie: [e38bdabc677f8d48, ip4-route, type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 20100 mss 0 rt-src user], zombie[4], nm-configured, in-platform
Dec 19 10:37:14 NetworkManager[1886572]: <debug> [1734597434.4389] platform: (enp4s0) ip4-route: delete type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 20100 mss 0 rt-src user
Dec 19 10:37:14 NetworkManager[1886572]: <trace> [1734597434.4390] platform-linux: event-notification: RTM_DELROUTE, flags 0, seq 25: type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 20100 mss 0 rt-src rt-static scope global
Dec 19 10:37:14 NetworkManager[1886572]: <debug> [1734597434.4390] platform: (enp4s0) signal: route   4 removed: type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 20100 mss 0 rt-src rt-static scope global
Dec 19 10:37:14 NetworkManager[1886572]: <debug> [1734597434.4390] l3cfg[f401e40fa1ec099e,ifindex=3]: obj-state: zombie gone (untrack): [e38bdabc677f8d48, ip4-route, type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 20100 mss 0 rt-src user], nm-configured, was-in-platform
Dec 19 10:37:14 NetworkManager[1886572]: <trace> [1734597434.4390] l3cfg[f401e40fa1ec099e,ifindex=3]: emit signal (platform-change, obj-type=ip4-route, change=removed, obj=type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 20100 mss 0 rt-src rt-static scope global)
Dec 19 10:37:14 NetworkManager[1886572]: <debug> [1734597434.4390] platform-linux: do-delete-ip4-route[type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 20100 mss 0 rt-src user]: success

check those RTM_DELROUTE and do-delete-ip4-route
Funny thing, if I manually re-add the same default gw, it's listed twice in netstat/ip route and it gets re-added in bgpd fib:
# bgpctl show fib|grep ^S
nothing

# route add default gw xx.xx.xx.65 dev enp4s0

Dec 19 10:48:41 gNetworkManager[1886572]: <trace> [1734598121.2219] platform-linux: event-notification: RTM_NEWROUTE, flags excl,create, seq 0: type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 0 mss 0 rt-src rt-boot scope global
Dec 19 10:48:41 gNetworkManager[1886572]: <debug> [1734598121.2219] platform: (enp4s0) signal: route   4   added: type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 0 mss 0 rt-src rt-boot scope global
Dec 19 10:48:41 gNetworkManager[1886572]: <trace> [1734598121.2219] l3cfg[f401e40fa1ec099e,ifindex=3]: emit signal (platform-change, obj-type=ip4-route, change=added, obj=type unicast <IP_ADDRESS>/0 via xx.xx.xx.65 dev 3 metric 0 mss 0 rt-src rt-boot scope global)
Dec 19 10:48:41 gNetworkManager[1886572]: <trace> [1734598121.2219] l3cfg[f401e40fa1ec099e,ifindex=3]: emit signal (platform-change-on-idle, obj-type-flags=0x10)

route is listed twice in netstat/ip route and is also added in bgpd FIB, but WITHOUT S flag
To my understanding, this seems more like a NetworkManager problem. I don't know where it deletes the routes from, but it shouldn't since those are valid routes. Don't know if bgpd should be affected by this or not, that's your call.

I think I'm getting somewhere.
I've managed to replicate on VM with restart of NetworkManager.
Just install package NetworkManager-config-connectivity-fedora
which enables connectivity checks.
Apparently per NetworkManager.conf(5)


Devise Setup typo

Here:

I believe it creates the table users so this line:
add_index :user,  :username,             unique: true
should be:
add_index :users,  :username,             unique: true
At least it worked for me.
Thank you for writing the tutorial, it's very helpful so far.

Hi @maria-kravtsova,
You are absolutely right, I just fixed that.
Thank you very much for pointing it out!


Only a ReactOwner can have refs?

I'm trying to run the survey locally with React, but I keep getting this error.
"Uncaught Error: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's render method, or you have multiple copies of React loaded"
The first page of the survey renders, but throws this error.   And if you click anything, the error throws again and nothing works.
I've tried researching the bug. I have no "ref"s in my code so that leads me to believe its a duplicate copy of react.  I've tried uninstalling and reinstalling node, survey, and so on.  Seeing as all the libraries we downloaded didn't throw this error and it only started when I started using survey.js.
The app code is located here.
https://github.com/ericdmessick/SurveyForDummies/
Please, help.

@ericdmessick Probably this stackoverflow topic will solve the issue.

I encountered this error when a component module I was using had it's own react dependency installed. So I was using multiple versions of React.

Please let us know does it help.
Thank you,
Andrew

No, sir.  I had found that page before and gone through the suggested fixes to no avail.

Ok, I will try out your project then.

@ericdmessick There are two versions :-) react 14.x and react 15.x. You may go to "node_modules" and in survey-react directory you will find another "node_modules" that contains react 15.x.
I have corrected your package.json, reinstall the packages, and the app runs fine.
  "devDependencies": {
    "babel-core": "^6.2.1",
    "babel-loader": "^6.2.0",
    "babel-preset-es2015": "^6.1.18",
    "babel-preset-react": "^6.1.18",
    "chai": "^3.5.0",
    "chai-jquery": "^2.0.0",
    "jquery": "^2.2.1",
    "jsdom": "^8.1.0",
    "mocha": "^2.4.5",
    "react-addons-test-utils": "^15.4.2",
    "webpack": "^1.12.9",
    "webpack-dev-server": "^1.14.0"
  },
  "dependencies": {
    "babel-preset-stage-1": "^6.1.18",
    "lodash": "^3.10.1",
    "react": "^15.0.1",
    "react-dom": "^15.0.1",
    "react-redux": "^5.0.2",
    "react-router": "^2.0.1",
    "redux": "^3.0.4",
    "survey-react": "^0.11.0"
  }

Thank you,
Andrew

Okay, I got it to work too.  Thank you so much for taking the time.
Apparently, I still have a lot to learn about node.  If I'm understanding the inner workings of this correctly, the reason you have to uninstall the packages, change the json, and then reinstall the packages is because node actually has to rebuild the system with the correct references.  That is why you can't just change the JSON to fix it?

I was using the command line. So changing a text/json file did nothing :-)


Db\Sql\Select Oracle error when using limit() in conjunction with quantifier()

Building a query using either quantifier() or limit() clauses individually works fine, but when used together in the same query I get an exception:

Zend\Db\Sql\Exception\RuntimeException: 'A number of parameters was found that is not supported by this specification' in Zend/Db/Sql/AbstractSql.php:136

Example to recreate:
$sql = new Sql($adapter);
$select = $sql->select()
    ->from('USERS')
    ->quantifier(Select::QUANTIFIER_DISTINCT)
    ->columns(array(
        'USERID',
        'USERNAME',
    ))
    ->limit(10)
    ->offset(10);

This issue has been closed as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html

Where can I find a bug fix for zend framework3?

@EmilPelle
This is the new repository for zend-db: https://github.com/zendframework/zend-db


In filters "Where" clause is diabled

Migrated to opendatakit/aggregate#73 by spacetelescope/github-issues-import
Originally reported on Google Code with ID 1149
What steps will reproduce the problem?
1. Click on Add Filter

What is the expected output? What do you see instead?
I can mention the where clause for filtering data.
Instead of it where clause is disabled.

What version of the product are you using? On what operating system?
ODK Aggregate 1.4.7 on Windows Server 2008

Please provide any additional information below.

Reported by piyushsh18 on 2015-06-08 05:18:01

- _Attachment: Untitled.png![Untitled.png](https://storage.googleapis.com/google-code-attachments/opendatakit/issue-1149/comment-0/Untitled.png)_

Hi guys,  just want to ask if there are recent developments on this issue?
Thanks.
raffy

Hi Mitch,
This 'filter disabled' issue has become project critical for me, and I need to decide whether to downgrade aggregate to some working version OR wait for new aggregate release and upgrade. Is there any chance the new release would be within a week or so, as it is already March end.
Many thanks,

If it is project critical, I would roll back to the earlier working release. The ODK Aggregate release is my focus. However, the set of changes to the development environment (but not the code itself) are very large, and there are many gotchas that require finding and documenting work-arounds.

This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a temporary error. The following address(es) deferred:
<EMAIL_ADDRESS>Domain beorse.net has exceeded the max emails per hour (257/250 (102%)) allowed.  Message will be reattempted later
------- This is a copy of the message, including all the headers. ------
Received: from o4.sgmail.github.com ([<IP_ADDRESS>]:53422)
by hp159.hostpapa.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128)
(Exim 4.89)
(envelope-from<EMAIL_ADDRESS>id 1dgMCD-000eLX-2F
for<EMAIL_ADDRESS>Fri, 11 Aug 2017 22:30:37 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com;
h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe;
s=s20150108; bh=KkuI9xdShlFfbf/fJRCJx6NK7gw=; b=r/g2xqm927XVXqvL
6PmEC86srrNlnLm0fEH/0aUO8yjRviyLMCZRXxFSC6M/UfZdrYlBjdwe1CHxGHQ0
kbAFOJm7lYweuWc/h1RdPyxyE2jbzBaZ0HDZmlFjel6TxNNmnW3MaT+LBaOH5Nwc
OnVSoRKBqdRUAjRDGH/KCqmrJ6w=
Received: by filter0826p1mdw1.sendgrid.net with SMTP id filter0826p1mdw1-7338-598E6825-1
2017-08-12 02:29:57.021372709 +0000 UTC
Received: from github-smtp2b-ext-cp1-prd.iad.github.net (github-smtp2b-ext-cp1-prd.iad.github.net [<IP_ADDRESS>])
by ismtpd0029p1mdw1.sendgrid.net (SG) with ESMTP id FMai1GCtSOOef4bHPDa_sQ
for<EMAIL_ADDRESS>Sat, 12 Aug 2017 02:29:56.976 +0000 (UTC)
Date: Sat, 12 Aug 2017 02:29:57 +0000 (UTC)
From: Open Data Kit<EMAIL_ADDRESS>Reply-To: opendatakit/opendatakit<EMAIL_ADDRESS>To: opendatakit/opendatakit<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>In-Reply-To<EMAIL_ADDRESS>References<EMAIL_ADDRESS>Subject: Re: [opendatakit/opendatakit] In filters "Where" clause is diabled
(#1150)
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_598e68249b3c6_72ba3ff5675abc38419c7";
charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: opendatakit-bot
X-GitHub-Recipient: jbeorse
X-GitHub-Reason: subscribed
List-ID: opendatakit/opendatakit <opendatakit.opendatakit.github.com>
List-Archive: https://github.com/opendatakit/opendatakit
List-Post<EMAIL_ADDRESS>List-Unsubscribe<EMAIL_ADDRESS>https://github.com/notifications/unsubscribe/AAUZrzBaEmIM22oGc309GAE7jTqNA1knks5sXQ4kgaJpZM4HYvvj
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address<EMAIL_ADDRESS>X-SG-EID: JVRD81wLmvjBgNlAmNtibjEbEEhcPGKEESixoxP2c45k5u/DksfLbYWuz4yNsYnlQD33fl7Oq8ylw+
1B3TWbwPcuLdxpBZfsDNoj+pk4nG0Fta5xK8vqhGo3aC/gjSqZQ4aWimDAVd+PjiPVThs6ZxUru/0b
+UiZe8ByKD8fL9ONpdq7t8VTzCy15hoqfGCZyfEc4WZsaKCuadbxNmSIgw==
----==_mimepart_598e68249b3c6_72ba3ff5675abc38419c7
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Closed #1150.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/opendatakit/opendatakit/issues/1150#event-1203484165
----==_mimepart_598e68249b3c6_72ba3ff5675abc38419c7
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Closed #1150.
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.

----==_mimepart_598e68249b3c6_72ba3ff5675abc38419c7--


MGMT-2339 Breadcrumb navigates to OCM list

In OCM, the AI list newly contains breadcrumbs Clusters > Assisted Bare Metal Clusters.
In stand-alone application, the AI list stays without breadcrumbs (make no sense there and look weird).
All other occurrences of breadcrumbs have these two items instead of former single Clusters.
The breadcrumb items newly:

Clusters        --> OCM cluster list
Clusters > Assisted Bare Metal Clusters          --> "our" AI list
Clusters > Assisted Bare Metal Clusters > New cluster
Clusters > Assisted Bare Metal Clusters > my-cluster-name


Document search string format

I'm having troubles performing a request with this simple example from the github doc:
https://api.github.com/search/repositories?q=tetris+language:assembly&sort=stars&order=desc

More precisely, I cannot figure out how to format the search query.  The examples in the source show two different ways:
--- With prepended @q=@
searchRepos "q=a in%3Aname language%3Ahaskell created%3A>2013-10-01&per_page=100"

-- Without prepended @q=@
searchRepos' (Just $ BasicAuth "github-username" "github-password') "a in%3Aname language%3Ahaskell created%3A>2013-10-01&per_page=100"

I do not understand why there are spaces and %3A chars. Moreover running the first query doesn't return any results on my machine (though no exception either), while the second one doesn't seem to be valid haskell.
I was able to build a simple query like the following:
λ: GitHub.searchRepos "language:haskell" >>= \(Right res) -> return (V.map GitHub.repoStargazersCount (GitHub.searchResultResults res))
[7830,7656,5637,3552 ...]

However I am unable to add more parameters. By skimming over the code, it looks like q= might be prepended on the requests. How are the other URL parameters like sort=.. supposed to be handled?
Thanks in advance

I have structurised query sting generation for issues and pullrequests: http://hackage.haskell.org/package/github-0.15.0/docs/GitHub-Data-Options.html#t:IssueRepoMod but forgot search totally.
And seems IssueRepoMod doesn't have documentation either. Will refactor and add docs.
From the source, yes the 'Text' is a search string, i.e. the value of q query param. Adding sort etc. have to go lower level, i.e. unwrap Request and add them there manually

Checked the source. Adding handling of sort seems not worth the trouble atm. If someone wants to implement, it ask me for the details.


Unknown avcodec option s12m_tc

I have just reinstalled my system. Now I get this warning:
Encoding: task 1 of 1, 0.00 %[05:01:45] encavcodecInit: Unknown avcodec option s12m_tc
I am not sure what changed on my system except I might use a newer ffmpeg.

@tjesp I'm sorry you're having this problem.
Can you tell me more about your system? What platform you're on, etc.? Also, were you using transcode-video, convert-videoordetect-crop`?


Made the navbar semi-transparent

Fixes Issue #779

Changes proposed: semi-transparent navbar

Check List (Check all the applicable boxes)

[x ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ x] All new and existing tests passed.

hey @HimanshiDafouty navbar is still same after your changes, it is not semi transparent it is stiil grey !
Also these changes are too minor for gssoc !

Make it semi-transparent as in the screenshot you mentioned in your assigned issue!

Sure, I will check again.
Sorry for the error.


Boundary iou api

Motivation
This PR proposes to add support for boundary iou as described and implemented here:
https://github.com/bowenc0221/boundary-iou-api/tree/master
Basic usage is as follows:
from faster_coco_eval import COCO
from faster_coco_eval import COCOeval_faster as COCOeval
from faster_coco_eval.core.boundary_utils import add_boundary_multi_core

cocoGt = COCO(annoation_file)
cocoDt = cocoGt.loadRes(results)

# add boundaries (still slow)
add_boundary_multi_core(cocoGt)
add_boundary_multi_core(cocoDt)

# run evaluation (fast now)
cocoEval = COCOeval(cocoGt, cocoDt, "boundary", print_function=print, extra_calc=True)
cocoEval.evaluate()
cocoEval.accumulate()
cocoEval.summarize()
print(cocoEval.stats_as_dict)

The speedup for the evaluation of "boundary" is comparable to the speedup of "segm". The method add_boundary_multi_core however is still very slow. It suffers from IPC overhead so I experimented with shared_memory but ultimately decided to keep it simple for now. In summary, the implementation is very close to the original boundary-iou-api, benefits from the existing speed-up in the evaluation and does not introduce any BC.
Dependency OpenCV
The method mask_to_boundary requires OpenCV. Since the original repository removed the dependency from its setup.py here, I did not add it as well, for now. This should be addressed though, either by adding opencv-python/opencv-python-headless to the dependency list or by informing the user that OpenCV is required to run boundary iou.
Checklist

Flake8 was used
Unit tests have been added
The documentation should be updated with the example above (Wiki, which I can not edit, no?)

Hi, friend! If you continue to work on your PR, check out the new version of the library. I added LVIS support, some useful C++ features, data preprocessing acceleration, etc.
You can see the full list of changes in history.md

https://github.com/MiXaiLL76/faster_coco_eval/commit/3ea78b47102477763f76843b4e097a9dee91e419
I probably solved the problem with this PR. Look at the code. I implemented some functions in C++ and they are faster than usual.
It is impossible to connect multithreading now, but I think I will figure it out in the future.

Hey @MiXaiLL76, I just tested #3ea78 with a pre-trained model on ms-coco and can confirm that it works. Please note however that I'm NOT an expert in C++ and therefore, in no position to review or comment on those code changes. What I can do is test from a user perspective.
Timings
On my machine I get the following timings for boundary-iou calling 'mask to boundary' for gt and dt, 'evaluate' and 'accumulate'. Note that in faster_coco_eval, the conversion happens during the evaluate call. As can be seen, mask_api is competitive. If you can figure out multiprocessing it should become super fast.

method
total
conversion

original boundary_iou (cpu_num=1)
233s
208s

original boundary_iou (cpu_num=16)
78s
50s

faster_coco_eval ('mask_api')
84s
84s

faster_coco_eval ('opencv')
284s
284s

Numerical difference
The opencv backend produces equivalent results to the original boundary_iou api. The mask_api however will results in a small difference. I suspect a small difference in the 'toBoundary' call.

metric
abs diff betwen 'opencv' and 'mask_api'

AP
0.000801060954045002

AP50
0.0013774061439439933

AP75
0.0014265724507938338

APs
9.674013682015037e-06

APm
0.0011956629580721634

APl
0.0010393406044141573

AR1
0.0005525991919907436

AR10
0.0007796195093274783

AR100
0.000799188643608062

ARs
1.478404244537046e-05

ARm
0.001231027036155019

ARl
0.0011080064218199626

AP55
0.0009091696333984323

AP60
0.0008645775720608762

AP65
0.0006132017268402068

AP70
0.0011151904680729574

AP80
0.0010361626330520901

AP85
0.00048417112348642793

AP90
0.0001841577888008275

AP95
0.0

When I tinkered with the kornia and numpy versions, I used something like this to test the 'to_boundary' call against the opencv implementation:
def cross():
    # generate a fake mask for testing
    mask = torch.zeros((1,800,800), dtype=torch.uint8)
    mask[:, 100:700, 350:400] = 255
    mask[:, 350:400, 100:700] = 255
    for i in range(5):
        mask = torch.max(mask, TF.rotate(mask, 30))
    return mask

As far as I can tell, verson 1.6.0 will make this PR obsolete so feel free to close as you please. Also let me know if you need aditional testing.

Can you share your test dataset? GT+DT?
So that I can add it to the tests and possibly correct the differences in values

Yes sure. Here is the results file I used for testing: https://drive.google.com/file/d/14JsfBm5Dd9COr-7--LXKd48OEtehNmP3
It already includes the computed boundaries so I do the following before testing:
with open(results_file, 'r') as f:
    results = json.load(f)

for r in results:
    r.pop('boundary')

Personally, I found it easier to compare the 'boundaries' returned by the different apis for a single test mask as shown above. If you achieve equivalence there, the metrics should follow.

Hey @MiXaiLL76, unfortunately I can't get 30a9891 to work. From what I can tell is that CPU usage peaks for a very short time when calculateRleForAllAnnotations but then gets stuck somehow (I stopped after several minutes). Any suggestion on how to debug or test this further?
I used ms-coco instances_val2017.json and the results file linked above. I tested with boundary_cpu_count=1, 4, 16 and two machines (Intel(R) Core(TM) i7-6950X and AMD EPYC 9354 32-Core).

Hey @MiXaiLL76, unfortunately I can't get 30a9891 to work. From what I can tell is that CPU usage peaks for a very short time when calculateRleForAllAnnotations but then gets stuck somehow (I stopped after several minutes). Any suggestion on how to debug or test this further?
I used ms-coco instances_val2017.json and the results file linked above. I tested with boundary_cpu_count=1, 4, 16 and two machines (Intel(R) Core(TM) i7-6950X and AMD EPYC 9354 32-Core).

Can you show a code example of how you tried to run this? Everything worked for me during validation

Yes sure.
Env:
conda create --name fce_1.6 python=3.11
conda activate fce_1.6

git clone https://github.com/MiXaiLL76/faster_coco_eval.git
cd faster_coco_eval/
git checkout mask_cpp
pip install ./

Code:
import json
import faster_coco_eval
from faster_coco_eval import COCO, COCOeval_faster

assert faster_coco_eval.__version__ == '1.6.0'

annotation_file = "./instances_val2017.json"
results_file = "./ms-coco_segm.json"

with open(results_file, 'r') as f:
    results = json.load(f)
    for r in results:
        r.pop('boundary')

cocoGt = COCO(annotation_file)
cocoDt = cocoGt.loadRes(results)
cocoEval = COCOeval_faster(cocoGt, cocoDt, 'boundary',  print_function=print, extra_calc=False, boundary_cpu_count=4)
cocoEval.evaluate()
cocoEval.accumulate()
cocoEval.summarize()

Maybe it's some system limits like open files when using the async C++? Just a wild guess. Hope the code example helps to narrow things down. Let me know if I can do anything else.

Maybe it's some system limits like open files when using the async C++? Just a wild guess. Hope the code example helps to narrow things down. Let me know if I can do anything else. I'm on debian btw. I'll check compiler version tomorrow and will edit here.

I found a bug in the RLE::merge function. (https://github.com/MiXaiLL76/faster_coco_eval/commit/2eaec46808e3e14fbc8dd0504fcc6584ba3c0d1f)
I rewrote it to be C++17 compliant. (I just copied it before without touching it (heh))
I was able to run the same code as you, please try it too
@profile(stdout=False, filename='faster_coco_eval.prof')
def faster_coco_eval():
    prepared_coco_in_dict = "/home/mixaill76/faster_coco_eval/examples/ultralytics/datasets/coco/annotations/instances_val2017.json"
    prepared_anns = "/home/mixaill76/faster_coco_eval/examples/ms-coco_segm.json"

    cocoGt = COCO(prepared_coco_in_dict)

    results = COCO.load_json(prepared_anns)
    for r in results:
        r.pop('boundary')

    cocoDt = cocoGt.loadRes(results)

    cocoEval = COCOeval_faster(cocoGt, cocoDt, "boundary", print_function=print, boundary_cpu_count=12)

    cocoEval.evaluate()
    cocoEval.accumulate()
    cocoEval.summarize()

faster_coco_eval()

Hey @MiXaiLL76, I can confirm it works now 🥳 I don't know what wizardry you pulled off but dude, this thing's fast 🔥
In addition to ms-coco annotations I also tested on sama-coco and coco-rem (two relabled versions of instances_val2017.json). I used the DTs linked above. Note that these times are for the complete evaluation process including the loading of GTs and DTs. For boundary I ran with 16 'cores' in both, boundary_iou and faster_coco_eval.

GT version
pycocotools
boundary_iou
faster_coco_eval

ms-coco
-------------
--------------
------------------

bbox
0:00:16
0:00:16
0:00:03

segm
0:00:20
0:00:20
0:00:08

boundary
x
0:01:11
0:00:28

sama-coco
-------------
--------------
------------------

bbox
0:00:22
0:00:23
0:00:05

segm
0:00:27
0:00:27
0:00:10

boundary
x
0:01:18
0:00:29

coco-rem
-------------
--------------
------------------

bbox
0:00:19
0:00:20
0:00:05

segm
0:00:23
0:00:23
0:00:09

boundary
x
0:01:17
0:00:27

Regarding numerical differences, I only print if abs(m1-m2) > 0 for the respective pairing. As can be seen below, bbox and segm have no, or only some neglegtable difference between the libs. In case of boundary, difference is very small. Since using the 'opencv' backend showed no difference in my previous test, this can be narrowed down to the new boundary creation. Since the diffs are consistent but small, I suspect it to be some small bug. Could be an off-by-one thing in the erosion or dilation or something like that. When I coded the kornia and numpy version I made this mistake and had similar differences to the opencv implementation. If you are motivated, it might be worth looking into that to achieve 100% parity.
Either way, great effort!

 In fact, the error is still there, I can show you an example of what it looks like

As you can see, opencv leaves a line in such with some objects. And my library removes it. This is an example of the erode operation.
I will try to debug it to get 100% match, but for now I consider the error of 5e-6 insignificant

I hope these are the last fixes in this function)))
https://github.com/MiXaiLL76/faster_coco_eval/commit/71b245df2ccd5b8af9332cf5ec438a2ab9174f85
Please, friend, do your tests again, compare the AP results between the libraries. I ran opencv vs maskapi and got 100% match, I think I did it

The error with the borders looked something like this

Hey @MiXaiLL76, I just tested the last fix an can confirm that it removes the numerical differences :) Now, pycocotools, boundary-iou and faster-coco-eval will produce identical* results with faster-coco-eval being, well, much faster :D I tested with the results file a provided and the results from a different checkpoint just to verify.
Thanks for the effort and congrats on this achievement! This is really cool and quite useful 🥳
*as shown above, some metrics differ around 10^-17 which I would consider neglectable. Probably some rounding error or numerical resolution issue but not worth putting more work into.

Yes, errors in 10^-17 are usually an error in translating floating point numbers from C++ to python.
It's not critical everywhere, I think it's a win, thanks for participating in the development of the framework!
Now I'll work on the visualization functions =)

Thanks for implementing this! Really cool to have a fast boundary-iou in faster_coco_eval. Looking forward to the 1.6 relase :)
I'll close the PR now


Need to add "name": "Molecular Devices", in home page Schema

Hi @alexcarol ,
Need to add "name": "Molecular Devices", in home page Schema

Hi @RajMankotia, I'm happy to jump in and help if there's a time-sensitive issue or if the team has blind spots that I can help with, but as I'm no longer an active contributor to the project, could you either share the issue in the slack channel if you need it fixed soon or ask @mhaack to dispatch it if needed? Thanks!

@mhaack Please do some needful on this.


fix: throw error on invalid chainhook payloads

:tada: This PR is included in version 0.4.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Turbo Frame and 401 redirects

Please see this question: https://discuss.hotwire.dev/t/break-out-of-turbo-frame-on-devise-401-redirect/2479
Is there any way to prevent this sequence of events? https://discuss.hotwire.dev/t/break-out-of-turbo-frame-on-devise-401-redirect/2479/4?u=user073

We now have request interception.


dblclick event trigger  click event

Vue.js version
v1.0.22
Reproduction code
<div v-on:click="showMsg()" v-on:dblclick="showDblMsg()">test</div>

What is actually happening?
when i dblclick the element ,the click event triggered twice.

I can't say it better than jQuery docs (it's jQuery of course, but the same applies):

It is inadvisable to bind handlers to both the click and dblclick events for the same element. The sequence of events triggered varies from browser to browser, with some receiving two click events before the dblclick and others only one. Double-click sensitivity (maximum time between clicks that is detected as a double click) can vary by operating system and browser, and is often user-configurable.

So, avoid this. If you must, implement your own mechanism, for example utilizing setTimeout(). Nonetheless, it's not a Vue issue.


Split benchmarks into lib and executable

To reproduce these benchmarks in other systems, it would be useful to have the ability to import them as a library. This PR splits the existing benchmarks into a library and executable.

The most obvious question I have is around naming. Can we come up with something better than BenchmarksLib and Benchmarks?

BenchmarkCore for the library? I still like Benchmarks for the executable target, because swift run Benchmarks has a nice flow to it.

Another alternative for naming: Benchmarks for core/lib and BenchmarksCli or BenchmarksMain for the runnable target.

I agree about the utility of swift run Benchmarks.  All three of Benchmarks|BenchmarksLib|BenchmarksCore for swift-models are confusing wrt Benchmark for swift-benchmark, so let's go with BenchmarksCore for now and I'm happy to modify when a better suggestion comes up.


revise to align with KERI better

Describe what peer DIDs are doing in terms of KERI witnesses. Also, we may want to move the authorization rules out of the doc entirely, or recast what it's doing in terms of KERI extension. This is because the heart of KERI concerns itself only with self-certification and key rotation, not with other authoriztion questions; it is thus narrower than what peer DIDs authorize.

Completing this ticket will also resolve the concerns raised in https://github.com/openssi/peer-did-method-spec/issues/112.


fix(alert): update second composition code example

📝 Description
The second live code example for the Alert doc's Composition section shows a CloseButton component, but no example of functionality to assure the user that the removal of the alert happens with no props passed to the wrapper nor within the component, but through some other means outside of the scope.
This PR also tidies up the layout of the example in respect to mobile view, where the CloseButton component stays within the flow of the flexbox rendered by Alert and positioned relatively. This keeps any content from potentially overlapping this component should a user play around with the example.
⛳ Current behavior (updates)
The user might try to press the close button, but the alert will not close
🚀 New behavior
Include in the example code useDisclosure and handling of CloseButton on click so the the alert will disappear when this button is selected.

@nikolovlazar good to go for a re-review! 🎉 🌮


Highlight style of emphasis should be limited to question title

Expected behaviour

The "highlight" style applied to em should only be used in question title, with bold being used elsewhere.

Actual behaviour

Highlight style is used throughout

Steps to reproduce the behaviour

open UKIS 1_0001.json
highlight is used throughout in text that is not question title

Screenshot

Discussed with Emma and Bethan; highlighting will only be enabled for question text and in all other areas will use bold text.


onOpen and onClose event not working

Hi, method onOpen and onClose not working, this is my code.
`             this.webSocket = new $WebSocket("ws://localhost:8000");
           console.log("Conectando");

    this.webSocket.onMessage(function(message) {
        console.log(message.data);
    }, null);

    this.webSocket.onOpen(function() {
        console.log("Open");
    });

    this.webSocket.onClose(function() {
        console.log("Cerrando");
    });     `

Can't really see the problem in your code. Could you please explain more.

you need to connect manually
this.webSocket.connect();

aaa


typo of rustbuild

Problem
There is a typo in the source file: https://github.com/rust-lang/cargo/blob/master/src/cargo/version.rs#L18
which should be rustbuild, instead of rustuild
Steps
No response
Possible Solution(s)
No response
Notes
No response
Version
No response

Feel free to submit PR fixing typos.


Make the Jenkins image S2I compatible to install plugins and configuration

See: https://gist.github.com/mfojtik/ff4ed568cfea5b8974d2
This will allow:

Installing plugin binaries using plugins/ directory in repository
Installing plugins using plugins.sh plugins.txt (downloading from Jenkins update center)
Installing custom Jenkins job definitions
Installing additional files/configuration

This should work both on CentOS and RHEL7 image. The main reason for this is that we can't include the plugins in RHEL7 image as we can't download them from internet. This will allow users to rebuild the image and add the plugins from the repository (if they want to).
The image will still work out-of-box (just without plugins, kubernetes slave support and other things).

@smarterclayton @danmcp how do you guys feel about using s2i to layer plugins and job configuration into a jenkins image?  (ie users would construct an s2i build strategy that produces their customized jenkins image)?  personally i like it but i know we've had some debates before over what should be considered "source"

@smarterclayton @danmcp also we mainly doing this to offer a way for customers without external access to install plugins without downloading them from jenkins update center (they can make them part of the GIT repo)

@smarterclayton @danmcp ping :-)

@mfojtik @bparees I think this is a great option.  Storing plugins in git isn't my favorite path and doesn't promote a good maintenance strategy.  But I am fine if it's a last resort.

@danmcp @bparees OK, I moved everything from my personal repo here, so my repo is not needed anymore. The master is now S2I compatible and the slave converter is also included in examples/slave.
I'm going to drop some decent README.md to both examples

@bparees ready for the first round of reviews :-)

This is an excellent idea.

@mfojtik - aside from the minor comments with the documentation, I'll officially add my +1 to this.
I think it should also be noted that aside from the cool s2i idea, these change from @mfojtik  are pulling in the use of the k8s cloudbees plugin and the master/slave scenario previously demonstrated (including call outs to the new v3 openshift jenkins plugin I've been working on).  Also cool I would claim.
And a heads up (or reminder), once the v3 openshift plugin is officially in the jenkins image, we'll be converting the existing sample job (currently untouched by @mfojtik 's changes) from its current shell script based job to a job solely composed of interactions with the v3 openshift plugin.

i'm worried about the number of binary files being checked in here...  do we really need to support swarm and remoting?  what are the trade offs for one vs the other?
also how close are we to having the openshift plugin hpi installable as a dependent plugin instead of embedding the hpi in this repo?

@mfojtik rather than having a "slave builder template" how about including a jenkins job definition in the image that when run, takes a parameter (name of the image to slave-ify) and talks to openshift to build the slave/define the imagestream?  That makes jenkins one step closer to being self sufficient (it can construct its own slave images.  or at least request their construction).

@bparees I like that idea. what we need here is @gabemontero plugin to process the template with parameters set (image name) and then create the result. The template will be stored in the Jenkins image, so the plugin should be able to read it from disk location.

@bparees the swarm vs. remoting ... we can download the remoting.jar from the Jenkins master (if it is running). We can do that during the build phase, but that means the Jenkins master must be up when the build is executed.
The swarm.jar is the same story... If the Jenkins master is up and running and has swarm plugin configured then you should be able to fetch the client from Jenkins master.
Maybe a good solution can be to fetch the slave jar (swarm/remoting) when we start the slave Pod (a shell script that will call back to Jenkins, fetch the appropriate client jar and run it).

yes fetching from the master sounds like a better solution.

So trying to formulate the new requirement on the plug-in per the exchange between @mfojtik and @bparees on "salve builder template" into a step-by-step recipe I can run with.  My initial attempt:

an openshift template json file will be included at a well known location in the openshift jenkins image
all the parameters in that template will have a default set
we add a new jenkins build step to the plug-in whose jenkins UI panel has analogous parameters to the parameters in the template that a customer could want to override (image name for example)
the new build step reads in the json from the file, updating the parameters with any values specified by the user, and does an oc process -f <json> | oc create -

@mfojtik @bparees : please comment / evaluate

(3) input image/imagestream name, output imagestream name at a minimum.  I think it might be best to require the input be an imagestream (rather than an image).  But then we either need to require they create an imagestream, or the template should create an imagestream (and the user would go back to providing the image name).  The point being that by using an imagestream as the input we can more easily get the slave image rebuilt when the image it's based on changes.

@gabemontero

Correct
Correct, but the only really important parameter will be IMAGE_NAME. It really is an 'imagestream' name (not an image name). We can optionally add IMAGE_NAME and IMAGE_STREAM_NAME to allow specifying the full Docker pull spec as an image. This is not possible atm. because i'm using the IMAGE_NAME as the 'name' field (it can't contain / and other characters).
What I imagine this will do is following:

Create a parametrized Jenkins job named "add-jenkins-slave" (naming TBD)
The job will take 2 parameters: IMAGE_NAME and IMAGE_STREAM_NAME
When you start the job and fill out that two parameters, the job will process the template stored in the Jenkins image (well known location), using that two parameters.
The job will create the resulting list of resources in OpenShift
It will report the progress of build in the job console (build-logs)
Once it is done, it will automatically update the Jenkins configuration and add the new slave (or replace existing one if it already exists)

@bparees OK, I rebased this, fixed all permissions issues with copying configuration and jobs, fixed the slave template and removed all bundled jars (we now download the remoting.jar from jenkins master), also get rid of swarm (it is relatively easy to build swarm enable jenkins slave anyway) and update the docs....
This is ready for merge imho. Note that the current functionality should not be affected by this. If you don't want to use Jenkins image as a S2I builder, it will still work fine as standalone jenkins server.

i think those are my only concerns.

@bparees fix-permissions added, ship it :-)

@mfojtik squash it.

@mfojtik given the scope of the change i'd like to know that this scenario still works for you:
https://github.com/openshift/origin/blob/master/examples/jenkins/README.md

@bparees just tested it, yes it does (new-app works, jenkins get started, no s2i build is needed).

Nice! This is a cool pattern: optional S2I, otherwise "just works".

As a follow up we should really add some extended tests for Jenkins that will:

exercise the s2i build flow with installing some plugins
exercise the kubernetes plugin slave auto registration
exercise the jenkins slave stuff (fake job that builds on slave pod) (this one will be hard ;-)

@bparees (do not merge this yet, need to test the last change)

@bparees OK, ready for merge again... Changes:

No more warning messages in the configuration page when running just standalone Jenkins
Credentials are generated only when kubernetes slaves are configured

@bparees this is now working without any warnings or errors during build or during deployment/runtime.


Certain classes of Exceptions should halt execution rather than just logging the error

There are certain exceptions within cfa_azure that are severe enough that they should immediately halt execution. Currently we just log the error and move forward.
For example, if an incorrect path to the configuration file is passed to the AzureClient, the following block of code will execute but not halt the program:
https://github.com/CDCgov/cfa_azure/blob/a7467d61dfdb58e35ee718fb475a27fe19cab289/cfa_azure/helpers.py#L32-L58
This code will carry on without a configuration toml and eventually error with an unrelated exception further down the program:
(mechanistic-model-py3.10) AH20@AZ1CFA1VSWP-124:~/scenmod-work/2024-10-02-docker-build-fix (docker-build-fix)$ python ./src/mechanistic_azure/experiment_launcher_azure.py --job_id 2024-10-02-ah20-docker-build-fix-1 --experiment_name example_azure_experiment
Traceback (most recent call last):
  File "/home/AH20/scenmod-work/2024-10-02-docker-build-fix/./src/mechanistic_azure/experiment_launcher_azure.py", line 37, in <module>
    launcher = AzureExperimentLauncher(
  File "/home/AH20/scenmod-work/2024-10-02-docker-build-fix/src/mechanistic_azure/azure_utilities.py", line 52, in __init__
    self._setup_azure_client(path_to_dockerfile)
  File "/home/AH20/scenmod-work/2024-10-02-docker-build-fix/src/mechanistic_azure/azure_utilities.py", line 177, in _setup_azure_client
    azure_client = AzureClient(config_path=self.azure_config_toml)
  File "/home/AH20/scenmod-work/2024-10-02-docker-build-fix/.venv/lib/python3.10/site-packages/cfa_azure/clients.py", line 43, in __init__
    helpers.check_config_req(self.config)
  File "/home/AH20/scenmod-work/2024-10-02-docker-build-fix/.venv/lib/python3.10/site-packages/cfa_azure/helpers.py", line 1778, in check_config_req
    loaded = set(pd.json_normalize(config).columns)
  File "/home/AH20/scenmod-work/2024-10-02-docker-build-fix/.venv/lib/python3.10/site-packages/pandas/io/json/_normalize.py", line 445, in json_normalize
    raise NotImplementedError
NotImplementedError

I think this is a problem with more than just the loading of configuration tomls, in general it would be nice if cfa_azure had its own exception class where you could wrap critical exceptions within it to indicate a failure of some sort and add specific contextual information for the user.

@edbaskerville


Blur event seems not to be fired

I'm submitting a ...  (check one with "x")
[ X ] Bug report => search github for a similar issue or PR before submitting
[ ] Feature request
[ ] Other, please describe

Tell about your platform

eonasdan-bootstrap-datetimepicker version : 4.17.47
Vue.js version : 2.4.3
Browser name and version : Chrome 61.0.3163.100
This package version : 3.0.0

Current behavior
I have a table with a column holding dates. My goal is to be able to edit the date inline. Clicking on the date column in a row of the table changes the 'dateEditing' boolean I have set in my data and the column changes to a date-picker component (see code sample below)
        `
            <date-picker class="deadline" v-model="localDeadline" :config="datepickerConfig" v-focus @input="dateChosen" @blur="resetInput"></date-picker>

        	`

This works as expected: the datepicker is shown and when choosing a new date the @input method updates the date and changes the date-picker component for a span showing the date.
However, when the datepicker is open and I click another record this one also changes in a datepicker without the first one returning back to its original state. This way I can have a bunch of records with their date column being an input (see the screenshot provided).

Expected behavior
Ideally, a 'blur' event would be triggered when clicking 'outside' the datepicker. I would use this event to return the state of the column to its original, just showing the date in a span. However, the blur event doesn't seem to be triggered.
The datepicker itself is actually hidden so I could also hook into the dp.hide event of the eonasdan datepicker itself but I don't seem to get this working (don't know how to do this)

You can hook into dp.hide event like this ->
<date-picker v-model="form.startDate"  ref="startDate"></date-picker>

$(this.$refs.startDate.$el).on('dp.hide', (e) => {
        console.log('dp.hide', e, e.date);
      });

I just gave it a try. However, since the date-picker is initially not shown, the mounted hook code gives an error
Error in mounted hook: "TypeError: Cannot read property '$el' of undefined"
This is probably due to the v-if I use to show the date-picker component.
Should I wrap the date-picker component in a component and set the mounted hook on that wrapper component?

Just release v3.1.0.
You should be able to receive all possible events.
<date-picker v-model="date" @dp-hide="doSomethingOnHide"></date-picker>
<date-picker v-model="date" @dp-show="doSomethingOnShow"></date-picker>


Table name cannot start with a number, nor contain a dot

The error you get if you add something with the name "v1501.02003" is:
events.js:160
      throw er; // Unhandled 'error' event
      ^

error: syntax error at or near ".02003"
    at Connection.parseE (/spot-server/node_modules/pg/lib/connection.js:567:11)
    at Connection.parseMessage (/spot-server/node_modules/pg/lib/connection.js:391:17)
    at Socket.<anonymous> (/spot-server/node_modules/pg/lib/connection.js:129:22)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at TCP.onread (net.js:559:20)

It would be nice if there was some preprocessing that catches this and throws an error that's helpful.

This is a limitation in PG due to naming standards.


Cleaning up fullPath() method and fixes always injecting seed to path.

It makes fullPath() method dry and fixes always injecting seed (if it's null or not) for calculated path if the prefix is set.

Thanks for the contribution @hdogan, but please can you target your pull request to the develop branch.
Please see the contribution notes.

Sorry, just rushed and didn't noticed notes.


Fix spelling error 'culinfo'

The CI will not pass with this spelling error.

Admin merge: this passed the build phase that was impacted.


Update TicTacToe example to deploy to Berkeley

Description
This fixes #186
Updates the TicTacToe example to deploy successfully on the Berkeley network. This was done by splitting up the example into 2 separate files, one being index.ts and the other being tictactoe.ts
index.ts holds the smart contract definition and the other related classes it needs to be functional and deployed.
tictactoe.ts holds the logic to run the smart contract locally. This was previously stuffed into index.ts and was being run when deploying. We move all the logic to run the smart contract locally in it's own file to separate concerns.
Note: This means that to run the smart contract locally, users will need to run npm run build && node build/src/tictactoe.js instead of specifying build/src/index.js
Tested
Deployed to Berkeley on the following account: https://berkeley.minaexplorer.com/wallet/B62qoCzCw1dhTYAVCMqPdGhQSjAB7rZxm1n9V4UxB8oC7qVVM1MS85g
Open Questions
Do we want to add some comments at the top of each file to explain why they are separated and how to run them? Might introduce some confusion for the user since there's 2 JavaScript files that are in the build directory. Perhaps we can rename tictactoe.js to something more relatable to being run local?

I like the solution to separate these. That's a definite improvement.
But what if we flipped the file names, so that tictactoe.ts contains the smart contract with this corresponding name (it also following the pattern we show devs to use for their own smart contracts) and then index.ts would be the entry point to run it locally? I haven't thought through all the aspects of this if there are any gotchas, but it feels right on the surface.

Do we want to add some comments at the top of each file to explain why they are separated and how to run them?

This seems useful +1

I like the solution to separate these. That's a definite improvement.
But what if we flipped the file names, so that tictactoe.ts contains the smart contract with this corresponding name (it also following the pattern we show devs to use for their own smart contracts) and then index.ts would be the entry point to run it locally? I haven't thought through all the aspects of this if there are any gotchas, but it feels right on the surface.

Do we want to add some comments at the top of each file to explain why they are separated and how to run them?

This seems useful +1

Sounds good! I'll swap the file names and add some comments at the top of each file for ease of the user.

@MartinMinkov Do you want to bump the CLI version on this so it redeploys please?


Feature/long lasting certificates

Not ready to test. Blocked by #1593.

Closed as it is not possible to use openssl_* modules at the moment - #1593
Created another PR with using shell module - #1595


Create github actions workflows

Smoke tests
Unit tests

Type of change

Enhancement / new feature

Description
Proposal for github actions. Possible replacement for Travis.
Checklist

[ ] Update/write design documentation in ./documentation/design
[ ] Write tests and make sure they pass
[ ] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[ ] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

Great work @obabec! I think we should switch to github actions especially as it looks we can get more debug info for failing builds, a killer feature IMO. I also like that you've split build into unit and smoke/systemtests. A couple of things that I think needs to be in place before we can switch:

Set envs so that images are pushed to quay.io for master builds and release builds (only if both unit and systemtests have passed)
Publishing release zip on github release page (only if both builds have succeeded)
Cleanup/move setup actions etc. into EnMasseProject org to avoid relying on personal user repos where possible

@lulf About personal repos. My plan is to release Minikube setup action as part of Enmasse project, so everyone can contribute and change things ad hoc. I will do little bit investigation about releasing. I hope there is some more elegant way for publishing if builds passed. One update from my side. I have implemented uploading artifacts, looks great :). Thanks for your point :)

@lulf WDYT?

@lulf I got your point with scripts, but I also think it's good to have these steps separated. because if one of them fail we will know which one immediately, if script fails we have to list logs and find what happened. Maybe we should figure out some good compromise. WDYT?


Please add Blockchain Nanodegree

Please add Blockchain Nanodegree

The course doesn't include any free courses. @pauldmps

Thanks for opening this issue. As mentioned in the readme for this project, if the content is not available publicly on the Udacity website then I do not have access to it (I am not an Udactiy or a Google employee). Closing for now. If you notice the content available at any point, feel free to open an issue linking to it and/or creating a pull request with the updates. Thanks!