Why is ionic-v1 build not working due to gulp?

Here is my ionic info:
[WARN] Bad integration name: gulp

Ionic:

   ionic (Ionic CLI) : 4.12.0 (C:\Program Files\nodejs\node_modules\ionic)
   Ionic Framework   : ionic1 1.3.5
   @ionic/v1-toolkit : 1.0.22

Cordova:

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : android 7.0.0
   Cordova Plugins       : no whitelisted plugins (15 plugins total)

System:

   NodeJS : v10.15.3 (C:\Program Files\nodejs\node.exe)
   npm    : 6.4.1
   OS     : Windows 10

I am working on a legacy Ionic v1 app with the most recent Ionic CLI and when I run ionic-v1 build it fails. I get these errors:
C:\>ionic-v1 build
[16:09:31] Cannot load gulp: ReferenceError: internalBinding is not defined
[16:09:31] Cannot load gulp: ReferenceError: internalBinding is not defined
[16:09:31] Cannot run sass task: missing in gulpfile.js
[16:09:31] Cannot load gulp: ReferenceError: internalBinding is not defined

This is very strange because when I run gulp build it works fine and I do have a gulp sass function.
  "devDependencies": {
    "@babel/core": "^7.4.0",
    "@babel/preset-env": "^7.4.2",
    "@ionic/v1-toolkit": "^1.0.22",
    "angular-mocks": "1.7.8",
    "bower": "^1.8.8",
    "del": "^4.0.0",
    "fancy-log": "^1.3.3",
    "gulp": "^4.0.0",
    "gulp-angular-templatecache": "^2.2.6",
    "gulp-babel": "8.0.0",
    "gulp-clean-css": "4.0.0",
    "gulp-cli": "2.0.1",
    "gulp-concat": "2.6.1",
    "gulp-if": "2.0.2",
    "gulp-inject": "5.0.2",
    "gulp-jscs": "4.1.0",
    "gulp-jshint": "2.1.0",
    "gulp-load-plugins": "1.5.0",
    "gulp-minify-css": "1.2.4",
    "gulp-ng-annotate": "2.1.0",
    "gulp-print": "5.0.2",
    "gulp-rename": "1.4.0",
    "gulp-sass": "4.0.2",
    "gulp-sourcemaps": "2.6.5",
    "gulp-uglify": "3.0.2",
    "jasmine": "3.3.1",
    "jasmine-core": "3.3.0",
    "jscs": "3.0.7",
    "jshint": "^2.10.2",
    "jshint-stylish": "2.2.1",
    "karma": "4.0.1",
    "karma-chrome-launcher": "2.2.0",
    "karma-coverage": "^1.1.2",
    "karma-jasmine": "2.0.1",
    "karma-remap-istanbul": "0.6.0",
    "main-bower-files": "2.13.1",
    "natives": "^1.1.6",
    "preen": "1.2.0",
    "shelljs": "0.8.3",
    "yargs": "13.2.2"   },

Hi there,
Thanks for the issue. This repository is dedicated to Ionic 4 issues. Most of our efforts are focused on Ionic 4. As a result, there is no new feature development ongoing for Ionic 1.
I am going to close this, but feel free to post your question on our forums or our slack.
Thanks!


Map not aligned with navigation

Not sure if due telemetry updates, or ets2 updates and added cities, but on navigation window, the map shows smaller and offset from the actual player marker, the marker actually goes off the map image.
i am using some mods, but nothing map related unless texture mods, no extra maps besides the base game and dlc maps (no promods, no russmap, no mod maps at all).
When the attached screenshot was taken, i was driving in FARO, south area Portugal, Iberia dlc, if that helps anything to detect an issue....
Thanks in advance, hope to get an easy fix soon, even something it might be doable by me, despite my lack of understanding  on most coding languages.

Hi, the repository owner stopped supporting this old version a long time ago: his answer
Alternatively, you can use my updated version. However, a newer version of the Telemetry Server is used there, so the old one will have to be deleted.


Bastion’s service account doesn't have access to view SQL instances.

Expected Behavior
Bastion’s service account should have access to view information about SQL instances to update the files ${HOME}/bank-of-anthos-repos/root-config-repo/namespaces/boa/accounts/mesh-external-svc.yaml and ${HOME}/bank-of-anthos-repos/root-config-repo/namespaces/boa/frontend/mesh-external-svc.yaml in step 6-anthos-install more specifically https://github.com/GoogleCloudPlatform/terraform-example-foundation-app/tree/main/6-anthos-install#root-config-repo.
Actual Behavior
Bastion’s service account doesn't have access to view information about SQL instances.
On the files ${HOME}/bank-of-anthos-repos/root-config-repo/namespaces/boa/accounts/mesh-external-svc.yaml and ${HOME}/bank-of-anthos-repos/root-config-repo/namespaces/boa/frontend/mesh-external-svc.yaml in step 6-anthos-install is recommended to use the following command to see information about SQL instances and update the files:
gcloud sql instances list --project ${SQL_PROJECT_ID}

But, we get the error:
ERROR: (gcloud.sql.instances.list) User<EMAIL_ADDRESS>does not have permission to access projects instance [prj-bu1-d-boa-sql-761c] (or it may not exist): The client is not authorized to make this request.

Steps to Reproduce the Problem

Deploy foundation-app up to step 6-anthos-install, "root config repo"
Run the command to get SQL intances information:

gcloud sql instances list --project ${SQL_PROJECT_ID}

Specifications

Version: ce45993
Platform: Ubuntu 20.04.2 LTS

Additional roles can be specified here https://github.com/GoogleCloudPlatform/terraform-example-foundation-app/blob/main/5-infrastructure/modules/bastion/main.tf#L42


IPRO's "s-maxage" header violates Downstream Caching contract (modpagespeed beta <IP_ADDRESS>-0)

We're testing modpagespeed <IP_ADDRESS>-0 and we noticed that the 's-maxage' header is being sent permanently for HTML pages and that ruins our configuration for "Downstream Caching".
We enabled the settings bellow:
# Enable IPRO
ModPagespeedInPlaceResourceOptimization on
ModPagespeedInPlaceSMaxAgeSec 10

# Enable Downstream Caching
ModPagespeedDownstreamCachePurgeLocationPrefix http://localhost:80
ModPagespeedDownstreamCacheRebeaconingKey "my_varnish"

The s-maxage header is supposed to be transient and disappear after a resource is optimized. We noticed that's what happens for js/css/images/etc.
But if the response is 'Content-type: text/html', then the 's-maxage' is stuck there in every response.
The test bellow was done creating a simple helloworld.html file in apache's document root directory:
[eceowl@infoccistg5 conf]$ curl -s -D - http://localhost/helloworld.html --header "Host: globostg.globoi.com"

HTTP/1.1 200 OK
Date: Fri, 31 Mar 2017 21:12:21 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Accept-Ranges: bytes
X-Mod-Pagespeed: <IP_ADDRESS>-0
Vary: Accept-Encoding
Access-Control-Allow-Origin: *
Cache-control: public, max-age=600, s-maxage=10
Content-Length: 90
Content-Type: text/html; charset=UTF-8

<html>
<header><title>This is title</title></header>
<body>

Hello world

</body>
</html>

That breaks our setup of  Downstream Caching. We don't want varnish to hit apache for every 's-maxage' seconds. We want Varnish to cache the page for "max-age" seconds and have pagespeed to purge varnish's cache on demand.
Why is s-maxage being shown permanently for html pages? Is this a bug?
From https://groups.google.com/d/msgid/mod-pagespeed-discuss/7ccc907c-cdf3-43f3-a4ad-3d89e65eaa28%40googlegroups.com?utm_medium=email&utm_source=footer

After looking into this, I suspect that we need to take a look at this code area: https://github.com/pagespeed/mod_pagespeed/blob/c13af19f0ec138ff69971f8e3611da3f7e142239/pagespeed/apache/mod_instaweb.cc#L820

Otto, can you turn this bug into a feature? It would be amazing if the s-maxage header was applied correctly to html pages.
I want to be able to set an s-maxage header on html pages that are not fully optimized. When the page has completed optimization the s-maxage header will disappear.
Like what pagespeed does with the setting "ModPagespeedDownstreamCacheRewrittenPercentageThreshold",  the s-maxage header should disappear from html responses if the html is more than X% optimized.
I think that would be a simple and elegant solution to deal with caches in front of pagespeed.


./run.sh ..and nothing happen.

Hello,
I'm on Debian Stretch.
I type ./run.sh and nothing happens after this "verbose".
Could you help me ?
Best Regards
./run.sh
Initializing Burst server version 1.2.9
2018-06-23 20:48:28 INFO: nxt.enableStackTraces = "true"
2018-06-23 20:48:28 INFO: nxt.enableLogTraceback = "false"
2018-06-23 20:48:28 INFO: logging enabled
2018-06-23 20:48:28 INFO: nxt.disableGenerateBlocksThread not defined, assuming false
2018-06-23 20:48:28 INFO: nxt.dbCacheKB = "0"
2018-06-23 20:48:28 INFO: nxt.maxRollback = "1440"
2018-06-23 20:48:28 INFO: nxt.isTestnet = "false"
2018-06-23 20:48:28 INFO: nxt.isOffline = "false"
2018-06-23 20:48:28 INFO: nxt.dbUrl = "jdbc:h2:./burst_db/burst;DB_CLOSE_ON_EXIT=FALSE"
2018-06-23 20:48:28 INFO: nxt.maxDbConnections = "30"
2018-06-23 20:48:28 INFO: nxt.dbLoginTimeout = "70"
2018-06-23 20:48:28 INFO: nxt.dbDefaultLockTimeout = "60"
2018-06-23 20:48:28 INFO: Initializing an empty database
2018-06-23 20:48:29 INFO: Deleting blockchain...
2018-06-23 20:48:29 INFO: burst.blockCacheMB not defined, assuming 0
2018-06-23 20:48:29 INFO: burst.oclVerify = "false"
2018-06-23 20:48:29 INFO: burst.oclThreshold not defined, assuming 0
2018-06-23 20:48:29 INFO: burst.oclWaitThreshold not defined, assuming 0
2018-06-23 20:48:29 INFO: nxt.trimDerivedTables = "true"
2018-06-23 20:48:29 INFO: nxt.forceScan = "false"
2018-06-23 20:48:29 INFO: nxt.forceValidate = "false"
2018-06-23 20:48:29 INFO: nxt.disableGetMoreBlocksThread not defined, assuming false
2018-06-23 20:48:29 INFO: nxt.disableImportBlocksThread not defined, assuming false
2018-06-23 20:48:29 INFO: nxt.enableTransactionRebroadcasting = "true"
2018-06-23 20:48:29 INFO: nxt.testUnconfirmedTransactions not defined, assuming false
2018-06-23 20:48:29 INFO: burst.rebroadcastAfter = "5"
2018-06-23 20:48:29 INFO: burst.rebroadcastAfter = "5"
2018-06-23 20:48:29 INFO: burst.rebroadcastEvery = "4"
2018-06-23 20:48:29 INFO: burst.rebroadcastEvery = "4"
2018-06-23 20:48:29 INFO: nxt.maxUnconfirmedTransactions = "400"
2018-06-23 20:48:30 INFO: nxt.disableProcessTransactionsThread not defined, assuming false
2018-06-23 20:48:30 INFO: nxt.disableRemoveUnconfirmedTransactionsThread not defined, assuming false
2018-06-23 20:48:30 INFO: nxt.disableRebroadcastTransactionsThread not defined, assuming false
2018-06-23 20:48:30 INFO: burst.priorityFeederInterval not defined, assuming 0
2018-06-23 20:48:30 INFO: nxt.myPlatform = "PC"
2018-06-23 20:48:30 INFO: nxt.myAddress not defined
2018-06-23 20:48:30 INFO: nxt.peerServerPort = "8123"
2018-06-23 20:48:30 INFO: nxt.shareMyAddress = "true"
2018-06-23 20:48:30 INFO: nxt.myHallmark not defined
2018-06-23 20:48:30 INFO: burst.rebroadcastPeers = "a.storj.eu; <IP_ADDRESS>"
2018-06-23 20:48:30 INFO: burst.priorityBlockFeeders not defined
2018-06-23 20:48:30 INFO: nxt.wellKnownPeers = "<IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; <IP_ADDRESS>; "
2018-06-23 20:48:30 INFO: burst.connectWellKnownFirst = "10"
2018-06-23 20:48:30 INFO: nxt.knownBlacklistedPeers not defined
2018-06-23 20:48:30 INFO: nxt.maxNumberOfConnectedPublicPeers = "20"
2018-06-23 20:48:30 INFO: nxt.connectTimeout = "4000"
2018-06-23 20:48:30 INFO: nxt.readTimeout = "8000"
2018-06-23 20:48:30 INFO: nxt.enableHallmarkProtection = "false"
2018-06-23 20:48:30 INFO: nxt.pushThreshold = "0"
2018-06-23 20:48:30 INFO: nxt.pullThreshold = "0"
2018-06-23 20:48:30 INFO: nxt.blacklistingPeriod = "600000"
2018-06-23 20:48:30 INFO: nxt.communicationLoggingMask = "0"
2018-06-23 20:48:30 INFO: nxt.sendToPeersLimit = "10"
2018-06-23 20:48:30 INFO: nxt.usePeersDb = "true"
2018-06-23 20:48:30 INFO: nxt.savePeers = "true"
2018-06-23 20:48:30 INFO: nxt.getMorePeers = "true"
2018-06-23 20:48:30 INFO: nxt.dumpPeersVersion not defined
2018-06-23 20:48:30 INFO: nxt.disablePeerConnectingThread not defined, assuming false
2018-06-23 20:48:30 INFO: nxt.disablePeerUnBlacklistingThread not defined, assuming false
2018-06-23 20:48:30 INFO: nxt.disableGetMorePeersThread not defined, assuming false
2018-06-23 20:48:30 INFO: nxt.peerServerHost = "<IP_ADDRESS>"
2018-06-23 20:48:30 INFO: nxt.peerServerIdleTimeout = "30000"
2018-06-23 20:48:30 INFO: nxt.enablePeerServerGZIPFilter = "true"
2018-06-23 20:48:30 INFO: nxt.enablePeerServerDoSFilter = "true"
2018-06-23 20:48:30 INFO: nxt.peerServerDoSFilter.maxRequestsPerSec = "30"
2018-06-23 20:48:30 INFO: nxt.peerServerDoSFilter.delayMs = "1000"
2018-06-23 20:48:30 INFO: nxt.peerServerDoSFilter.maxRequestMs = "300000"
2018-06-23 20:48:30 INFO: nxt.enableDebugAPI = "false"
2018-06-23 20:48:30 INFO: nxt.allowedBotHosts = "<IP_ADDRESS>; localhost; [0:0:0:0:0:0:0:1];"
2018-06-23 20:48:30 INFO: nxt.enableAPIServer = "true"
2018-06-23 20:48:30 INFO: nxt.apiServerPort = "8125"
2018-06-23 20:48:30 INFO: nxt.apiServerHost = "<IP_ADDRESS>"
2018-06-23 20:48:30 INFO: nxt.apiSSL = "false"
2018-06-23 20:48:30 INFO: nxt.apiServerIdleTimeout = "30000"
2018-06-23 20:48:30 INFO: nxt.apiResourceBase = "html/ui"
2018-06-23 20:48:30 INFO: nxt.javadocResourceBase = "html/doc"
2018-06-23 20:48:30 INFO: nxt.enableAPIServerGZIPFilter = "false"
2018-06-23 20:48:30 INFO: nxt.apiServerCORS = "false"
2018-06-23 20:48:30 INFO: nxt.allowedUserHosts = "<IP_ADDRESS>; localhost; [0:0:0:0:0:0:0:1];"
2018-06-23 20:48:30 INFO: nxt.enableUIServer = "false"
2018-06-23 20:48:30 INFO: User interface server not enabled
2018-06-23 20:48:30 INFO: nxt.debugTraceQuote = """
2018-06-23 20:48:30 INFO: nxt.debugTraceSeparator = "	"
2018-06-23 20:48:30 INFO: nxt.debugLogUnconfirmed = "false"
2018-06-23 20:48:30 INFO: nxt.debugTraceAccounts not defined
2018-06-23 20:48:30 INFO: nxt.debugTraceLog = "nxt-trace.csv"
2018-06-23 20:48:30 INFO: Genesis block not in database, starting from scratch
2018-06-23 20:48:30 INFO: Scanning blockchain starting from height 0...
2018-06-23 20:48:30 INFO: processed block 0
2018-06-23 20:48:30 INFO: ...done at height 0
2018-06-23 20:48:30 INFO: Started peer networking server at <IP_ADDRESS>:8123
2018-06-23 20:48:30 INFO: Started API server at <IP_ADDRESS>:8125
2018-06-23 20:48:30 INFO: Initialization took 2 seconds
2018-06-23 20:48:30 INFO: Burst server 1.2.9 started successfully.
2018-06-23 20:48:30 INFO: burst.mockMining = "false"

..and there's a running process..
ps -aef | grep java
16841 16840  4 20:48 pts/3    00:00:13 java -cp burst.jar:conf nxt.Nxt

/u/syndrael, by not you probably know that this Github is a Ghosttown, and Not the official github anymore.
The official living BURST github is here > https://github.com/PoC-Consortium/burstcoin/
Be sure to go there for all of your BURST information and downloads. There are at least 3 BURST github hubs, but that one is the real full official one.


Add vendor codes

@localheinz May I ask you to have a peruse?

@shrikeh
:+1:
Haven't verified the values of the status codes, but trust your research here - only minor issues in regard to docblocks and usages of annotations!

Thanks for catching the breaking issue; I removed the files from version control but evidently still had the old version in my test path.


Update List of Supported Chains

Hi team! Please update the following data to our List of Supported Chains. Thank you!

Chain type (solochain, parachain, etc.)
Relaychain

@Mabel-Nguyen List of supported chains updated in https://content.subwallet.app, you can check there


[JTC] Report on deprecated feedback

Even though the desired and actual fields are deprecated, we should still fill them in.

FYI @MarqRazz

The old functionality allowed me to see/plot position, velocity, acceleration of the input & output so that I can visualize what the interpolation is doing to my trajectory.

maybe I don't get what you try to achieve, but the reference field is the interpolated output?

maybe I don't get what you try to achieve, but the reference field is the interpolated output?

That is what I was looking for. Interesting you call the interpolated output reference I thought that was the input but now that I look again that is desired.
I'm all for removing them too!


Add txHash into get DRep info

TODO:
Add last txHash in this endpoint
DRep:

drep is registered - drep registration txHash - link1
drep is retired - drep reitrement txHash - link2
Sole Voter:
sole voter is registered - sole voter registration txHash - link3
sole voter is retired - sole voter retirement txHash - link4

FIGMA REFERENCES:

link1
link2
link3
link4

Works as intended:
drep is registered - drep registration txHash - link1
drep is retired - drep reitrement txHash - link2
Sole Voter:
sole voter is registered - sole voter registration txHash - link3
sole voter is retired - sole voter retirement txHash - link4


feat(pixels): add my pixel and format JSON

Checklist

[X] I ran npm test locally and it passed without errors.
[X] I only edited the _data/pixels.json file.
[X] I entered the username in the pixels.json that I'm also using to create this pull request.
[X] I acknowledge that all my contributions will be made under the project's license.

Added my pixel and formatted the JSON.
Relates to #1 .

@dkundel , done. Resolved the conflicts. Added my pixel and formatted the JSON.


A beta version of electron was chosen for the castlabs release version

I guess the castlabs release of this software is therefore in beta and shouldn't be used in production?
Probably something that should be highlighted in your documentation.

This is indeed based on a beta Electron release, and we should probably clarify that. The reason for using 1.8.x is that VMP is not available in Chromium versions prior to 59, which is introduced in the 1.8-series. We’ll update with a 1.8.x non-beta as soon as the Electron team makes a stable release.
That said we actually have the ability to make a VMP-enabled 1.7.x-based release. It requires significantly more maintenance than 1.8.x though, which is why we have not published such a release here at this point. If there is demand for it we are likely to reconsider,.

No need for 1.7.x on this end, I'm sure 1.8 will be out of beta soon enough.

Modified release to clearly show its pre-release state.


Update to support Unity 5.5.2f1

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[ ] brew cask audit --download {{cask_file}} is error-free.
[ ] brew cask style --fix {{cask_file}} reports no offenses.
[ ] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[ ] Named the cask according to the token reference.
[ ] brew cask install {{cask_file}} worked successfully.
[ ] brew cask uninstall {{cask_file}} worked successfully.
[ ] Checked there are no open pull requests for the same cask.
[ ] Checked the cask was not already refused in closed issues.
[ ] Checked the cask is submitted to the correct repo.

Thank you for your contribution.

@atomarch, are you usually on top of updating the iOS and Android editor support casks?
I just did PRs for the Linux, WebGL, and Windows support, plus the standard assets package (#30578, #30579, #30580, #30581), but it'd be good to get some kind of consistent sweep of updating them. (Ideally Cask could get smarter about pulling a version number from a "parent" cask, or making these into options on the Unity cask itself, but barring that, I guess it's up to us.)


React.Component changes

You now must specifically require React.Component from React, not React-Native. I get this error using this package:
Seems you're trying to access 'ReactNative.Component' from the 'react-native' package. Perhaps you meant to access 'React.Component' from the 'react' package instead?

For example, instead of:

  import React, { Component, View } from 'react-native';

You should now do:

  import React, { Component } from 'react';
  import { View } from 'react-native';

Check the release notes on how to upgrade your code - https://github.com/facebook/react-native/releases/tag/v0.25.1

throwOnWrongReactAPI
    throwOnWrongReactAPI.js:16
Object.get
    react-native.js:183
<unknown>
    NavbarButton.js:9
loadModuleImplementation
    require.js:122
guardedLoadModule
    require.js:65
_require
    require.js:49
<unknown>
    index.js:10
loadModuleImplementation
    require.js:122
guardedLoadModule
    require.js:65
_require
    require.js:49

I'm facing the same issue. The problem is the dependency malkomalko/react-native-navbar in the package.json. It's a fork of the react-native-community/react-native-navbar.
{
"_args": [
[
"react-native-router-redux@latest",
"XXX"
]
],
"_from": "react-native-router-redux@latest",
"_id"<EMAIL_ADDRESS>"_inCache": true,
"_installable": true,
"_location": "/react-native-router-redux",
"_nodeVersion": "4.2.1",
"_npmUser": {
"email"<EMAIL_ADDRESS>"name": "qwikly"
},
"_npmVersion": "2.14.7",
"_phantomChildren": {},
"_requested": {
"name": "react-native-router-redux",
"raw": "react-native-router-redux@latest",
"rawSpec": "latest",
"scope": null,
"spec": "latest",
"type": "tag"
},
"_requiredBy": [
"/"
],
"_resolved": "https://registry.npmjs.org/react-native-router-redux/-/react-native-router-redux-0.2.2.tgz",
"_shasum": "eb572fd9f7879a9bba018d482e5b0f2c3c0d19d8",
"_shrinkwrap": null,
"_spec": "react-native-router-redux@latest",
"_where": "/Users/ds/.Deco/tmp/Project",
"author": {
"name": "Team Qwikly"
},
"dependencies": {
"react-native-navbar": "github:malkomalko/react-native-navbar",
"react-native-tabs": "github:malkomalko/react-native-tabs"
},
"description": "A routing library for React Native and Redux",
"devDependencies": {},
"directories": {},
"dist": {
"shasum": "eb572fd9f7879a9bba018d482e5b0f2c3c0d19d8",
"tarball": "https://registry.npmjs.org/react-native-router-redux/-/react-native-router-redux-0.2.2.tgz"
},
"gitHead": "141707909b797a88625215bcaf8375f36cb21162",
"keywords": [
"routing",
"redux",
"react-native"
],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
"email"<EMAIL_ADDRESS>"name": "qwikly"
}
],
"name": "react-native-router-redux",
"optionalDependencies": {},
"readme": "ERROR: No README data found!",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"version": "0.2.2"
}

Has anybody fixed this yet? I would like to use this, but this issue doesn't allow me to.

temporary workaround
require the package from GitHub directly instead of npm
{
  "dependencies": {
    ...
    "react-native-router-redux": "github:Qwikly/react-native-router-redux#768f25",
    ...
  }
}

I hit the same issue. Is anyone maintaining this project?

I moved to react native router flux

react native router flux

Seems like it's more up to date. But I'm using redux in my project; I'd rather have redux all the way through, not some redux and some flux. Still, if it works...


Fixes #518 Typo fixes in setup.py

A , was missing beside pyhcl in cli/setup.py file leading to install and build failures which is fixed through this PR.

@ivotron Please review

awesome, thanks a lot!


AttributeError: 'Arrow3D' object has no attribute '_path2d' while plotting bloch vector

I wrote the simple code
from qiskit.visualization import plot_bloch_vector
%matplotlib inline
plot_bloch_vector([0,1,0], title="New Bloch Sphere") taken from
https://qiskit.org/documentation/stubs/qiskit.visualization.plot_bloch_vector.html
I keep getting  AttributeError: 'Arrow3D' object has no attribute '_path2d' in my jupyter notebook.
I have {'qiskit-terra': '0.19.1', 'qiskit-aer': '0.10.1', 'qiskit-ignis': '0.7.0', 'qiskit-ibmq-provider': '0.18.3', 'qiskit-aqua': '0.9.4', 'qiskit': '0.34.0', 'qiskit-nature': None, 'qiskit-finance': None, 'qiskit-optimization': None, 'qiskit-machine-learning': None}
My matplotlib version is 3.4.3
Can anyone provide a solution for this and let me know where I am going wrong.

I'm not surprised there's some sort of bug with slightly older Matplotlib versions - it's quite hard to write 3D code that works with several concurrent MPL versions, and MPL 3.5 caused us quite a few issues, so this bug probably crept in there.  As a temporary workaround, upgrading to Matplotlib 3.5 should make everything work.
That said, I can't seem to reproduce this failure with the Qiskit and Matplotlib versions here - could you post a full traceback of the error (if available), and perhaps just check that the environment within Jupyter definitely has Matplotlib 3.4.3 and Qiskit Terra 0.19.1?  (It's often hard to tell in Jupyter if you've got the same environment loaded as you expect, but import matplotlib; print(matplotlib.__version__) and similar for qiskit is reliable.)

Im also seeing this error just following the basic tutorials (https://github.com/Qiskit/qiskit-tutorials/blob/master/tutorials/circuits/2_plotting_data_in_qiskit.ipynb).  I can confirm that I am on matplotlib 3.4.3 and qiskit.terra 0.19.1.    Just running the code in the tutorial mentioned above returns the errors below when trying plot the bloch sphere or use the q sphere function (both provide similar errors):

AttributeError                            Traceback (most recent call last)
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\formatters.py in call(self, obj)
339                 pass
340             else:
--> 341                 return printer(obj)
342             # Finally look for special method names
343             method = get_real_method(obj, self.print_method)
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\pylabtools.py in (fig)
246
247     if 'png' in formats:
--> 248         png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
249     if 'retina' in formats or 'png2x' in formats:
250         png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\pylabtools.py in print_figure(fig, fmt, bbox_inches, **kwargs)
130         FigureCanvasBase(fig)
131
--> 132     fig.canvas.print_figure(bytes_io, **kw)
133     data = bytes_io.getvalue()
134     if fmt == 'svg':
C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\backend_bases.py in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)
2193                         self.figure.draw(renderer)
2194
-> 2195                     bbox_inches = self.figure.get_tightbbox(
2196                         renderer, bbox_extra_artists=bbox_extra_artists)
2197                     if pad_inches is None:
C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\figure.py in get_tightbbox(self, renderer, bbox_extra_artists)
2504
2505         for a in artists:
-> 2506             bbox = a.get_tightbbox(renderer)
2507             if bbox is not None and (bbox.width != 0 or bbox.height != 0):
2508                 bb.append(bbox)
C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\artist.py in get_tightbbox(self, renderer)
276             The enclosing bounding box (in figure pixel coordinates).
277         """
--> 278         bbox = self.get_window_extent(renderer)
279         if self.get_clip_on():
280             clip_box = self.get_clip_box()
C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\patches.py in get_window_extent(self, renderer)
596
597     def get_window_extent(self, renderer=None):
--> 598         return self.get_path().get_extents(self.get_transform())
599
600     def _convert_xy_units(self, xy):
C:\ProgramData\Anaconda3\lib\site-packages\mpl_toolkits\mplot3d\art3d.py in get_path(self)
309
310     def get_path(self):
--> 311         return self._path2d
312
313     def get_facecolor(self):
AttributeError: 'Arrow3D' object has no attribute '_path2d'

Just upgraded to matplotlib 3.5 and it now works!

Using Python 3.8 and Matplotlib 3.5.1 on MBP M1 Max. I still get the error.

Thanks @lfenster: with the extra output, I can see why I was never able to reproduce the failures locally - I only develop in terminal IPython, but the issue actually comes in when Jupyter tries to cut out the whitespace around the issues.  A minimal reproducer of the bug:
from qiskit.visualization import plot_bloch_vector
plot_bloch_vector([0, 1, 0]).savefig("tmp.png", bbox_inches="tight")

@sodoherty-ai: what version of Qiskit Terra are you using?

When I try to upgrade matplotlib in my conda environment I get some inconsistencies:

conda install matplotlib
Collecting package metadata (current_repodata.json): done
Solving environment: |
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:

defaults/noarch::jupyterlab_server==2.8.2=pyhd3eb1b0_0
defaults/noarch::nbclient==0.5.3=pyhd3eb1b0_0
defaults/osx-64::notebook==6.4.6=py38hecd8cb5_0
defaults/noarch::nbclassic==0.2.6=pyhd3eb1b0_0
defaults/osx-64::nbconvert==6.1.0=py38hecd8cb5_0
defaults/noarch::jsonschema==3.2.0=pyhd3eb1b0_2
defaults/noarch::nbformat==5.1.3=pyhd3eb1b0_0
defaults/noarch::jupyterlab==3.2.1=pyhd3eb1b0_1
defaults/osx-64::jupyter_server==1.4.1=py38hecd8cb5_0
done

@sodoherty-ai: what version of Qiskit Terra are you using?

qiskit-0.34.1 qiskit-aer-0.10.2

@sodoherty-ai: I can't reproduce the error with Matplotlib 3.5 and those packages.  What exactly are you doing to get an error, and can you check what you get when you do
import qiskit
print(qiskit.__qiskit_version__)

{'qiskit-terra': '0.19.1', 'qiskit-aer': '0.10.2', 'qiskit-ignis': '0.7.0', 'qiskit-ibmq-provider': '0.18.3', 'qiskit-aqua': None, 'qiskit': '0.34.1', 'qiskit-nature': None, 'qiskit-finance': None, 'qiskit-optimization': '0.3.0', 'qiskit-machine-learning': '0.3.0'}
To reproduce.
from qiskit import QuantumCircuit
from qiskit.visualization import plot_state_qsphere
qc = QuantumCircuit(3)

plot_state_qsphere(qc)

If it helps _path2d is set in the following methods.
.. lib/python3.8/site-packages/mpl_toolkits/mplot3d/art3d.py

Patch3D.do_3d_projection()
PathPatch3D.do_3d_projection()

Neither are hit in code above. Both have the following.
@_api.delete_parameter('3.4', 'renderer')

Can you provide the traceback of the error?
do_3d_projection should be being hit if you're using MPL 3.5, but it won't be if you're in MPL 3.4 - it's used as part of some internal code that sorts the artists (for some reason).  The decorator you've mentioned doesn't affect things - if it's triggered, it'd just show you a warning.

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/opt/homebrew/Caskroom/miniforge/base/envs/pytorch_env/lib/python3.8/site-packages/IPython/core/formatters.py in __call__(self, obj)
    339                 pass
    340             else:
--> 341                 return printer(obj)
    342             # Finally look for special method names
    343             method = get_real_method(obj, self.print_method)

/opt/homebrew/Caskroom/miniforge/base/envs/pytorch_env/lib/python3.8/site-packages/IPython/core/pylabtools.py in print_figure(fig, fmt, bbox_inches, base64, **kwargs)
    149         FigureCanvasBase(fig)
    150
--> 151     fig.canvas.print_figure(bytes_io, **kw)
    152     data = bytes_io.getvalue()
    153     if fmt == 'svg':

/opt/homebrew/Caskroom/miniforge/base/envs/pytorch_env/lib/python3.8/site-packages/matplotlib/backend_bases.py in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)
   2232             if bbox_inches:
   2233                 if bbox_inches == "tight":
-> 2234                     bbox_inches = self.figure.get_tightbbox(
   2235                         renderer, bbox_extra_artists=bbox_extra_artists)
   2236                     if pad_inches is None:

/opt/homebrew/Caskroom/miniforge/base/envs/pytorch_env/lib/python3.8/site-packages/matplotlib/figure.py in get_tightbbox(self, renderer, bbox_extra_artists)
   1637
   1638         for a in artists:
-> 1639             bbox = a.get_tightbbox(renderer)
   1640             if bbox is not None and (bbox.width != 0 or bbox.height != 0):
   1641                 bb.append(bbox)

/opt/homebrew/Caskroom/miniforge/base/envs/pytorch_env/lib/python3.8/site-packages/matplotlib/artist.py in get_tightbbox(self, renderer)
    304             The enclosing bounding box (in figure pixel coordinates).
    305         """
--> 306         bbox = self.get_window_extent(renderer)
    307         if self.get_clip_on():
    308             clip_box = self.get_clip_box()

/opt/homebrew/Caskroom/miniforge/base/envs/pytorch_env/lib/python3.8/site-packages/matplotlib/patches.py in get_window_extent(self, renderer)
    619
    620     def get_window_extent(self, renderer=None):
--> 621         return self.get_path().get_extents(self.get_transform())
    622
    623     def _convert_xy_units(self, xy):

/opt/homebrew/Caskroom/miniforge/base/envs/pytorch_env/lib/python3.8/site-packages/mpl_toolkits/mplot3d/art3d.py in get_path(self)
    345
    346     def get_path(self):
--> 347         return self._path2d
    348
    349     @_api.delete_parameter('3.4', 'renderer')

AttributeError: 'Arrow3D' object has no attribute '_path2d'

thats similar to the stack i originally saw; however, i know that _path2d was not in art3d,py until i upgraded to MPL 3.5 (I looked for the same thing).  @sodoherty-ai , you restarted the kernel after upgrading MPL?

do_3d_projection should be being hit if you're using MPL 3.5, but it won't be if you're in MPL 3.4

So this is interesting. I did the following.
print(matplotlib.__version__)
3.4.3

But if I do a upgrade it says requirements are already met and version is 3.5.1.

Yeah, I think something has gone slightly wrong with your Python environment - that traceback is consistent with anything in the Matplotlib 3.4 series, and inconsistent with the 3.5 series.

@jakelishman. Solved for me.
Somehow I had two versions of matplotlib installed at the same time. I did the following to fix.
pip uninstall matplotlib
pip uninstall matplotlib
pip install --upgrade matplotlib

First deleted the 3.5.1. The second deleted the 3.4.3.  The --upgrade is probably redundant.

do you have multiple versions of python installed?  I do and I know I had to make sure I updated each version.  FWIW, I used pip install -U matplotlib to update (in case that helps)


fix markdown codeblocks overflowing container

This PR addresses issue #327.
As discussed in the issue, adding text wrapping to code blocks might not be the best approach, since it's better to encourage users to break lines manually. The proposed fix simply adds a couple of tailwindcss classes to prevent long single-line code blocks from flowing out of the parent container. This is the same approach adopted by Github's markdown preview.
Before

After

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

Thanks @edmundobiglia! That's not exactly what #327 is about, as it concerns (not) wrapping text in the editor, but this definitely fixes the issue you pointed out =)


[BUG] the link to documentation in your github description is broken

Describe the bug
The link in your github description is broken
To Reproduce
it points to https://brainglobe.info/documentation/bg-atlasapi/index.html
Expected behaviour
it should point to https://brainglobe.info/documentation/brainglobe-atlasapi/index.html

Thanks @PolarBean, fixed!


palindrome-products: fix ordering of actual/expected

Fixes #238

Yeeeeaah!!
Finally, some code!
Thanks for all this hard work, very well done!


Add delay to allow for ZooKeeper, Update prop names

The ExternalCompaction  tests seem to fail occasionally with the compaction coordinator unable to read information from ZooKeeper to create the metrics used in the test.

Adds a delay with a back off initializing metrics to allow more time for the test cluster ZooKeeper to start up.
Modifies the compaction service property names to align with changes in #3915  (reduces deprecated property name logging)

This seems to be a partial fix and there seem to be other issues running the tests reliably.

test still occasionally hang (seems prevalent running in an IDE with ExternalCompaction_2_IT ) this was the most recent Jenkins failure, so this test was run more so it could be generic to the other tests.
some of the tests may be passing with a false positive.  Sometimes  the following is in the logs:

ExternalCompaction_2_IT. testDeleteTableCancelsUserExternalCompaction:
2023-11-26T20:35:52,091 [lock.ServiceLock] WARN : Child found with invalid format: wsn2:9133 (does not start with zlock#)

These issues can be a follow-up if these changes are accepted before those are resolved.

2023-11-26T20:35:52,091 [lock.ServiceLock] WARN : Child found with invalid format: wsn2:9133 (does not start with zlock#)

I have been noticing this too in the elasticity branch. Interesting to see that it's in main also. I'm going to try and track this down.

Closing in favor of #4210


Addition of "lastStatusTime" Field

What type of PR is this?
Add one of the following kinds:
correction
What this PR does / why we need it:
The CAMARA version of the current DeviceStatus API lacks a crucial "lastStatusTime" field, resulting in inconsistent behavior across vendors. This absence poses challenges for application developers in determining the freshness of roaming status/connectivity data.
Which issue(s) this PR fixes:
Fixes https://github.com/camaraproject/DeviceStatus/issues/110

Could someone help me to validate the Linter errors that coming up ?

In the log appear a list of linting errors:
/github/workspace/code/API_definitions/device-status.yaml
    452:12  warning  camara-properties-descriptions  Property description is missing or empty: "openId.description" property must be truthy                                                                 components.securitySchemes.openId
    475:27  warning  camara-properties-descriptions  Property description is missing or empty: "RoamingStatusResponse.description" property must be truthy                                                  components.schemas.RoamingStatusResponse
    499:32  warning  camara-properties-descriptions  Property description is missing or empty: "ConnectivityStatusResponse.description" property must be truthy                                             components.schemas.ConnectivityStatusResponse
    557:20     hint  camara-discriminator-use        Ensure that API definition YAML files with oneOf or anyOf sections include a discriminator object for serialization, deserialization, and validation.  components.schemas.DeviceIpv4Addr
    610:26  warning  camara-properties-descriptions  Property description is missing or empty: "RequestRoamingStatus.description" property must be truthy                                                   components.schemas.RequestRoamingStatus
    618:31  warning  camara-properties-descriptions  Property description is missing or empty: "RequestConnectivityStatus.description" property must be truthy                                              components.schemas.RequestConnectivityStatus
    626:15  warning  camara-properties-descriptions  Property description is missing or empty: "ErrorInfo.description" property must be truthy                                                              components.schemas.ErrorInfo
    784:16    error  oas3-valid-schema-example       "example" property must match format "uuid"                                                                                components.schemas.SubscriptionId.example
    857:24  warning  oas3-unused-component           Potentially unused component has been detected.                                                                                components.schemas.EventRoamingStatus
    866:20  warning  oas3-unused-component           Potentially unused component has been detected.                                                                                components.schemas.EventRoamingOn
    875:21  warning  oas3-unused-component           Potentially unused component has been detected.                                                                                components.schemas.EventRoamingOff
    884:31  warning  oas3-unused-component           Potentially unused component has been detected.                                                                                components.schemas.EventRoamingChangeCountry
    893:27  warning  oas3-unused-component           Potentially unused component has been detected.                                                                                components.schemas.EventConnectivityData
    902:26  warning  oas3-unused-component           Potentially unused component has been detected.                                                                                components.schemas.EventConnectivitySms
    911:35  warning  oas3-unused-component           Potentially unused component has been detected.                                                                                components.schemas.EventConnectivityDisconnected
    920:27  warning  oas3-unused-component           Potentially unused component has been detected.                                                                                components.schemas.EventSubscriptionEnds
   1091:20  warning  camara-properties-descriptions  Property description is missing or empty: "ROAMING_STATUS.description" property must be truthy                                                         components.examples.ROAMING_STATUS
   1[107](https://github.com/camaraproject/DeviceStatus/actions/runs/8847659758/job/24295924753?pr=146#step:6:114):17  warning  camara-properties-descriptions  Property description is missing or empty: "ROAMING_OFF.description" property must be truthy                                                            components.examples.ROAMING_OFF
   1120:16  warning  camara-properties-descriptions  Property description is missing or empty: "ROAMING_ON.description" property must be truthy                                                             components.examples.ROAMING_ON
   1133:28  warning  camara-properties-descriptions  Property description is missing or empty: "ROAMING_CHANGE_COUNTRY.description" property must be truthy                                                 components.examples.ROAMING_CHANGE_COUNTRY
   1148:23  warning  camara-properties-descriptions  Property description is missing or empty: "CONNECTIVITY_DATA.description" property must be truthy                                                      components.examples.CONNECTIVITY_DATA
   1161:22  warning  camara-properties-descriptions  Property description is missing or empty: "CONNECTIVITY_SMS.description" property must be truthy                                                       components.examples.CONNECTIVITY_SMS
   1174:31  warning  camara-properties-descriptions  Property description is missing or empty: "CONNECTIVITY_DISCONNECTED.description" property must be truthy                                              components.examples.CONNECTIVITY_DISCONNECTED
   1187:23  warning  camara-properties-descriptions  Property description is missing or empty: "SUBSCRIPTION_ENDS.description" property must be truthy                                                      components.examples.SUBSCRIPTION_ENDS

Could someone help me to validate the Linter errors that coming up ?

The error was on the uuid ?
I saw a lot of warning but only one error
Anyway seems you solved it ;)


Bitsandbytes

Can there be a way to load a transformer from huggingface in bits and bytes. That could make the model loading easier. I might add this after work but it would be nice to have.

I just saw that pull request #8 does that

Building your own loader pretty simple (someone tell me i'm wrong please):
class AutoLLM(guidance.llms.Transformers):
    cache = guidance.llms.LLM._open_cache("_auto.diskcache")

    def __init__(self, model, tokenizer=None, device_map=None, **kwargs):
        """ Create a new auto model.
        """
        import transformers
        tokenizer = transformers.AutoTokenizer.from_pretrained(
            model,
            device_map="auto",
            load_in_8bit=True,
        )
        model = transformers.AutoModelForCausalLM.from_pretrained(
            model,
            device_map="auto",
            load_in_8bit=True,
        )

        super().__init__(model, tokenizer=tokenizer, device_map=device_map, **kwargs)

 llm = AutoLLM(model=...)
 prompt = guidance(...)
 prompt(llm=llm)

Oh it's much easier just pass in an already loaded tokenizer and model into guidance.llms.Transformers: https://github.com/microsoft/guidance/blob/main/guidance/llms/_transformers.py#L17

See: https://github.com/microsoft/guidance/pull/8

Here is my code
tokenizer = AutoTokenizer.from_pretrained(MODEL)
model = AutoModelForCausalLM.from_pretrained(MODEL, device_map='auto', load_in_8bit=True)

llm = guidance.llms.Transformers(model, tokenizer)

I am going to close this

I think this needs to be documented better. Perhaps you can add an example to the home page (say, using 8bit bytes and auto placement) and improve the class documentation.


⚠ Bofrost.at has degraded performance

In 93ef72b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1049 ms

Resolved: Bofrost.at performance has improved in f8dfb23 after 9 minutes.


To-Do List Project 2

To-Do List Project 2

Removed all hardcoded items from the tasks array.
Created a new JavaScript file for the new functionality.
implement a function for adding a new task.
implement a function for deleting a task.
implement a function for editing task descriptions.
By default new tasks have the property completed set to false and the property index set to the value of the new array length.
Deleting a task should update all remaining items' indexes, so they represent the current list order and are unique.
All changes to the To Do List saved in local storage.

Hi @david-lafontant Your project is complete! There is nothing else to say other than... it's time to merge it :shipit: Congratulations! 🎉 👏 👏 💯

To highlight 🍾

All linters are passing ✔
You  are following GitHub actions ✔
Good commit history ✔
Good PR description ✔
Your README file is now professional ✔

Optional suggestions

[ ]  Kindly Check the comments under the review._
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
_As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


[Feature request] Discovery (zeroconf, broadcast)

It would be nice to discover a hyperion server by a broadcast, or zeroconf (Bonjour) for example.

Me too!
I was watching a tcpdump today as the iOS app did a sweep of the local subnet.
I have 3 instances running on one box and zeroconf would let the app find the instances running on non default ports.

This doesn't look too hard http://avahi.org/download/doxygen/client-publish-service_8c-example.html
So now we need to think about service names and how we uniquely identify multiple instances on the same host.
Maybe the existing "device name" can be reused.
What services do we need ?
proto, Json, bob light and I guess my UDP led receiver can register itself in Python

I think bob light is not needed, because the boblight client didnt use zeroconf.
mainly the json server should support auto discovery, because it is controllable by a client with ui like the android app.
having this for proto too would be very nice, because this makes forwarder config very easy.
e.g.
forwarder : {
  json : "*",
  proto: "*"
}

then all messages would be send to all available clients.
Nice thing - anyone to implement this?

There's also a Qt based zeroconf / avahi option:
https://github.com/johanneshilden/qtzeroconf

Anyone want to look at my attempt so far ?
https://github.com/penfold42/hyperion/tree/zeroconf?files=1

Sounds/looks interesting!
The new dependencies (libs) needs to be installed on raspbian/osmc and should be part for openelec.deps.tar.gz for openelec/rasplex and so on?

Yep - Here's what I installed whilst working out whats required:
libavahi-common-dev:armhf
libdbus-1-dev:armhf
libavahi-client-dev:armhf
libavahi-core-dev:armhf
libavahi-compat-libdnssd1:armhf
libavahi-compat-libdnssd-dev:armhf
libavahi-qt4-1:armhf
libavahi-qt4-dev:armhf
avahi-utils:armhf

Looks good!
So in each service (json / proto) we get a description and service name where the first name is its name and the last one the service type to filter out which is which right?

Yep! With hopefully meaningful defaults if omitted.
Do you think we need a disable/ enable option as well ?

const std::string hostname = QHostInfo::localHostName().toStdString();
const std::string mDNSDescr = jsonServerConfig.get("mDNSDescr", hostname).asString();
const std::string mDNSService = jsonServerConfig.get("mDNSService", "_hyperiond_json._tcp").asString();

Think we keep it default on as with multicast it's only a presence (listener) with a hostname name like your above example which would be perfect :+1: , that way it will just work for the users without them having to worry about editing their configs with a new setting but we can best throw this in the group on the forum to discuss :)
If they do run more instances without setting mDNS config info maybe we can append a "_1" "_2" etc.. to its mDNSDescr but not sure if we can reliably multiple Hyperiond instances at the moment?

Even if we don't append a suffix, they'll each have unique port numbers advertised so you'll see the separate instances

May it possible to advertise the current loaded config name? Not sure if i know which port is attached to which function. :D
Makes this sense?
So you could easy see which instance use which config. (if you use the forwarder)

I'll look into it.
I think there's also a txt attribute we can abuse too

@penfold42
additional idea, hostname or something to see which hyperion it is (if you use more then one hyperion)
these values could be used to extract and insert this as "hyperion profile name" so you always know which Hyperion you use without to edit your self the name

I'll look again in a few days and do a PR.
Right now it has conflicts

take your time!

I've got too many branches ! I really need to get them documented and fix the merge conflicts.
At the risk of abusing this as my todo list :

zeroconf
sk6812rgbw
new UDP driver

Then I need to add sk6812 support and data inversion to my new SPI driver
Does anyone have a view on which is more important ?

Much work!
If Rick starts at the smartphone apps it may be handy to have a zeroconf for auto discovery.
also to add the possibility to save the calibrated values to the current loaded config and restart hyperion may be great from a user view.
(just user view and new smartphone apps are really necessary to complete hyperion in a good way -again)
We could proceed fast to take the first testing steps with QT5, we just need some time and a feedback on every platform.

Yep zeroconf would mean we can add servers on the fly with ease  :)  do plan on adding by hostname instead of IP as well with the default port filled as to handle dynamic IP setups.
Will have a working concept of the app (android / windows with XAML design) next week which will already have the basics and hope to get the calibration in it then as well.

@RickDB ... thx for your work!
new udp driver - will it based on qt classes? would be very good if this is you plan, because hyperion is a qt project. I've written a tpm2net driver with qt classes if you need inspiration https://github.com/redPanther/hyperion/blob/tpm2net/libsrc/leddevice/LedDeviceTpm2net.cpp
zeroconf:
I suggest we should implement this only for qt5. When we build with ENABLE_QT5=OFF then zeroconf stuff is switched off.

Yep checkout my branch - QT made it much nicer and simpler than my first C implementation

Btw, my zeroconf stuff does work with qt4 and qt5 but it's big and fat because it includes a lot of Anahi junk.
There are others that need qt5 and now I can build for qt5 I'll check them out to see if there's less bloat

yes, skip qt4. I don´t fear the qt5 testing. As @redPanther  said it is worth to work more on this

Given I've got it working with qt4 ill do the qt5 only one as well and use conditionals to select it with cmake

Will be part of V1.03.0
/closed


[$1000] Task completion message lag- Delayed Real-Time Update for Completed and Reopened Task Messages

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Login with User A and create a new workspace. Go to settings > workspaces > new workspace
Create a room from User A with that workspace in Public mode
Go to detail > share code and share the link to User B
From User B, open the link and access the room
From User A, create a task for User B. After creating the task, enter the task thread
From User B, enter the task thread and mark it as complete
From User A, reopen the task & from User B complete the task again.
Verify if you can see the completed task and reopened task  message in realtime

Expected Result:
Upon completing the task and reopening it, the task thread should show the updated status and reflect the completed and reopened task messages in real-time. Both User A and User B should be able to see the changes instantly without the need for page refreshes or delays.
Actual Result:
There is a noticeable lag in the real-time update for the completed and reopened task messages in the task thread. The updates are not reflected immediately, and the changes only appear after performing a page refresh.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number:
Reproducible in staging?:
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/ae328b5e-2114-44f6-a4fe-3752647b22ff
https://github.com/Expensify/App/assets/43996225/f6c23b65-8425-47cd-976e-3662345c4112
Expensify/Expensify Issue URL:
Issue reported by: @avi-shek-jha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688174761586429
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01334e50bd6f49ef71
Upwork Job ID:<PHONE_NUMBER>112375808
Last Price Increase: 2023-07-10

I agree that User B  should see a message showing the task was reopened. Its weird that we show User A this message but not User B

Proposal
Please re-state the problem that we are trying to solve in this issue.
The problem we're addressing involves a delay in the real-time update of messages within the task thread when a task is marked as completed or reopened. This leads to situations where the message such as "completed task {task_name}" is not immediately reflected in the chat.
What is the root cause of that problem?
The core of the problem lies within a combination of the backend and frontend. On one hand, when a task's status is updated, the backend does send pusher/socket events to update the report object data and the count of total messages displayed in the group chat. However, it doesn't send a reportActions_{exampleNum} message which would include the "task completed" or "task reopened" messages.
On the other hand, the frontend is not currently designed to fetch the updated data when a task's status changes. As a result, these status change messages are not displayed in real time in the chat interface.
What changes do you think we should make in order to solve the problem?
I propose implementing a mechanism on the frontend that checks for changes in the report.state, or in either report.stateNum or report.statusNum. Upon detecting a change, the application should fetch the updated report along with its associated reportActions.
This could be accomplished within the componentDidUpdate lifecycle method as follows:
componentDidUpdate(prevProps) {
    if (prevProps.report.state !== this.props.report.state || prevProps.report.stateNum !== this.props.report.stateNum || prevProps.report.statusNum !== this.props.report.statusNum) {
        // Fetch the report with reportActions
        Report.openReport(this.props.report.reportID);
    }
}

This modification should ensure that messages related to task status changes are updated in real-time in the chat.
An alternative approach could involve the backend sending the necessary reportActions_{exampleNum} message when a task's status is altered.

How does the proposal above look to you @fedirjh ?

Done, thanks @fedirjh !

Hmm I thought internal would assign an engineer. Applying that via the eng label instead

I'm going to be fairly OOO this next weeks, so rerolling assignment!

Looks like the re-labelling didn't get a new eng assigned, rolling the dice again!

Just to catch you up @arosiclair, @fedirjh's take is that we'll need some backend work here

Not overdue, Melvin

Seems this bug has already been fixed on staging v1.3.48-0:
https://github.com/Expensify/App/assets/6833644/f7eb2877-3b42-400d-9c67-82a89b4efb02

This is actually a dupe of https://github.com/Expensify/App/issues/21350. Since that report came first there shouldn't be any reporting bonus for this. Closing this out


add --with-zopfli option to pyftsubset and ttx

Fixes #491.
The zopfli extension module which is required to use the new option can be installed with this pip command:
pip install -v git+https://github.com/anthrotype/py-zopfli#egg=zopfli

The official one currently available on PyPI uses an outdated copy of Zopfli source code and is not compatible with Python 3 nor with Windows.
While working on this, I noticed that pyftsubset's canonical_order default value was still set to False, whereas it should have been set to None.
The meaning of the related reorderTables argument of TTFont.save method in fact changed a while ago with commit 6ba67ab.
When reorderTables is set to False, the input font's original table order is "kept": which still means performing some sort of reordering. If one wishes to avoid any reordering (i.e. use the order determined by inter-table dependencies), then reorderTables needs to be set to None.
With this patch, --no-canonical-order is equal to passing reorderTables=None, and --canonical-order equals reorderTables=True (reorderTables=False is not accessible via command line options, as it's not relevant for the subsetter).

Two comments:

Don't like using a global module-level variable as an option...

Perhaps we can reuse flavor for this?  Eg "woff:zopfli" for example?

Or a flavor-options...  Woff2 also has a couple different options for speed versus compression.

Don't like using a global module-level variable as an option

I wasn't sure about that either. The reason I did that was to avoid having to add another argument to the TTFont (and/or SFNTWriter) constructor. Since zlib.compress function was used in two places inside sfnt module (in the main writer's save method, for compressing metadata, and in the WOFFDirectoryEntry.encodeData method), I thought I could switch between zlib and zopfli algorithm by setting a global variable (the directory entry doesn't know about the writer instance).
about reusing --flavor or adding a --flavor-options, I think I prefer the latter. I'll see what I can do.


Explorer shortcut for linux seems to some times type a letter "E" in window

Open up a new file with side pane closed.   Navigate down the file and press Ctl-E to open the side Explorer up.  A letter "E" is typed.

The shortcut for the explorer is ctrl+shift+e?

Yes, my mistake. I'm pressing the right sequence.
On Mon, Oct 7, 2019, 8:37 AM Daniel Imms<EMAIL_ADDRESS>wrote:

The shortcut for the explorer is ctrl+shift+e?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/82037?email_source=notifications&email_token=AAEDYE4HP7NDAB3QWEG4HHLQNMUO7A5CNFSM4I57OBRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAQFBII#issuecomment-538988705,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEDYEZQNYUETDKSQEGP3WDQNMUO7ANCNFSM4I57OBRA
.

Can not reproduce. Can you reproduce with vscode insiders https://code.visualstudio.com/insiders/

Seems like vscode insiders fixes it.
On Mon, Oct 7, 2019 at 8:58 AM Isidor Nikolic<EMAIL_ADDRESS>wrote:

Can not reproduce. Can you reproduce with vscode insiders
https://code.visualstudio.com/insiders/
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/82037?email_source=notifications&email_token=AAEDYEY74BYOKS4DFGMBRLTQNMW7ZA5CNFSM4I57OBRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAQHBUA#issuecomment-538996944,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEDYEYTER4N4RNSGDLJVS3QNMW7ZANCNFSM4I57OBRA
.

Glad to hear, closing then.
Make sure that no extension breaks your flow in stable. I would check them.


Error reading cell value when it contains '@1'

I am trying to read a value from a cell that contains the following string :  a @1.36181.
I'm using the cell.value() method.
Instead of getting the string - i get an array of objects.
I tried setting the cell format in Excel to text - did not solve the problem
I tried adding ' before the text - same problem

Sounds like your cell doesn't have plain text but rather rich text. That isn't fully supported by xlsx-populate yet. In the interim, you can loop through the array and pull out the text values and concatenate them.


API stability guarantee

We need to make a plan and set a deadline for enforcing it. I'm thinking we make our first stability guarantees by July 1st.
I think we should do this by headers, marking older headers as stable and newer headers as unstable, and over time graduate everything to stable.

Non-standard and unstable protocol implementations are stricken-through.

[ ] backend

[ ] drm.h
[ ] headless.h
[ ] interface.h
[ ] libinput.h
[ ] multi.h
[ ] noop.h
[ ] session.h
[ ] wayland.h
[ ] x11.h

[ ] backend.h
[ ] config.h
[ ] interfaces

[ ] wlr_input_device.h
[ ] wlr_keyboard.h
[ ] wlr_output.h
[ ] wlr_pointer.h
[ ] wlr_switch.h
[ ] wlr_tablet_pad.h
[ ] wlr_tablet_tool.h
[ ] wlr_touch.h

[ ] render

[ ] dmabuf.h
[ ] drm_format_set.h
[ ] egl.h
[ ] gles2.h
[ ] interface.h
[ ] pixman.h
[ ] wlr_renderer.h
[ ] wlr_texture.h

[ ] types

[x] wlr_box.h
[ ] wlr_buffer.h
[ ] wlr_compositor.h
[ ] wlr_cursor.h
[x] wlr_data_control_v1.h
[ ] wlr_data_device.h
[x] wlr_drm.h
[x] wlr_export_dmabuf_v1.h
[x] wlr_foreign_toplevel_management_v1.h
[x] wlr_fullscreen_shell_v1.h
[x] wlr_gamma_control_v1.h
[x] wlr_idle.h
[x] wlr_idle_inhibit_v1.h
[ ] wlr_input_device.h
[x] wlr_input_inhibitor.h
[x] wlr_input_method_v2.h
[ ] wlr_keyboard.h
[ ] wlr_keyboard_group.h
[x] wlr_keyboard_shortcuts_inhibit_v1.h
[x] wlr_layer_shell_v1.h
[x] wlr_linux_dmabuf_v1.h
[x] wlr_matrix.h
[ ] wlr_output.h
[ ] wlr_output_damage.h
[ ] wlr_output_layout.h
[x] wlr_output_management_v1.h
[x] wlr_output_power_management_v1.h
[ ] wlr_pointer.h
[x] wlr_pointer_constraints_v1.h
[x] wlr_pointer_gestures_v1.h
[ ] wlr_presentation_time.h
[ ] wlr_primary_selection.h
[x] wlr_primary_selection_v1.h
[x] wlr_region.h
[x] wlr_relative_pointer_v1.h
[x] wlr_screencopy_v1.h
[ ] wlr_seat.h
[x] wlr_server_decoration.h
[ ] wlr_surface.h
[ ] wlr_switch.h
[ ] wlr_tablet_pad.h
[ ] wlr_tablet_tool.h
[x] wlr_tablet_v2.h
[x] wlr_text_input_v3.h
[ ] wlr_touch.h
[ ] wlr_viewporter.h
[x] wlr_virtual_keyboard_v1.h
[x] wlr_virtual_pointer_v1.h
[ ] wlr_xcursor_manager.h
[x] wlr_xdg_activation_v1.h
[x] wlr_xdg_decoration_v1.h
[ ] wlr_xdg_foreign_registry.h
[x] wlr_xdg_foreign_v1.h
[x] wlr_xdg_foreign_v2.h
[x] wlr_xdg_output_v1.h
[ ] wlr_xdg_shell.h

[x] util

[x] box.h
[x] edges.h
[x] log.h
[x] region.h

[ ] version.h
[x] xcursor.h
[ ] xwayland.h

I'm all for that. It makes my work on wlroots-rs easier as it means I can definitely be sure to finish wrapping something (which is non trivial with Rust's safety guarantees).

Missing stability promises are the reason hsroots lags behind and mostly just supports waymonad :)
And I think it's a good idea to have a set of unstable APIs as well. I don't think huge additions like the tablet_v2 PR should be stable from the get go.
Any plans on how to define them? Have them behind a if WLR_USE_UNSTABLE, under include/wlr/unstable/, a prose comment, or something completly different?
And for the transition from an unstable API to stable I suggest as rule of thumb:
Implementation needs to be finished in one external compositor, written by someone who didn't add it to wlroots.
I.e. waymonad wouldn't count for my additions to wlroots. This should ensure someone else used the API.

In terms of ABI stability we can change WLROOTS_0_0_0 in wlrotos.symbols to WLROOTS_0_1_0 and put the existing symbols in there adding the current wlr_* to a new WLROOTS_UNSTABLE {} section. (and doing the same for 0_2_0, ... and so on.
For API stability version macros like glib based libraries use them could be used:
https://github.com/GNOME/glib/blob/master/glib/gversionmacros.h

I feel like we're getting really close to being stable. But I'd like to go through and see if anything should be made private. It's easier to add them back in later versions than it is to remove them.

Also, where did we land on supporting multiple renderers? That will certainly be breaking.

Also, where did we land on supporting multiple renderers? That will certainly be breaking.

RIP

The multiple renders sounds like it would add a lot more time if we wanted it in 1.0. Is it a feature that couldn't wait until a 2.0 in the future?

Multiple renderers won't happen.

The only interface that isn't well-tested is the renderer. I'm not aware of anyone who is doing anything that might stretch the interface that might become a common use case in the future like animations except for the wayfire guy. @ammen99 do you see the renderer as it is now good enough for you to do your cube thing?

@acrisci I think the rendering process in its current shape is quite good, except for the following:
A thing that "works" but is not guaranteed to work is the target framebuffer of all wlr_renderer_* operations. Currently GLES2 uses whatever I bind before these calls, but this isn't stated anywhere in the documentation.
Aside from that, the only other thing I'd like is to add the ability to have direct access to GLES2 textures, but that's only to optimize performance in some cases, so not really needed.
These both depend on #775, but if you want to leave that for wlroots 2.0, I have nothing against.

A thing that "works" but is not guaranteed to work is the target framebuffer of all wlr_renderer_* operations. Currently GLES2 uses whatever I bind before these calls, but this isn't stated anywhere in the documentation.

Yeah, you're not supposed to use raw GL calls when you're using the renderer. wlr_output_make_current binds an output, and you're not supposed to be able to bind anything else. Making your own renderer would make you able to guarantee this works, even if we change the internal behaviour of our renderer.

These both depend on #775, but if you want to leave that for wlroots 2.0, I have nothing against.

I believe #775 can be fixed in a backwards-compatible way, so this shouldn't be an issue.

@emersion I think you wanted to make the wlr_renderer(or at least the gles2 rendering functions) reusable?

On July 1st, let's mark all of this stable:

interfaces/* except for wlr_tablet_*
util/*
xcursor
All of the backends, but not session

Types:

wlr_box
wlr_compositor
wlr_cursor
wlr_idle
wlr_input_device
wlr_list
wlr_matrix
wlr_output_damage
wlr_output_layout
wlr_output
wlr_pointer
wlr_region
wlr_touch
wlr_xcursor_manager
wlr_xdg_shell

We're not going to mark stable anything that implements an unstable Wayland
protocol. If we need an interface to be stable, we should start pushing on
wayland-devel for the protocol's promotion.
Chose not to mark wlr_keyboard as stable since we've recently been sorting out
some kinks with xkbcommon, and we might need to change it to support Purism's
OSK work (though it seems we might be okay without any changes - let's see how
it plays out before we go making any stability promises).
Chose not to mark wlr_seat as stable yet because it's complicated and I'm
nervous about making any promises about it yet.
Holding off on wlr_data_device while Xwayland stuff is still up in the air.
Holding off on marking the renderer as stable, probably for a good long time. I
want to make wlr_texture and wlr_buffer stable soon, though.
Holding off on the wlr_session stuff because I don't think we adequately tested
or thought about all of the problems we may encounter on systems without
logind/dbus/udev.
The plan
Anything headers not listed above will have the following added to them:
#ifndef WLR_USE_UNSTABLE
#error "Add -DWLR_USE_UNSTABLE to enable unstable wlroots features"
#endif

The future
We can extend things marked as stable, but:

We can only add struct members, never remove them, and only to the end of the
struct. Structs which change in size cannot be inlined in other structs
before other members.
We can only add new enum members, and only to the end of the list.
We cannot change function signatures, only add new functions.

If we must make breaking changes, we will mark the features as deprecated and
announce the changes 1 year in advance, and bump the so version when the big
day comes.

wlr_idle is a KDE extension, I'd prefer not to mark it as stable…

We're not going to mark stable anything that implements an unstable Wayland
protocol. If we need an interface to be stable, we should start pushing on
wayland-devel for the protocol's promotion.

I don't understand this one. Unstable protocols get the same guarantees as stable protocols in wayland-protocols.

If we mark it as stable we can't remove it. I don't want to have a bunch of pomp and circumstance around e.g. removing wlr_xdg_shell_v6 in favor of wlr_xdg_shell.

wlr_list

I think this should be removed entirely.

Holding off on the wlr_session stuff because I don't think we adequately tested
or thought about all of the problems we may encounter on systems without
logind/dbus/udev.

I'm not sure if it's even worth trying to support systems without udev. At least, if we're going to do that, it'll be extremely bare-bones and not support hotplugging.

I think this should be removed entirely.

Fair enough.

I'm not sure if it's even worth trying to support systems without udev. At least, if we're going to do that, it'll be extremely bare-bones and not support hotplugging.

Also fair.

Holding off on marking the renderer as stable, probably for a good long time.

Why? If you want to support renderers other than GLES2 in wlroots 1.x, we need to mark backends as unstable too, because they'll likely be affected too.

Why? If you want to support renderers other than GLES2 in wlroots 1.x, we need to mark backends as unstable too, because they'll likely be affected too.

We might need to mark backend_autocreate as unstable. I'm not thrilled with the renderer create function in any case, it might be worth reconsidering how that works.

We might need to mark backend_autocreate as unstable.

You probably mean "all functions that create a backend".

I'm not thrilled with the renderer create function in any case, it might be worth reconsidering how that works.

I was thinking of replacing that with a struct.

Deadline is tomorrow.

We can only add struct members, never remove them, and only to the end of the
struct. Structs which change in size cannot be inlined in other structs
before other members.

How does that work with events? It won't be possible to add new events anymore.
https://github.com/swaywm/wlroots/issues/1096

wlr_box

https://github.com/swaywm/wlroots/issues/1094

wlr_output_layout

https://github.com/swaywm/wlroots/issues/1083
https://github.com/swaywm/wlroots/issues/1013
https://github.com/swaywm/wlroots/issues/812

wlr_output

https://github.com/swaywm/wlroots/issues/1058
And we also have:
https://github.com/swaywm/wlroots/issues/1087
https://github.com/swaywm/wlroots/issues/884
https://github.com/swaywm/wlroots/issues/833
https://github.com/swaywm/wlroots/issues/770
wlr_surface is not mentioned (neither in the stable list nor in the unstable one), but there's ongoing work on it.
(Maybe I forgot some issues)

How does that work with events? It won't be possible to add new events anymore.

Hm. I think we might have to get rid of the nested structs for this.

Ah, missed an issue with util/log.h: https://github.com/swaywm/wlroots/pull/1011

Is there a list of what can be stabilized next and what the remaining issues are for those items?

Suggest some?

wlr_region.h maybe?

Not sure exposing wlr_region_create is a good idea.

xdg shell as a protocol is stable, so it would be nice to try to stabilize that though I'm sure there's still some issues regarding it.

Yeah, I don't think xdg-shell stable is ready.

What's blocking the input types? wlr_keyboard had some xkbcommon kinks, were those every fixed?

These would need additional reviews. They expose a lot of internal state, so we should be careful about this. There were some discussions about splitting xkb and wlr_keyboard too.
The seat stuff is not ready.

wlr_output only has #1058, not sure if that's blocking enough to not stabilize it.

wlr_output is not ready, it'll be heavily changed by the renderer redesign.

wlr_compositor shouldn't have any blockers?

Some fields like renderer will maybe go away with the renderer redesign.

xcursor is stable, so what is blocking xcursor_manager?

Cursors will change with the renderer redesign. Not sure we'll be able to keep wlr_xcursor_manager_set_cursor_image as-is.

So basically renderer redesign is a major blocker, got it. I'll wait for that to settle then before pushing for more stabilization.

I think we could expose wlr_region next, if we remove or change wlr_region_create.

Another thing that may be worth changing is the data point provided with wlr_signal_emit_safe. We've been cargo-culting this kind of thing:
wlr_signal_emit_safe(&thing->events.asdf, thing);

The issue is that this makes it a breaking change to change the data pointer to something actually useful, such as a wlr_thing_event_asdf struct. It's also useless since callers can/should get the thing pointer from the wl_listener (via wl_container_of).
The solution is to change the data pointer to be NULL, so that it's not a breaking change to set it to something useful later:
wlr_signal_emit_safe(&thing->events.asdf, NULL);

The solution is to change the data pointer to be NULL, so that it's not a breaking change to set it to something useful later.

With my current approach in zig-wlroots this would actually require a breaking change for the zig bindings since I make the wl_listener equivalent generic over the type of the data pointer for type-safety. Changing from the wl.Listener(void) that I use when NULL is always passed as the data pointer to e.g. wl.Listener(*wlr.Output.event.Foo) would be a breaking change.
I'm not sure what the policy is on whether API stability should be considered for language bindings as well or if only the official API as used from C must be kept stable.

We only care about the C API. It doesn't scale to try to care about all possible language bindings.


New version: PrismLauncher.PrismLauncher version 8.0

Pull request has been created with WinGet Releaser v2 :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Standard error:  Exception during executable launch operation System.AggregateException: One or more errors occurred. (The specified executable is not a valid application for this OS platform.)  ---

Hi @PrismAutomata,
It appears that one of the installers isn't valid.

@wingetbot waivers Add Validation-Executable-Error

Just a heads-up: there are unresolved conversations.


Roll Engine from 825c409164c1 to 98492cd511c5 (5 revisions)

https://github.com/flutter/engine/compare/825c409164c1...98492cd511c5
2021-09-10<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from 7rmb7v6Rn... to E-2zyKFAo... (flutter/engine#28548)
2021-09-10<EMAIL_ADDRESS>Roll Dart SDK from e92d1fb9117c to 39f81c50c2e1 (1 revision) (flutter/engine#28547)
2021-09-10<EMAIL_ADDRESS>Roll Skia from 9292c806e97d to c96f97938462 (2 revisions) (flutter/engine#28546)
2021-09-10<EMAIL_ADDRESS>Roll Dart SDK from 5171a2583ace to e92d1fb9117c (1 revision) (flutter/engine#28545)
2021-09-10<EMAIL_ADDRESS>Roll Skia from f17e4008a89b to 9292c806e97d (1 revision) (flutter/engine#28544)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from 7rmb7v6RnqQL to E-2zyKFAoyXU
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Is there a way to flatten use statements

I have a project where use statements are nested ugly and I would like to separate them, or to flatten them. However, I didn't find the option to do it yet.

Not at the moment, though this will likely be a supported variant of the import formatting config option. It's currently an unstable option that's binary and named `merge_imports, though will most likely be renamed once the default value is decided and non-default supported variants decided. More details on https://github.com/rust-lang/rustfmt/issues/3362#issuecomment-642564290
Going to close this for now, feel free to track the other issue


Docs: (Readme)

Hey. The previous link was incorrect. Please check

Summary by CodeRabbit

Documentation

Updated the Twitter follow badge link to direct users to the GitHub stargazers page for the ByteBuildersLabs repository.

Thank you for the fix!

Thank you very much for the reward


Implement a YumLayoutProvider

We need to implement a layout provider which handles the logic of managing Yum (RPM) artifacts. Most of this functionality should be implemented as part of the layout provider.
The code should be located in a class called YumLayoutProvider under strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-yum-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout.
As a reference you can have a look at:

Maven2LayoutProvider
NpmLayoutProvider
NugetLayoutProvider

This is a sub-task of #845 and you should get acquainted with the master task, before proceeding.
Task List
The following classes will need to be implemented:

[x] org.carlspring.strongbox.providers.layout.RpmFileSystem
[x] org.carlspring.strongbox.providers.layout.RpmFileSystemProvider
[ ] org.carlspring.strongbox.providers.layout.RpmLayoutProvider

[ ] Figure out how to implement isArtifactMetadata(RepositoryPath path)
[ ] Figure out how to implement isMetadata(RepositoryPath path)

[x] org.carlspring.strongbox.repository.RpmRepositoryFeatures
[x] org.carlspring.strongbox.repository.RpmRepositoryManagementStrategy
[x] org.carlspring.strongbox.storage.repository.RpmRepositoryFactory

The implementations for the analoguous classes in the strongbox-storage-npm-layout-provider could serve as an example and could be copied with minor modifications.
See Also:

How To Implement Your Own Repository Format

Implemented in #1600 .


drivers: display: reimplementation of micro:bit display, compatible w…

…ith V2
Hello, there is a known need for a driver for the led matrix of the micro:bit V2. Motivated by a discussion in an alternative pull request, which I might link here later, I cleaned up my implementation to some extend.
The current implementation has only (temporarily?) kept the compatibility with the API of mb_display.h, but is a reimplementation from scratch which improves on the original code in several aspects:

It uses a dedicated hardware timer of the Nordic SOC for the display refresh.
display refresh is now one pixel at a time, which has the advantage of yielding homogeneous brightness compared to the line multiplexed driver: the latter is less bright when several leds in the same are on as the current per led goes down (due to electronics). Still, because it is efficiently implemented, the system load of the display when active is estimated as less than 0.5% (I have not measured, though, but looked at the generated assembly code of the ISR).

It also turns out that the pixel oriented code is much simpler and the specific code for V1 (Nrf51822) vs V2 (Nrf52833) is essentially a few tables.
The hardware timer is configurable and so is the interrupt priority. IMHO it can be low as there is little harm when the display is delayed.
Originally, I implemented double buffering, but I finally think, that it is not necessary (there are atomic writes) and I have seen no related artefacts.
Tested it with both V1 and V2. Looking forward to your comments.
Regards,
Peter Niebert

Completely messed up when trying to squash commits. Also, since the file mb_display.c is completely new, the diff does not mean much and you cannot really read it, right? So I will just resubmit the whole thing with a modified filename.

The new pull request is here:
https://github.com/zephyrproject-rtos/zephyr/pull/36280


Implement initial support for source mapping

Dumps a simple source map to a JSON file

This may change a bit when IR lands, but otherwise LGTM. @Dentosal there are some merge conflicts.

cc @sezna for re-review

Blocked by https://github.com/FuelLabs/sway/pull/696

Not completely. This makes good progress towards #70, but some aspects like memory/variable watching are not available with this.


Simplify distinct operator if follows the sorted operator

Let's say we have the following stream pattern...
...
sorted().
distinct().
...

The distinct operator can be simplified.  Instead of putting all of the elements into a Set, the distinct operator only needs to compare to the previous element.
This will reduce the memory usage from O(n) to O(1).

I believe, it's already done in JDK, and we delegate to JDK streams. See https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/stream/DistinctOps.java#L124


Working with Stringly Typed and complex Configuration

Hi all,
I was trying to .netcore project (not aspnet) to use configuration around IConfigurationProvider and IConfigurationSource.
In the first step I started loving it. It is extensible, powerful etc.
Then I tried to do something, from the real life. It means I wanted to use strongly typed complex types. And I was lost in complexity. After more than hour of trying I have given up. At the end I tried to implement custom provider and figured out that whole configuration system is string based.
public void Set(string key, string value)
public bool TryGet(string key, out string value)

It means that making in core string-oriented configuration strongly typed (I saw your references to articles about Options Patterns, Loskop, & Co.). This is all fine, but at the end it is to complicate. (It might just not be finished). All we need is to read/write some properties on some objects.
Don't understand me wrong. The idea is conceptually very good, but implementation seems not to be the best.
Here is my propose:

Change IConfigProv as follows:
public void Set(string key, Object value)
public bool TryGet(string key, out Object value).
In most complex projects we have a single configuration value, which is an instance of complex type. Everything else is a variation of this case. (I.e.: Type has no nested types or it can be a graph)

With this change everybody can write very simple provider, which simply add some properties:
public IConfigurationProvider Build(IConfigurationBuilder builder)
{
builder.Properties.Add("MySetting", new MyCrazyTypeInstance(args));
. . .
}
Btw.
What is the proposed way to configure custom provider? See 'args' above.

Provide method GetValue(string propName) in some of core types (not as Binder extensions).
This method or some new one should simply return (T)Properties["MyCrazyProp"];

To recap:
Providers can manipulate property collection  (similar to OWIN).  It means every provider can add (or even change/remove) config properties.
IConfigurationRoot implementation provides a method GetValue("PropertyName")
This should be a part of netcore and not of aspnet.
Hope this helps.

You can use configuration binding to work with strongly typed objects. You can take a look at this unit test to see how that works:
https://github.com/aspnet/Configuration/blob/759dc9e138342292ec621776a27bf7e12841bbeb/test/Microsoft.Extensions.Configuration.Binder.Test/ConfigurationBinderTests.cs#L87

Providers can manipulate property collection (similar to OWIN). It means every provider can add (or even change/remove) config properties.

Configuration providers are currently designed to be independent. A provider added later in the builder has the ability to override the values of a property. However, it cannot do so based on values returned by previous providers, i.e. there is no real chaining of providers but just a prioritized list of providers.
If this important, feel free to create a new issue and provide more feedback

IConfigurationRoot implementation provides a method GetValue("PropertyName")

Appreciate the feedback, but we chose by design not to have it on the interface. However, it does exist in an extension method.

This should be a part of netcore and not of aspnet.

"Microsoft.Extensions.Configuration" is not part of the AspNetCore namespace


liqoctl: Fix error message on missing kubeconfig

Description
Makes liqoctl print an error message if KUBECONFIG is not set (it currently exits silently).
Fixes #952.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[x] Manual testing

/test

/rebase


feat(setup.mdx): Add Bun.Build to supported bundlers

Related to https://github.com/samchon/typia/pull/1080
I added a guide for Bun.build

@samchon
Thank you so much!
I'll consider it (whether GHS or Open collective) and tell here!

BTW, I'm writing an introduction article of Typia in Japansese.
If you release these bun support soon, I can introduce that easily!


[feature request] Save current project checkpoint for large datasets

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

Save current project checkpoint for large datasets in case need to interrupt the server and client

Describe the solution you'd like

Create a project/task state for the uploaded images and labeling status to avoid lost the checkpoint
Keep the images in the original folder (instead upload), but neet to alert the user to make a backup before editing this folder
Save the downloads to the project folder.

Describe alternatives you've considered
There's no alternatives for now.

Thanks for the feature request. Currently, we save the state of the annotated image based on the annotation types in csv formats. This state is then used with the uploaded image to download the masked or annotated image.
If there's any interruption on the server or client side, we can restart the servers, and they will resume from the last saved state. However, one limitation is that it won't display the last annotated image; instead, it will start from the beginning. I can work on fixing this issue.


add insert_graphic method

method allows the insertion of a graphic at a given position and z_level in self.graphics
will help me solve my ImageWidget of changing shapes in set_data()

not sure if this is what you meant, but it reduces the redundancy

tests failing, I guess something weird with storing the pointer of a LineCollection? Because that example adds a LinearSelector to a Line first, but it's failing later when it gets to adding a LinearSelector to a LineCollection: https://github.com/kushalkolar/fastplotlib/actions/runs/5283472036/jobs/9559793064?pr=225#step:9:100


ellipsis dont show on overflow

I'm submitting a ...  (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here

Current behavior
When the data of a column overflows it truncates the data
Expected behavior
the CSS on the column has this
       overflow: hidden;     white-space: nowrap;     text-overflow: ellipsis;
So i would assume i would see an ellipsis.
Reproduction of the problem
I believe this is the issue:
datatable-body-cell  has the style above, then
has a slightly smaller size.  then finally we have a span that overflows.
Therefore due to the extra layer between the style and the overflow content we dont get the ellipsis.
What is the motivation / use case for changing the behavior?
Want the user to know they are not seeing all the content.
Or if you can wrap the text I would be good with this option too.
Please tell us about your environment:
na

Table version: 0.7.x
primeng 2.0.4

Angular version: 2.0.x
@angular/common: 2.4.10
@angular/compiler: 2.4.10
@angular/core: 2.4.10
@angular/flex-layout: 2.0.0-rc.1
@angular/forms: 2.4.10
@angular/http: 2.4.10
@angular/material: 2.0.0-beta.2
@angular/platform-browser: 2.4.10
@angular/platform-browser-dynamic: 2.4.10
@angular/router: 3.4.10
@angular/cli: 1.0.0-rc.4
@angular/compiler-cli: 2.4.10

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
Have only tested chrome

Language: TypeScript

@tmburnell your html code has been eaten by Markdown.
also, not to divert this thread, but the issue also affect headers, column title gets truncated when it is too long (and the sort arrow is then hidden as well).

overflow: hidden; white-space: nowrap; text-overflow: ellipsis; width: 100%; has to be applied to the element that wraps inline elements.
Truncation feels like a bad choice for headers though.

Should I add the style myself to the inner div, or will this be something that will be upgraded?

I see the truncation work just fine.
@amcdnl, I believe this should be closed.
@tmburnell, please give an example with a plunker if you are having issues.

This is easily reproducible using Swimlane's own 10k rows demo. Just adjust the columns to be narrower and voila. Apply the fix I specified to a single cell and ellipsis shows and disappears when column is expanded. On Chrome.

https://plnkr.co/edit/L1IlJScNjEdQTGarzanm
look at the second column

@tmburnell - make a PR plz.

any update on this guys?

Below is what I used to fix the issue in my project ... However it has side effects that might not be wanted by some users.  So I did not plan on making a PR.   As you can see in this screen shot the sort arrow gets pushed to the end of the cell instead of being next to the word.  I am not sure you can have both (the sort arrow next to the word and the ellipsis.  So maybe we add a class to make them work but you have to flag you want it.

ngx-datatable.material {
    // fix ellipsis on header
    datatable-header-cell {
	* {
	    width: 100%
	}

	span {
	    display: inline-block;

	    span {
		display: inline-block;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	    }
	}
    }

    // fix ellipsis on cells
    .datatable-body-cell-label {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 100%;
    }
}


PT Lifetime Maximum (Balance) File Import

Related to #1749
User Story
As a Part-Time student, I want SIMS to be aware of my outstanding loan balance with NSLSC so that this balance can be considered as part of my Part-Time assessment.
Acceptance Criteria*

[ ]  Read-in the Monthly Loan Balance received monthly via flat file from NSLSC (PEDU.PBC.PT.MBAL.yyyymmdd.001)
[ ]  Relevant fields to extract from report are:
"10 PTMB-DTL-BALANCE" (Row 16)
"10 PTMB-HDR-MONTH-END-DATE" (Row 10) - This corresponds to the 'date' displayed through UI
[ ] Detect 'match' between students in report and in SIMS if ALL following fields are a match:
"10 PTMB-DTL-SIN" (Row 14).
"10 PTMB-DTL-LAST-NAME" (Row 17)
"10 PTMB-DTL-BIRTH-DATE" (Row 19)
[ ] Confirm number of records in the file matches the expected based on trailer information.

Context:

Seperate ticket will handle the incorporation of monthly amounts into the assessment calcs
If re-assessment occurs, do not read in the monthly balance again. Just rely on the amount already logged the previous month.
If student submits multiple applications within a single month, BOTH applications will use the same monthly loan balance per the federal file. This will likely result in student being overfunded, and getting rejected.
if e-cert gets rejected, Ministry will just trigger a re-assessment of the student to regenerate new eCert, presumably which also reflects the updated loan balance.
And additional enhancement to this feature MAY be added post-launch which provides an additional check at eCert time to ensure student's loan does not exceed the lifetime balance. Decision TBD.

File Specifications
PT Montly Balance File Layout.xlsx
Sample File
This file has been sanitized to replace SINs with dummy numbers, and remove 95% of the records. Please IGNORE the trailer record, as it reflects the trailer for the original file with many more records.
PTMBAL.txt
Technical Context

[ ] Create a new scheduler to be executed once a day to process the file. Follow the most recent and updated scheduler pattern for coding.
[ ] Create a table sims.student_loan_balances with columns as below.

id
student_id
csl_balance
balance_date
and the other default audit columns.

[ ] Read the flat file similar to cra-income-verification and populate the above table.
[ ] File expected to be under MSFT-Response folder (double check with business).
[ ] File name is expected to be PEDU.PBC.PT.MBAL.yyyymmdd.001 where the P stands for the environment.
[ ] Validations to be done when the file is read.

The number of records should match the trailer record count.
Check for record type. The header is 0 and the footer is 9.
If some of the above failed, abort the file processing.

[ ] Validation for the record data (date and balance number)

Validate if the balance is a valid number (check existing similar validations).
Validate if the date is a valid date (check existing similar validations).
If some of the above failed, abort the file processing.

[ ] Matching of the student is done by the below criteria (case insensitive).

SIN -> student current sin from sin_validations table -> true
Last Name -> users.last_name
Birthdate - >students.birth_date
[ ] If no records match, then skip and move to the next record.

[ ] If successfully processed, delete the file. If the process is aborted at any time, do not delete the file.
[ ] If more than one file exists process them all sequentially ordered by name.
[ ] E2E tests.

@CarlyCotton the question will not directly impact this ticket but it will be necessary to understand the logic when consuming the data.
What the file will contain when the student has no balance anymore?

Would the file contain only students with a balance greater than zero or would the student be present in the file with a "zero balance" record?

@andrewsignori-aot

What the file will contain when the student has no balance anymore?
Would the file contain only students with a balance greater than zero or would the student be present in the file with a "zero balance" record?
No 0 balance records are expected on the file. I expect we'd have many many more records on the monthly file if we had 0s.

would the match using the DOB, last name, and SIN change somehow for this import also?
We want to only keep when it matches all 3. The partial match is only relevant for when we initially import legacy info to a new SIMS profile.

@andrewsignori-aot

What the file will contain when the student has no balance anymore?
Would the file contain only students with a balance greater than zero or would the student be present in the file with a "zero balance" record?

No 0 balance records are expected on the file. I expect we'd have many many more records on the monthly file if we had 0s.

would the match using the DOB, last name, and SIN change somehow for this import also?

We want to only keep when it matches all 3. The partial match is only relevant for when we initially import legacy info to a new SIMS profile.

Regarding the zero balance, should we check if the student is not present in the most recent one then we assume that it is zero?

@andrewsignori-aot  Yes, we can assume monthly balance is 0 if no balance exists on the report for a student. This lack of balance can also be displayed in UI as $ 0

@guru-aot Added the new sample file to the ticket: TEDU.PBC.PT.MBAL.20240331.001