Neueste /dev (1.5.2024) installiert: Fehlermeldungen "fehlende DPs"

Describe the bug
Alle 15 - 20 Sekunden Fehlermeldungen über fehlende Datenpunkte
To Reproduce
Steps to reproduce the behavior:
Ich muss nur den Adapter starten und ca. 20 Sekunden warten, dann gehts los.
Expected behavior
Keine Fehlermeldungen :-)
Screenshots & Logfiles
roborock.0 | 2024-05-01 22:02:31.868 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.rdt" has no  existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:31.866 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.camera_status"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:31.865 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:31.777 | warn | State  "roborock.0.Devices.5kt1jy0ATJPgji5k0hJAZg.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:16.908 | warn | State  "roborock.0.Devices.5kt1jy0ATJPgji5k0hJAZg.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:16.811 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.rdt" has no  existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:16.789 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.camera_status"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:16.788 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:01.834 | warn | State  "roborock.0.Devices.5kt1jy0ATJPgji5k0hJAZg.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:01.820 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.rdt" has no  existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:01.805 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.camera_status"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:02:01.804 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:46.926 | warn | State  "roborock.0.Devices.5kt1jy0ATJPgji5k0hJAZg.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:46.830 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.rdt" has no  existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:46.807 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.camera_status"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:46.804 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:31.913 | warn | State  "roborock.0.Devices.5kt1jy0ATJPgji5k0hJAZg.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:31.812 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.rdt" has no  existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:31.793 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.camera_status"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:31.790 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:16.892 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.rdt" has no  existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:16.847 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.camera_status"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:16.846 | warn | State  "roborock.0.Devices.4Si5s3DNcsl0ATAl8e5UdI.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions
roborock.0 | 2024-05-01 22:01:16.750 | warn | State  "roborock.0.Devices.5kt1jy0ATJPgji5k0hJAZg.deviceStatus.distance_off"  has no existing object, this might lead to an error in future versions

Versions:

Adapter version: 0.6.4 /dev am 1.5.2024 installiert
JS-Controller version: v5.0.19
Node version: v18.19.1
Operating system: linux lts 22.04

Additional context
Device 5kt...... roborock.vacuum.a38   Q7 Max+
Device 4Si...... roborock.vacuum.a75   Q Revo
Wenn du noch mehr Infos / Logs , etc. benötigst gib Bescheid...

Bist du so nett in fügst hier dein HomeData hinzu?

So, hier nun mein "HomeData".
Hoffe es hilft:
{"id":4521038,"name":"Weber Home","lon":null,"lat":null,"geoName":null,"products":[{"id":"7kamVau2Xpgoj0dCdS7230","name":"Roborock Q7 Max","model":"roborock.vacuum.a38","iconUrl":null,"attribute":null,"capability":0,"category":"robot.vacuum.cleaner","schema":[{"id":"101","name":"rpc_request","code":"rpc_request","mode":"rw","type":"RAW","property":null,"desc":null},{"id":"102","name":"rpc_response","code":"rpc_response","mode":"rw","type":"RAW","property":null,"desc":null},{"id":"120","name":"错误代码","code":"error_code","mode":"ro","type":"ENUM","property":"{\"range\": []}","desc":null},{"id":"121","name":"设备状态","code":"state","mode":"ro","type":"ENUM","property":"{\"range\": []}","desc":null},{"id":"122","name":"设备电量","code":"battery","mode":"ro","type":"ENUM","property":"{\"range\": []}","desc":null},{"id":"123","name":"清扫模式","code":"fan_power","mode":"rw","type":"ENUM","property":"{\"range\": []}","desc":null},{"id":"124","name":"拖地模式","code":"water_box_mode","mode":"rw","type":"ENUM","property":"{\"range\": []}","desc":null},{"id":"125","name":"主刷寿命","code":"main_brush_life","mode":"rw","type":"VALUE","property":"{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": null, \"scale\": 1}","desc":null},{"id":"126","name":"边刷寿命","code":"side_brush_life","mode":"rw","type":"VALUE","property":"{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": null, \"scale\": 1}","desc":null},{"id":"127","name":"滤网寿命","code":"filter_life","mode":"rw","type":"VALUE","property":"{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": null, \"scale\": 1}","desc":null},{"id":"128","name":"额外状态","code":"additional_props","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"130","name":"完成事件","code":"task_complete","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"131","name":"电量不足任务取消","code":"task_cancel_low_power","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"132","name":"运动中任务取消","code":"task_cancel_in_motion","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"133","name":"充电状态","code":"charge_status","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"134","name":"烘干状态","code":"drying_status","mode":"ro","type":"RAW","property":null,"desc":null}]},{"id":"ldHlB6hwVPMvdm6AdkxJv","name":"Roborock Qrevo","model":"roborock.vacuum.a75","iconUrl":null,"attribute":null,"capability":0,"category":"robot.vacuum.cleaner","schema":[{"id":"101","name":"rpc_request","code":"rpc_request","mode":"rw","type":"RAW","property":null,"desc":null},{"id":"102","name":"rpc_response","code":"rpc_response","mode":"rw","type":"RAW","property":null,"desc":null},{"id":"120","name":"错误代码","code":"error_code","mode":"ro","type":"ENUM","property":"{\"range\": [\"\"]}","desc":null},{"id":"121","name":"设备状态","code":"state","mode":"ro","type":"ENUM","property":"{\"range\": [\"\"]}","desc":null},{"id":"122","name":"设备电量","code":"battery","mode":"ro","type":"ENUM","property":"{\"range\": [\"\"]}","desc":null},{"id":"123","name":"清扫模式","code":"fan_power","mode":"rw","type":"ENUM","property":"{\"range\": [\"\"]}","desc":null},{"id":"124","name":"拖地模式","code":"water_box_mode","mode":"rw","type":"ENUM","property":"{\"range\": [\"\"]}","desc":null},{"id":"125","name":"主刷寿命","code":"main_brush_life","mode":"rw","type":"VALUE","property":"{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": \"null\", \"scale\": 1}","desc":null},{"id":"126","name":"边刷寿命","code":"side_brush_life","mode":"rw","type":"VALUE","property":"{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": \"null\", \"scale\": 1}","desc":null},{"id":"127","name":"滤网寿命","code":"filter_life","mode":"rw","type":"VALUE","property":"{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": \"null\", \"scale\": 1}","desc":null},{"id":"128","name":"额外状态","code":"additional_props","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"130","name":"完成事件","code":"task_complete","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"131","name":"电量不足任务取消","code":"task_cancel_low_power","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"132","name":"运动中任务取消","code":"task_cancel_in_motion","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"133","name":"充电状态","code":"charge_status","mode":"ro","type":"RAW","property":null,"desc":null},{"id":"134","name":"烘干状态","code":"drying_status","mode":"ro","type":"RAW","property":null,"desc":null}]}],"devices":[{"duid":"5kt1jy0ATJPgji5k0hJAZg","name":"J.A.R.V.I.S","attribute":null,"activeTime":1703226476,"localKey":"pEXoK6R9hdS8Eoxg","runtimeEnv":null,"timeZoneId":"Europe/Berlin","iconUrl":"","productId":"7kamVau2Xpgoj0dCdS7230","lon":null,"lat":null,"share":false,"shareTime":null,"online":true,"fv":"02.09.18","pv":"1.0","roomId":null,"tuyaUuid":null,"tuyaMigrated":false,"extra":"{}","setting":null,"sn":"R28EHS20902854","featureSet":"347440152772095","newFeatureSet":"0000000000000040","deviceStatus":{"120":0,"121":8,"122":100,"123":102,"124":203,"125":75,"126":63,"127":50,"128":0,"133":1},"silentOtaSwitch":false,"f":false},{"duid":"4Si5s3DNcsl0ATAl8e5UdI","name":"F.R.I.D.A.Y","attribute":null,"activeTime":1701809671,"localKey":"q72zeng3nPjDNVy1","runtimeEnv":null,"timeZoneId":"Europe/Berlin","iconUrl":"","productId":"ldHlB6hwVPMvdm6AdkxJv","lon":null,"lat":null,"share":false,"shareTime":null,"online":true,"fv":"02.18.30","pv":"1.0","roomId":null,"tuyaUuid":null,"tuyaMigrated":false,"extra":null,"setting":null,"sn":"R62MES33801727","featureSet":"2238601361260543","newFeatureSet":"1000004008DEFFFE","deviceStatus":{"120":0,"121":8,"122":100,"123":102,"124":202,"125":92,"126":69,"127":84,"128":0,"133":1,"134":0},"silentOtaSwitch":false,"f":false}],"receivedDevices":[],"rooms":[{"id":15575357,"name":"Treppe"},{"id":15575279,"name":"Max"},{"id":15575277,"name":"Schlafzimmer"},{"id":15575273,"name":"Zoe"},{"id":15575268,"name":"Badezimmer"},{"id":12866239,"name":"Gästebad"},{"id":12866083,"name":"Küche1"},{"id":12866080,"name":"Flur"},{"id":12827157,"name":"Flur EG"},{"id":12827153,"name":"Esszimmer"},{"id":12827149,"name":"Wohnzimmer"},{"id":12827142,"name":"Küche"}]}

Danke. Ich glaube, ich konnte jetzt einiges in Bezug der Erkennung, welche Kamerafunktionen und Mikrofonfunktionen unterstützt werden verbessern. In der neuen dev sind die Änderungen einbaut, würdest du das mal testen? https://github.com/copystring/ioBroker.roborock/tree/dev

Krass :-)
Nach einem kurzen crash nach dem Update, startete der Adapter neu.
-> Nun kam vereinzelnd noch folgende Meldungen:

Aber nun läuft er störungsfrei, ohne DP Meldungen, das DPs fehlen.... das ist doch schon mal was :-D
-> Ober diese Version alles andere auch normal durch führt würde ich über den Tag feststellen, wenn meine Scripte anlaufen...

Soweit bist jetzt aber keine "Meldung" mehr ..... TOP !!

Gern. Wenn alles läuft, bitte auf close hier im Issue drücken. Danke!

Kein Problem, ich berichte morgen Abend :-)
-> Dann weiß ich mehr und natürlich mache ich dann auch das Issue zu ;-)
lg Micha

Aaaalsooo:

Keine Fehlermeldungen heute über den Tag
Jede Stunde eine MQTT disconnect / reconnect (das ja normal)
Blockly Scripte funktionieren normal mit den von mir verwendeten DPs
(Raumreinigung starten, CleaningInfosJSON, Sprachsteuerung, etc.)

Einzige Fehlermeldung die heute Abend kam, nachdem meine Frau am Q7 Max+ war:
`

roborock.0 | 2024-05-06 20:06:05.083 | error | Failed  to execute get_map_v1 on robot 5kt1jy0ATJPgji5k0hJAZg TypeError: The  "chunk" argument must be of type string or an instance of Buffer or  Uint8Array. Received an instance of Array    at new NodeError  (node:internal/errors:405:5)    at _write  (node:internal/streams/writable:315:13)    at Gzip.Writable.end  (node:internal/streams/writable:612:17)    at zlibBuffer  (node:zlib:128:10)    at Object.asyncBufferWrapper [as gzip]  (node:zlib:817:12)    at vacuum.getMap  (/opt/iobroker/node_modules/iobroker.roborock/lib/vacuum.js:67:10)    at  processTicksAndRejections (node:internal/process/task_queues:95:5)
-- | -- | -- | --

`
Ich denke das können wir aber auf eine "Frauenfehlbedienung" zurückführen :-D
-> Insofern: DANKE fürs fixen, meinetwegen kann du die /dev freigeben.
Falls noch was sein sollte, lass es mich wissen :-)
-> Ich mache den Issue dann jetzt zu ...


Change content in remark forms occur error

When I modify the content in remark forms. There is frequent occur this error.Refresh is fine and value also changed. (Even I create a new sample project. It's also happened)
react-beautiful-dnd
An error has occurred while a drag is occurring.
Any existing drag will be cancelled.
> Uncaught useRemarkForm(markdownRemark) 'markdownRemark' was not found on the top node of the graphql query

Hi, is the sample project public so we can reproduce this easily? 🙏

Hi, is the sample project public so we can reproduce this easily? 🙏

Yes. I just fast input character in text-area field. Sometimes it happens. But for mine project, It's frequent.

Hey @Sampangpang thanks for the report!
We haven't seen this issue for a while. Could you provide some more information to help us track it down?
Run the following command to get the list of tinacms-package versions in your node_modules:
npm ls | grep tinacms | grep -v deduped

Also, please add as much information about your environment as possible:

Tool
Version

os

node

npm

Maybe how much RAM is in your machine as well.

$ npm ls | grep tinacms | grep -v deduped
<EMAIL_ADDRESS>D:\projects\video_wall
+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>
os:       win10
node:   v12.13.1
npm:    6.12.1
RAM:   16GB
Full Error Info:
react-beautiful-dndAn error has occurred while a drag is occurring.Any existing drag will be cancelled.> Uncaught useRemarkForm(markdownRemark) 'markdownRemark' was not found on the top node of the graphql query1. Check if the 'markdownRemark' attribute is included in the GraphQL query. For example:export const pageQuery = graphql`query BlogPostBySlug($slug: String!) {markdownRemark(fields: { slug: { eq: $slug } }) {...TinaRemark// etc...}}2. If you are using an alias, For example:export const pageQuery = graphql`query BlogPostBySlug($slug: String!) {markdownRemark: markdownRemark(fields: { slug: { eq: $slug } }) {...TinaRemark// etc...}}then you can optionally use the 'queryName' option to specify a new property in place of 'markdownRemark':export const remarkForm(BlogPostTemplate, { queryName: markdownRemark })`👷 This is a development only message. It will be removed in production builds.
__stack_frame_overlay_proxy_console__ @ index.js:2177
index.js:2177 raw ErrorEvent
__stack_frame_overlay_proxy_console__ @ index.js:2177
index.js:1 Uncaught useRemarkForm(markdownRemark) 'markdownRemark' was not found on the top node of the graphql query

1. Check if the 'markdownRemark' attribute is included in the GraphQL query. For example:

export const pageQuery = graphql`
  query BlogPostBySlug($slug: String!) {
    markdownRemark(fields: { slug: { eq: $slug } }) {
      ...TinaRemark
      // etc...
    }
 }

2. If you are using an alias, For example:

   export const pageQuery = graphql`
     query BlogPostBySlug($slug: String!) {
       markdownRemark: markdownRemark(fields: { slug: { eq: $slug } }) {
          ...TinaRemark
       // etc...
       }
    }

  then you can optionally use the 'queryName' option to specify a new property in place of 'markdownRemark':

    export const remarkForm(BlogPostTemplate, { queryName: markdownRemark })
`

index.js:2177 The above error occurred in the <Component> component:
    in Component (created by HotExportedComponent)
    in AppContainer (created by HotExportedComponent)
    in HotExportedComponent (created by PageRenderer)
    in PageRenderer (at json-store.js:93)
    in JSONStore (at root.js:51)
    in RouteHandler (at root.js:73)
    in div (created by FocusHandlerImpl)
    in FocusHandlerImpl (created by Context.Consumer)
    in FocusHandler (created by RouterImpl)
    in RouterImpl (created by Context.Consumer)
    in Location (created by Context.Consumer)
    in Router (created by EnsureResources)
    in ScrollContext (at root.js:64)
    in RouteUpdates (at root.js:63)
    in EnsureResources (at root.js:61)
    in LocationHandler (at root.js:119)
    in LocationProvider (created by Context.Consumer)
    in Location (at root.js:118)
    in Root (at root.js:126)
    in div (created by Context.Consumer)
    in StyledComponent (created by styled.div)
    in styled.div
    in Unknown
    in _default (at app.js:67)

React will try to recreate this component tree from scratch using the error boundary you provided, AppContainer.
__stack_frame_overlay_proxy_console__ @ index.js:2177
index.js:2177 useRemarkForm(markdownRemark) 'markdownRemark' was not found on the top node of the graphql query

1. Check if the 'markdownRemark' attribute is included in the GraphQL query. For example:

export const pageQuery = graphql`
  query BlogPostBySlug($slug: String!) {
    markdownRemark(fields: { slug: { eq: $slug } }) {
      ...TinaRemark
      // etc...
    }
 }

2. If you are using an alias, For example:

   export const pageQuery = graphql`
     query BlogPostBySlug($slug: String!) {
       markdownRemark: markdownRemark(fields: { slug: { eq: $slug } }) {
          ...TinaRemark
       // etc...
       }
    }

  then you can optionally use the 'queryName' option to specify a new property in place of 'markdownRemark':

    export const remarkForm(BlogPostTemplate, { queryName: markdownRemark })
`

__stack_frame_overlay_proxy_console__ @ index.js:2177
index.js:2177 react-beautiful-dndAn error has occurred while a drag is occurring.Any existing drag will be cancelled.> Uncaught useRemarkForm(markdownRemark) 'markdownRemark' was not found on the top node of the graphql query1. Check if the 'markdownRemark' attribute is included in the GraphQL query. For example:export const pageQuery = graphql`query BlogPostBySlug($slug: String!) {markdownRemark(fields: { slug: { eq: $slug } }) {...TinaRemark// etc...}}2. If you are using an alias, For example:export const pageQuery = graphql`query BlogPostBySlug($slug: String!) {markdownRemark: markdownRemark(fields: { slug: { eq: $slug } }) {...TinaRemark// etc...}}then you can optionally use the 'queryName' option to specify a new property in place of 'markdownRemark':export const remarkForm(BlogPostTemplate, { queryName: markdownRemark })`👷 This is a development only message. It will be removed in production builds.
__stack_frame_overlay_proxy_console__ @ index.js:2177
index.js:2177 raw ErrorEvent
__stack_frame_overlay_proxy_console__ @ index.js:2177
react-hot-loader.development.js:2406 Uncaught useRemarkForm(markdownRemark) 'markdownRemark' was not found on the top node of the graphql query

1. Check if the 'markdownRemark' attribute is included in the GraphQL query. For example:

export const pageQuery = graphql`
  query BlogPostBySlug($slug: String!) {
    markdownRemark(fields: { slug: { eq: $slug } }) {
      ...TinaRemark
      // etc...
    }
 }

2. If you are using an alias, For example:

   export const pageQuery = graphql`
     query BlogPostBySlug($slug: String!) {
       markdownRemark: markdownRemark(fields: { slug: { eq: $slug } }) {
          ...TinaRemark
       // etc...
       }
    }

  then you can optionally use the 'queryName' option to specify a new property in place of 'markdownRemark':

    export const remarkForm(BlogPostTemplate, { queryName: markdownRemark })
`

index.js:2177 The above error occurred in the <AppContainer> component:
    in AppContainer (created by HotExportedComponent)
    in HotExportedComponent (created by PageRenderer)
    in PageRenderer (at json-store.js:93)
    in JSONStore (at root.js:51)
    in RouteHandler (at root.js:73)
    in div (created by FocusHandlerImpl)
    in FocusHandlerImpl (created by Context.Consumer)
    in FocusHandler (created by RouterImpl)
    in RouterImpl (created by Context.Consumer)
    in Location (created by Context.Consumer)
    in Router (created by EnsureResources)
    in ScrollContext (at root.js:64)
    in RouteUpdates (at root.js:63)
    in EnsureResources (at root.js:61)
    in LocationHandler (at root.js:119)
    in LocationProvider (created by Context.Consumer)
    in Location (at root.js:118)
    in Root (at root.js:126)
    in div (created by Context.Consumer)
    in StyledComponent (created by styled.div)
    in styled.div
    in Unknown
    in _default (at app.js:67)

React will try to recreate this component tree from scratch using the error boundary you provided, LocationProvider.
__stack_frame_overlay_proxy_console__ @ index.js:2177
index.js:83 Uncaught useRemarkForm(markdownRemark) 'markdownRemark' was not found on the top node of the graphql query

1. Check if the 'markdownRemark' attribute is included in the GraphQL query. For example:

export const pageQuery = graphql`
  query BlogPostBySlug($slug: String!) {
    markdownRemark(fields: { slug: { eq: $slug } }) {
      ...TinaRemark
      // etc...
    }
 }

2. If you are using an alias, For example:

   export const pageQuery = graphql`
     query BlogPostBySlug($slug: String!) {
       markdownRemark: markdownRemark(fields: { slug: { eq: $slug } }) {
          ...TinaRemark
       // etc...
       }
    }

  then you can optionally use the 'queryName' option to specify a new property in place of 'markdownRemark':

    export const remarkForm(BlogPostTemplate, { queryName: markdownRemark })
`

index.js:2177 The above error occurred in the <LocationProvider> component:
    in LocationProvider (created by Context.Consumer)
    in Location (at root.js:118)
    in Root (at root.js:126)
    in div (created by Context.Consumer)
    in StyledComponent (created by styled.div)
    in styled.div
    in Unknown
    in _default (at app.js:67)

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://fb.me/react-error-boundaries to learn more about error boundaries.
__stack_frame_overlay_proxy_console__ @ index.js:2177
react-dom.development.js:12212 Uncaught useRemarkForm(markdownRemark) 'markdownRemark' was not found on the top node of the graphql query

1. Check if the 'markdownRemark' attribute is included in the GraphQL query. For example:

export const pageQuery = graphql`
  query BlogPostBySlug($slug: String!) {
    markdownRemark(fields: { slug: { eq: $slug } }) {
      ...TinaRemark
      // etc...
    }
 }

2. If you are using an alias, For example:

   export const pageQuery = graphql`
     query BlogPostBySlug($slug: String!) {
       markdownRemark: markdownRemark(fields: { slug: { eq: $slug } }) {
          ...TinaRemark
       // etc...
       }
    }

  then you can optionally use the 'queryName' option to specify a new property in place of 'markdownRemark':

    export const remarkForm(BlogPostTemplate, { queryName: markdownRemark })
`

Mine graphql query is:
export const pageQuery = graphql`
query {
  markdownRemark (
    fields: {
      slug: {
        regex: "/home/"
      }
    }
  )
  {
    html
    fileRelativePath
    rawFrontmatter
    rawMarkdownBody
    frontmatter {
      title
      displayWeatherPanle
      news_api
      region_stock_api
      regionstock_appid
      regionstock_username
      regionstock_password
      city_code
      video_link
      video_replay
      video_replay_interval
      video_timing_switch
      video_timing
      stocklist_api
      stocklist_username
      stocklist_password
      cover_image {
        childImageSharp {
          fluid {
            src
          }
        }
      }
    }
  }
}
`

Awesome! Thanks a lot. That’s quite helpful. Hopefully someone gets a chance to check this out soon.

so i came across this recently while working on it, and solved it by setting TINA_GIT_DEBOUNCE_MS=5000 instead. updating to the latest version of tinacms didn't help in my case. just putting it out here in case it helps.


Fixed config.sample + index.js - setTarget

Fixed the config.json to show only what needed: username, password, immediately & body are not required.
Fixed index.js to update the current state in the home app immediately.

I like some of your changes (especially with defaulting stuff to empty string) but I wouldn't remove config examples from the config file. You may not need auth but I do need it for node-red.
You also removed the possibility to use different URLs to read the target state and the current state. In previous comments users were asking for this differentiation specifically. I think they should stay separate. You can use the same URL for both of them if you want.
I also see that you changed getTargetState to read from readCurrentState.url, which I guess is working fine for you, as you are using config.read for both the target and the current, but still looks like a bug to me.

you can change everything back to how it was, put the auth in the config (though I did separated it so you can still use it but outside the auth object. so you can still use the auth you need.
the set target set that reads from the currentState can be changed as well without a a problem.
the missing part of your code that appear in mine is this:
self.securityService.setCharacteristic(Characteristic.SecuritySystemCurrentState, state);
this is what makes the home app updated after changing the state.
I will clean it up so it will be more as you wanted, than you can update it.

ok I did the cleanup, it should be as you wanted it, with the fix in place as well


Monitoring start and end times

Adds a dateTimeField component, that takes date and time values to generate a datetime.
The dateTimeField is used in the monitoring conditions page to capture the order start and end datetimes.
The monitoring conditions page is refactored. It's more modular, with models for forms and validation moved to separate directories.
Validation of order start and end times, and other fields in the monitoring conditions page, is performed on the frontend using Zod in the first instance. Backend validation errors are still handled correctly once frontend validation errors have been resolved.
Tests are updated.

Along with the changes requested in the comments, the following changes have been made:

Obsolete startTime & endTime properties in test files have been removed.
Handling of dateTime validation errors has been improved. Their rendering in the dateTimeInput template has also been improved.


exclude-from-classmap in autoload

Hi, first of all I want to say thank you for this awesome tool!
I found that in composer.json autoload section there is a section "exclude-from-classmap" that can be helpfull to exclude tests for example.
Is it possible to add this logic to this tool?
I work with legacy project and in my case some tests is in subfolder Test of project feature folders.
Example
MyProject\Library\FeatureXyz
MyProject\Library\FeatureXyz\Tests\

It is theoretically possible to implement, but you can use $config->addPathToExclude(__DIR__ . '/Feature/tests') even now to achieve the same thing.

addPathToExclude

As I can see it's not support any patterns matching, in my scenario I have 100 folders like this :-)

You can easily do some glob within the php config file, we are doing the same thing:
$config->addPathsToExclude(\Webmozart\Glob\Glob::glob(__DIR__ . '/bin/*.php'));


Fix outdated regression from cc355865

Refactoring of @lucasmazza fix w/ specs.
The only existing spec coverage was essentially integration level and
there was no way either @lucasmazza or myself could find a way to
simulate the bug context.
I extracted some of the code out of outdated into Definition and
SpecSet and added unit specs to those extracted bits.
Fixes #4979

@lucasmazza your feedback is welcome ... I think this gets us the test coverage we need.

@chrismo this looks great, and thanks a ton for taking this over :)

@indirect can haz @homu?

@chrismo hey so good news! I finally finished putting up our own Homu at @bundlerbot, and he knows to listen to you! try it out by saying r+ at the bot. 😁  You can also see the bot UI and instructions at http://bundlerbot-homu.herokuapp.com.
:tada:

(omg I put the bot name and r+ in the same comment :joy: sorry, next time though!)

Oh man, even weirder. I accidentally activated try mode, which we never normally even use. Go ahead and r+ yourself, @chrismo. :)

@bundlerbot r+

there's an outstanding homu check that I think is gumming up the works. Going to close and make a separate PR.

See #5176


Sample code for using ArabicTokenizer

Sergey, i did my best to understand how to use the ArabicTokenizer, you can see my try in the following code. i hope to check it and see if this is the best way of use.
i am also trying to set the parameters in the main method, but it doesn't seem to work at all. for example it neither removes the diacritics nor removingTatweel.
       ArabicTokenizer.main(new string[] { "normArDigits", "normAlif", "normYa", "removeDiacritics", "removeTatweel", "removeProMarker", "removeSegMarker", "removeMorphMarker", "removeLengthening", "atbEscaping" });
        string s = textBox2.Text;
        java.io.StringReader sr = new StringReader(s);
        ArabicTokenizer tokenizer = new ArabicTokenizer(sr, new edu.stanford.nlp.process.WordTokenFactory(), new java.util.Properties());

        java.util.List al = tokenizer.tokenize();
        int size = al.size();
        string container = "";
        for (int i = 0; i < size; i++)
        {
           Word w = (Word)al.get(i);
           container = container + " ^ " + w.word();
        }
        textBox1.Text = container;

As I understand you need Stanford Word Segmenter that is designed for tokenization of Arabic and  Chinese languages.
Here you can find C#/F# samples for Stanford Word Segmenter for .NET
Is it what you are trying to do?

I tried Stanford Word Segmenter, as its name implies, it is dividing the raw text to segments ( sentences ) depending on a training set which need so many ram and cpu resources as i noticed since it is using Machine Learning.
Later on,I noticed that Stanford has included another tool called: Arabic Tokenizer
which is a straightforward algorithm for dividing raw Arabic text to tokens ( words ) . so i think my need is the Tokenizer (to words) instead of the Segmenter (to sentences).
My question is, do have any idea how to use the Tokenizer? especially how to set the parameters to vary its functionality ..

Please try following sample
using System;
using edu.stanford.nlp.international.arabic.process;
using edu.stanford.nlp.ling;
using edu.stanford.nlp.util;
using java.io;

namespace CoreNLPArabic
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "جامعة الدول العربية هي منظمة تضم دولا في الشرق الأوسط وأفريقيا";

            var parameters =
                new[]
                {
                    "normArDigits", "normAlif", "normYa", "removeDiacritics", "removeTatweel", "removeProMarker",
                    "removeSegMarker", "removeMorphMarker", "removeLengthening", "atbEscaping"
                };
            var tokenizerOptions = StringUtils.argsToProperties(parameters);
            var tf = tokenizerOptions.containsKey("atb")
                ? ArabicTokenizer.atbFactory()
                : ArabicTokenizer.factory();

            foreach (String option in tokenizerOptions.stringPropertyNames().toArray())
            {tf.setOptions(option);}
            tf.setOptions("tokenizeNLs");

            int nLines = 0;
            int nTokens = 0;
            var tokenizer = tf.getTokenizer(new StringReader(s));
            var printSpace = false;
            const string NEWLINE_TOKEN = "*NL*";
            while (tokenizer.hasNext()) {
              ++nTokens;
              var next = tokenizer.next() as CoreLabel;
              String word = next.word();
              if (word.Equals(NEWLINE_TOKEN)) {
                ++nLines;
                printSpace = false;
                System.Console.WriteLine();
              } else {
                if (printSpace) System.Console.Write(" ");
                System.Console.Write(word);
                printSpace = true;
              }
            }
            System.Console.WriteLine("\nDone! Tokenized %d lines (%d tokens)%n", nLines, nTokens);

        }
    }
}

Unfortunately, it didn't work.
Obviously the tokenizer is not recognizing any of the options you provided in the code
this is my try, the red words are what is expected after taking the options in consideration

maybe there is still something required to get everything works properly.
given the following input:
جامعةُ الدُوَلِ العـــــــــربية هي منظمة تضم دولا في الشرق الأوسط وأفريقيا
the expected output is:
جامعة الدول العربية هي منظمة تضم دولا في الشرق الاوسط وافريقيا
i hope you could fix the code as soon as possible because i need it in my graduation project
thanks in advance

@alismart Sorry, I have no ideas.
Could you try Java version? Would be nice to know if it is work as you expected or not.

in your script program,replace this line scripte    "foreach (String option in tokenizerOptions.stringPropertyNames().toArray())"     with this one     "foreach (String option in parameters)"  .  And the output text wil be as you hope (fine). with out Tatweel . . .

Fixed code , Try it
using System;
using edu.stanford.nlp.international.arabic.process;
using edu.stanford.nlp.ling;
using edu.stanford.nlp.util;
using java.io;
namespace CoreNLPArabic
{
class Program
{
static void Main(string[] args)
{
string s = "جامعة الدول العربية هي منظمة تضم دولا في الشرق الأوسط وأفريقيا";
        var parameters =
            new[]
            {
                "normArDigits", "normAlif", "normYa", "removeDiacritics", "removeTatweel", "removeProMarker",
                "removeSegMarker", "removeMorphMarker", "removeLengthening", "atbEscaping"
            };
        var tokenizerOptions = StringUtils.argsToProperties(parameters);
        var tf = tokenizerOptions.containsKey("atb")
            ? ArabicTokenizer.atbFactory()
            : ArabicTokenizer.factory();

        foreach (String option in parameters)
        {tf.setOptions(option);}
        tf.setOptions("tokenizeNLs");

        int nLines = 0;
        int nTokens = 0;
        var tokenizer = tf.getTokenizer(new StringReader(s));
        var printSpace = false;
        const string NEWLINE_TOKEN = "*NL*";
        while (tokenizer.hasNext()) {
          ++nTokens;
          var next = tokenizer.next() as CoreLabel;
          String word = next.word();
          if (word.Equals(NEWLINE_TOKEN)) {
            ++nLines;
            printSpace = false;
            System.Console.WriteLine();
          } else {
            if (printSpace) System.Console.Write(" ");
            System.Console.Write(word);
            printSpace = true;
          }
        }
        System.Console.WriteLine("\nDone! Tokenized %d lines (%d tokens)%n", nLines, nTokens);

    }
}

}


[DashboardLayout] How to modify the default AppBar branding link

Steps to reproduce
Steps:

Open this link to live example: (required)

Current behavior
I am using Dashboard Layout
i have an error when i click on the logo it is redirecting to the '/' layout
and if i add

 it is giving me error of a descendant elements because   is already defined with '/' route.
 What i want is that  to change the '/' route inside a tag  how to access this anchor tag so i can change the route.
As you can see the code i am accessing the classes  of material ui so i can add my own style inside createTheme.
Please reply fast and i cannot provide the live link because it is against the company.
Expected behavior
import * as React from "react";
import PropTypes from "prop-types";
import { createTheme } from "@mui/material/styles";
import Box from "@mui/material/Box";
import { AppProvider } from "@toolpad/core/AppProvider";
import { DashboardLayout } from "@toolpad/core/DashboardLayout";
import { Outlet, useLocation, useNavigate } from "react-router-dom"; // Import Outlet to render nested routes
import DashboardIcon from "@mui/icons-material/Dashboard";
import GrassIcon from "@mui/icons-material/Grass";
import ImagesearchRollerIcon from "@mui/icons-material/ImagesearchRoller";
import { FolderIcon } from "lucide-react";
import PeopleOutlineIcon from "@mui/icons-material/PeopleOutline";
import TourIcon from "@mui/icons-material/Tour";
import logo from "../assets/Images/Logo.png";

import SupportAgentIcon from "@mui/icons-material/SupportAgent";
import NotificationsActiveIcon from "@mui/icons-material/NotificationsActive";
import Navbar from "../components/navbar/page";

const navigation = [
  {
    segment: "dashboard",
    title: "Dashboard",
    icon: <DashboardIcon />,
  },
  {
    segment: "ground-manager",
    title: "Ground Manager",
    icon: <GrassIcon />,
    children: [
      {
        segment: "view-grounds",
        title: "View Grounds",
        icon: <FolderIcon />,
      },
    ],
  },
  {
    segment: "banner-manager",
    title: "Banner Manager",
    icon: <ImagesearchRollerIcon />,
    children: [
      {
        segment: "add-banners",
        title: "Add New Banner",
        icon: <FolderIcon />,
      },
      {
        segment: "view-banners",
        title: "View All Banners",
        icon: <FolderIcon />,
      },
    ],
  },
  {
    segment: "tournament-manager",
    title: "Tournament Manager",
    icon: <TourIcon />,
    children: [
      {
        segment: "add-tournament",
        title: "Add Tournament",
        icon: <FolderIcon />,
      },
      {
        segment: "view-tournament",
        title: "View Tournament",
        icon: <FolderIcon />,
      },
      {
        segment: "user-tournament/register",
        title: "Registered User",
        icon: <FolderIcon />,
      },
    ],
  },
  {
    segment: "user-manager",
    title: "User Manager",
    icon: <PeopleOutlineIcon />,
    children: [
      {
        segment: "ground-owners",
        title: "View Ground Owner ",
        icon: <FolderIcon />,
      },
      {
        segment: "user-registered",
        title: "View Users",
        icon: <FolderIcon />,
      },
    ],
  },
  {
    segment: "support-manager",
    title: "Support Manager",
    icon: <SupportAgentIcon />,
    children: [
      {
        segment: "user-support",
        title: "User Support",
        icon: <FolderIcon />,
      },
    ],
  },
  {
    segment: "notification-manager",
    title: "Notification Manager",
    icon: <NotificationsActiveIcon />,
    children: [
      {
        segment: "push-notification",
        title: "App Notification",
        icon: <FolderIcon />,
      },
    ],
  },
];

function DashboardLayoutCustomThemeSwitcher(props) {
  const { window } = props;

  // Remove this const when copying and pasting into your project.
  const demoWindow = window !== undefined ? window() : undefined;

  return (
    <>
      <Navbar />
    </>
  );
}

DashboardLayoutCustomThemeSwitcher.propTypes = {
  window: PropTypes.func,
};

DashboardLayoutCustomThemeSwitcher.propTypes = {
  window: PropTypes.func,
};

const demoTheme = createTheme({
  cssVariables: {
    colorSchemeSelector: "data-toolpad-color-scheme",
  },

  colorSchemes: { light: true },

  components: {
    MuiStack: {
      styleOverrides: {
        root: {
          display: "flex",
          alignItems: "center",
        },
      },

    },

    MuiCssBaseline: {
      styleOverrides: {
        body: {
          "& .MuiBox-root": {
            ".css-1a2ef5c": {
              marginTop: "1rem",
            },
          },
        },
      },
    },

  },

  breakpoints: {
    values: {
      xs: 0,
      sm: 600,
      md: 600,
      lg: 1200,
      xl: 1536,
    },
  },
});

function DemoPageContent({ pathname }) {
  return (
    <Box
      sx={{
        py: 4,
        display: "flex",
        flexDirection: "column",
        alignItems: "center",
        textAlign: "center",
      }}
    ></Box>
  );
}

DemoPageContent.propTypes = {
  pathname: PropTypes.string.isRequired,
};

function DashboardLayoutNavigationNested(props) {
  const { window } = props;
  const location = useLocation(); // Provides the current location
  const navigate = useNavigate();

  const router = React.useMemo(() => {
    return {
      pathname: location.pathname, // Get the current path dynamically
      navigate: (path) => navigate(path),
      searchParams: new URLSearchParams(location.search), // Parse query parameters
    };
  }, [navigate, location]);

  return (
    // preview-start
    <AppProvider
      navigation={navigation}
     router={router}
      theme={demoTheme}
      branding={{

        logo: (

            <img src={logo}  alt="one7sports logo" />

        ),
        title: "",
      }}
    >
      {/* <DashboardLayout>

      </DashboardLayout> */}

      <DashboardLayout
        slots={{
          toolbarActions: DashboardLayoutCustomThemeSwitcher,
        }}
      >
        <Box>
          <Outlet />
        </Box>
      </DashboardLayout>
    </AppProvider>
    // preview-end
  );
}

DashboardLayoutNavigationNested.propTypes = {
  /**
   * Injected by the documentation to work in an iframe.
   * Remove this when copying and pasting into your project.
   */
  window: PropTypes.func,
};

export default DashboardLayoutNavigationNested;

Your environment

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

Search keywords: Dashboard
Search keywords:

What you're looking for is the branding prop of the AppProvider. Ref this demo: https://mui.com/toolpad/core/react-dashboard-layout/#branding

Let me mention Again
I mentioned the Dashboard Layout code above
When i click on the image it redirects to the home page and on inspect i can see  anchor tag . which is redirecting to the home page '/'  what i want is that  i want to redirect to the custom route when user click on the image i just want to change the href link. This is my issue.

When will i get the solution for this?

Understood. The default route is set in the Link component here https://github.com/mui/toolpad/blob/master/packages/toolpad-core/src/DashboardLayout/DashboardLayout.tsx#L369 and I don't see a way to change it via props currently
We could potentially add a branding.home property to the branding prop and let that be the default before falling back to /. Wdyt @apedroferreira? Did I miss a possible way to customize this route?

how ?
branding.home ={{
}}

@bharatkashyap is there any other way? what should i do now? please give me guidance

Hi Ashish, the fastest way to see this feature land would be to contribute a PR that adds branding.home - feel free to create one and we can gather everyone else's opinions there, if it merges we can add it to the next version which is planned to be released today

For this i have to clone repo?
please give me guidance step by steps

Yes, clone the repo, make the changes on your local, push it to your fork on a new branch and then create a Pull Request

Understood. The default route is set in the Link component here https://github.com/mui/toolpad/blob/master/packages/toolpad-core/src/DashboardLayout/DashboardLayout.tsx#L369 and I don't see a way to change it via props currently
We could potentially add a branding.home property to the branding prop and let that be the default before falling back to /. Wdyt @apedroferreira? Did I miss a possible way to customize this route?

Yeah, currently there's no way to override this.
The quickest way to allow for it would probably be to provide a new slot so that the whole link and its content in the header can be overridden.
And then if eventually we find more use cases for it or this becomes a common use case, we could add something like a homeUrl to the branding.

@apedroferreira when it is going to  be drop?

@bharatkashyap I’m a bit busy at the moment and don’t have time to contribute to the MUI project.

When will it be dropped, or is there a way to customize the branding home link? @apedroferreira

When will it be dropped, or is there a way to customize the branding home link? @apedroferreira

Hey, we've planned the fixes for the next release of @toolpad/core, v0.11.0
We will both add a homeUrl property to branding that can be customized, and a slot to fully override the link in the header with any custom component.

Like in a week or days?

Like in a week or days?

It depends on the planned features, but roughly we release in every 2-3 weeks.

ok @prakhargupta1 Thank you for the information. I will be waiting for the feature.

Released?


Patch to add Kubernetes deployment files and instructions

it does differ from previous ways b/c it's pulling a pre-built image from Docker Hub, but some folks might find this useful.

hi @aaronhmiller, taking a prebuild image from an unknown source rises security concerns. For this reason I can not accept this. Further it deviates a bit from the purpose of this repo, the goal is not to provide instructions of deployment for all cases.

understood. thanks for the consideration @erev0s


Opening/closing tags don't match using vscode's bracketPairColorization

1. Describe the bug
Brackets don't match using vscode's bracket pair colorization.
2. To Reproduce
Set "editor.bracketPairColorization.enabled": true in vscode settings (you need to have at least version 1.60).
You can try different kinds of blocks (and I provided a screenshot of the results):
codeunit 50000 FooCodeunit
{
    var
        _Foo: Integer;

    procedure Bar()
    begin
        Message('??');
        if _Foo = 1 then begin
            Message('???');
        end;
    end;

    procedure IsPending()
    begin
        Message('????');
    end;

    procedure BeginProcedure()
    begin
        case true of
            1 = 1:
                Message('?????');
        end
    end;
}

3. Expected behavior
I expect the opening/closing colors to match, currently it's very easy to break.
4. Actual behavior
Only actual "brackets" (e.g. object and field definitions) and parentheses (for function declarations/invocations) seem to open/close correctly.

5. Versions:

AL Language:
v8.0.508407
Visual Studio Code:
1.60
Business Central:
18.3
List of Visual Studio Code extensions that you have installed:
AL Language v8.0.508407

Final Checklist
Please remember to do the following:

[x] Search the issue repository to ensure you are reporting a new issue

[x] Reproduce the issue after disabling all extensions except the AL Language extension

[x] Simplify your code around the issue to better isolate the problem

Please note, that I'm not using the Bracket-Colorizer extension, this came built-in with the latest vscode update:
https://code.visualstudio.com/updates/v1_60#_high-performance-bracket-pair-colorization

Seems like other languages are experiencing these kind of problems for this release, I'm not sure if the AL extension needs new definitions for colorizing to work properly  but at least I'll keep the ticket open as a heads up. For reference: https://github.com/microsoft/vscode/issues/132164

Hi @bjarkihall, I installed the latest VSC and tested but unfortunately I don't have a repro.

Are you sure that you only have the AL Language extension installed?

Hi @nndobrev, as @bjarkihall mentioned in the ticket, you have to set editor.bracketPairColorization.enabled to true in VS Code settings. Currently it's not enabled by default.

Correct. We simply do not support this new option (yet).

@kalberes yes, the intention of the ticket was to act as a heads-up, since devs might read the release notes for vscode 1.60 and try this new feature out (it might become a default later on, who knows?).
I think the AL Language extension could add the new colorizedBracketPairs property to AL's language definition, but you don't need to rush it until the API is properly documented (which is isn't yet it seems): https://code.visualstudio.com/api/language-extensions/language-configuration-guide
These will possibly become user-defined in the next vscode release: https://github.com/microsoft/vscode/issues/131412 which would enable a work-around until this becomes supported by the AL Language extension itself.


Stuck on reg-suit run command

I did the setup steps, but the cli was stuck on the reg-suit run command.
The configuration that I used is displayed below.
I'm on Windows 10 FWIW

reg-suit init is completely broken for me on 0.10.0


If is posible to make tabs closable?

First of all thank you for this nice plug-in.   Do you thinks it is possible to close tabs? It will be great to be able to close tabs.   Thanks a lot

Hi @clmorales,
what do you mean by 'closing a tab'? That you have a cross behind the label in a tab, and when you click on it, the tab will disappear from the tabbar?
Regards,
Bart


Error at debug_echo when setting working directory

I'm getting the following error when trying to set a working directory:
step.sh: line 25: debug_echo: command not found

Thanks for making this!

thanks @viktorbenei


Use uniform CMake spacing and capitalization

This PR makes all the CMakeLists a bit nicer and removes ambiguity over how to format things.

sounds good to me, merging :)
Thanks!


Search menu item broken

Describe the bug
Clicking on the 'search' menu item does not place focus in search box
Note:

Typing / triggers the search
Clicking in the search box triggers the search

To Reproduce
Steps to reproduce the behavior:

Go to https://next--storybooks-official.netlify.com/
Click menu > search
Start typing

System:

Browser: Chrome, Firefox
Version: 5.0.0-rc.6

As far as I can see, this is due to the onClick() method of the search button in the toolbar not actually calling any api method to focus on the search text area, in nav.js. I'll try and change it tonight :)

Olé!! I just released https://github.com/storybooks/storybook/releases/tag/v5.1.0-alpha.6 containing PR #6027 that references this issue. Upgrade today to try it out!
Because it's a pre-release you can find it on the @next NPM tag.
Closing this issue. Please re-open if you think there's still more to do.

Zoinks!! I just released https://github.com/storybooks/storybook/releases/tag/v5.0.2 containing PR #6027 that references this issue. Upgrade today to try it out!


Add flake8-bugbear to the linter

flake8-bugbear also checks for certain patterns that are likely to cause bugs. The ones that did show up are addressed in this PR.
See link for more details.

Couldn't get the test to fail locally, rerunning the test here gives a pass as well. Not sure why it failed that one run in that one commit.

Sorry for being slightly late, but I've changed the default assignment to an else statement like contrasts = [] if contrasts is None else contrasts.
There's actually one issue that I saw raised on StackOverflow using the or operator, which I think is somewhat relevant:
Note that this also returns "default" if x is any falsy value, including an empty list, 0, empty string, or even datetime.time(0) (midnight).
As said before, contrasts = contrasts or [] defaults to the first argument (so contrasts = contrasts) if bool(contrasts) == True and to the second argument (contrasts = []) if bool(contrasts) == False. This does lead to the (rare) scenario, that someone could parse contrasts = 0  as an argument, and that would pass perfectly fine without any errors, as bool(0) == False. So you really do lose a bit of your type safety.
This is not a problem using this slightly longer else statement. As that really enforces that argument actually is the None object, and not just has an equal value or parses as the same boolean value. So it will only set contrasts to an empty list if None is actually given as argument (or when the argument is left blank obviously).
In practice it won't matter too much probably (it works perfectly fine, the only situation I could imagine this leading to a bug is someone setting contrasts to 0), but it does make the if/else construction a bit more robust anyway.


Is it safe?

Hey, I'm new to package managers (first day) and it's not quite clear to me, is it safe? I mean, is there any guarantee that some bad person will not upload a new version of the software but with a built-in virus that even virustotal does not recognize.
What is the difference with Chocolatey in terms of security?

Its as safe as downloading the program from the website it self, aka not 100%.
Not sure what Chocolatey does for new releases but i doubt they do much more then running VirusTotal, i know they mark them as Unsafe at times (Bloatware etc), but you can still download that version IIRC.

I mean, is there any guarantee that some bad person will not upload a new version of the software but with a built-in virus that even virustotal does not recognize.

Also, if you're talking about adding a new version of an already trusted software (ex. Google Chrome) - all PRs are overseen and approved by Administrators or Community Moderators. More info on moderation can be found via #15674.


Documentation Structure Update for Garden Linux Website

How to categorize this PR?
/kind enhancement
/area documentation
/os garden-linux
What this PR does / why we need it:
unification of feature README.md's - which is needed to extract the feature description out of it for the Garden Linux Website.
(& minor other adaptations)

/squash
please make sure to squash before merging


feat: support for nanosecond epoch with 12 byte payload

Part of https://github.com/SigNoz/signoz/issues/6365
Original

timestamp in seconds - 4 bytes
random payload of 16 bytes

Updated

timestamp in nanoseconds - 8 bytes
random payload of 12 bytes

Therefore the binary representation is 20 bytes and text representation is 27 bytes which remains the same.
Original Ksuid has a random payload of 16 bytes, giving approximately 2^128 possible random combinations per second.
Updated ksuid has a random payload of 12 bytes, giving approximately 2^96  possible random combinations per nanosecond
How does it affect us
Previously

If the user gave a timestamp in seconds/nanosecond we had 2^128 random possible uinque id's, also anything after the seconds precision is not respected so order broke.

Now

If a user gives a timestamp in seconds/ns we have 2^96 possible uinique id's and the precision till ns will be respected thus ordering will be preserved as long as the user gives more precise timestamp.

Also 2^96 is still an huge space.

I have updated the description with more details and a benchamark to test the collision, please have a look

I reviewed it partially, I need some time to carefully follow the bit manipulation logic.

no hurries, please take your time.

The to and fro conversion b/w high 32 bits is confusing to follow. How about [3]uint32 layout?

Updated it to use [3]uint32.

Yeah please review that as well, while I resolve this issue.

Right, but since we had to make change to the entire codebase better to review it as you already have the context.


Add CachingLocator.

(I should have left this as a draft PR still.  I'll let you know when I've wrapped up the last few changes I have to make.)
For #
(Note that this PR is based on top of https://github.com/microsoft/vscode-python/pull/14051.)

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[ ] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

Codecov Report

Merging #14020 into main will increase coverage by 0.10%.
The diff coverage is 74.88%.

@@            Coverage Diff             @@
##             main   #14020      +/-   ##
==========================================
+ Coverage   59.85%   59.95%   +0.10%
==========================================
  Files         704      708       +4
  Lines       39015    39178     +163
  Branches     5644     5675      +31
==========================================
+ Hits        23354    23491     +137
- Misses      14438    14449      +11
- Partials     1223     1238      +15

Impacted Files
Coverage Δ

src/client/pythonEnvironments/base/info/index.ts
100.00% <ø> (ø)

src/client/pythonEnvironments/base/locator.ts
83.33% <ø> (ø)

src/client/pythonEnvironments/base/cache.ts
12.50% <12.50%> (ø)

src/client/pythonEnvironments/legacyIOC.ts
40.13% <13.33%> (+4.03%)
:arrow_up:

src/client/pythonEnvironments/index.ts
18.60% <40.00%> (+2.81%)
:arrow_up:

...ts/base/locators/composite/environmentsResolver.ts
95.52% <66.66%> (-0.07%)
:arrow_down:

...ent/pythonEnvironments/discovery/locators/index.ts
85.95% <66.66%> (-0.83%)
:arrow_down:

src/client/pythonEnvironments/base/info/env.ts
37.73% <68.29%> (+15.81%)
:arrow_up:

src/client/common/utils/misc.ts
72.72% <71.42%> (-0.61%)
:arrow_down:

...nts/base/locators/composite/environmentsReducer.ts
94.93% <77.77%> (-0.07%)
:arrow_down:

... and 16 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bb2ed7a...e41ccef. Read the comment docs.

@kimadeline and @karrtikr, I should have left this as a draft PR.  I'll let you know when I've wrapped up the last few changes I have to make.

@kimadeline, @karrtikr, the PR is ready to go now.

Since Kartik is out, you may want to request a review from @karthiknadig, because I don't want to shoulder the responsibility of reviewing this PR alone 😆

@ericsnowcurrently @kimadeline I just had one comment regarding potential correctness https://github.com/microsoft/vscode-python/pull/14020#discussion_r498459009 I leave the rest upto you guys😄

Will re-review this afternoon.

Will re-review this afternoon.

resetting "checks" trigger

Codecov Report

Merging #14020 into main will decrease coverage by 0.00%.
The diff coverage is 64.17%.

@@            Coverage Diff             @@
##             main   #14020      +/-   ##
==========================================
- Coverage   59.91%   59.91%   -0.01%
==========================================
  Files         709      712       +3
  Lines       39334    39520     +186
  Branches     5698     5722      +24
==========================================
+ Hits        23567    23678     +111
- Misses      14529    14586      +57
- Partials     1238     1256      +18

Impacted Files
Coverage Δ

src/client/pythonEnvironments/index.ts
17.64% <21.42%> (+0.57%)
:arrow_up:

src/client/common/utils/backgroundLoop.ts
60.71% <60.71%> (ø)

...ronments/base/locators/composite/cachingLocator.ts
70.45% <70.45%> (ø)

src/client/pythonEnvironments/base/envsCache.ts
85.18% <84.61%> (+1.18%)
:arrow_up:

...onments/base/locators/composite/reducingLocator.ts
100.00% <100.00%> (ø)

...very/locators/services/virtualenvwrapperLocator.ts
76.92% <0.00%> (-15.39%)
:arrow_down:

src/client/common/utils/platform.ts
60.00% <0.00%> (-12.00%)
:arrow_down:

.../pythonEnvironments/common/externalDependencies.ts
64.10% <0.00%> (-2.57%)
:arrow_down:

src/client/linters/pydocstyle.ts
86.66% <0.00%> (-2.23%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
76.56% <0.00%> (-1.57%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fee7e74...fa63318. Read the comment docs.


Add to bower

Hey, loving your library, would you mind adding it to bower?
http://twitter.github.com/bower/
All you need to do is run this command in your project root:
bower register accounting git://github.com/josscrowcroft/accounting.js

Then it should be possible to install with:
bower install accounting

Bower should use your package.json to find the right file to download, but if you want to get more specific you could add this component.json file to the root of your project:
{
  "name": "accounting",
  "version": "0.3.2",
  "main": "accounting.js"
}

Cheers!

This worked for me
bower install --save git@github.com:openexchangerates/accounting.js.git#master

@jDeppen that's not a good solution because you're always installing the latest commit to the master branch... We really need the ability to target specific versions in bower.json to make sure the exact same code is being installed on every $ bower install.

+1

+1

+1

This is similar to #86 and #106. @josscrowcroft All of them can be closed if accounting.js is tagged with version 0.4.2.
git tag v0.4.2 -am "version 0.4.2"

+1

is this no longer maintained? I myself move to numeral.js


InifiniteScroll component wrapping material UI Grid

When i using a grid component inside InfiniteScroll component, its only show one item per row, even though i want to show 5 item per row, it doesnt work.
 <InfiniteScroll>
   {userFeed.map(item => (
      <Grid>
      </Grid>
   ))}
</InfiniteScroll>

I had the same issue with the Grid component from semantic-ui-react. I was able to get it working by setting the semantic-ui class names directly instead of using semantic-ui-react. Specifically, I (1) set className="ui grid" on the InfiniteScroll component and (2) set className="two wide column" on the item itself. I have not used material UI, but perhaps you can do something similar.

to make this work with material ui i need to wrap all Grids components with the InfiniteScroll component, like that :
 <InfiniteScroll>
   <Grid container>
      {userFeed.map(item => (
         <Grid>
         </Grid>
      ))}
   </Grid>
</InfiniteScroll>

This does not work for me when using non-zero spacing. The InfiniteScroll component cannot handle the negative margin.
 <InfiniteScroll>
   <Grid container spacing={2}>
      {userFeed.map(item => (
         <Grid item>
         </Grid>
      ))}
   </Grid>
</InfiniteScroll>

Looks like the InfiniteScroll container uses overflow: 'scroll'. To account for the Grid's negative margin, I override this default with the style prop:
style={{ overflow: 'inherit' }}

to make this work with material ui i need to wrap all Grids components with the InfiniteScroll component, like that :
 <InfiniteScroll>
   <Grid container>
      {userFeed.map(item => (
         <Grid>
         </Grid>
      ))}
   </Grid>
</InfiniteScroll>

+1 for this solution. Using Primer Components Box Grid worked with the above method.
<InfiniteScroll>
    <Box sx={{display: 'grid', gridTemplateColums: '1fr 1fr', gridGap: 3 }}>
        {items.map((i, index) => (
            <Box sx={{ p: 3, borderColor: 'purple', borderWidth: 1, borderStyle: 'solid'}}>
                <Image />
            </Box>
        ))}
    </Box>
</InfiniteScroll>


Redis improvements and cleanup

This PR includes a few improvements to stabilize the use of Redis as a vector datastore.

Adds validation to make sure RediSearch >= 2.6 and RedisJSON >= 2.4 are installed in the Redis Server. (https://github.com/openai/chatgpt-retrieval-plugin/issues/26 and https://github.com/openai/chatgpt-retrieval-plugin/issues/17)
Removed async semaphore usage in favor of pipelines.
Updated the delete method to use scan_iter instead of keys.
Adds the embeddings to the response object: https://github.com/openai/chatgpt-retrieval-plugin/issues/35

@tylerhutcherson , it would be good to make it clear in the message that the modules missing must be installed in the database.
Just reading the message one can assume that python installation is missing some dependencies

Not sure if the filter works as expected. Filters with a document_id provided still returns other documents.Was this the intended behaviour or this is a WIP?


Add setuptools_scm to host requirements

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

This should set the metadata correctly to fix https://github.com/brainglobe/cellfinder-core/issues/179.

@conda-forge-admin, please rerender


feat(client): add variables api and test

close #26

consider introducing testcontainers later which can help developers test locally more conveniently


Enabling use of TIP_50ul (_L & -P; Hamilton, conductive, with filter)

PLR has so far been missing the definitions of (standard, conductive) Hamilton 50ul tips with filter (cat. no.: 235948) as a resource.
This update integrates their definition in the form of...

a new tip_creator: fifty_ul_tip_with_filter() - including the required

TipSize: FIFTY_UL=6 and
fitting_depth[FIFTY_UL] = 8,

tipracks TIP_50ul_L & TIP_50ul_P

Experimentally verified on a Hamilton STARletDeck with a TIP_CAR_480_A00 carrier/template.

Great!
(The other definitions were generated automatically from the labware database in our installation of VENUS - apparently we lack definitions for those resources!)


Name mapper behavior in context of Redis operation which takes additional key parameter

I used NameMapper to implement global key prefixing:
config.useSingleServer()
        .setNameMapper(new NameMapper() {
            @Override
            public String map(String name) {
                return redisKeyPrefix.isEmpty() ? name : redisKeyPrefix + name;
            }

            @Override
            public String unmap(String name) {
                return redisKeyPrefix.isEmpty() ? name : name.replaceFirst("^" + redisKeyPrefix, "");
            }
        });

What if I use
redissonClient.getSet(nameWithoutPrefix)  // this will be automatically prefixed by NameMapper
                .rename(newNameWithoutPrefix);
                // redisKeyPrefix+nameWithoutPrefix is renamed to newNameWithoutPrefix.

According to my experience, rename() parameter will not go through nameMapper. Is it correct behavior? There could be other commands that use additional keys as parameters to which name mapper is not applied. And you have to apply mapper manually:
redissonClient.getSet(nameWithoutPrefix)  // this will be automatically prefixed by NameMapper
                .rename(redissonClient.getConfig()
                                .useSingleServer()
                                .getNameMapper()
                                .map(requestSetKey)); // manual mapping

According to my experience, rename() parameter will not go through nameMapper.

Unable to reproduce with the latest version. You can also check the source-code. nameMapper is invoked during rename operation.


chore: disable tests by default for lib/bins without UTs

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
💦💦💦
So that we can avoid them being compiled twice when running unit tests.
No tests are ignored after the change (still 1575 tests, but 84 binaries -> 67 binaries)
Note: there aren't significant improvements, because the bottleneck is not improved.
ref: https://github.com/risingwavelabs/risingwave/issues/9878#issuecomment-1767954989

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

It seems this saved quite some time in CI 🤔 (but some tests are lost)
https://buildkite.com/risingwavelabs/pull-request/builds/33684#018b41c0-3106-4da6-89a4-e62a6951e083

https://buildkite.com/risingwavelabs/pull-request/builds/33717#018b42a0-3f19-42a6-bec0-13d03960234e

after merging main it's the same (1591 tests)

@TennyZhuang @BugenZhao How do you think?

Yes. I might need to come up with some ways to check whether a crate
contains tests but marked as tests=false.
But anyway, I think these crates will hardly contain any “critical” tests.
Mostly just testing some utils.
On Tue, 24 Oct 2023 at 11:57, Bugen Zhao @.***> wrote:

@.**** commented on this pull request.
In src/utils/runtime/Cargo.toml
https://github.com/risingwavelabs/risingwave/pull/12950#discussion_r1369606243
:

+[lib]
+test = false

So if future developers add unit tests for the runtime crate, they will
silently not be run? I'm not sure if this could be a potential risk. 😕
—
Reply to this email directly, view it on GitHub
https://github.com/risingwavelabs/risingwave/pull/12950#pullrequestreview-1693997497,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJBQZNOY5VOBDIKLAWH5YMDYA44C5AVCNFSM6AAAAAA6FMERIKVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTMOJTHE4TONBZG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

BTW, maybe we should also similarly set
[lib]
bench = false

... which would be even slower to compile if the target is not specified
correctly 🤡

Message ID: @.***
.com>

cargo test --timings on main
cargo-timing.html.zip

too many timeouts

It seems this is quite useful. But we are again hitting the limit soon...


Add code coverage support

cargo kcov is a common option and seems to support coveralls + travis out of box.
It seems to not support running ignored tests and we use them.

The coveralls integration seem working fine.


test: rename misnamed files

Housekeeping after The Big Split (#185). Mind taking a look, @svozza? test/lift.js and test/lift2.js were actually swapped, though GitHub is not showing the changes as rename operations for some reason.
~/github.com/sanctuary-js/sanctuary (dc-filenames)
$ shasum -a 256 test/lift{,2}.js
5f8e23588983ee6aa3538271e73184d2104d8236d730665d744be5068dcbb74b  test/lift.js
e15dd6c43c17617e7a8a1482f8d4c52f6aeba85e99fd853934b4cd60d672cb4e  test/lift2.js

~/github.com/sanctuary-js/sanctuary (master)
$ shasum -a 256 test/lift{,2}.js
e15dd6c43c17617e7a8a1482f8d4c52f6aeba85e99fd853934b4cd60d672cb4e  test/lift.js
5f8e23588983ee6aa3538271e73184d2104d8236d730665d744be5068dcbb74b  test/lift2.js

Ooops!

Ah you're too quick, I didn't get to use the fancy new approve feature! :P


Minor changes to the manual

I've only followed sections 1-3, 4.1, 4.2 of the manual so far, so all of my tweaks (all minor) are in those sections.

Thanks for making these changes they look good.


UselessOperationCheck - Can't handle callp with extender

Issue
callp(e) is replaced with e)
Sample program
**free
callp(e) test(1:2:3);

Incorrect auto-fix
**free
e) test(1:2:3);

Thoughts
I know callp is useless, but I think in free-form callp(e) or any extender still has some use. I don't really know cause I hardly use callp(e). I think it sets on %error()?
Research supporting that thought:
"On a free-form calculation specification, the operation code name may be omitted if no extenders are needed, and if the prototype does not have the same name as an operation code."
Either way UselessOperatorCheck definitely shouldn't just leave it as e). Either remove it entirely if I'm wrong or leave it as-is.

Good find. I will create a fix soon.

Releasing tonight.


Upgrades?

You have documentation on how to add recipes, but what about item upgrades?  I would like to add a new upgrade to an existing weapon that upgrades it to level 5.  An example in the documentation/tutorial of how to create upgrade recipes would be great.

Do you have tested it with a clone of a existing item and a increased item.m_itemData.m_shared.m_maxQuality?

Yes I have.  It works.  I understand it now.
On Wed, Apr 7, 2021 at 6:09 AM René Zimmerling @.***>
wrote:

Do you have tested it with a clone of a existing item and a increased
item.m_itemData.m_shared.m_maxQuality?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jotunnlib/jotunnlib/issues/32#issuecomment-814788903,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAOHNEMTHINPNW7SOK2XFVDTHQVO5ANCNFSM4Z36NSTQ
.


Problem with non-ASCII characters (ñ) (á) (Á) etc

There seems to be a problem with non-ASCII characters in languages other than English.
I can't edit text with letters such as the Spanish (ñ) (Ñ) or accented letters (á) (é) …
This appears to be an issue not only in the browser but also when using copy and paste from a text editor.
Additionally, linked text and tags like "#diseño" get split into something like "#dise // ño // ño," repeating after the (ñ) letter.

Yeah it looks like the regex for tags doesn't play well with those characters. Adding the u flag should help.
Aside from tags, what were there other issues you were noticing regarding non-ascii/unicode characters? I'll need to figure out which regexes need the flag

It seems to be working fine now.

#Tags are okay.
[Text in brackets for links is okay.]
Text outside of links is also okay.

So, great. Thank you, and keep up the good work!

I haven't implemented any fixes yet - I'm glad it's working for you, but I just tried and it's still broken for me 😂

Pretty strange; I'm using the same browser on the same file.
Anyway, the three problemes were #tags, [text in brackets] and sometimes text outside of brackets also.
I'll let you know if I notice anything again. (BTW I'm using Brave on Mac OS X.)


Adds I18n support (inc. fr locale) along with a configuration system

Hi there,
I was in need of a gem like this to translate french decimal numbers so I thought building on top of humanize would hopefully help others. I hope you don't mind :wink:
So here's the first part of the work I've been doing on my fork : adding a basic support for other languages along with a configuration system to pick up a default :
# locale can be changed using a block
Humanize.configure do |config|
  config.default_locale = :fr
end
42.humanize
# => "quarante-deux"

# or this way
Humanize.config.default_locale = :en
42.humanize # => "forty-two"

# Default can be overriden
42.humanize(locale: :fr)
# => "quarante-deux"

The default_locale is :en by default so people upgrading shouldn't have any trouble.
Another pull request is coming to allow for displaying decimals as number instead of digits. It is to be merged on top of this one if you so wish.
I think I've been careful not to break Ruby 1.8.7 compatibility .
Cheers, and thanks for this gem :)

Here's the second commit that I'd like to merge. I'll make a pull request if you accept this one.
https://github.com/jerefrer/humanize/commit/54b75c43f5363f9c4c0316f738079251c05fdf9a

All the commits look good to me. I'll look at merging this and releasing a new version once I'm near a real computer with some spare time again.
Please do open that PR for the last commit.


Desugaring global variables

In the past, we desugared global variables to instead use zero-argument functions as an encoding trick. However, it was ad-hoc and introduced shadowing between local variables and global functions.
After getting rid of this, we changed the back-end to support global variables directly, but this was also messy.
Yihong and I propose a new pass that takes care of this problem my doing the old encoding trick in a more principled way.
Don't forget to omit these encoded functions from visualizations and extraction!

fixed by #338


Another C++ Excel library (xlnt)

There is one more library here on Github (https://github.com/tfussell/xlnt) which can be interesting.

I have recently become aware of it. I have tried it out and I think it is a very solid library. It probably also have fewer bugs than OpenXLSX. However, I found that XLNT had difficulties handling very large spreadsheets with up to 1 000 000 rows (this is indeed relevant, as in many companies, Excel is used as a poor-man's database system). OpenXLSX is much faster in handling large spreadsheets.
I have updated the README accordingly.

The library has two big trivial problems:
-It consumes a lot of RAM.
When reading Excel files over 12.8 MB - the XLNT library causes a "bad allocation" error, that is, the library simply does not work on files larger than 12-13 MB.
-When saving an Excel file, the XLNT library can damage excel file, and this happens by chance, when you do not wait.


textarea value attribute not w3c compliant

AFAICT (ref http://www.w3.org/TR/html-markup/textarea.html) 'value' is not a permitted attribute for a textarea tag. Perhaps many backends would render it anyway, however Rails will not, with good justification (w3c compliance). I know better than to try to submit a PR for Rails ActionView to introduce a non-compliant attribute!
This creates a problem with Ractive binding on textarea elements, which apparently requires a value attribute to be present, when served from a Rails backend.
One solution (if you agree that it's a problem) might be to allow binding to the contents of the tag, like this: {{text_contents}}. In order to be a non-breaking change, the value attribute will still need to be used, so a precedence needs to be defined to handle the case that both are present.

Out of curiosity, are you serving your template in a <script> tag? Typically frameworks don't care what you put in there, and they usually work out better for templates because the tags (components) and attrs don't get lower-cased.

Yes, I have the templates inside  tags.
And even inside these script tags, Rails view helpers for form elements are available and are properly rendered. Besides all the usual Rails form goodness, it means I can use Rails i18n translations and easily populate json initialization data.
I even go one step further, and my templates are written in HAML.
My views have so little HTML that I often forget how to write it!

Fixed in edge thanks to @evs-chris, closing


Getting Ambiguous method overloading for method org.testng.Assert.assertEquals() in Groovy version 3.0.19

Ambiguous method overloading for method org.testng.Assert#assertEquals. Cannot resolve which method to invoke for [class java.lang.Integer, class java.lang.Integer] due to overlapping prototypes between: [int, class java.lang.Integer] [class java.lang.Integer, int]
Code is -
List listOfClassFields = MyClass.classMethod("CO").read()
Assert.assertEquals(7,listOfClassFields.size())

Same code was working in groovy version 2.5.7

@PrakratiAgarwal123 - can you please share a sample project ( along with the dependencies) that can be used to reproduce this issue?

@PrakratiAgarwal123 - Please create and share a sample project using which I can reproduce the problem easily.

Please consider tihis as sample code. Let me know if this helps -
@Test
void ValidateNames() {
    List<String> names = new ArrayList()
    names.add("Prakrati")
    names.add("Agarwal")

    Assert.assertEquals(2,names.size())

}

https://github.com/testng-team/testng/issues/2854
Its the similar issue like this link and I am using testng version 7.8.0

@PrakratiAgarwal123 - Your earlier comment said you are using 7.9.0 and now its 7.8.0. I believe it would be easier if you can please help share a simple project that can be used to reproduce the issue.
I would be curious to know as to what is the issue with sharing a simple maven/gradle project that we can use to reproduce the problem? I


Ansible operator not supporting owner reference injection for Projects

Bug Report

What did you do?
When a CR creates a Project/namespace, there is no owner related annotations in the project such as  "operator-sdk/primary-resource" and "operator-sdk/primary-resource-type" as seen with other objects that are created with owner reference injection (such as LimitRange, ResourceQuota).
Even after manual addition of above annotations to the Project, dependency watch/reconcile is not triggered when any changes to the Project are made. As a worked around we added ownerReferences to the Project's metadata, and this has helped trigger watch dependency /reconcile whenever the Project is modified.
Example of ownerReference as added to Project definition:
metadata:
  ownerReferences:
  - apiVersion: app.test.com/v1
    blockOwnerDeletion: true
    controller: true
    kind: CRTestProject
    name: abc-project
    uid: adc485bf-df0b-11e9-a252-0216b80cbb02

What did you expect to see?
When a Project is created by a CR, it should have the owner reference injected and any changes to the project should trigger the reconcile.
What did you see instead? Under which circumstances?

There is no owner reference injection annotations in the Project definition,when inject-owner-ref (in Dockerfile) and watchDependentResources (in watches.yaml)  is enabled
Manual addition of owner reference injection annotations to the Project has not triggered reconcile
Reconcile happens only when ownerReferences is added to the Project (as workaround)

Environment

operator-sdk version: v0.10.x, go version:  go1.12.4

Kubernetes version information: v1.11.0+d4cacc0

Kubernetes cluster kind:  Openshift v3.11.141

Are you writing your operator in ansible, helm, or go?
Ansible

Possible Solution
Adding ownerReferences to the project as mentioned above

hmm, this could be a little tricky, there's some weirdness with Projects and watches, but I'll try and dig into this a bit. Can you paste the task you are using to create the project?

I opened https://github.com/operator-framework/operator-sdk/issues/2089 but the root cause is this issue. @fabianvf I can provide debug information if it helps.
My task file:
---
# tasks file for managednamespace
- name: Create namespace
  k8s:
    definition:
      kind: Namespace
      apiVersion: v1
      metadata:
        name: '{{ meta.name }}'

Looking at the doc, I found this: https://github.com/operator-framework/operator-sdk/blob/master/doc/ansible/dev/retroactively-owned-resources.md#for-objects-which-are-not-in-the-same-namespace-as-the-owner-crd

An annotation is used instead of an ownerReference if the dependent resource is in a different namespace than the CR, or the dependent resource is a cluster level resource.

When annotations are used instead of ownerReference's, the dependent resources don't seem to be cleaned up when the CR is deleted.
Is this expected behaviour? If I manually dd the ownerReferences to namespaces, the cleanup seems to be successful.

I've tried a number of things here:

adding watchClusterScopedResources: True to my watches.yaml
switching the CRD to scope: Cluster
changing the deployment to WATCH_NAMESPACE=''

None have enabled automatic deletion of the namespace, or resources created outside of the namespace of the CR.

@Jamstah This is actually the expected behavior, we create the annotations so that we can track ownership for the purpose of setting up watches etc, but the Kubernetes garbage collection doesn't have any idea what those annotations are. To delete cluster-level or differently-namespaced resources, you'll need to set a finalizer in your watches.yaml and clean up those resources manually.

Thanks. I was coming to that conclusion, but it took a lot of time to get there. I do already have a finalizer working for my purposes.
I'd recommend a doc update, perhaps here?
https://github.com/operator-framework/operator-sdk/blob/master/doc/ansible/dev/dependent_watches.md

Documented in #2148


In JratyServiceProvider.php line 32:

In JratyServiceProvider.php line 32:
Call to undefined method Illuminate\Foundation\Application::share()
using that package and got that error

What version of Laravel are you using? There is no 5+ support currently. I should make a new version soon, but honestly didn't think someone still use it.

"laravel/framework": "5.4.*",
https://codecanyon.net/item/my-manga-reader-cms/12487949
trying to use this cms just got when i run composer update

Unfortunately even if I update the package for Laravel 5.4 it will be complete different and can't know if it will work with this cms. Maybe you should talk with them how they fixed it on their demo page.
But you can try this to fix it (at least this point). Try replacing register() method with this (in JratyServiceProvider.php):
$this->app->singleton('Jraty', function () {       return new Jraty(); });
Another way is to include this file: https://github.com/escapeboy/jraty/blob/master/src/Escapeboy/Jraty/Jraty.php
Somewhere in your app/ folder. For example app/Services. It should be autoloaded (if not try composer dump-auto).
Then remove/comment line in composer.json and update without it.


Display html code string inside  when using convertFromHTML?

How to display stirng like this let string = </script> inside
string
?
i have something like
  let contentBlock = convertFromHTML(props.currentContent)
      if(contentBlock.contentBlocks !== null){
        let contentState = ContentState.createFromBlockArray(contentBlock);
        newEditorState = EditorState.createWithContent(contentState, decorator);
      }

But in this way the html code piace of string is lost

Hi @IzaGz.
I don't fully understand. Can you please post the full html snipped that you're trying to convert and what you expect the output to be? It'd be fab if you could stick with the issue template, that way we're enabled to help you better 👍


Use Buffer for huge XML support

I needed to generate an xml file with a total length greater than v8 allows (38 GB, and v8 only allows you to put 8 in a string), and these changes helped me not catch the “Range Error: Invalid string length” error.
All tests passed with the exception of 4 tests on error handlers, but this was unrelated to my changes.
If possible, I would like the library to support huge files.

@jjhbw @guigrpa please check this code when you find the time)

This looks like a solid optimization, thanks! 👍
I merged this offline in e1032d9e6a7f94fe0d1c8a628139a92acaf81bc7.
I took out a few additional memory allocations in d94eb73eb5fbf5744b82d70ca51ad1a69697745c.
The fact that we're using Buffer again also makes it necessary to restore the browser polyfill for Buffer (277cb5837e63383f3c342c3c49192e746a2b0540).


[Update bootloader bug] Possibly wrong path for lib on aarch64 armv8+

Uppon running sudo rpi-update, i receive the following error:
Path /lib/firmware/raspberrypi/bootloader-2711/latest not found. Please install the rpi-eeprom package first
[spoiler] full sudo rpi-update output
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
FW_REV:7ca14294c4bf09fda8d138f9987cd031ced61f7c
BOOTLOADER_REV:72cedfe5eea64bb8509b7d0fec68f5df5dd22f9e
WANT_32BIT:1 WANT_64BIT:1 WANT_PI4:1 WANT_PI5:0
#############################################################
WARNING: This update bumps to rpi-6.1.y linux tree
See: https://forums.raspberrypi.com/viewtopic.php?t=344246

'rpi-update' should only be used if there is a specific
reason to do so - for example, a request by a Raspberry Pi
engineer or if you want to help the testing effort
and are comfortable with restoring if there are regressions.

DO NOT use 'rpi-update' as part of a regular update process.
##############################################################
Would you like to proceed? (y/N)
Downloading bootloader tools
Downloading bootloader images
Path /lib/firmware/raspberrypi/bootloader-2711/latest not found. Please install the rpi-eeprom package first

But when inspecting /lib/firmware/raspberrypi/, the lib exists(but on another path):
pi@raspberrypi:~ $ ls /lib/firmware/raspberrypi
bootloader
pi@raspberrypi:~ $ ls /lib/firmware/raspberrypi/bootloader/
beta  critical  default  latest  release-notes.md  stable

So it seems that the script is looking for the wrong path? (or my system is using a different path? since it's on aarch64)

My system info:
pi@raspberrypi:~ $ uname -m
aarch64
pi@raspberrypi:~ $ uname -r
6.1.53-v8+

(feel free to ask any other information about my system)

It seems the cause is here:
https://github.com/raspberrypi/rpi-update/blob/e85c4b69065260496c138b82b68566217dc89ad0/rpi-update?plain=1#L260-L262

Full uname output:
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.1.53-v8+ #1680 SMP PREEMPT Wed Sep 13 18:09:06 BST 2023 aarch64 GNU/Linux

I'm no expert on embedded systems, but after looking at the repo history, it seems this behavior was introduced on this commit 62ef428cf9796a327ef44b92caa41c59c02c46e2.
Or more precisely, it's new code and was not accounted for different scenarios/machines.
So maybe a check for the kernel arch would solve as a workarround?
I'm tempted to edit te script and try it myself, but the chances of bricking my Pi4 due to lack of self expertise turns me off..

 /lib/firmware/raspberrypi/bootloader/ is the directory structure for bootloader updates on Bullseye (or equivalent). The bootloader update part of rpi-update requires the new chip-specific directory structure.
We could make that a warning (if not already) or just less chatty.

For curiosity: why does rpi-update requires the chip_name in the directory structure?


Phyllome founder cell (PO:0025586) and child terms

New terms added:
phyllome founder (cell PO:0025586): A plant cell (PO:0009002) that is part of the phyllome anlagen (PO:0025430).
Comment: As a group, the phyllome founder cells encompass several layers of the shoot apical meristem (PO:0020148) and form a phyllome anlagen (PO:0025430). Founder cells do not function as stem cells but rather have a determinate fate and can be defined by histological, clonal and molecular criteria.
Reported by: cooperl09
Original Ticket: obo/plant-ontology-po-term-requests/575

Updated definition:  phyllome founder cell (PO:0025586): A native plant cell (PO:0025606) that is part of the phyllome anlagen (PO:0025430).
Comment: As a group, the phyllome founder cells encompass several layers of the shoot apical meristem (PO:0020148) and form a phyllome anlagen (PO:0025430). Founder cells do not function as stem cells but rather have a determinate fate and can be defined by histological, clonal and molecular criteria.


chore(main): release sdk 7.2.8

:robot: I have created a release beep boop
7.2.8 (2024-12-14)
Bug Fixes

sdk: Fix incomplete Assethub asset symbols 🔧 (f03aa32)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

sdk-v7.2.8
:sunflower:


Update start-secondary-tiles.md

Removes dead link (and note) and fixes MD error line 114. Resolves https://github.com/MicrosoftDocs/windows-itpro-docs/issues/4474

👍  Good job, thanks for opening this PR. I will get to the details soon enough.
BTW, have you verified that it is better to remove the tag <span id="escape" /> than to add a blank line beneath it?

@illfated the HTML tags are from the old content and they are all redundant now (the <a name tags were bookmarks) and the escape tag was not working...the headline after rendered as

Hello @Dansimp, this pull request is ready for your review and approval. Please merge if there are no issues. One of the updates is the removal of a dead link (buildmypinnedsite.com) Thank you. See: changes.

This PR is one of the cases where the regular file view shows the changes better than the rich text diff.
This is mainly due to the section heading functionality of #### Prepare the Start layout and Edge assets XML files
instead of it being displayed as regular text.

Hi again @Dansimp, just following up on this. I hope you'll have time to review and merge. Thanks again.
CC: @AndreaBarr

Thank you for merging @Dansimp and for updating issue #4347.


How do i add a custom button to the top left corner of shaka player ui

Hi,
I followed directions provded at this link and was able to sucessfully add a custom button to shaka ui controls
My question is how do I add the button outside of the controls at the top left corner of player screen or for that matter any other location on the screen ?
Thanks and look forward to a response
Dexter
https://github.com/shaka-project/shaka-player/issues/3177

Have you read the Tutorials?
Have you read the FAQ and checked for duplicate open issues?
What version of Shaka Player are you using?
Please ask your question

You can use CSS to position your custom buttons.


Mark Harvester as Tech Preview in the UI for v2.6.1

For when we ship v2.6.1, we are planning to include the Tech Preview of Harvester. We will need to make a note on the UI that the Harvester integration with Rancher is in Tech Preview.
Will fill this out with more information when I get it.

@Jono-SUSE-Rancher let us know if there's more info to work on this. We could replicate what was done during the RKE2 import.

@Jono-SUSE-Rancher where would you like this message to appear in the UI? Would this be for both single and multi-cluster? This should be super simple to take care of but we just want to make sure we put the blurb in the right place (likely under Virtualization Management)

I've added the following to the Virtualization Management Clusters list

I've now covered the issue of no tech preview warning in the cluster management section in https://github.com/rancher/dashboard/issues/4244. That will require either additional work covered there or non-at all

on v2.6-head (223ec88):

virtualization management is marked as tech preview in a dismissible notification at the top of its page -- pass

related to https://github.com/rancher/dashboard/issues/4249


fix and prevent infinite loop

this was causing infinite loop

Signed-off-by: John Swanke<EMAIL_ADDRESS>

/lgtm


fix: removing TODOs from TabNet notebook

Minor formatting. Was going through the notebook and noticed these TODOs. Removing them

/gcbrun


Calibration functionalities

Most of the oscillating ventilators have a calibrate functionality, would it be possible to have it available as a service/button?
I could help with logs

Just chiming in, another use case could be automating it -- my fan's calibration constantly drifts (within 10 minutes or so), and based on comments online it's a common issue with this model. With HA, you could do a periodic recalibration if this was implemented.
I might give this a shot at some point.


Wasm filter causes envoy admin to be unresponsive

We have a WAF that has been deployed to dev for quite a while, but as we move it to sandbox, we noticed that it causes the envoy admin server to start becoming unresponsive. We use our admin endpoint to serve /ready and /server_info for liveness and readiness healthchecks, and when this happens, Kubernetes starts killing the healthy pods.
The container doesn't seem to be resource constrained when this is happening, but I wonder if it's something like https://github.com/envoyproxy/envoy/issues/16425.
We are still in the midst of debugging, but posting here in case someone has ran into this before.

My hunch is that we have so many filter chains that need the wasm filter that it takes a little bit to initialize, and during this duration, especially on a busy server, the admin endpoint can become unavailable.


Konflux update test-component-pac-ejqpnr

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-ejqpnr-on-pull-request has successfully validated your commit.

Namespace: build-e2e-yplq-tenant
PipelineRun: test-component-pac-ejqpnr-on-pull-request-zsvdt

Task Statuses:

StatusDurationName

✅ Succeeded
11 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
24 seconds
sbom-json-check

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
29 seconds
push-dockerfile

✅ Succeeded
26 seconds
ecosystem-cert-preflight-checks

✅ Succeeded
28 seconds
sast-snyk-check

✅ Succeeded
4 minutes
clair-scan

✅ Succeeded
22 seconds
apply-tags

✅ Succeeded
21 seconds
deprecated-base-image-check

✅ Succeeded
10 seconds
show-summary

✅ Succeeded
44 seconds
show-sbom

Pipelines as Code CI/test-component-pac-ejqpnr-on-pull-request has successfully validated your commit.
Namespace: build-e2e-yplq-tenant
PipelineRun: test-component-pac-ejqpnr-on-pull-request-gwtjc

Task Statuses:

StatusDurationName

✅ Succeeded
5 seconds
init

✅ Succeeded
14 seconds
clone-repository

✅ Succeeded
25 seconds
build-container

✅ Succeeded
14 seconds
clair-scan

✅ Succeeded
11 seconds
sbom-json-check

✅ Succeeded
11 seconds
sast-snyk-check

✅ Succeeded
9 seconds
deprecated-base-image-check

✅ Succeeded
12 seconds
ecosystem-cert-preflight-checks

✅ Succeeded
43 seconds
clamav-scan

✅ Succeeded
9 seconds
apply-tags

✅ Succeeded
11 seconds
push-dockerfile

✅ Succeeded
7 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary


 This can lead to hard to understand errors in these applications since an opaque term is being deconstructed by their own code which will cause bugs to appear somewhere else.
My suggestion is that the jerk:object/0 type should be changed to {'$jerkobject', URI, Map}.

This isn't really a good solution. It makes it less likely since a 3-tuple is less common, but it will still match {_, X, Y} which is a pretty common pattern.