PluginlibFactory: The plugin for class 'rviz_common/Time' failed to load.

ros2 version: foxy
After I have compiled ros2 , I directly typed rviz2  and get this error
[INFO] [1620205607.807351825] [rviz2]: Stereo is NOT SUPPORTED
[INFO] [1620205607.807593235] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[INFO] [1620205607.830119455] [rviz2]: Stereo is NOT SUPPORTED
[ERROR] [1620205607.951239714] [rviz2]: PluginlibFactory: The plugin for class 'rviz_common/Time' failed to load. Error: According to the loaded plugin descriptions the class rviz_common/Time with base class type rviz_common::Panel does not exist. Declared types are

What will this error affect? How should I get rid of it？

@hidmic Thanks for your reply.
my system: Ubuntu 20.04
The branch of rviz on my computer is foxy
The most recent commit id is e19a0750c4495646183ed819de62c7fea7a2624d
I'm not sure what other information is needed..
Any pieces of information needed?

@chargerKong do you happen to have a user defined $HOME/.rviz2/default.rviz file that attempts to load rviz_common/Time? That'd explain.

Yes, I have a default.rviz defined in $HOME/.rviz2/default.rviz. This is my current file content. Any wrong here?
Panels:
  - Class: rviz_common/Displays
    Help Height: 78
    Name: Displays
    Property Tree Widget:
      Expanded:
        - /Global Options1
        - /Status1
      Splitter Ratio: 0.5
    Tree Height: 671
  - Class: rviz_common/Selection
    Name: Selection
  - Class: rviz_common/Tool Properties
    Expanded:
      - /2D Goal Pose1
      - /Publish Point1
    Name: Tool Properties
    Splitter Ratio: 0.5886790156364441
  - Class: rviz_common/Views
    Expanded:
      - /Current View1
    Name: Views
    Splitter Ratio: 0.5
  - Class: rviz_common/Time
    Experimental: false
    Name: Time
    SyncMode: 0
    SyncSource: LaserScan
Visualization Manager:
  Class: ""
  Displays:
    - Alpha: 0.5
      Cell Size: 1
      Class: rviz_default_plugins/Grid
      Color: 160; 160; 164
      Enabled: true
      Line Style:
        Line Width: 0.029999999329447746
        Value: Lines
      Name: Grid
      Normal Cell Count: 0
      Offset:
        X: 0
        Y: 0
        Z: 0
      Plane: XY
      Plane Cell Count: 10
      Reference Frame: <Fixed Frame>
      Value: true
  Enabled: true
  Global Options:
    Background Color: 48; 48; 48
    Fixed Frame: odom
    Frame Rate: 30
  Name: root
  Tools:
    - Class: rviz_default_plugins/Interact
      Hide Inactive Objects: true
    - Class: rviz_default_plugins/MoveCamera
    - Class: rviz_default_plugins/Select
    - Class: rviz_default_plugins/FocusCamera
    - Class: rviz_default_plugins/Measure
      Line color: 128; 128; 0
    - Class: rviz_default_plugins/SetInitialPose
      Topic:
        Depth: 5
        Durability Policy: Volatile
        History Policy: Keep Last
        Reliability Policy: Reliable
        Value: /initialpose
    - Class: rviz_default_plugins/SetGoal
      Topic:
        Depth: 5
        Durability Policy: Volatile
        History Policy: Keep Last
        Reliability Policy: Reliable
        Value: /goal_pose
    - Class: rviz_default_plugins/PublishPoint
      Single click: true
      Topic:
        Depth: 5
        Durability Policy: Volatile
        History Policy: Keep Last
        Reliability Policy: Reliable
        Value: /clicked_point
  Transformation:
    Current:
      Class: rviz_default_plugins/TF
  Value: true
  Views:
    Current:
      Class: rviz_default_plugins/Orbit
      Distance: 3.4701035022735596
      Enable Stereo Rendering:
        Stereo Eye Separation: 0.05999999865889549
        Stereo Focal Distance: 1
        Swap Stereo Eyes: false
        Value: false
      Focal Point:
        X: 0.11623208969831467
        Y: -0.6625069379806519
        Z: 0.0761607438325882
      Focal Shape Fixed Size: true
      Focal Shape Size: 0.05000000074505806
      Invert Z Axis: false
      Name: Current View
      Near Clip Distance: 0.009999999776482582
      Pitch: 0.5303983688354492
      Target Frame: <Fixed Frame>
      Value: Orbit (rviz)
      Yaw: 1.258573055267334
    Saved: ~
Window Geometry:
  Displays:
    collapsed: false
  Height: 1016
  Hide Left Dock: false
  Hide Right Dock: false
  QMainWindow State: 000000ff00000000fd0000000400000000000001560000032afc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d0000032a000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f0000032afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000032a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007380000006efc0100000002fb0000000800540069006d00650100000000000007380000005800fffffffb0000000800540069006d00650100000000000004500000000000000000000004c70000032a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
  Selection:
    collapsed: false
  Time:
    collapsed: false
  Tool Properties:
    collapsed: false
  Views:
    collapsed: false
  Width: 1848
  X: 72
  Y: 27

Sorry for the delay @chargerKong. Yeap, this is what's causing the warnings:
- Class: rviz_common/Time
    Experimental: false
    Name: Time
    SyncMode: 0
    SyncSource: LaserScan

That panel is not available in Foxy. It won't make any harm to have it there, just don't expect it to work.
Since this is non-issue, I'll close this now.


Updated validations.py python script

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py
Fixes/Closes #1

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!

@googlebot I signed it!


[DEVOPS-39] fix windows long paths

cc @volhovM

Fails because of hlint:
src/Pos/Util/BackupPhrase.hs:56:110: Warning: Use toText
Found:
  T.pack
Why not:
  toText
src/Pos/Util/BackupPhrase.hs:59:16: Warning: Use toText
Found:
  T.pack
Why not:
  toText
core/Pos/Util/Mnemonics.hs:60:14: Warning: Use toText
Found:
  T.pack
Why not:
  toText
core/Pos/Util/Mnemonics.hs:85:26: Warning: Use toString
Found:
  T.unpack
Why not:
  toString
core/Pos/Util/Mnemonics.hs:128:11: Warning: Use isJust
Found:
  not . isNothing
Why not:
  isJust
5 hints (438 ignored)
=====================================================================
Note: to ignore a particular hint (e.g. "Reduce duplication"), write
this in the source file:
{-# ANN module ("HLint: ignore Reduce duplication" :: Text) #-}
You can also apply it just to a particular function, which is better:
{-# ANN funcName ("HLint: ignore Reduce duplication" :: Text) #-}

Why there are commits in PR not related to this PR?

To test if the fix works.


Adds missing tags collection to firestore-rules

@matuella As we've discussed in Discord, I've updated this PR removing the guards and only added a missing collection to the rules

I forgot that we replaced this subcollection by an array. I'll close this PR then and update Miro data structure to reflect this decision.


Use copy_mem_s in unit_test/fuzzing

Move all of unit_test/fuzzing to use copy_mem_s

Are we eventually going to check the return value?

Are we eventually going to check the return value?

I generally don't on these low level functions. They do assert in debug. I look at the release mode behavior as more of a last ditch effort to prevent a buffer overflow for a case that should generally never occur, but if it does could be a bad security bug, so prevent the overflow.
Using the function is safer than writing my own for loop to do the memory copy, and a for loop in its place would not have a return value to check anyway.  I'm interested to others thoughts on the topic though.
For ULTs I'm not sure its really necessary with asserts already there. Just be sure you run ULTs in debug mode in addition to release.

I generally don't on these low level functions. They do assert in debug. I look at the release mode behavior as more of a last ditch effort to prevent a buffer overflow for a case that should generally never occur, but if it does could be a bad security bug, so prevent the overflow.
Using the function is safer than writing my own for loop to do the memory copy, and a for loop in its place would not have a return value to check anyway. I'm interested to others thoughts on the topic though.
For ULTs I'm not sure its really necessary with asserts already there. Just be sure you run ULTs in debug mode in addition to release.

agree

merge quickly to avoid conflict.
If there is additional comment, we can handle it later.


[beta - AUR] adding auth sufficient pam_unix.so try_first_pass likeauth nullok above auth sufficient /lib/security/pam_howdy.so stops howdy from functioning

Please describe the issue in as much detail as possible, including any errors and traces.
If your issue is a camera issue, be sure to also post the image generated by running sudo howdy snapshot.
I'm following the installation instructions on the arch wiki, but howdy stops working when adding auth sufficient pam_unix.so try_first_pass likeauth nullok to the top of my pam file. Here is my sudo configuration:
#%PAM-1.0

# howdy - use either a password or face in a graphical interface
auth sufficient pam_unix.so try_first_pass likeauth nullok
auth sufficient /lib/security/pam_howdy.so

auth		include		system-auth
account		include		system-auth
session		include		system-auth

I can enter my password and sudo will function as normal, but when I enter a wrong password it switches to howdy which will then not turn on the IR camera to capture my face. If I remove auth sufficient pam_unix.so try_first_pass likeauth nullok to make it always use howdy instead of a password it works as expected.

I've searched for similar issues already, and my issue has not been reported yet.
Linux distribution (EndeavourOS):
Howdy version (Howdy 3.0.0 BETA):

I have the same issue in Arch and I suspect this requires some changes in pam_howdy, so that it allows you to use password instead of face recognition (or at least drops to password if face was not detected instead of looping).


gh/workflow: change multicluster GKE cluster provisioning to none blocking mode

Multicluster conformance tests set up two clusters sequentially. Every cluster provisioning takes 4 to 5 min.
This PR changes provisioning to none blocking mode and adds a step to wait for provisioning to finish.
This change would cut the run time by 4 to 5 min, it is small but every bit helps.
Sucessful workflow runs.
conformance-multicluster-v1.11.yaml
conformance-multicluster-v1.12.yaml
conformance-multicluster-v1.13.yaml

There is no need for full CI since changes are only to workflow files.


Add e2e tests for appengine flex projects for java 11 and 17

https://github.com/GoogleCloudPlatform/java-docs-samples/pull/7717 needs additional tests

@kappratiksha this was suppose to be a fast follow up. It has now been over a month. Please address this issue.

@averikitsch Do you know if we have any E2E tests for GAE applications that we could use as examples in this repo? From my previous experience working with the python-docs-samples repo, setting up the initial E2E tests made follow-up E2E tests quite straightforward.

We have an example for Cloud Run, see https://github.com/GoogleCloudPlatform/java-docs-samples/blob/main/run/jobs/src/test/java/com/example/JobsIntegrationTests.java. It uses Cloud Build to deploy the app and tear it down, so we can test requests to the service.

We won't be fixing this.


QMAPS-2156 Add a menu link for bug reporting

Description
Add a link for bug reporting in the application menu.
Screenshots

Can it be merged?

Not yet, there are ongoing questions that I asked in the issue. Notably, this links to a very generic, Qwant-wide contact page, with no guidance to report a bug. I think we should have something dedicated for bugs, or just rename this link "Contact us".

Product decision: keep the link to the generic "contact" page, but use the anchor to point directly to the form part of the page.


Error loading statamic logger log

Great job on the addon! I just installed it and received this error on the CP logger utility page. Screenshot and logger log file attached below.
[2023-10-29 15:57:18] staging.ERROR: Declaration of MityDigital\StatamicLogger\Http\Resources\LogResource::toArray(Illuminate\Http\Request $request): array must be compatible with Illuminate\Http\Resources\Json\JsonResource::toArray($request) {"userId":"96156a47-d799-4248-8a51-0ed6c2cfe99c","exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\FatalError(code: 0): Declaration of MityDigital\\StatamicLogger\\Http\\Resources\\LogResource::toArray(Illuminate\\Http\\Request $request): array must be compatible with Illuminate\\Http\\Resources\\Json\\JsonResource::toArray($request) at /home/ploi/staging.burlingameproperties.com/vendor/mitydigital/statamic-logger/src/Http/Resources/LogResource.php:34)
[stacktrace]
#0 {main}
"}

Attached Statamic Logger log file:
statamic-logger-2023-10-29.log

Interesting as I can't replicate that here.
Can you please run php please support:details?
I've just made a change to the LogResource - can I get you to try:
composer require mitydigital/statamic-logger:dev-main

If this resolves your issue, then I'll tag a new release with it - but if not, will need the support details from above to try to be able to replicate it locally.

Hey @martyf
The fix didn't help this error, I suspect that it might be because of Laravel 9.
 I've removed the explicit return type for the response's toArray method.

Still same error. But I am seeing this intelephase error when i view LogResource.php Line 27.

Thanks for jumping on a call Mike and working through it all - this has been resolved and tagged with release 1.0.1


Remove social header/copy vars

Removing unused variables from admin form/tpl and database.
Fixes #4234

:+1:


Aqara Wireless Switch - Long press doesn't always fire

Issue
I use Aqara Wireless Switches throughout my house, and one of the features I use a great deal is the Long-Press.
I have used Homebridge-Hue in the past (end 2019 - early 2020), and I did not experience this issue then. I have, however, been using Home Assistant with ZHA since then.
While looking to move back to using Homebridge, I have noticed now that the long press event only works once, and if a long press is attempted thereafter, nothing happens. I have found that I  have to do a single or double press before the next long press is event is fired.
I have looked at the logs and turned on debugging and I can see nothing out of the ordinary except for the fact that the long press event is not logged, which leads me to believe that the Deconz API is not handling it.
Log Messages
[26/11/2020, 09:59:32] [Hue] Main Bedroom Bedside Switch Right: homekit button single press
[26/11/2020, 09:59:34] [Hue] Main Bedroom Bedside Switch Right: homekit button long press
<-- LONG PRESS ATTEMPTED HERE -->
[26/11/2020, 09:59:42] [Hue] Main Bedroom Bedside Switch Right: homekit button single press
[26/11/2020, 09:59:43] [Hue] Main Bedroom Bedside Switch Right: homekit button long press
<-- LONG PRESS ATTEMPTED HERE -->
<-- LONG PRESS ATTEMPTED HERE -->
[26/11/2020, 09:59:50] [Hue] Main Bedroom Bedside Switch Right: homekit button double press
[26/11/2020, 09:59:52] [Hue] Main Bedroom Bedside Switch Right: homekit button long press
<-- LONG PRESS ATTEMPTED HERE -->

I am not sure what else I can provide to help troubleshoot, but please just let me know how else I can help.
Thanks!

Can you check the deCONZ log whether it actually sends a web socket event on the attempted long press?  If not, the issues lies with deCONZ and/or the switch.  If so, please capture and attach a full debug log of Homebridge Hue, see https://github.com/ebaauw/homebridge-hue#debug-log-file.

Hi @ebaauw
I have checked the debug logs. Here is a snippet from where I was trying to do long presses:
[26/11/2020, 12:19:45] Homebridge is running on port 51621.
[26/11/2020, 12:19:45] [Hue] Zigbee Hub: gateway request 5: get /sensors
[26/11/2020, 12:19:45] [Hue] Zigbee Hub: gateway request 5: ok
[26/11/2020, 12:19:45] [Hue] Zigbee Hub: gateway request 6: get /lights
[26/11/2020, 12:19:45] [Hue] Zigbee Hub: gateway request 6: ok
[26/11/2020, 12:19:45] [Hue] Kitchen Motion: add history entry {"status":0,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Main Bedroom Bedside Motion: add history entry {"status":0,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Main Bedroom Doorway Motion: add history entry {"status":0,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Girls Bedroom Motion: add history entry {"status":0,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Girls Bedroom Door: add history entry {"status":1,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Girls Bedroom Fan: add history entry {"power":0,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Bathroom Door: add history entry {"status":1,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Bathroom Motion: add history entry {"status":0,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Bathroom Multi: add history entry {"temp":21.3,"humidity":53,"pressure":1018,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Passage Doorway Motion: add history entry {"status":1,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Passage Door: add history entry {"status":1,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Lounge Motion: add history entry {"status":0,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Play Room Motion: add history entry {"status":0,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Spare Bathroom Motion: add history entry {"status":0,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Spare Bathroom Door: add history entry {"status":1,"time":1606385986}
[26/11/2020, 12:19:45] [Hue] Spare Bathroom Multi: add history entry {"temp":20,"humidity":57,"pressure":0,"time":1606385986}
[26/11/2020, 12:19:47] [Hue] Porch Light: brightness idd: 11, color temperature idd: 13
[26/11/2020, 12:19:47] [Hue] Porch Light: set homekit supported transition configuration to AQYBAQsCAQEAAAEGAQENAgEC
[26/11/2020, 12:19:47] [Hue] Porch Light: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[26/11/2020, 12:19:47] [Hue] Porch Light: set homekit transition control to ""
[26/11/2020, 12:19:47] [Hue] Porch Light: set homekit transition control to ""
[26/11/2020, 12:19:47] [Hue] Girls Bedroom Light: brightness idd: 11, color temperature idd: 13
[26/11/2020, 12:19:47] [Hue] Girls Bedroom Light: set homekit supported transition configuration to AQYBAQsCAQEAAAEGAQENAgEC
[26/11/2020, 12:19:47] [Hue] Girls Bedroom Light: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[26/11/2020, 12:19:47] [Hue] Spare Bedroom Light: brightness idd: 11, color temperature idd: 13
[26/11/2020, 12:19:47] [Hue] Spare Bedroom Light: set homekit supported transition configuration to AQYBAQsCAQEAAAEGAQENAgEC
[26/11/2020, 12:19:47] [Hue] Spare Bedroom Light: set homekit supported transition configuration to {"configuration":[{"iid":11,"characteristic":1},{"iid":13,"characteristic":2}]}
[26/11/2020, 12:19:47] [Hue] Spare Bedroom Light: set homekit transition control to ""
[26/11/2020, 12:19:47] [Hue] Spare Bedroom Light: set homekit transition control to ""
[26/11/2020, 12:19:50] [Hue] Zigbee Hub: gateway request 7: get /sensors
[26/11/2020, 12:19:50] [Hue] Zigbee Hub: gateway request 7: ok
[26/11/2020, 12:19:50] [Hue] Zigbee Hub: gateway request 8: get /lights
[26/11/2020, 12:19:50] [Hue] Zigbee Hub: gateway request 8: ok
[26/11/2020, 12:19:55] [Hue] Zigbee Hub: gateway request 9: get /sensors
[26/11/2020, 12:19:55] [Hue] Zigbee Hub: gateway request 9: ok
[26/11/2020, 12:19:55] [Hue] Play Room Switch: sensor buttonevent 1001 on 2020-11-26T10:19:41.194

[26/11/2020, 12:19:55] [Hue] Play Room Switch Left: homekit button long press
<-- ATTEMPTED MULTIPLE LONG PRESSES HERE -->

[26/11/2020, 12:19:55] [Hue] Zigbee Hub: gateway request 10: get /lights
[26/11/2020, 12:19:55] [Hue] Zigbee Hub: gateway request 10: ok
[26/11/2020, 12:20:00] [Hue] Zigbee Hub: gateway request 11: get /sensors
[26/11/2020, 12:20:00] [Hue] Zigbee Hub: gateway request 11: ok
[26/11/2020, 12:20:00] [Hue] Lounge Illumination: sensor lightlevel changed from 21959 to 21106
[26/11/2020, 12:20:00] [Hue] Lounge Illumination: set homekit light level from 156.964 lux to 128.9734 lux
[26/11/2020, 12:20:00] [Hue] Play Room Switch: sensor buttonevent 1001 on 2020-11-26T10:19:55.810
[26/11/2020, 12:20:00] [Hue] Zigbee Hub: gateway request 12: get /lights
[26/11/2020, 12:20:00] [Hue] Zigbee Hub: gateway request 12: ok
[26/11/2020, 12:20:05] [Hue] Zigbee Hub: gateway request 13: get /sensors
[26/11/2020, 12:20:05] [Hue] Zigbee Hub: gateway request 13: ok
[26/11/2020, 12:20:05] [Hue] Zigbee Hub: gateway request 14: get /lights
[26/11/2020, 12:20:05] [Hue] Zigbee Hub: gateway request 14: ok
[26/11/2020, 12:20:10] [Hue] Zigbee Hub: gateway request 15: get /sensors
[26/11/2020, 12:20:10] [Hue] Zigbee Hub: gateway request 15: ok
[26/11/2020, 12:20:10] [Hue] Play Room Switch: sensor buttonevent 1001 on 2020-11-26T10:19:59.457
[26/11/2020, 12:20:10] [Hue] Zigbee Hub: gateway request 16: get /lights
[26/11/2020, 12:20:10] [Hue] Zigbee Hub: gateway request 16: ok
[26/11/2020, 12:20:14] [Hue] Porch Light: attr changed event: {"colorcapabilities":31,"ctmax":500,"ctmin":153,"id":"4","lastannounced":null,"lastseen":"2020-11-26T10:20Z","manufacturername":"Philips","modelid":"LCT015","name":"Porch Light","swversion":"1.50.2_r30933","type":"Extended color light","uniqueid":"00:17:88:01:04:37:dd:5c-0b"}
[26/11/2020, 12:20:15] [Hue] Bathroom Light: attr changed event: {"id":"5","lastannounced":null,"lastseen":"2020-11-26T10:20Z","manufacturername":"Philips","modelid":"LWB010","name":"Bathroom Light","swversion":"1.50.2_r30933","type":"Dimmable light","uniqueid":"00:17:88:01:03:ae:ea:78-0b"}
[26/11/2020, 12:20:15] [Hue] Zigbee Hub: gateway request 17: get /sensors
[26/11/2020, 12:20:15] [Hue] Zigbee Hub: gateway request 17: ok
[26/11/2020, 12:20:15] [Hue] Play Room Switch: sensor buttonevent 1001 on 2020-11-26T10:20:07.150
[26/11/2020, 12:20:15] [Hue] Zigbee Hub: gateway request 18: get /lights
[26/11/2020, 12:20:15] [Hue] Zigbee Hub: gateway request 18: ok
[26/11/2020, 12:20:17] [Hue] Girls Bedroom Light: attr changed event: {"colorcapabilities":31,"ctmax":500,"ctmin":153,"id":"2","lastannounced":null,"lastseen":"2020-11-26T10:20Z","manufacturername":"Philips","modelid":"LCT015","name":"Girls Bedroom Light","swversion":"1.50.2_r30933","type":"Extended color light","uniqueid":"00:17:88:01:06:16:36:18-0b"}
[26/11/2020, 12:20:20] [Hue] Zigbee Hub: gateway request 19: get /sensors
[26/11/2020, 12:20:20] [Hue] Zigbee Hub: gateway request 19: ok
[26/11/2020, 12:20:20] [Hue] Play Room Switch: sensor buttonevent 1002 on 2020-11-26T10:20:13.266

[26/11/2020, 12:20:20] [Hue] Play Room Switch Left: homekit button single press

[26/11/2020, 12:20:20] [Hue] Zigbee Hub: gateway request 20: get /lights
[26/11/2020, 12:20:20] [Hue] Zigbee Hub: gateway request 20: ok
[26/11/2020, 12:20:25] [Hue] Zigbee Hub: gateway request 21: get /sensors
[26/11/2020, 12:20:25] [Hue] Zigbee Hub: gateway request 21: ok
[26/11/2020, 12:20:25] [Hue] Play Room Switch: sensor buttonevent 2002 on 2020-11-26T10:20:20.439

[26/11/2020, 12:20:25] [Hue] Play Room Switch Right: homekit button single press

[26/11/2020, 12:20:25] [Hue] Zigbee Hub: gateway request 22: get /lights
[26/11/2020, 12:20:25] [Hue] Zigbee Hub: gateway request 22: ok
[26/11/2020, 12:20:30] [Hue] Zigbee Hub: gateway request 23: get /sensors
[26/11/2020, 12:20:30] [Hue] Zigbee Hub: gateway request 23: ok
[26/11/2020, 12:20:30] [Hue] Play Room Switch: sensor buttonevent 1001 on 2020-11-26T10:20:24.673

[26/11/2020, 12:20:30] [Hue] Play Room Switch Left: homekit button long press
<-- ATTEMPTED MULTIPLE LONG PRESSES HERE -->

[26/11/2020, 12:20:30] [Hue] Zigbee Hub: gateway request 24: get /lights
[26/11/2020, 12:20:30] [Hue] Zigbee Hub: gateway request 24: ok

I hope that helps!
Regards

Just looking back over the logs, is event 1001 the long press?
I can see those happening at [26/11/2020, 12:20:10] and [26/11/2020, 12:20:15].

Hi again,
I have also noticed that the more of these switches I add, the longer it takes for the event to be fired in Homebridge.
All my sensors and lights react immediately, but the switches take anything from 4 seconds or more to fire the event.
Is this expected behavior?
Thanks again.

This is a bug in deCONZ.  Event 1001 means Hold.  It must be followed by a 1003 Release after Hold, but these events are missing.  Best open a bug report in the deCONZ REST API plugin repository, listing the modelid of the sensor.
Homebridge Hue issues the HomeKit Long Press on the first 1001 or on the 1003.  After the first 1001, it ignores further 1001s, until it has seen another event (in your case: the 1002 for Single Press).


return jobTs instead of edge_id in create_or_update_lineage_edge

addresses the change in monte carlo's API, as job timestamp is now returned instead of edge id. This is a breaking change, however so was the API change that Monte Carlo made afaict
had to fix some mocks / tests
closes #28
supersedes #29

ah good call @chrisguidry - i forgot these collection repos dismiss reviews when you push after an approval!


UDP packets can not be received

Hi there!
First, thanks for the amazing jobs you guys have made.
We're having an issue using ZUMBLE on a french 250+ simultaneous player server.
Sometimes (that's the issue), players are stuck in the default Mumble channel and people can speak, but can't hear others.
After a random number of login / logout, it just works.
The only thing we've found after some investigations are those logs for EVERY stucked player :
UDP packets can *not* be received. Switching to TCP tunnel mode

And seconds later :
UDP packets can be received. Switching to UDP mode.

We're using pma-voice lastest version and FiveM build 6231
Do you have any idea about how to fix this?
Cc @ChaosQK

There are no logs on the zumble process that show why those players can't connect to udp ?
Do you use the latest version also ?
FYI a client to server connection works like this :

client connect in tcp
client exchange informations with the server : syncing the user / channel availables and the server will send to the client a crypt setup packet with a key to encrypt udp packet
once client receive this crypt setup it will connect in udp
server then try to match which tcp client this udp connection relat to by testing the crypt udp with the various crypt setup it issue

so normally in the logs you would see a client connecting in tcp and then a udp client connected related to this client (approximately 500ms after the tcp connection)
Also we didn't test a lot the communication with channels since we don't use channels in our voice system (we only use target link) so maybe the problem comes from that

Thanks for your fast answer !
I can send you some anonymised logs if needed to help you find what's going on, feel free to ping me on Discord Knid#4242
We pulled ZUMBLE repo yesterday before production release from oss branch, so I think we're using the lastest version.
We tried to implement soz-voip but it's not compatible with the phone resource we're using and soz-phone is not immediatly an option for us as we're unfortunately using ESX,

We're also seeing some logs spamming sometimes saying:
2023-03-29T02:01:24.116090Z ERROR zumble::server::udp: cannot send voice packet to client: no available capacity

Is this an issue we can fix on our end?

But this may be related to your issue, i will try to debug this in the coming days to not have this error anymore

first i really respect your project for community. i hope you can public some donate for your work.
about some bugs, i think all problems happen after zumble running > 3 hours. first, it show no available capacity, next nobody cannot connect to zumble anymore.
in my server online ~ 800 players (pma-voice + zumble), sometime i have problem like rdlh (players stuck in Root channel and can't listen another players). i checked it and i found too much channel created without using, i think problem in pma-voice (they using grid for create channel)
just restart zumble and all is solved, but it's not a good solution. i'll try using soz-voip and will report any bug if i found. but i hope it can work with channel because this optimal for big players.

i think i found problem. if last client in temporate channel is disconnected (not move or something). temporate channel still exist (require remove if no one in channel).
this time, zumble will very hard to connect if have so much channels => disconnect all clients. i think just fix about client disconnected will clear temporate channel is good.

I have no experience in Rust, but reading the Tokio docs suggests it might be all about the channel buffer sizes (maybe if a client just takes longer to be sent the messages as you said with the timeout/disconnect till the client is dropped)
(I have increased the targets as well, though it should be unrelated to the actual issue)
I wonder if these changes below make any sense to someone who knows Rust/Zumble or if the changes are just "postponing" the problem to a "later time" (daily restarts FTW?). The patch below makes the situation a bit better for us now.
Here's the patch diff:
diff --git a/src/client.rs b/src/client.rs
index 4c6d448..04171c0 100644
--- a/src/client.rs
+++ b/src/client.rs
@@ -71,8 +71,8 @@ impl Client {
         publisher: Sender<ClientMessage>,
     ) -> Self {
         let tokens = authenticate.get_tokens().iter().map(|token| token.to_string()).collect();
-        let mut targets = Vec::with_capacity(30);
-        targets.resize_with(30, Default::default);
+        let mut targets = Vec::with_capacity(128);
+        targets.resize_with(128, Default::default);

         Self {
             version,
diff --git a/src/handler/voice_packet.rs b/src/handler/voice_packet.rs
index a5c33ad..4d83c97 100644
--- a/src/handler/voice_packet.rs
+++ b/src/handler/voice_packet.rs
@@ -86,8 +86,9 @@ impl Handler for VoicePacket<Clientbound> {
                             Ok(_) => {}
                             Err(err) => {
                                 tracing::error!(
-                                    "error sending voice packet message to {}: {}",
+                                    "error sending voice packet message to {} (capacity: {}): {}",
                                     client_read.authenticate.get_username(),
+                                    client_read.publisher.capacity(),
                                     err
                                 );
                             }
diff --git a/src/server/tcp.rs b/src/server/tcp.rs
index aa81fc6..4e0ed51 100644
--- a/src/server/tcp.rs
+++ b/src/server/tcp.rs
@@ -60,7 +60,7 @@ async fn handle_new_client(acceptor: TlsAcceptor,
     let (version, authenticate, crypt_state) = Client::init(&mut stream, server_version).await.context("init client")?;

     let (read, write) = io::split(stream);
-    let (tx, rx) = mpsc::channel(128);
+    let (tx, rx) = mpsc::channel(1024);

     let username = authenticate.get_username().to_string();
     let client = {
diff --git a/src/server/udp.rs b/src/server/udp.rs
index 0a781f4..fdc5eb1 100644
--- a/src/server/udp.rs
+++ b/src/server/udp.rs
@@ -151,7 +151,7 @@ async fn handle_packet(mut buffer: BytesMut, size: usize, addr: SocketAddr, prot
                 (Some(client), Some(packet)) => {
                     {
                         tracing::info!(
-                            "UPD connected client {} on {}",
+                            "UDP connected client {} on {}",
                             client.read_err().await?.authenticate.get_username(),
                             addr
                         );
diff --git a/src/state.rs b/src/state.rs
index b2d7449..5bfa20f 100644
--- a/src/state.rs
+++ b/src/state.rs
@@ -176,7 +176,12 @@ impl ServerState {
                 }) {
                     Ok(_) => {}
                     Err(err) => {
-                        tracing::error!("failed to send message to {}: {}", client_read.authenticate.get_username(), err);
+                        tracing::error!(
+                            "failed to send message to {} (capacity: {}): {}",
+                            client_read.authenticate.get_username(),
+                            client_read.publisher.capacity(),
+                            err
+                        );
                     }
                 }
             }

If I can help with debugging this let me know.

Small update: On SOZ with 310 players connected simultaneously, we had no VOIP problems.

Small update² : Still no problems with 387 players connected. I hope the problem has been solved on your side. <3

Hey, we've been using it on a 1100~ peak players average server, it had only one issue, when we reached 1000 players the sound just cut off for every new connections, like if there was a connection pool limit.
I've applied some tiny patches which helped resolve some issues, you can check it out here
Anyways, it's still a prototype but this project is a viable replacement for others external mumble server solutions.

@Korioz are you using ZUMBLE with pma-voice? or soz-voip?
We're having issues with servers that use pma-voice with ZUMBLE where 99% players are not assigned a channel / the channel doesn't get created for them and are placed in the root channel and cannot hear each other at all.
We've also tried explicitly invoking MumbleCreateChannel before assigning a player to it but it seems like it has no effect and that can be seen if we join via a desktop mumble client

Zumble using sync thread for all tcp and udp. You need change to unsync for
udp is fixed all your problem.
Vào Th 4, 17 thg 1, 2024 lúc 12:36 iLLeniumStudios @.***>
đã viết:

@Korioz https://github.com/Korioz are you using ZUMBLE with pma-voice?
or soz-voip?
We're having issues with servers that use pma-voice with ZUMBLE where 99%
players are not assigned a channel / the channel doesn't get created for
them and are placed in the root channel and cannot hear each other at all.
We've also tried explicitly invoking MumbleCreateChannel before assigning
a player to it but it seems like it has no effect and that can be seen if
we join via a desktop mumble client
—
Reply to this email directly, view it on GitHub
https://github.com/SOZ-Faut-etre-Sub/ZUMBLE/issues/2#issuecomment-1894972971,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACSLP4KZ6EOYLS3LDONHJWDYO5PNPAVCNFSM6AAAAAAWLD3LA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJUHE3TEOJXGE
.
You are receiving this because you commented.Message ID:
@.***>

@trong0981 can you explain what do you mean by that? Are you saying async is causing issues and there are race conditions because of that?

Also don't understand by what you mean about unsync thread ? If you give a snippet on what you change would be nice so we can portback to this library and make it profit for everyone

problem in Zumble is all connect require async and if a client disconnected
to Zumble without normally, room chat still available (not auto delete).
I from Vietnam and my English is not good, in Rust lang too because i
newbie too, hard for expand about it. But all problem is in this:
tokio::sync::mpsc::Receiver => tokio::sync::mpsc::UnboundedReceiver is all
i change in Zumble. This change can fix about limit channels but have new
problem: If your VPS running Zumble not good, it can be deadlock and Zumble
stucked.
Vào Th 4, 17 thg 1, 2024 vào lúc 15:33 Joel Wurtz <
@.***> đã viết:

Also don't understand by what you mean about unsync thread ? If you give a
snippet on what you change would be nice so we can portback to this library
and make it profit for everyone
—
Reply to this email directly, view it on GitHub
https://github.com/SOZ-Faut-etre-Sub/ZUMBLE/issues/2#issuecomment-1895326051,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACSLP4PXUNAQHMFXMXNTBUDYO6ED3AVCNFSM6AAAAAAWLD3LA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJVGMZDMMBVGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I using Zumble, it good. but my knowledge of Rust language is not good enough to be able to fix errors. I think this trick can help you fix all problems still avaible in Zumble.
There are 2 problems that if can be solved, I think all the errors that people often make will be completely resolved:

Take advantage of UnboundedReceiver to avoid having to create channels for tokio's multi-threaded processing. Handle deadlock problem when using UnboundedReceiver if there are too many clients or VPS (DC) is too weak.

Completely delete the chat room if no one left in the room to avoid memory overflow due to too many chat rooms.

Made a bunch of changes over at my fork that has now resolved all the issues.

Made channels permanent (This is REQUIRED if you're using channel based clients). This makes sure that the channels are not removed on disconnects and in return clients will be able to re-use the channels so they won't be stuck in the root channel (I know this can lead to high memory usage but in my case when using pma-voice, channels are heavily reused and the maximum number of created channels are always equal to the max number of concurrent players that ever joined your server so not a big issue. Tested with 450 players)
Increased the capacity to 4096. I was getting no available capacity when the value was set to 256
Reduced error log spam for channel closed. They are now logged as debug since they're not useful
Setup a workflow for publishing container images
Setup a workflow for publishing executable binaries for windows and linux
Added a helm chart to run it on kubernetes

With all these changes, Zumble runs pretty stable and I am not seeing any issues so far.
Also the reason of making the channels permanent is that the channels get cleaned up if no one is there but the same channel with the same channel id CANNOT be recreated, which is why I just made them permanent. If anyone can help with figuring out why this happens, that would be awesome. Maybe @joelwurtz might have some idea
I will however look at the UnboundedReceiver and UnboundedSender classes. I have 0% knowledge of RUST so I'm not confident that I'll be able to fix the actual root cause which is why I just forked it rather than contributing hotfixes

Oh I think I see the issue now. In the temporary check, the channel removal is broadcasted but is NOT removed from the state. Which makes zumble THINK that the channel is there but its actually not. This prevents the re-creation of the temporary channel when it needs to be re-used and thus players get stuck in the root channel.
Reference code: https://github.com/SOZ-Faut-etre-Sub/ZUMBLE/blob/oss/src/state.rs#L213-L223

Thanks for looking into it @joelwurtz
I suspect that it has something to do with channel not getting removed from the state. Or some sort of a race condition between removal and creation for the same channel id. I tried to remove the channel inside of the temporary check itself but ran into a bunch of mutable errors that I failed to fix. I'd assume that's why you're trying to remove it from the channels state map in the handler itself rather than right after checking that it's not needed.

On the plus side, it seems to be working well even with permanent channels. Here's how the CPU and Memory usage looks like for the past 6 hours where the players started from 450 and then went down to 100

Channel does not consume a lot of memory so even if you have like 10 000 channels it should use relatively low memory

So I tried to debug this and it looks like the remove channel statement never gets triggered, neither on channel_state: https://github.com/SOZ-Faut-etre-Sub/ZUMBLE/blob/oss/src/handler/channel_state.rs#L84
nor on user_state: https://github.com/SOZ-Faut-etre-Sub/ZUMBLE/blob/oss/src/handler/user_state.rs#L36
I don't know the exact reason but that is what's basically causing the channels to be there and not get recreated

Made a bunch of changes over at my fork that has now resolved all the issues.

Does this fix the issue, where if I toggled off my Voice Chat and then back on again, people could hear me but I couldn't hear them? I was also getting various issues, where rejoining the server would fix voice for someone.
Just tried to deploy this repos' versions of Zumble to server of 200-300 players, and proximity chat was very hit n miss working, radio always worked though. Using PMA-Voice


News isn't loading

https://preciousplastic.com/en/news/

Do we keep news?
On 5 July 2017 at 11:58:27, Mattia<EMAIL_ADDRESS>wrote:
https://preciousplastic.com/en/news/
[image: image]
https://user-images.githubusercontent.com/17761877/27859501-3be7493e-6179-11e7-9b8e-3fc32320301d.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hakkens/precious-plastic/issues/80, or mute the thread
https://github.com/notifications/unsubscribe-auth/ANChIfVsQfPmJChYFBIdpl5-Eh6bNlgJks5sK15BgaJpZM4OOHYJ
.


Add note about bidirectional requiring alwaysGenerateTypesMatching.set(emptyList())

This isn't needed with isADependencyOf() for REASONs. We could probably fix this. Will do together with https://github.com/apollographql/apollo-kotlin/issues/6180

Should I update the sample?

Should I update the sample?

Probably worth removing the bidirectional flag for now until project isolation works.


Feature generate scraper

This PR implements a scraper for the generate command. If generate.scrape is truthy in the config each generated route will have their a[href] tags scraped, and any found href will be scheduled for rendering.
The purpose of this feature is to avoid having to re-implement the same filtering logic in your config.generate.routes as in your actual vue files.

Codecov Report

Merging #2281 into dev will decrease coverage by 1.18%.
The diff coverage is 29.41%.

@@            Coverage Diff             @@
##              dev    #2281      +/-   ##
==========================================
- Coverage   98.36%   97.17%   -1.19%
==========================================
  Files          15       15
  Lines         977      992      +15
==========================================
+ Hits          961      964       +3
- Misses         16       28      +12

Impacted Files
Coverage Δ

lib/builder/generator.js
88.11% <29.41%> (-11.89%)
:arrow_down:

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 2e546b2...81031bb. Read the comment docs.

@pimlie Would like to have your thoughts on this too since you know well the issue with cluster

This wont work probably well at the moment without changes in nuxt-generate-cluster as currently the workers will probably generate duplicate routes and/or the balancing of routes between workers could become disrupted. Also I wonder whether the feature itself is really useful for the use-case where you need nuxt-generate-cluster.
Maybe it would be an idea to first implement a generic solution for adding more routes after generation has started with optional automatic de-duplication? (this is actually already on my required feature list for a generate daemon).
When we have that functionality then we could implement this feature as an optional generate:routeCreated hook in bin/nuxt-generate?

@pimlie about the overlap in use-cases: yes and no, I think. My PR provides a more hands-off, what-you-see-is-what-you-generate kind of approach. But it also helps you to keep from bloating the routes function in your config with logic already implemented in your pages. Even hard-core nuxt-generate-cluster users would like to see that, right?
I could refractor this PR so that scraping happens inside the 'generate:page' in the nuxt-generate script, if that help? The initRoutesfunction would have to move there too, though, in order to get precise de-dupeing. Would that get us any closer to a scraper for nuxt-cluster-generate?
I still think something like this scraper should be included in Nuxt by default: basically every project uses dynamic routes (right?) and this PR lowers the barrier of entry to generate by quite a lot!

I didnt mean to imply that I thought we shouldnt add this feature, sorry if that was the case. Actually I think it would be a nice feature to add for the same reasons you mention.
But this feature could introduce a great uncertainty which routes nuxt will try to generate. Maybe I am too much of a control freak, but I like to be in full control about which pages are generated. Eg lets say I have a large blog which allows my clients to embed links, then all the '3rd party' content they post will be scraped by this feature. With the current implementation in this pr, nuxt will generate an error when:

they use a relative link which is not on the first level
they embed a link specifying any other protocol then http(s), eg ftp, mailto
they link to eg a pdf or zip download

It will probably be quite some work to scrape these cases and the other ones we didnt thought of yet correctly. I will leave it up you and others to decide whether that effort is worth it :)
Implementation wise, you could also use the generate:extendRoutes hook to keep a copy of the original routes array in bin/nuxt-generate? Then you would only need to add a hook at the end of generateRoutes so you can generate the scraped routes?

I'll concede the need for a user-supplied filter function, perhaps the scrape property in the config could take a config object like:
{ scrape: { enabled: true, exclude_patterns: ["^mailto:", ".*.pdf$"] } }

Not a problem to implement, of course, but I would rather do so when the maintainers agree to the approach of this PR. Also I could write some tests at such a time. Does @Atinux want this feature to be compatible with nuxt-generate-cluster as well? Seems that would be a lot more work.

For this (or any other) feature to work for nuxt-generate-cluster we would only need to make sure that the logic about which method does what when is controlled from within the generate method (or above through hooks). We could eg also change the method definitions as follows:
generateRoutes({ routes, errors = [], scrapedRoutes = []})
generateRoute({ route, payload = {}, errors = [], scrapedRoutes = [] })

where the scraping is done in generateRoute.
Then in the generate method you could do:
let scrapedRoutes = []
let errors = []
while (routes.length) {
  await this.generateRoutes({ routes, errors, scrapedRoutes })
  if (scrapedRoutes.length) {
    // call a dedup method and add to local routes in nuxt or send
    // a message with the scrapedRoutes to the master in generate-cluster
    scrapedRoutes = []
  }
}

I like this, but I think the default implementation should use cheerio, which is much lighter and faster for this purpose. Even better would be to accept scrape optionally as a function, that could be tweaked in nuxt.config.js on a per-project basis. Are you still interested in pursing this, @jroxendal?

I haven’t been keeping track of the latest changes to Nuxt and I don’t have
time to get back into it right now, but I still think this functionality
makes a ton of sense!
mån 6 aug. 2018 kl. 18:25 skrev Jonas Galvez<EMAIL_ADDRESS>
I like this, but I think the default implementation should use cheerio
https://github.com/cheeriojs/cheerio/issues/700, which is much lighter
and faster for this purpose. Even better would be to accept scrape
optionally as a function, that could be tweaked in nuxt.config.js on a
per-project basis. Are you still interested in pursing this, @jroxendal
https://github.com/jroxendal?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nuxt/nuxt.js/pull/2281#issuecomment-410766709, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAc7iroFf-mWNZLnJAR1WDIlijqJnqeRks5uOG4BgaJpZM4QuyTF
.

@Atinux let's close this and add it to the scope of @nuxtjs/press in v3?

Imho the only feature we would need to add to implement this functionality is that the routes list (which is currenty a parameter to the generateRoutes method) is converted to a dynamic list with an addRoute hook and optional deduplication. You can already hook into generate:page to process / scrape the generated html, so you only need to be able to add routes from there.
Scrape functionality is then just one of many possible implementations based on these hooks, which would probably also be best put into a separate nuxt module anyway.

@pimlie I agree, this could definitely be implemented as a module. If you want to make a PR to add this possibility of adding new routes from the hook, please go ahead :)
@galvez I am closing it. @nuxtjs/scrapper will be this feature I think and @nuxtjs/press will be able to use it directly :)


update button

add on update button, as described here:

https://github.com/pffy/googledocs-addon-markdowntablethree/issues/2

improves user experience: they do not need to return to add-ons menu each time

LGTM :+1:
--QA


Add config options to be able to flip the y_map in x or y direction

Add config options to be able to flip the y_map in x or y direction

this would be very useful for me for linking this with my terrain height data

Tldr i was able to get this crate hooked up to my terrain by feeding the terrain height maps in however i had to make z be x and x be z in the shader for the y map input.   So i had to fork this repo

Maybe we can add a config option “transpose y map”

Expected behavior should be that the y-map, normal map and density map are aligned.
A setting to configure transposition/rotation of the y map could lead to weird bugs as the other maps are not aligned anymore.
How about a setting which controls all maps? Couldn't you just make the grass entity a child entity and rotate the transform at 90 degree?


Example ng-flow with Meteor.js

Hi @AidasK ,
Here's my demo using ng-flow with Meteor https://github.com/MilosStanic/ng-flow-meteor as per the PR earlier today.
A bit strange implementation.
The files are uploaded to a GridFS via the CollectionFS package for Meteor. Which is a pretty universal package that runs both client and server side.
The main problem was that the CollectionFS package also breaks uploads to chunks. So we were having broken files on client and server. Anyway, I somehow tricked ng-flow... I'm not sure exactly what I did and how I did it :) But it works. I would love your feedback on this.
Thanks

Hi, as I can understand, you are using flowjs only for selecting files from a browser and you are not using it for files transfer. So you cant pause/resume/retry files. This is a really strange usage example. I think you should write your own queue package for files uploading with CollectionFS.

Hi,
Yes, it seems you're right. CollectionFS is a de facto standard package for uploading files to Meteor.
It provides GridFS, filesystem and AmazonFS storage facilities.
So, to utilize ng-flow I'd have to write a server side package that accepts data from ng-flow.
Thanks for the feedback, anyway.


Feature/r2 post joke

This pull request includes significant updates to the project, including new features, documentation, and testing improvements. The most important changes are the addition of a comprehensive README, new API endpoints, and a complete frontend for joke management.
Documentation and Setup:

README.md: Added detailed project setup instructions, mandatory requirements, installation steps, usage, testing, API documentation access, and contribution guidelines.

Dependencies and Configuration:

package.json: Added new dependencies including body-parser, mongodb-memory-server, swagger-ui-express, and yamljs to support API documentation and testing.

Frontend Implementation:

public/index.html: Created a new HTML file for the Joke App interface, including sections for obtaining, adding, searching, and counting jokes.
public/script.js: Implemented JavaScript functionality for interacting with the backend API, including fetching, adding, searching, and counting jokes.
public/styles.css: Added CSS styles for the Joke App interface, ensuring a responsive and visually appealing design.

Backend Implementation:

server.js: Set up Express server with routes for handling joke-related operations and integrated Swagger for API documentation.
src/index.ts: Updated to include MongoDB connection and joke creation endpoint.
src/models/joke.ts: Defined the Mongoose schema for jokes.

API Documentation:

swagger.yaml: Added Swagger documentation for the Joke API, detailing the joke creation endpoint and its required fields.

Testing:

tests/index.test.ts: Implemented tests using supertest and mongodb-memory-server to ensure proper functionality of the API endpoints.


CAMEL-19444. Fixed a few grammar errors on code comments in camel-kafka

Description

Target

[ ] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[ ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[ ] I checked that each commit in the pull request has a meaningful subject line and body.

[ ] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

I'm on it: teaching our intern how to contribute to Camel.


Remove Repository suffix

Normal task:

publishToSonatype

Meanwhile a specifict platform task:

publishMingwX64PublicationToSonatypeRepository

I think it should be:

publishMingwX64PublicationToSonatype

That task name is generated by Gradle so I'm afraid I cannot shorten it. We could make the publishToSonatype longer for consistency but I don't think that's what you want, either.

That task name is generated by Gradle so I'm afraid I cannot shorten it. We could make the publishToSonatype longer for consistency but I don't think that's what you want, either.


6502: Self Modifying Instruction, End of Address Space

I'm in the process of verifying Ghidra's 6502 processor module vs processor unit tests (https://github.com/TomHarte/ProcessorTests/tree/main/6502/v1). For opcodes 0x00-0x40 I have three unit tests failing that I cannot fix easily. I need help deciding what the correct behavior is. Perhaps we need to run it on a real CPU?

JSR $1355 (opcode: 20 55 13)
PC is 4949, should be 341
20.json 4046
{ "name": "20 55 13", "initial": { "pc": 379, "s": 125, "a": 158, "x": 137, "y": 52, "p": 230, "ram": [ [379, 32], [380, 85], [381, 19], [341, 173]]}, "final": { "pc": 341, "s": 123, "a": 158, "x": 137, "y": 52, "p": 230, "ram": [ [341, 173], [379, 32], [380, 125], [381, 1]]}, "cycles": [ [379, 32, "read"], [380, 85, "read"], [381, 19, "read"], [381, 1, "write"], [380, 125, "write"], [381, 1, "read"]] },

The issue here is the instruction is overwriting itself as it's executing. pc is 379 and we are writing bytes 381 and 380, and then reading byte 381. I don't know what the correct behavior is supposed to be.

ROL $7D (opcode: 26 7d ff)
P is 228, should be 101
26.json 1251
{ "name": "26 7d ff", "initial": { "pc": 65535, "s": 137, "a": 219, "x": 194, "y": 144, "p": 100, "ram": [ [65535, 38], [0, 125], [1, 255], [125, 160]]}, "final": { "pc": 1, "s": 137, "a": 219, "x": 194, "y": 144, "p": 101, "ram": [ [0, 125], [1, 255], [125, 64], [65535, 38]]}, "cycles": [ [65535, 38, "read"], [0, 125, "read"], [125, 160, "read"], [125, 160, "write"], [125, 64, "write"]] },

The issue here is that PC is at the end of the address space when starting the instruction. Again I don't know what the correct behavior is supposed to be when accessing past 0xffff. Wrap to zero? Illegal instruction?

AND $45EF,X (opcode: 3d ef 45)
A is 0, should be 144
P is 103, should be 229
{ "name": "3d ef 45", "initial": { "pc": 65535, "s": 99, "a": 184, "x": 115, "y": 124, "p": 101, "ram": [ [65535, 61], [0, 239], [1, 69], [17762, 235], [18018, 209], [2, 20]]}, "final": { "pc": 2, "s": 99, "a": 144, "x": 115, "y": 124, "p": 229, "ram": [ [0, 239], [1, 69], [2, 20], [17762, 235], [18018, 209], [65535, 61]]}, "cycles": [ [65535, 61, "read"], [0, 239, "read"], [1, 69, "read"], [17762, 235, "read"], [18018, 209, "read"]] },

Same issue as 2), PC is at the end of the address space when starting the instruction.

Without having a real processor to test on, I don't think it's possible to understand exactly how a self-modifying instruction will behave. This is a very distinct edge case.

With respect to the 1st test issue:
The json test data shows exactly what happens on my Commodore 64 hardware (it has a 6510 chip, like your NES RP2A03 except for ADC/SBC BCD handling).
Here's an equivalent (to the JSON) test on my Commodore 64 hardware (note: A, X, and Y test values don't matter):
$0155  EE 20 D0  INC $D020 ; loop to change border color to see if we got here
$0158  4C 55 01  JMP $0155
. . .
; start execution here:
$0177  78        SEI       ; protect stack during test
$0178  A2 7D     LDX #$7D  ; set stack pointer
$017A  9A        TXS
$017B  20 55 13  JSR $1355 ; the json test line, it will set PC to $0155

When $017B (20 55 13) JSR $1355 executes, here's what happens each cycle of the instruction:

read $20 (JSR) then inc PC to $017C
read ADL from $017C as $55, then inc PC to $017D
internal stuff
overwrite $017D's $13 with PCH $01 then dec S
overwrite $017C's $55 with PCL $7D then dec S
read ADH from $017D as $01, set PC with ADH/ADL as $0155

So, half of the address gets overwritten as the instruction is in the process of executing.  The json after-test data is correct (the PC, S, and RAM).
Pretty interesting (and thanks to Robin Harbron who gave me an important nudge forward on this one).
Test code:

Ends up in the infinite border-color-changing loop at $0155:

Peter Ferrie just tested your 1st example on an Apple II (6502, not a 65C02), and it also matches the json test result, so again, the test is valid.
My opinion is that it's not important that Ghidra emulates this correctly.  That said, it should be possible to modify the JSR pcode to accommodate this test case by ordering assignments in a way that matches the 6502 assignment order; but if so, I'd put a comment in for future maintainers.  Here's two references on what happens at each JSR cycle:

The MCS6500 Microcomputer Family Programming Manual (January 1976), bookmarked at JSR: https://archive.org/details/6500-50a_mcs6500pgmmanjan76/page/n121/mode/1up?view=theater
Documentation on what the 6502 VICE emulator does at each cycle, bookmarked at JSR: https://sourceforge.net/p/vice-emu/code/HEAD/tree/techdocs/CPU/65xxand85xx.txt#l985

On to the 2nd test case:  I confirmed that the stated json test behavior is what happens on real hardware (a Commodore 64); specifically, the two-byte instruction spans $FFFF to $0000 and executes successfully, the memory location holding $A0/%10100000 is ROLed to $40/01000000 (setting carry to 1), and P goes from 100/$64/%01100100 to 101/$65/%01100101.
Test details:
On a C64, memory locations $0000-$0001 are readable/writable memory-mapped registers.  I set memory location $0001 to $35 to bank out the ROM that would prevent location $FFFF from being changed.  Also, changing the value at $0000 would mess up the ROM banking, so using its default value of $2F instead of assigning it the test value of $7D.  This isn't an issue, as $7D was an arbitrarily-chosen memory location to apply the ROL on.  So the shifted result will show in location $002F instead of $007D.
Execution begins at $FFFF, the instruction there wrapping to $0000.  Flow will continue through memory location $0001, executing an instruction based on the value $35 that I put into location 1 for banking.  This forms an instruction that will not affect testing state results:
$0001  15 00       ORA $00,X  ; pseudo NOP, won't change our flags
To end in an infinite loop (that we can break out of to check value at $2F), I assembled this line:
$0003  4C 03 00    JMP $0003
Test code:
$C000  78          SEI
$C001  A9 35       LDA #$35
$C003  85 01       STA $01 ; bank out ROM so we can change loc $FFFF
$C005  A9 26       LDA #$26
$C007  8D FF FF    STA $FFFF ; create ROL $2D at $FFFF
$C00A  A9 A0       LDA #$A0
$C00C  85 2F       STA $2F   ; init $2F = A0 (using $2F instead of $7D)
$C00E  A2 00       LDX #$00
    ; create an ORA $00,X that leaves flags (%01100101) undisturbed
$C010  86 02       STX $02
$C012  A9 64       LDA #$64
$C014  48          PHA
$C015  28          PLP       ; init flags
$C016  4C FF FF    JMP $FFFF

Setup:

Execution wrapped from high to low memory, then after breaking out of infinite loop at $0003, both RAM and status flags match test expectations:

So (without testing) I assume your third test case would be valid as well (since it's just another memory-wrapping instruction example)?

I'm really enjoying these pictures.

This isn't really a huge deal for us. Self-modifying instructions aren't really something that occurs regularly. That being said, if you can get it working right, you're welcome to submit a pull-request for it and we can evaluate it then.

I think I have a way forward on the self-modifying instruction. That being said I'm afraid of how many other instructions this might involve. Currently this is the only unit test failing due to self-modifying.

@pjsoberoi , I agree with GhidorahRex, an instruction that modifies itself is pretty rare in practice.  So I think if you do decide to handle this one test case in sleigh, don't feel indebted to providing additional per-cycle instruction refinements.
That said, multiple-instruction self-modifying code in 6502 is common.  But your NES tests shouldn't run into this if they're just testing single instructions individually?  (And NES code in ROM cartridges can't use self-modifying code).
If you do emulate self-modifying code, you may run into Ghidra issues.  In my experience, getReferencesFrom(program_counter) can break when the emulated control flow passes through that modified code (causing a python script to just "SystemExit" without a log error message).  If more people are running into this, I can easily whip up an issue that makes this reproducible.
Why is 6502 self-modifying code common?  It's frequently used in 16-bit indexing.  Here's an example: clear 8K of RAM from $2000 to $3FFF.  First, without self-modifying code, this uses zero-page-based indirect addressing for 16-bit indexing:
      LDA #$00
      TAY
      STA $FB
      LDX #$20
      STX $FC
PT1:  STA ($FB),Y
      INY
      BNE PT1
      INC $FC
      DEX
      BNE PT1

In contrast, this self-modifying alternative runs much faster (and doesn't require zero page):
      LDA #$00
      TAY
      LDX #$20
      STX PT1+2
PT1:  STA $2000,Y
      INY
      BNE PT1
      INC PT1+2
      DEX
      BNE PT1

@pjsoberoi Can you supply a stack trace?

@ghidra007: I apologize for the delay, I lost track of this issue. Here is an example unit test:
[*] /home/poberoi/ProcessorTests/6502/v1/20.json: Loaded 10000 test cases
[*] Test Range: 0-10000
[*] Done posting tests
Test cases: 836/10000 Fail cases: 0
Test cases: 1652/10000 Fail cases: 0
Test cases: 2549/10000 Fail cases: 0
Test cases: 3449/10000 Fail cases: 0
!! REGISTER ERROR: PC 341 4949
[-] 4044) FAIL
Initial State:
	Registers:
		A: 158
		P: 230
		PC: 379
		S: 125
		X: 137
		Y: 52
	RAM:
		341: 173
		379: 32
		380: 85
		381: 19

Final (Expected) State:
	Registers:
		A: 158
		P: 230
		PC: 341
		S: 123
		X: 137
		Y: 52
	RAM:
		341: 173
		379: 32
		380: 125
		381: 1

Emulator:
	Registers:
		A: 158
		P: 230
		PC: 4949
		S: 123
		X: 137
		Y: 52
	RAM:
		341: 173
		379: 32
		380: 125
		381: 1

The program counter if overwriting itself.
Can you tell me how I can provide a stack trace? I have my written a standalone executable (https://github.com/oberoisecurity/ghidra-processor-module-verifier) that takes in a .sla and runs unit tests with the SLEIGH emulator. This was one of the tests that failed. Thanks again.

@pjsoberoi I don't think we need a stack trace. I think if we want solid emulation of this behavior we may have to utilize the trick from the Sparc about differentiating emulation vs decompiled output.


Update user style

Update the styles of the edit user view

Radio buttons should be used in preference to
drop downs for small choices
Field widths should be standardised across the
site

Can one of the admins verify this patch?

The style will require some further improvements still currently being defined, but this ticket is acceptable.
Happy for it to be merged.


WIP: Feat/advanced-latest-upgrade

Clsed in favor of https://github.com/adyen-examples/adyen-java-spring-online-payments/pull/150


[Discussion] Compiler Testing

(splitting this from a comment I was about to make on #28223, see that for context-- 'stdenv' here refers to the clang stdenv, as in llvmPackages_4.stdenv)
Testing whether this stdenv  works on even basic code requires going a bit "out of the way" to produce an ad-hoc expression like I gave earlier-- on top of remembering to explicitly check this.
It seems like it would be useful to add this to some testing, perhaps ensuring simple C (and C++) apps build on various compiler configurations? (gcc5, gcc6, clang, clang+libcxx)...?
Nix is well-suited to expressing these things (and I'd be happy to work on it),
but first I'd like to gauge interest and thoughts on where this should be implemented
to best integrate with existing development and testing workflows.
Thoughts on the idea on where this should live code-wise to best work with our testing/release workflows?

Very simple tests tend to be good within builds of packages themselves.  I don't see a difference if it's a stdenv.  Large tests (resource-wise) tend to be better split into a separate build, and there's a recent thread already: #27604.

Maybe it could be hello_by_stdenv attribute set with a derivation for
each stdenv case produced by explicitly passing stdenv? Getting all
these to build would already be a good sanity check.

We already have a simple test for the Linux & Darwin bootstrap tools like this:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/darwin/make-bootstrap-tools.nix#L275-L332

I made a tests attribute set in all-packages. Maybe let's put that there instead? Can still import it in the make-bootstrap-tools expressions.

Bootstrap tools are tested as part of the unstable job.

@vcunat well I mean it would be nice to use the a similar test for any stdenv, not just a minimally rigged-up bootstrap tools.

I made this https://github.com/NixOS/nixpkgs/pull/28943 while fixing the clangStdenv, there also was an issue recently that caused gcc to generate broken binaries on darwin.


fix records module ibc interface

Summary
Context: In IBC middleware, the Middleware (sitting between IBC and the application) should implement the IBCModule interface. records is a Middleware wrapping the transfer module, but  we weren't surfacing errors properly.
Surface errors in record module's IBCModule.
Test plan
integration_tests.bats
 ✓ [INTEGRATION-BASIC] address names are correct
 ✓ [INTEGRATION-BASIC] ibc transfer updates all balances
 ✓ [INTEGRATION-BASIC] host zone successfully registered
 ✓ [INTEGRATION-BASIC] liquid stake mints stATOM
 ✓ [INTEGRATION-BASIC] tokens were transferred to GAIA after liquid staking
 ✓ [INTEGRATION-BASIC] tokens on GAIA were staked
 ✓ [INTEGRATION-BASIC] redemption works
 ✓ [INTEGRATION-BASIC] claimed tokens are properly distributed
 ✓ [INTEGRATION-BASIC] rewards are being reinvested (delegated balance increasing)
 ✓ [INTEGRATION-BASIC] exchange rate is updating
 ✓ [NOT-IMPLEMENTED] reinvestment and revenue amounts are correct

11 tests, 0 failures

integration tests ran!


#217 - remove duplicate org levelaudit log sink/bucket - keep recursive audit-bucket-sink

Analysis and test results in https://github.com/GoogleCloudPlatform/pubsec-declarative-toolkit/issues/217
Team, as per our discussion on the chat groups - It does look like we have duplicate audit log sinks/buckets.
I verified the terraform PBMM landing-zone repo source and we only use one recursive audit sink.
The duplicate has been removed here.

The nomos validation runs have been failing on tooling since last week - unrelated to this particular PR - looking into them
https://github.com/GoogleCloudPlatform/pubsec-declarative-toolkit/actions/runs/3675947600/jobs/6216008018#step:4:53
older
https://github.com/GoogleCloudPlatform/pubsec-declarative-toolkit/actions/runs/3658061679/jobs/6182390338#step:4:52

/lgtm


visibility=hidden should not be used for Windows

While GCC 4.x supports the usage of -fvisibility=hidden and the related
pragmas, usage of it under MinGW is a noop and should not be used.
Instead, __declspec(dllexport/dllimport) should be used instead to
indicate exportable functions.
Since Ninja builds a static library, no functions are exported and
visibility, at least under MinGW, is not an issue.

Where did you run into this?  I just built with MinGW and didn't have a problem, I thought...

@martine: GCC 4.5.2 build by TDM generates a flood of warnings about this.
http://tdm-gcc.tdragon.net/
While mingw-w64 just silently ignores them.

Ah, I'm not familiar with TDM-GCC.  Thanks for the link, I'll read more.
(If you have success stories or problems with Ninja on Windows I'd love to hear about them.  I haven't myself used Ninja on Windows at all...)


Spring Cloud Gateway java based RouteLocator not working with Spring Cloud Security

Describe the bug
spring cloud version: "Greenwich.SR2"
While using the Java-based configuration, not working with spring security.
on accessing URL getting

"No matching handler"

but in case of YAML based configuration working fine.
Sample
in YAML based configuration can see logs like :
o.s.cloud.gateway.config.GatewayProperties.setRoutes] - Routes supplied from Gateway Properties: [RouteDefinition{id='web-example-service', predicates=[PredicateDefinition{name='Path', args={_genkey_0=/abc/**}}], filters=[FilterDefinition{name='RequestRateLimiter', args={redis-rate-limiter.replenishRate=5, Key-resolver=#{@keyResolverDemo}, redis-rate-limiter.burstCapacity=10}}, FilterDefinition{name='RewritePath', args={_genkey_0=/abc/(?<segment>.*), _genkey_1=/$\{segment}}}], uri=http://localhost:8181, order=0}
In the case of java Based Configuration, there are no such logs.

Can you provide a complete, minimal, verifiable sample that reproduces the problem?  It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

@spencergibb here is the sample app

please remove all db requirements and anything not needed to replicate the problem.

@spencergibb  removed unnecessary dependencies.


MoonDiff layout issues on screen resolutions below 2K and / or browser zoom above 100%

We had one report of the background page margins getting cut off, with this screenshot:

And one report of the site generally looking "wonky."
I believe this is because I didn't test the layout on resolutions lower than 2560x1440.
These problems also appear if the browser zoom setting is increased significantly.

Another component of this is that we've mostly been testing with MoonDiff full-screen. I have a habit of full-screening windows when I'm working on them, but this is not common behavior and I think especially mac useers tend to have a bunch of random shaped windows active.
So, MoonDiff needs to be robust to a variety of window shapes and sizes.

Fixed in 0f2f2ce4a50d4b50c3880f8589b38cac5a24f98d


Restrict user defined variable names

Jaxen allows variable names to contain all kinds of characters, which may lead to strange errors when they are referenced.
SDT should check for problematic names like  "v a r", "var/", "va+r", "%var", etc.
Suggestion (easy to implement): user defined variables must be valid SDA node names.
Actual naming rules: https://www.w3.org/TR/REC-xml-names/#NT-QName

This snippet can be used to check for a valid NCName:
// Regular expression for NCName validation
private static final String NCNAME_REGEX = "^[A-Za-z_][A-Za-z0-9_.-]*$";

public static boolean isValidNCName(String ncName) {
    if (ncName == null || ncName.isEmpty()) {
        return false;
    }
    // Check if the input string matches the NCName pattern
    return ncName.matches(NCNAME_REGEX);
}

Variable names must match the following pattern:  *[A-Za-z][A-Za-z0-9.-]*
This is essentially an NCName with the added restriction that it must contain at least one letter.
Available as of 1.4.0.


Button focus should apply same colours as hover

Fixes https://github.com/twbs/bootstrap/issues/21843
Since this change https://github.com/twbs/bootstrap/commit/a9bee8b6c8c31455dfba029434fad88b862c3846 buttons rendered with <a> have been inheriting their focus colour from reboot instead of overriding it with the button style.
Before

After

@sethjeffery With this change, the <a class="btn"> is not behaving in the same way as all the other tags when focused:
Example with all the possible tags with :focus

http://v4-alpha.getbootstrap.com/components/buttons/#button-tags
We need to not change its background to keep it coherent.

Thanks for the check. Here's a replacement commit applying only text color change.

Though I must admit I have no idea how your effect managed to take hold.. (Different browser?)
In my original commit, the background color was being applied without a problem.

For reference, the original change was just swapping @include hover for @include hover-focus.

You're right, I guess I had some remaining inline changes in DevTools... 🤔 Can't reproduce now.
Either way I think this solution is better! Keeping the same behavior as before.

Pretty sure this isn't an issue anymore. See https://github.com/twbs/bootstrap/issues/21843#issuecomment-278208914.

Sorry my bad, I was comparing against alpha6 release, rather than against the HEAD.


solid_queue_processes table doesn't exist

Running solid_queue 1.1.0 and when I try to boot my app in development, I'm getting:
SolidQueue-1.1.0 Error registering Supervisor (43.0ms)  pid: 87218, hostname: "myhostname", name: "supervisor-5aaaa212e95de7696c1e", error: "ActiveRecord::StatementInvalid Mysql2::Error: Table 'purchasing_development.solid_queue_processes' doesn't exist"

Not sure what's going on here. I'm not trying to run solid_queue in development at all, so unsure why it's trying to access that database table. I have everything setup for solid_queue to use a separate db, so no idea why it's trying to access the application's db here.
I have run the following, but without any changes in the error:
bin/rails db:migrate:reset
bin/rails db:prepare

Any ideas what could be wrong?

Huh, strange! Are you running Solid Queue with Puma, perhaps?

I am, but not in development. Here's the stack trace:
07:58:16 web.1  | Puma starting in single mode...
07:58:16 web.1  | * Puma version: 6.5.0 ("Sky's Version")
07:58:16 web.1  | * Ruby version: ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-darwin23]
07:58:16 web.1  | *  Min threads: 15
07:58:16 web.1  | *  Max threads: 15
07:58:16 web.1  | *  Environment: development
07:58:16 web.1  | *          PID: 24967
07:58:16 web.1  | * Listening on http://<IP_ADDRESS>:3005
07:58:16 web.1  | Use Ctrl-C to stop
07:58:16 web.1  | DEBUGGER[bin/rails#24998]: Debugger can attach via UNIX domain socket (/var/folders/6c/wgs5vc7x4hsgr0n_wgbqq22w0000gn/T/rdbg-501/rdbg-24967)
07:58:16 css.1  | $ postcss ./app/assets/builds/application-main.css --use=autoprefixer --output=./app/assets/builds/application-main.css
07:58:16 web.1  | SolidQueue-1.1.0 Error registering Supervisor (433.6ms)  pid: 24998, hostname: "camfil", name: "supervisor-67f7ee8ed4d0ee341a45", error: "ActiveRecord::StatementInvalid Mysql2::Error: Table 'purchasing_development.solid_queue_processes' doesn't exist"
07:58:16 web.1  | SolidQueue-1.1.0 Started Supervisor (458.3ms)  pid: 24998, hostname: "camfil", process_id: nil, name: "supervisor-67f7ee8ed4d0ee341a45"
07:58:16 web.1  | /Users/jasonfloyd/.gem/ruby/3.3.4/gems/mysql2-0.5.6/lib/mysql2/client.rb:151:in `_query': Mysql2::Error: Table 'purchasing_development.solid_queue_processes' doesn't exist (ActiveRecord::StatementInvalid)
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/mysql2-0.5.6/lib/mysql2/client.rb:151:in `block in query'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/mysql2-0.5.6/lib/mysql2/client.rb:150:in `handle_interrupt'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/mysql2-0.5.6/lib/mysql2/client.rb:150:in `query'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/mysql2/database_statements.rb:98:in `block (2 levels) in raw_execute'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:1004:in `block in with_raw_connection'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:976:in `with_raw_connection'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/mysql2/database_statements.rb:96:in `block in raw_execute'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:1119:in `log'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/mysql2/database_statements.rb:95:in `raw_execute'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:237:in `execute_and_free'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:972:in `column_definitions'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb:109:in `columns'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/schema_cache.rb:345:in `block (2 levels) in columns'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/schema_cache.rb:344:in `block in columns'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/schema_cache.rb:343:in `fetch'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/schema_cache.rb:343:in `columns'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/schema_cache.rb:354:in `block in columns_hash'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/schema_cache.rb:353:in `fetch'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/schema_cache.rb:353:in `columns_hash'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/schema_cache.rb:54:in `columns_hash'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/schema_cache.rb:198:in `columns_hash'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/model_schema.rb:593:in `load_schema!'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/counter_cache.rb:187:in `load_schema!'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/encryption/encryptable_record.rb:127:in `load_schema!'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/model_schema.rb:540:in `block in load_schema'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/model_schema.rb:537:in `synchronize'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/model_schema.rb:537:in `load_schema'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/model_schema.rb:429:in `columns_hash'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/attributes.rb:244:in `block in _default_attributes'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:427:in `with_connection'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/connection_handling.rb:296:in `with_connection'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/attributes.rb:243:in `_default_attributes'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activemodel/lib/active_model/attribute_registration.rb:38:in `attribute_types'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/attribute_methods.rb:260:in `_has_attribute?'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/inheritance.rb:61:in `new'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activerecord/lib/active_record/persistence.rb:54:in `create!'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/app/models/solid_queue/process.rb:13:in `block in register'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/notifications.rb:210:in `block in instrument'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/notifications.rb:210:in `instrument'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/solid_queue.rb:67:in `instrument'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/app/models/solid_queue/process.rb:12:in `register'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/solid_queue/processes/registrable.rb:22:in `register'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/callbacks.rb:362:in `block in make_lambda'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/callbacks.rb:208:in `call'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/callbacks.rb:563:in `block in invoke_after'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/callbacks.rb:563:in `each'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/callbacks.rb:563:in `invoke_after'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/callbacks.rb:111:in `run_callbacks'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/solid_queue/supervisor.rb:49:in `block in boot'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/notifications.rb:210:in `block in instrument'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/activesupport/lib/active_support/notifications.rb:210:in `instrument'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/solid_queue.rb:67:in `instrument'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/solid_queue/supervisor.rb:48:in `boot'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/solid_queue/supervisor.rb:30:in `start'
07:58:16 web.1  | 	from <internal:kernel>:90:in `tap'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/solid_queue/supervisor.rb:14:in `start'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/puma/plugin/solid_queue.rb:17:in `block (2 levels) in start'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/puma/plugin/solid_queue.rb:15:in `fork'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/solid_queue-1.1.0/lib/puma/plugin/solid_queue.rb:15:in `block in start'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/puma-6.5.0/lib/puma/events.rb:17:in `block in fire'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/puma-6.5.0/lib/puma/events.rb:17:in `each'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/puma-6.5.0/lib/puma/events.rb:17:in `fire'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/puma-6.5.0/lib/puma/events.rb:46:in `fire_on_booted!'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/puma-6.5.0/lib/puma/single.rb:58:in `run'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/puma-6.5.0/lib/puma/launcher.rb:196:in `run'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/puma-6.5.0/lib/rack/handler/puma.rb:79:in `run'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/rackup-2.2.1/lib/rackup/server.rb:341:in `start'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/railties/lib/rails/commands/server/server_command.rb:38:in `start'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/railties/lib/rails/commands/server/server_command.rb:145:in `block in perform'
07:58:16 web.1  | 	from <internal:kernel>:90:in `tap'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/railties/lib/rails/commands/server/server_command.rb:136:in `perform'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/railties/lib/rails/command/base.rb:178:in `invoke_command'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/railties/lib/rails/command/base.rb:73:in `perform'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/railties/lib/rails/command.rb:71:in `block in invoke'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/railties/lib/rails/command.rb:149:in `with_argv'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/railties/lib/rails/command.rb:69:in `invoke'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/bundler/gems/rails-9b69bc638cdd/railties/lib/rails/commands.rb:18:in `<main>'
07:58:16 web.1  | 	from <internal:/Users/jasonfloyd/.rubies/ruby-3.3.4/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
07:58:16 web.1  | 	from <internal:/Users/jasonfloyd/.rubies/ruby-3.3.4/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
07:58:16 web.1  | 	from /Users/jasonfloyd/.gem/ruby/3.3.4/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
07:58:16 web.1  | 	from bin/rails:4:in `<main>'

Hi floydj, I had a similar problem.
Just try to add something like this to application.rb somewhere inside the class Application < Rails::Application block
config.active_job.queue_adapter = :solid_queue
config.solid_queue.connects_to = { database: { writing: :queue } }

That solved a comparable error in my rails app.
Don't know if a newly created rails app should add this by default
I'm also using a separate DB for solid queue, that might cause the problem(?) – but don't know for sure.

Thanks @onelinetree! It seems @floydj's error is different because he's not trying to run solid queue in development.
Sorry for the delay replying. I think you're running Solid Queue with Puma in development as well, not just production, so that's why it's getting started. How are you adding the Solid Queue plugin to your Puma configuration?

I had it in the config/puma.rb file as
plugin :solid_queue
But I see in Rails 8 that it's been changed to plugin :solid_queue if ENV["SOLID_QUEUE_IN_PUMA"]. And making that change fixes up my development environment.
Should the if ENV["SOLID_QUEUE_IN_PUMA"] part be added to the README, which is what I was following?

Ahhh, perfect. Yes, that's what Rails 8 adds by default, not only because of development, but because many people would prefer to start solid queue separately via bin/jobs.
Not sure about adding that to the README, because it tells you how to configure Solid Queue to be run with Puma, so if you add that it's because you want to run it with Puma, and so you need to take care of doing that in the environment you wish? 🤔

Yeah, I mean, I know that's on me, but I just blindly followed what the README showed, and it led to this problem for me, because I use Puma in development. But I get what you're saying. Thanks for following up, I actually fixed this up a couple days ago, but forgot to report back here.

Yeah, makes sense! I'll add a note about it in the README in any case, if that can avoid someone's confusion! Thank you 🙏

Done in https://github.com/rails/solid_queue/commit/eb75d093bcbe31c6d750549e2a28925074b42a78


Work for Github Issue 65.

Relocates the tests to the exercises directory and updates the Makefile to ignore the new directory.
https://github.com/exercism/xphp/issues/65

Excellent, thanks! Would you mind squashing the commits, please? The commit should explain what the commit does, and reference the GitHub issue by number in order to close the correct issue automatically.
Move exercises to subdirectory. Closes #65

See http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html for a great explanation of what makes a good commit message (notice "Move", not "Moved" or "Moves").
See https://help.github.com/articles/closing-issues-via-commit-messages/ for an explanation about closing issues automatically from a commit message.

I think I might have done the right thing.  I've never had to rebase before, so if it's not right, please let me know.

If you look at the list of the commits you'll see two things that show that this hasn't been rebased and squashed: First, look for the "merge" commits. These happen when the history diverges in the two branches (rebasing would put one history after the other, so there wouldn't be a merge). The second is that there are 4 commits. When you've successfully squashed then there will only be one commit.
Here's a blog post about how to squash: http://blog.steveklabnik.com/posts/2012-11-08-how-to-squash-commits-in-a-github-pull-request
Since you're working on master, though, instead of a branch, you will need to do things slightly differently.
What do you get when you type git remote -v?

I may have mangled this unintentionally.
When I run the git remote -v (on both my master or the branch I merged
into my master):
origin  https://github.com/lafent/xphp (fetch)
origin  https://github.com/lafent/xphp (push)
From my forked copy of xphp I did a git checkout -b exercises-relocation,
did the move, committed things, then figured out that Travis was having
issues, when back, fixed the Travis hiccup.
Since the scope of work is so small, I can nuke it, and redo the commit
in a single go.  I'm not sure if that's less hassle or what.  I just
don't know what Github would do with the pull request or if it can be
killed in some fashion.
Sorry for the headache.
L
On Wed, Mar 23, 2016 at 02:22:33PM -0700, Katrina Owen wrote:

If you look at the list of the commits you'll see two things that show that this hasn't been rebased and squashed: First, look for the "merge" commits. These happen when the history diverges in the two branches (rebasing would put one history after the other, so there wouldn't be a merge). The second is that there are 4 commits. When you've successfully squashed then there will only be one commit.
Here's a blog post about how to squash: http://blog.steveklabnik.com/posts/2012-11-08-how-to-squash-commits-in-a-github-pull-request
Since you're working on master, though, instead of a branch, you will need to do things slightly differently.
What do you get when you type git remote -v?

You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/exercism/xphp/pull/66#issuecomment-200549733

Maybe this is right now?

It looks like you need to add this repository as a remote:
git remote add upstream https://github.com/exercism/xphp.git

That said, it does look right now. Thanks!


Cloudflare plugin saving account email and API Global Key at plain text php_errolog file

Hi,
I've recently noticed a php_errorlog file in one of my WordPress installations with JSON-formatted errors inserted into the system php_errorlog file that seems to come from the Cloudflare plugin. It seems this is a similar issue to the one addressed in 266, but it may have crept back up somehow.
(
    [type] => request
    [path] => https://api.cloudflare.com/client/v4/zones/ZONE-ID-STRING/purge_cache
    [timeout] => 30
    [method] => DELETE
    [headers] => Array
        (
            [Content-Type] => application/json
            [X-Auth-Email] => MY CLOUDFLARE ACCOUNT EMAIL
            [X-Auth-Key] => GLOBAL API KEY
        )

    [body] => {"files":["","http:\/\/dicio.eauladeingles.com\/"],"cfCSRFToken":null}
)

In the same php_errolog file there were several other Cache Purge errors that did not contain the account's email and the global API key.
My sites are hosted by A2 Hosting:
Apache Version | 2.4.46
PHP Version | 7.2.34
MySQL Version | 10.3.24-MariaDB-cll-lve
Architecture | x86_64
Operating System | linux
I do not know what caused that error and therefore cannot provide steps to make it happen again.
Thank you for your attention.

Thanks for this @claudiobrandt ! Unfortunately #266 didn't fix anything for the logging as it was focused on another fix however I've put together a fix for this one via cloudflare/cloudflare-plugin-backend#52. Once we merge that, we can pull into this repository and cut a release addressing the issue.


FEAT(parse, runtime): support primary key parse

Signed-off-by: nautaa<EMAIL_ADDRESS>relate issue: #266

Is this wrong with CI?

Same problem occurred on my fork.
The packed_simd_2 crate depended by Arrow recently released a new version. The new version seems to use a feature from a newer Nightly version.

@fandahao17 good catch! Can you send out a PR for this?:)

Sure, I'll work on this.


Add shrinker for SelectionParams type.

Issue Number
ADP-1136
Summary
This PR:

[x] adds a shrinker for the SelectionParams type.
[x] adds minted and burned assets to the SelectionSkeleton type.
[x] improves shrinking of UTxOIndex values.

bors r+

bors r+