Getting error when trying to do XcodebuildSetup

Error executing Lua callback: ...share/nvim/lazy/telescope.nvim/lua/telescope/pickers.lua:347: Invalid 'event': 'User TelescopeFindPre'
stack traceback:
        [C]: in function 'nvim_exec_autocmds'
        ...share/nvim/lazy/telescope.nvim/lua/telescope/pickers.lua:347: in function 'find'
        .../nvim/lazy/xcodebuild.nvim/lua/xcodebuild/ui/pickers.lua:169: in function 'show'
        .../nvim/lazy/xcodebuild.nvim/lua/xcodebuild/ui/pickers.lua:253: in function 'select_project'
        ...m/lazy/xcodebuild.nvim/lua/xcodebuild/project/config.lua:128: in function 'configure_project'
        ...are/nvim/lazy/xcodebuild.nvim/lua/xcodebuild/actions.lua:82: in function 'action'
        .../share/nvim/lazy/xcodebuild.nvim/lua/xcodebuild/init.lua:24: in function <.../share/nvim/lazy/xcodebuild.nvim/lua/xcodebuild/init.lua:23>
Press ENTER or type command to continue

I get this - I have the latest telescope installed and latest xcodebuild.nvim installed too

Which telescope version do you use? I've got the latest and I don't see this issue. Don't you have a hardcoded version in your configuration?

Oh you were right there was a tag hardcoded for my Telescope. So that issue is fixed but now I'm stuck on this screen (the three dots are moving)

Sometimes loading devices can take a while. Later it is cached, until you quit Neovim. Please wait a while. It depends on the project size and your computer performance.

I've waited for around 10 minutes now and there is still nothing. Doesn't seem to be anything using the CPU either

✝ ~/code/gloss ✝  xcodebuild -showdestinations -project gloss.xcodeproj -scheme gloss
2024-06-03 11:01:52.549 xcodebuild[14957:16359302] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -showdestinations -project gloss.xcodeproj -scheme gloss

User defaults from command line:
    IDEPackageSupportUseBuiltinSCM = YES

Resolve Package Graph

Resolved source packages:
  GRDB: https://github.com/groue/GRDB.swift.git @ master
  swiftui-introspect: https://github.com/siteline/SwiftUI-Introspect.git @ 1.1.4
  GRDBQuery: https://github.com/groue/GRDBQuery @ 0.7.0
  WrappingHStack: https://github.com/ksemianov/WrappingHStack @ 0.2.0

        Available destinations for the "gloss" scheme:
                { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
                { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
                { platform:iOS Simulator, id:ACEFFF5B-0BB5-4F9E-9507-905E84430E72, OS:17.0.1, name:iPad Pro (12.9-inch) (2nd generation) }
                { platform:iOS Simulator, id:7C550C10-E543-41B4-8FC7-38E98B38AE66, OS:17.0.1, name:iPad Pro (12.9-inch) (6th generation) }
                { platform:iOS Simulator, id:3444239C-D47B-487D-B6F6-6F4E3B70B0AC, OS:17.0.1, name:iPhone 8 }
                { platform:iOS Simulator, id:9B854757-19FC-44C0-8D21-DE0E5B0E2BB7, OS:17.0.1, name:iPhone 8 Plus }
                { platform:iOS Simulator, id:E8D24A66-E7F9-4DF3-9845-0E1F586754A1, OS:16.4, name:iPhone 11 }
                { platform:iOS Simulator, id:E408781C-8AD7-4767-B257-8D6F94200FDB, OS:17.0.1, name:iPhone 14 }
                { platform:iOS Simulator, id:B5F02F21-51B3-459E-8E3B-CA059F1702F3, OS:17.0.1, name:iPhone 14 Plus }
                { platform:iOS Simulator, id:A6FD22FD-7FB0-4179-A95F-DC52F5776F63, OS:17.0.1, name:iPhone 14 Pro }
                { platform:iOS Simulator, id:081A6A6B-A8F2-494F-82C9-8CE2DDDE81FD, OS:17.0.1, name:iPhone 14 Pro Max }

It completed very fast

Did you select the same scheme and project file from Neovim?
Could you post here the result of: :checkhealth xcodebuild?

xcodebuild: require("xcodebuild.health").check()

Checking xcodebuild.nvim ~
- OK xcodebuild.nvim: commit #e6250f9

Checking OS ~
- WARNING macOS below 14 was not tested.

Checking plugins ~
- OK telescope.nvim installed.
- OK nui.nvim installed.
- OK nvim-tree installed.
- WARNING neo-tree not installed. (Optional to visually manage project files)
- OK oil.nvim installed.
- WARNING nvim-dap not installed. (Optional to debug applications)
- WARNING nvim-dap-ui not installed. (Optional to present debugger UI)
- OK nvim-treesitter installed.
- OK nvim-treesitter: Swift parser installed.

Checking required dependencies ~
- WARNING xcodebuild: version 14.3 was not tested. Use version 15 or higher.
- OK xcodebuild: installed
- OK xcrun: installed
- OK xcode-build-server: installed

Checking optional dependencies ~
- WARNING pymobiledevice3: not installed. Required for debugging on physical devices and/or running apps on devices below iOS 17. (https://github.com/doronz88/pymobiledevice3)
- WARNING xcodeproj: not installed. Required if you want your xcodeproj to be updated when you add, rename, or delete files. (https://github.com/CocoaPods/Xcodeproj)
- OK xcbeautify: installed

Checking debugger ~
- ERROR codelldb: cannot be checked because dap is not installed.

Checking buildServer.json ~
- OK buildServer.json: found

Checking .nvim/xcodebuild/settings.json ~
- OK .nvim/xcodebuild: found
- OK .nvim/xcodebuild/settings.json: found

Yes I selected the same project. I didn't get an option to select the scheme in nvim

You can also check what prints this command from Neovim:
:lua require("xcodebuild.core.xcode").get_destinations("-project gloss.xcodeproj", "gloss", function(result) print(vim.inspect(result)) end)

But I suspect that this could be the reason:
- WARNING xcodebuild: version 14.3 was not tested. Use version 15 or higher.

Maybe the output format is a little bit different

3
{ {
    id = "dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder",
    name = "Any iOS Device",
    platform = "iOS"
  }, {
    id = "dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder",
    name = "Any iOS Simulator Device",
    platform = "iOS Simulator"
  }, {
    id = "ACEFFF5B-0BB5-4F9E-9507-905E84430E72",
    name = "iPad Pro (12.9-inch) (2nd generation)",
    os = "17.0.1",
    platform = "iOS Simulator"
  }, {
    id = "7C550C10-E543-41B4-8FC7-38E98B38AE66",
    name = "iPad Pro (12.9-inch) (6th generation)",
    os = "17.0.1",
    platform = "iOS Simulator"
  }, {
    id = "3444239C-D47B-487D-B6F6-6F4E3B70B0AC",
    name = "iPhone 8",
    os = "17.0.1",
    platform = "iOS Simulator"
  }, {
    id = "9B854757-19FC-44C0-8D21-DE0E5B0E2BB7",
    name = "iPhone 8 Plus",
    os = "17.0.1",
    platform = "iOS Simulator"
  }, {
    id = "E8D24A66-E7F9-4DF3-9845-0E1F586754A1",
    name = "iPhone 11",
    os = "16.4",
    platform = "iOS Simulator"
  }, {
    id = "E408781C-8AD7-4767-B257-8D6F94200FDB",
    name = "iPhone 14",
    os = "17.0.1",
    platform = "iOS Simulator"
  }, {
    id = "B5F02F21-51B3-459E-8E3B-CA059F1702F3",
    name = "iPhone 14 Plus",
    os = "17.0.1",
    platform = "iOS Simulator"
  }, {
    id = "A6FD22FD-7FB0-4179-A95F-DC52F5776F63",
    name = "iPhone 14 Pro",
    os = "17.0.1",
    platform = "iOS Simulator"
  }, {
    id = "081A6A6B-A8F2-494F-82C9-8CE2DDDE81FD",
    name = "iPhone 14 Pro Max",
    os = "17.0.1",
    platform = "iOS Simulator"
  } }

It looks like devices are parsed correctly. So I guess there is some problem with presenting the results in Telescope. Maybe this config and see if it works there: https://github.com/wojciech-kulik/ios-dev-starter-nvim
You can easily switch to it without modifying your config (instruction in the README).

Same issue with the ios-dev-starter-nvim setup. Hangs on setup doesn't show up

What is your Neovim version?

I'm using v.0.10

The easy way would be to just add print(vim.inspect(<something>)) in several places to see which one fails. Then I can fix it once we figure out what's wrong.

Can you switch to fix/issue-149 and try it again? I added a couple of prints and removed one thing that maybe somehow blocks the further progress

So on the branch I make it past the device select but then it automatically quits on the Select Test Plan screen
This is the messages output I get
update_results { "gloss" } true
inside get_destinations
refreshDevices { "iPad Pro (12.9-inch) (2nd generation) (17.0.1)", "iPad Pro (12.9-inch) (6th generation) (17.0.1)", "iPhone 8 (17.0.1)", "iPhone 8 Plus (17.0.1)", "iPhone 11 (16.4)", "iPhone 14 (17.0.1)", "iPhone 14 Plus (17.0.1)", "iPhone 14 Pro (17.0.1)", "iPhone 14 Pro Max (17.0.1)" }
update_results { "iPad Pro (12.9-inch) (2nd generation) (17.0.1)", "iPad Pro (12.9-inch) (6th generation) (17.0.1)", "iPhone 8 (17.0.1)", "iPhone 8 Plus (17.0.1)", "iPhone 11 (16.4)", "iPhone 14 (17.0.1)", "iPhone 14 Plus (17.0.1)", "iPhone 14 Pro (17.0.1)", "iPhone 14 Pro Max (17.0.1)" } nil

E464: Ambiguous use of user-defined command
update_results { "gloss" } true
update_results { "gloss" } true

It automatically selects test plan if there is one. Or quits if there is none. So I guess it’s fine. Now the plugin should be configured.

It works now thanks! Is there some fix that has to be merged into main or was it always working somehow

It looks like, something that shouldn’t ever happen, happens on your machine for some reason. I will send you some other version to test.

I updated the fix branch, could you checkout latest changes, try to setup the project again and show me what you get in :messages?

I updated it and it works, and I don't see anything in :messages

Can you try restarting the Neovim?

Restarted a few times, project builds but there is no output in messages

Weird, it's not really possible, because I print in the function that fills in devices. So if you can see devices it had to run print.

Oh sorry, I was running XcodebuildBuildRun, which is why I wasn't getting any output. Here is the output from setup:
update_results currentJobId = nil force = true { "gloss" }
get_destinations before currentJobId = nil
get_destinations after currentJobId = 15
update_results currentJobId = nil force = nil { "iPad Pro (12.9-inch) (2nd generation) (17.0.1)", "iPad Pro (12.9-inch) (6th generation) (17.0.1)", "iPhone 8 (17.0.1)", "iPhone 8 Plus (17.0.1)", "iPhone 11 (16.4)", "iPhone 14 (17.0.1)", "iPhone 14 Plus (17.0.1)", "iPhone 14 Pro (17.0.1)", "iPhone 14 Pro Max (17.0.1)" }

Ok, so the issue is caused by what I expected, but it doesn't make any sense :D.
Could you checkout one more time and run setup? I added two more prints

Here's the new output
update_results currentJobId = nil force = true { "gloss" }
get_destinations before currentJobId = nil
get_destinations after currentJobId = 5
returned destinations
update_results currentJobId = nil force = nil { "iPad Pro (12.9-inch) (2nd generation) (17.0.1)", "iPad Pro (12.9-inch) (6th generation) (17.0.1)", "iPhone 8 (17.0.1)", "iPhone 8 Plus (17.0.1)", "iPhone 11 (16.4)", "iPhone 14 (17.0.1)", "iPhone 14 Plus (17.0.1)", "iPhone 14 Pro (17.0.1)", "iPhone 14 Pro Max (17.0.1)" }

Ok, it doesn't make sense :D. So basically this is what happens
function update_results()
   -- check currentJobId
end

-- before
currentJobId = get_destinations(function(result)
   update_results()
end)
-- after

Somehow,  on your machine, currentJobId is nil inside update_results even though it is called after get_destinations returns, as it is a callback of an asynchronous operation.
What version of lua do you have? Just call in terminal: lua -v?

Lua 5.4.6  Copyright (C) 1994-2023 Lua.org, PUC-Rio

Same on my side. Can you save it as test.lua, open in Neovim and just run ":so"?
local jobid = nil

local function something()
  print("inside something jobid =", jobid)
end

local function bug()
  jobid = vim.fn.jobstart("echo 'Hello World'", {
    stdout_buffered = true,
    on_stdout = function()
      something()
    end,
  })
  print("inside bug jobid =", jobid)
end

bug()

"test.lua" [New] 17L, 300B written
inside bug jobid = 3
inside something jobid = 3

Any difference if you run (make sure to keep it where your xcodeproj is, or just adjust the path):
local M = {}
local jobid = nil

local function something()
  print("inside something jobid =", jobid)
end

function M.asyncWork(callback)
  return vim.fn.jobstart("xcodebuild -showdestinations -project gloss.xcodeproj -scheme gloss", {
    stdout_buffered = true,
    on_stdout = function()
      callback()
    end,
  })
end

function M.bug()
  jobid = M.asyncWork(function()
    something()
  end)
  print("inside bug jobid =", jobid)
end

M.bug()

"test.lua" 24L, 450B written
inside bug jobid = 4
inside something jobid = 4

I might have found something, could you one more time update the plugin and run the setup again?

before find_schemes
1
2
3
4
5
6
7
update_results currentJobId = nil force = true { "gloss" }
8
find_schemes callback
get_destinations before currentJobId = nil
get_destinations after currentJobId = 5
9
returned destinations
update_results currentJobId = nil force = nil { "iPad Pro (12.9-inch) (2nd generation) (17.0.1)", "iPad Pro (12.9-inch) (6th generation) (17.0.1)", "iPhone 8 (17.0.1)", "iPhone 8 Plus (17.0.1)", "iPhone 11 (16.4)", "iPhone 14 (17.0.1)", "iPhone 14 Plus (17.0.1)", "iPhone 14 Pro (17.0.1)", "iPhone 14 Pro Max (17.0.1)" }
1
2
3
4
5
6

I think I found the problem. Contex switching is different on your machine causing race-condition. I prepared a possible fix.
Could you switch to fix/issue-149-2  branch and see if it works correctly? (XcodebuildSetup)?

That branch works for me

I managed to reproduce this issue on my side as well. It turns out that it is caused in specific sequence of conditions. You have to have only a single generated scheme and not installed pymobiledevice3 tool :D. Then the race condition is triggered.
Thank you for helping to debug this issue, I will merge the fix in a minute :)!

Thanks for fixing this!

Hi, I'm having what appears to be the same problem.  I'm have plugin version v3.5.1 on nvim 0.10.0
When running :XcodebuildSetup I'm not prompted to select a scheme (it flickers for a moment... maybe the default is being auto-selected?).  In Select Device it just spins forever (and increments a number in the bottom bar next to device_proxy.lua)
Running :lua require("xcodebuild.core.xcode").get_destinations("-project littlehand-ios.xcodeproj", "littlehand", function(result) print(vim.inspect(result)) end) appears to parse the destinations properly.
Just realized I'm running XCode 15.3, so I'm going to upgrade to 15.4 to see if that makes a difference...

@egradman-red6ar try also clean build from Xcode and then go back to configuration.

Same issue.
I upgraded to XCode 15.4.  I cleaned the build folder, and tested again: same result.  Then I did a build: same result.

Can you show the result of :checkhealth xcodebuild and the content of project_dir/.nvim/xcodebuild/settings.json? You can obfuscate some names if you need.

==============================================================================
xcodebuild: require("xcodebuild.health").check()

Checking xcodebuild.nvim ~
- OK xcodebuild.nvim: commit #2c11361

Checking OS ~
- OK macOS 14+: release 23.4.0

Checking plugins ~
- OK telescope.nvim installed.
- OK nui.nvim installed.
- OK nvim-tree installed.
- WARNING neo-tree not installed. (Optional to visually manage project files)
- OK oil.nvim installed.
- OK nvim-dap installed.
- OK nvim-dap-ui installed.
- WARNING nvim-treesitter not installed. (Optional to present results for tests written using Quick framework)
- WARNING nvim-treesitter: Swift parser not installed. It is required to present results for tests written using Quick framework.

Checking required dependencies ~
- OK xcodebuild: version 15.4
- OK xcodebuild: installed
- OK xcrun: installed
- OK xcode-build-server: installed

Checking optional dependencies ~
- OK pymobiledevice3: installed
- OK xcodeproj: installed
- OK xcbeautify: installed
- ERROR ruby: version 2.6.10 is not supported. Use version 2.7 or higher. Required by `xcodeproj`.

Checking debugger ~
- ERROR nvim-dap: codelldb adapter not configured.

Checking buildServer.json ~
- OK buildServer.json: found

Checking .nvim/xcodebuild/settings.json ~
- OK .nvim/xcodebuild: found
- OK .nvim/xcodebuild/settings.json: found

Checking passwordless sudo ~
- WARNING sudo: passwordless permission for `remote_debugger` is not configured.
- WARNING debugging on physical devices with iOS 17+ will not work.
- WARNING see `:help |xcodebuild.sudo`| for more information.

{"xcodeproj": "/Users/egradman/dev/littlehand/littlehand-ios/littlehand-ios.xcodeproj", "projectFile": "/Users/egradman/dev/littlehand/littlehand-ios/littlehand-ios.xcodeproj", "scheme": "littlehand-ios", "projectCommand": "-project '/Users/egradman/dev/littlehand/littlehand-ios/littlehand-ios.xcodeproj'"}

How long did you wait for the devices? Maybe it was just too short? Usually, it should take around 20 seconds, but I guess in some cases it may take around 1 minute.
Also, could you try uninstalling pymobiledevice3 and see if it changes anything?

uninstalling pymobiledevice3 made it work instantly.

Can you show the output of:
pymobiledevice3 usbmux list --usb --no-color

[]

Weird, maybe you had an old version of pymobiledevice3 or maybe there was some issue with it and it stuck :). But I'm glad it works now :).


Converting userids to UPN format to avoid duplicate user records

Manually cherry-picked out of
https://github.com/ManageIQ/manageiq/pull/15535
(cherry picked from commit 53c1704a56db62a1751665f52323c0e496f32669)
Merge pull request #15535 from jvlcek/bz1424618_dup_users
https://bugzilla.redhat.com/show_bug.cgi?id=1487689
See: https://github.com/ManageIQ/manageiq/pull/15535 for full description of this change.

@gtanzillo Please review. This is the fine backport of #15535
Thank you! JoeV

@simaishi Here is the fine PR for #15535

@miq-bot add_labels authentication, bug


[HOLD for payment 2024-06-20] [HOLD for payment 2024-06-18] [$250] Accounting-Renaming Customers/Projects tag doesn't work and has weird behavior while offline

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

Version Number: 1.4.78-2
Reproducible in staging?: y
Reproducible in production?: n
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause internal team
Slack conversation:
Action Performed:
Pre-requisite:

Account must have a workspace connected with a QBO

Navigate to staging.new.expensify.com
Go to settings > Workspace and select the workspace you have QBO setup with
Go to tags
Go to Customers/Projects tag
Open any tag and rename it
Go offline
Go to Customers/Projects tag again and rename a tag
Go to Classes tag

Expected Result:
On step 5 after renaming the tag the renamed tag must appear in the tag list, and on step 8 the renamed tag on step 7 should not appear on Classes tag
Actual Result:
On step 5 after renaming the tag it is not being reflected on the tag list. And on step 8 while the user is offline and tries to rename the tag in Customers/Projects the renamed tag is visible on Classes tag list.
Workaround:
unknown
Platforms:

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

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/43996225/8639b86b-a1ed-4de9-9654-501853eedbfc

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01f7371d4279355423
Upwork Job ID:<PHONE_NUMBER>564117504
Last Price Increase: 2024-06-01

Issue OwnerCurrent Issue Owner: @sakluger

Since the issue described with Expensify involves the renaming of tags in the Customers/Projects section not working as expected, particularly when you are offline. I'll get a detailed breakdown of the problem and potential steps to investigate and fix it. Please do keep contact.

Not a blocker as discussed here: https://expensify.slack.com/archives/C036QM0SLJK/p1717423475598289

I wanted to test this against the latest changes here: https://github.com/Expensify/App/pull/42543 but I can't run an adhoc build on that anymore because it's merged awaiting a staging deploy.

Ah, was about to start triaging what to do because I found that the PR that caused this was this one: https://github.com/Expensify/App/pull/42315
@puneetlath Now this would be a regular bug then, correct?

Yeah, this isn't a deploy blocker - but let's fix it if you know what the issue is and the changes in this PR hasn't solved it already! CC: @hayata-suenaga

Not sure what the issue is, just looked at the PRs and this one is almost for sure the one that's causing it. @hayata-suenaga wanna tackle it since you probably have more context on what could be breaking it?

@trjExpensify I added the External label over the weekend but should we keep it now?

@carlosmiceli I can take over this 😄

The PR is open

[@hayata-suenaga] The PR that introduced the bug has been identified. Link to the PR:

This is a new feature. We just didn't account for multi tag before.

[@hayata-suenaga] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

N/A

[@hayata-suenaga] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

No need for discussion

[@hayata-suenaga] Determine if we should create a regression test for this bug.

N/A

[@hayata-suenaga] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

N/A

@s77rt do you need to be paid here for the PR review, or are you being paid somewhere else?

@sakluger I'm due payment here

Summarizing payment on this issue:
Contributor+: @s77rt $250, please request via Newdot

$250 approved for @s77rt


Custom CSS

Sincere apologies for this annoying newbie question, but I'm really stuck. I created some custom CSS in order to style a form I've integrated.
I tried the following (without success).

I placed a custom.css (containing only my code) in static/css/
I placed a custom.css (containing my css AND your CSS) in static/css.

In both cases I referred in config.toml with
customCSS = ["css/custom.css"]
What am I doing wrong?
The only thing that is working for me (of course) is when I revise your CSS file in the theme/assets folder directly. But I don't want to do that.

Add a file custom.css in static/css
Add the following lines in config.toml

[params]
  customCSS = ["css/custom.css"]

Note: if you already have a params-header, just add the customCSS line in that section


cras_ros_utils: 2.3.3-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository cras_ros_utils to 2.3.3-1:

upstream repository: https://github.com/ctu-vras/ros-utils
release repository: https://gitlab.fel.cvut.cz/cras/ros-release/ros-utils.git
distro file: noetic/distribution.yaml
bloom version: 0.11.2
previous version for package: 2.3.2-1

cras_cpp_common

No changes

cras_docs_common

No changes

cras_py_common

No changes

cras_topic_tools
* priority_mux: Fixed parameters incorrectly reported as required.
* Contributors: Martin Pecka

image_transport_codecs

No changes

@methylDragon I'm sorry for the quick re-release, but I've noticed (and fixed) a bug introduced in 2.3.2...


feat(remix-cloudflare-workers): support ES Module

Hi there,
This is my first contribution to the Remix project so please let me know what additions you would like to see from this PR 😄 .
I've very interested in using features like Durable Objects in my Cloudflare workers, but to use them we need the ability to publish ESM versions of our workers. Remix has already(?) shipped the ability to generate native ESM, but we still need to update the @remix/cloudflare-workers package.
This change adds three commits to help us get there. Each commit explains what it does, but happy to further explain here as well.
Cheers!
P.S. This also fixes a bug where if the result of the handler is a Promise<Response> that rejects, it wouldn't have been caught by the try catch block due to the promise not being awaited.
Closes #764

@ryanflorence Is there something I can do to improve this PR? Or is there a separate work stream happening to improve the Cloudflare story?
Just wondering if I should continue to open these types of PRs right now. Thanks!

Is there something I can do to improve this PR?

Sorry, just been getting the company organized and the framework off the ground! We're finally able to spend some time in the PRs/Issues.
I'm going to assign this @jacob-ebey, I'm not as familiar w/ cloudflare workers.

@MichaelDeBoey I've updated the PR (better 10 months later than never). This was my first time using changesets so I would love a review to make sure I did it correctly.
Thank you and excited to finally get this merged as this has been blocker for us for a long time now

@ekosz It seems like @jacob-ebey has a solution that only involves changes to the template in #4198.
Maybe it's a good idea to join forces on this & suggest changes to @remix-run/cloudflare-workers if still needed? 🤔

@MichaelDeBoey That seems like a much better change than this one? I tried to keep this as contained as possible. Does it seem like that PR have a high likelihood of landing soon? If so it can supersede this one. Otherwise if it seems that PR may take a while to land may I suggest this be merged in the meantime? This is something people have wanted for a while.

With the new comments on this PR, does that mean @MichaelDeBoey that the Remix team wants to go this direction instead? I just don't want to address these comments just to have the PR closed

With the new comments on this PR, does that mean @MichaelDeBoey that the Remix team wants to go this direction instead? I just don't want to address these comments just to have the PR closed

Hi @ekosz sorry about that, me and @petebacondarwin were just trying to get Remix to work with Cloudflare Worker ESM mode as that would be a very valuable thing to have, we've stumbled across this PR without noticing that there was already  https://github.com/remix-run/remix/pull/4198 (and there seem to even be a third one https://github.com/remix-run/remix/pull/4401 😨).
I'll be checking out https://github.com/remix-run/remix/pull/4198 next to see if that solution work 🙂, as of this PR unfortunately it doesn't seem to work in its current state, because of the 2 comments we've added + another issue with the ASSET_NAMESPACE and ASSET_MANIFEST not being correctly passed to getAssetFromKV (but I totally understand you not fixing all the issue while being unsure of the state of this PR).

@MichaelDeBoey That seems like a much better change than this one? I tried to keep this as contained as possible. Does it seem like that PR have a high likelihood of landing soon? If so it can supersede this one. Otherwise if it seems that PR may take a while to land may I suggest this be merged in the meantime? This is something people have wanted for a while.

As you mentioned @ekosz this is something that people would have needed for a while and as time progresses more Cloudflare features assume and work better with the use of the (preferred) ESM mode, so it would be very good to have this issue fixed soon, @MichaelDeBoey please let me know if I can help in any way as I would be very happy to do so 🙏

@ekosz @huw @dario-piotrowicz I'm wondering if you could obtain the same result with the new config properties that were exposed by #4841 🤔

@ekosz @huw @dario-piotrowicz I'm wondering if you could obtain the same result with the new config properties that were exposed by #4841 🤔

@MichaelDeBoey Nope, still need to add an additional handful of files (see solution here)—the new config options helped a tonne though and ultimately unblocked that work. The most idiomatic solution should be my one there, or the update this morning from @xanderberkein.
To make progress on this we just need agreement on who should own the adapter package and those discussions never happened (but you & I don’t work for CF or Remix so our options are limited here). IMHO this PR should be closed in favour of having that discussion, if we can ever get it to happen.

@huw We also still have @jacob-ebey's #4198 & #6229, which adds ESM-support to the CF Workers template without the need of changing the adapter
Could those be possible solutions as well you think?

Yep, I weighed in on that debate here last time it came up (most of my points still apply, but the situation has improved a bit with the new config properties).
Given how much time has passed without much of a discussion between Remix & CF, it’s probably better to just merge #6229 when it’s done. I would prefer we create a new package for the reasons in that comment, but given that that seems politically impossible right now (not enough interest from either side), updating the template would at least provide user value sooner. I’ll leave some suggestions on that PR :)

@huw For what it's worth: I thought @jacob-ebey was also planning on only supporting ESM in v2 (or at least making it the default), so I guess the changes that are done in this PR could come in handy when implementing that 🤔

I didn't realize the debate on who should own the ES Modules adapter was still ongoing. I just released my own adapter yesterday: https://github.com/xanderberkein/remix-cloudflare-module-workers.
From a DX perspective, I agree with @huw: I'd prefer a separate adapter (or even better - an update to the current cloudflare-workers adapter) that abstracts away the boilerplate otherwise needed in the template.
The service worker syntax does nothing you can't do with module workers, so there is no real need to keep the old service worker syntax around. As you can see from my adapter, the only change needed to convert the current cloudflare-workers adapter from a service worker to a module worker, is a few minor changes to the createEventHandler (https://github.com/xanderberkein/remix-cloudflare-module-workers/blob/main/src/worker.ts#L16), and some small adjustments to the template.
The breaking change when switching to module workers would be that people would need to manually follow the three steps described in the readme of my adapter.
If updating the current cloudflare-workers is not an option, I'd still vote for a separate module-worker adapter then.

I'm going to go ahead and close this PR since the original issue (#764) is closed by #6650
Thanks @ekosz for opening this up so long ago


Figure out what to do with shared equipment

Some pools use "shared equipment", and example is having a single filter pump that is used for both a pool and a spa.  Currently, that one filter pump is represented twice, once under each body of waters device.  This may be the right way to go long-term, but there is someone testing the integration now who can provide feedback.

 In that telemetry systemId 3 is connected to a pool and systemId 14 is connected to a Spa.  The Spa currently has it's "filter" on, which turns on the physical filter pump, and sets the filterState for the pool filter to "7", which appears to mean something along the lines of "It's on, but only because it's shared equipment and something else that needs it has commanded it to turn on, not because this specific systemId was requested to turn on"

This might be fixed at least for shared filter pumps with the merge of #11, waiting on confirmation from a tester


Problem: on some forms we do not need back/dashboard button

Solution: new DashboardButton refactored from Form component. Form component has backButton prop now where you can provide own button

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@610a03b). Click here to learn what that means.
The diff coverage is 16.27%.

@@            Coverage Diff            @@
##             master     #336   +/-   ##
=========================================
  Coverage          ?   14.22%
=========================================
  Files             ?      193
  Lines             ?     2728
  Branches          ?      473
=========================================
  Hits              ?      388
  Misses            ?     1959
  Partials          ?      381

Impacted Files
Coverage Δ

src/components/tx/CreateTx/createTxForm.js
77.77% <ø> (ø)

src/components/tx/TxHistory/List/transaction.js
0% <ø> (ø)

.../accounts/add/ImportPrivateKey/importPrivateKey.js
0% <0%> (ø)

src/components/tx/TxHistory/List/list.js
0% <0%> (ø)

src/components/tx/TxHistory/history.js
0% <0%> (ø)

src/containers/PaperWallet/paperWallet.js
0% <0%> (ø)

src/components/accounts/AccountShow/show.js
0% <0%> (ø)

src/components/layout/Dashboard/menu.js
0% <0%> (ø)

src/components/settings/settings.js
0% <0%> (ø)

...c/components/accounts/add/ImportJson/importJson.js
0% <0%> (ø)

... and 7 more

Continue to review full report at Codecov.

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


Clear button does not work if placeholder is not defined

Select2 4.0.0
The error is in the method _handleClear on the line:
this.$element.val(this.placeholder.id).trigger('change');

Obviously, if options.placeholder is undefined this will fail

I see the same behavior in 3.5.4, i.e. that if allowClear: true and placeholder is undefined, the clear button (X) does not appear, which is because the class select2-allowclear is not added.
Looking at the code at line 2662 reveals why:
if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
    this.container.addClass("select2-allowclear");
}

If I remove the placeholder check it works as expected.
I am not sure I understand why the check for placeholder is there, though.

This is a duplicate of https://github.com/select2/select2/issues/3016, the clear button is designed to reset the <select> to the placeholder, which is why it is required.


Generated files have inconsistent lined endings

Describe the bug
The generated files seem to have a mixture different lines endings. This dialog appears everytime a file is opened in VS.

Perhaps consider normalizing the line endings to whatever the OS environment the tools is run in :)
Support Key: kedfgny
OpenAPI Specifications
N/A
Additional context
Add any other context about the problem here.

@damianh thanks for taking your time to report this. I think your suggestion is a great idea and I will add this to my to-do list

Apparently, there are already some convenience methods in the string class to do this called ReplaceLineEndings()

This issue in resolved in v0.5.28

Nice thanks!


inactive taxa no longer returned in taxon search components on views where they used to

On http://www.inaturalist.org/taxon_changes/new the taxon search components used to return inactive taxa along with the active taxa, since the ES update, these only return active taxa
likewise http://www.inaturalist.org/taxa/search has a 'Show active and inactive taxa' toggle which adds the is_active=any which used to return both active/inactive taxa. since the ES update, this param doesn't work

I just deployed the fix, and it looks like this is working now


Players spawn the wrong direction after replay

They appear to spawn backwards after replays etc. Might be the way they were facing in the replay last, not sure?

I noticed this again yesterday. Think I was CF and on the opposing teams kick off I was facing my own goal keeper.


Sponsor page overhaul

We should eventually move our sponsors/supporters to their own page and back their logos with more thoughtful wording. Doing something along the lines of what CODE2040 has would be nice (see http://www.code2040.org/).

@zachlatta I think it is fine as it is now. Thoughts on just closing this issue for now until it becomes more of a problem?

I second this^

Closing this for now to bias for closing issues. Feel free to reopen @zachlatta.


[Discussion] Better Way to Declare Globals in JavaScript files

Problem
Using the new checkJs feature, it is currently difficult to tell TypeScript about a global variable:
// @ts-check

myGlobal

window.myVar = 'foo';

The only way around this that I know is to create a .d.ts file that defines these:
interface Window {
    myVar: string;
}

declare var myGlobal: string;

JavaScript users should not have to write *.d.ts files.
Possible Approaches
@egamma proposes that may be able to use the global comment from ESlint http://eslint.org/docs/user-guide/configuring : /* global var1, var2 */
I'd also be interested to see if we could put type information in a jsdoc somehow, something like:
/**
 * @global {string} myGlobal
 */

JavaScript users should not have to write *.d.ts files.

Why is that? Js users are already using dts files from @types; so does not seem totally foreign concept.

Why is that?

I mean, it's a long time since the C/C++ days when we had to manually write header files. There's no reason to force a programmer to write a file describing a variable that TypeScript's already aware of and understands the typing of.
The job of a computer is to do easily-automated tasks for humans. If you are telling a human to do an easily-automated task for a computer, something is seriously wrong.

The OP suggests using jsdoc. So some one has to write something. Why not in a .d.ts file

Yes, you can use .d.ts files, but the point of this feature is lower barrier to entry. Plus, if I'm writing a quick one-off script, it can be nice to not worry about such details.

If you don't want to write a .d.ts, there's no need to overthink it, you can just annotate a var declaration in the global scope, like so:
/**
*  @type {string}
*/
var myString;

then later statements like:
console.log(myString.toUpperCase());

will be typechecked.
Even if you're writing modules, you can add a file containing globals like this to your compilation - just don't write any imports or exports and it should be global scoped as expected.
Unfortunately, as far as I'm aware there's no way to patch definitions onto existing types at present using only jsdoc syntax, so for that you'd have to use a .d.ts. - the correct way, I believe, would be to interpret @memberof jsdoc keywords as indicating a type patching operation, and then using those, but AFAIK TS doesn't treat @memberof in any special way right now.

When discussing the options it would also be good to provide a quick fix for such an error.
(we did that in VS Code before we switched to Salsa by providing a quick fix that added eslint global comment /* global var */ to the file)

I've added some documentation to VSCode on the d.ts workaround for global variables: https://github.com/Microsoft/vscode-docs/pull/991
My main concern with d.ts files is that regular JavaScript programmers may not have any experience with them. JSDocs or eslint style directives may be less intimidating and they also wouldn't require creating a jsconfig.json like the d.ts based approach does

@weswigham

Even if you're writing modules, you can add a file containing globals like this to your compilation - just don't write any imports or exports and it should be global scoped as expected.

Unfortunately, this doesn't work for @typedef types/interfaces.
I'm still not sure how I use types defined in other files at all...

usejsdoc.org specifies two existing JSDoc tags that could be useful here:

@global - does not support name/type itself
@var - example: /** @var {*} myGlobal */

based on the discussion in https://github.com/Microsoft/TypeScript/issues/15747, we need to support @var as the JSDoc representation of declare var .. in the global scope.

adding globals to window is tracked under #12902

As a vanilla-JS user who just started using checkJs, it would be really nice if my eslint comment (/* global myVar */) worked with TS so I didn't have to document my global in two different ways for two different checkers.  I hope that the TypeScript team supports the goal of checkJs working on any valid JS without having to add a .d.ts file to your build just to make the checker happy.

In my opinion globals shouldn't be so complicated. Why not simply declare them in tsconfig.json like so:
...
"globalModules": [
  "./global.js"
]
...

where global.js could be
module.exports.global1 = 'my amazing global string';
//or if using ES6 modules
const global1 = 'my amazing global string';
export global1;

It would be simple enough for both TS and JS users, would be consistent with how VSCode is set up for JS projects, and is flexible enough. After all with TypeScript some kind of module system is always assumed, so why not use it?

@mhegazy Can we resume this discussion please? I think it is becoming more relevant with the rising popularity of vscode.

The issue is still open, it is still on our list of feature requests.

Yes, I understand, but if it appears as if this is still under discussion and the look of final implementation is still not decided. I wanted to see if there is some consensus made on how the final feature would look.

but it appears as if this is still under discussion and the look of final implementation is still not decided.

https://github.com/Microsoft/TypeScript/issues/15626#issuecomment-300633744

+100 for the suggestions to use the eslint /* global ... */ option. We use that already for eslint so it would be great to not have to declare it second way.

Please support JSDoc for this. having a .d.ts file works but you either have to put all of globals in one place or make a .d.ts file per JS file which is annoying. Having global declaration near where global is being used makes code cleaner as well. It will be similar to how ESLint deals with this
Example code that uses a ESLint comment to declare globals to surpass ESLint error:
https://github.com/webpack/webpack/blob/fde018300aa52262c384e937c408d5dd97d62951/lib/webworker/WebWorkerMainTemplate.runtime.js#L5

Any movement on this proposal?

About this, I did not find any ways to add a property to the node global object without modifing the NodeJS.global definition who is common for every project on a computer (and not in the project.)
the node global var is already declared, so I cannot use "@type" anotation as declaration
I cannot use a d.ts since it already existe, outside the scope of the project.
anyones as an idea on how to fix that?
I would like to be able to document code as simple as
global.__rootdir = __dirname
in node so i can use global.__rootdir in any file of my project.

@xileftenurb I have exact same problem with some code I inherited. Did you find a workaround?

the only workaround I found is to do at the start of the file who use the global :
// @ts-ignore
const rootdir = global.__rootdir

and to use the newly created variable in the file

If you look upthread, they discuss the correct syntax for declaring globals in a .d.ts (ambient type definition) file.  You'd then configure your tsconfig.json to point to that file, and subsequent runs of tsc will have type information for the globals you need.  You say you can't use a .d.ts file but I don't understand why not?

You'd then configure your tsconfig.json to point to that file

can you explain how to do this?
I did try editing a .d.ts but it didn't seem to get picked up.
reference
also partially the problem for me is that someone is using global.X = {}; in a project I'm working on, and so i need to declare that global to have an X which is a node thing usually only declared in one place on your system.

This seems to work for me:
/* tsconfig.json */
{
  "compilerOptions": {
    ....
    "allowJs": true,                       /* Allow javascript files to be compiled. */
    "checkJs": true,                       /* Report errors in .js files. */
    ....
    "typeRoots": ["./typings", "./node_modules/@types"],                       /* List of folders to include type definitions from. */
    ....
  }
}

/* typings/globals.d.ts */
declare namespace NodeJS {
    interface Global {
        x: number;
    }
}

/* src/main.js */
console.log(global.x); // no error
console.log(global.y); // Property 'y' does not exist on type 'Global'

The thing to be aware of is that the typings for NodeJS (@types/node) that get included by default have the following:
declare var global: NodeJS.Global;
....
declare namespace NodeJS {
  interface Global {
    ....
    process: Process;
    root: Root;
    // etc etc
  }
}

This means it's declaring that global is a global variable, of type NodeJS.Global, and it defines the shape of that interface.  When you make another .d.ts file with its own declare namespace NodeJS { interface Global { .... } }, you're augmenting that interface with additional properties.  Both of these declarations apply to every file the compiler touches -- the types are merged.  This means that whoever provides global.X = {} can also include a .d.ts file that adds X to the NodeJS.Global interface.  The mechanism for specifying where that .d.ts file goes varies depending on how you're importing the library.

thanks! that seems to be working!

Apologies that I'm not familiar enough as yet with Typescript but I have a couple of folders in my Node.js app that are actually front-end code and so have radically different globals to the rest of the code.
What would be the correct way to make sure I can check them properly? I am reluctant to put a tsconfig.json file in their root folder as those folders are actually made outwardly available via ExpressJS - though I can do so if needed.

@TotallyInformation you need to make separate projects for frontend vs backend, with their own tsconfig.json.  You can use the typeRoots option (as seen in my previous comment here) to keep the .d.ts files in a directory that's different from your JS sources.
Further "how do I" questions would probably be better for StackOverflow -- nothing personal, but we're drifting from the original intent of the issue, which is that (IMHO) TypeScript should provide an inline syntax for declaring globals that doesn't require introduction of a separate .d.ts file.  I'd like to see TS support the comment syntax used by eslint.

Thanks for the steer @thw0rted. No intent to turn this into a QA session :)

@TotallyInformation why not? this is very helpful and this issue ranks high in google for the question. mute the thread if you prefer, it is a [Discussion]

Discussion means that this is the place to debate how best to implement a new or improved feature in Typescript.  It does not mean that the thread is open for questions about how to use existing capabilities.  If you click the "New Issue" button, you'll see a prompt that includes the text

The issue tracker is not for questions. Please use Stack Overflow or other resources for help writing TypeScript code.

The presence of a "discussion" tag here does not change that guidance.

How I can export a class in window?
For example:
(function(){
    class Foo()
    {
    }
   window.Foo = Foo;
})

If I use .d.ts, I must declare the class Foo again in .d.ts.

I'm hoping this still gets some traction. It'd seem like a fairly easy thing to have JS files in your workspace with @global's apply globally like they should; maybe I'm missing some detail here, but VSCode already picks up global functions and classes from various parts of my workspace. Being able to just plop in a @global on a definition and expect it to work as if it's part of globalThis would be amazing/preferred.

@thw0rted I have a global variable which is set to a class that is documented trough JSDoc, do you know if / how it would be possible to "backlink" from the .d.ts file to something thats defined in source?
My main issue is that I cannot use the globally defined class as a type in source files - JSDoc perfectly recognizes it when I generate docs using it, but TS / VSC has no idea what it is, eventho the global variable is Foo.Bar and the class, which is called Bar, is a @memberof Foo. I need to explicitly add a @type {import('../sourcefile')} Foo.Bar for it to be picked up by VSC, and even then, that does not resolve the issue of the global variable being unknown / having the incorrect type.

The code that @heroboy posted above is very common in JavaScript programs. A lot of people wrap all the code in the JS file in a self executing function.
Here is what I do currently to document my global functions defined inside other functions.
/**
* @callback MyNamespace1.MyNamespace2.MyNamespace3.myFunction
* @param {string[]} arg1
* @param {any} arg2
* @param {number} arg3
*/

(function () {
    'use strict';

    /** @type MyNamespace1.MyNamespace2.MyNamespace3.myFunction */
    window.MyNamespace1.MyNamespace2.MyNamespace3.myFunction =
        function (arg1, arg2, arg3) {

        };

    // Other code that should not polute the global namespace.
})();

/** @type MyNamespace1.MyNamespace2.MyNamespace3.myFunction */
window.MyNamespace1.MyNamespace2.MyNamespace3.myFunction;

You see there is a lot of repetition and the code is not very elegant. But this is the best way I could find to get intellisense in Visual Studio. I hope we will have a better solution in the future based on @global or @var.

NB: The Flow syntax to do this is (using jQuery as an example):
/*:: declare var $: Object */

This can be done inline in any .js file using // @flow.

The only way around this that I know is to create a .d.ts file that defines these

I tried this but it's still not working. Does anyone know how I can get .d.ts file to work?
I have tried both of these in a global.d.ts file
declare var myGlobal: string;

interface Window {
  myGlobal: string;
}

Hi @tnguyen14 ,
I had a similar issue as you. In my experience if your ambient type declaration file contains an import or export statement, then it's no longer considered to be a global declaration file.

I sure do hate necroposting an issue like this, but from what I can tell, it still isn't resolved despite the seven-year-old resolution on using the @var syntax. Why is there still no way to declare global variables using JSDoc? We know the JSDoc syntax, we know the equivalent TS syntax. Why have these not been linked together yet?
For context, not that it particularly matters given that both the problem and the solution are fully specified, I'm trying to make a toy Electron project, using their contextBridge functionality to expose new globals to the renderer's JS environment. I do not have, nor do I want, a jsconfig.json file, a .d.ts file, a VSCode extension/configuration, or a package.json setting. I'm very familiar with all those workarounds. I am not looking for a workaround. All that I want is to have some way to tell the editor "in this file, the identifier foo is available in the global namespace, with type bar". This is the same issue I run into when I try to add typings to a one-off file intended to run outside the typical environment, like Worker or ServiceWorker code in a project that mostly runs in a DOM Window environment, and it frustrates me just as much then.
If it's simply a matter of "no one has done the work yet" I'd be delighted to submit a PR for it, but my experience with corporate-owned software projects like this one is that it is 100% futile to submit a PR without someone on the other side ready and waiting to receive it. That plus, the fact that this would be such a simple issue to knock out and yet it's been seven years tells me that the issue isn't getting the work done, the issue is getting it accepted.
So? What's the hold-up? Is there anything that can be done to move this along, or is this just a pocket veto by the Typescript team?

This would be so useful.
When writing Custom Elements with JS + JSDoc, I have one file per custom elements, for example for two elements <my-element> and <other-element> I have these two files:
my-element.js
other-element.js

where one has a MyElement class and the other has a OtherElement class, one class per file per element definition.
To define type definitions for these elements so that they are visible in DOM APIs, for example so that we get this:
const el = document.querySelector('my-element') // type of `el` is `MyElement`

/** @type {MyElement} */
const el2 = el // ok, el is assignable

/** @type {OtherElement} */
const el3 = el // type error, el is not OtherElement but MyElement

we would need to write definitions like this if we were using TypeScript files:
// my-element.js
class MyElement extends HTMLElement {...}
customElements.define('my-element', MyElement)

declare global {
  interface HTMLElementTagNameMap {
    'my-element': MyElement
  }
}

// other-element.js
class OtherElement extends HTMLElement {...}
customElements.define('other-element', OtherElement)

declare global {
  interface HTMLElementTagNameMap {
    'other-element': OtherElement
  }
}

But as you know, we can't do this in a JS file using JSDoc. So, what we have to do is double the number of files that we have, so that we can place these definitions in .d.ts files:
my-element.js
my-element-types.d.ts
other-element.js
other-element-types.d.ts

(Note, the names must not be the same, for example my-element.d.ts would cause TS to see the file as a declaration for the sibling file, hence I have added -types to prevent this from happening, and instead the files are seen as files containing global types).
If we have 50 elements, now we have to double our files to 100, cluttering up the workspace. It would be great not to have to double the amount of files.
An alternative is to stick element definition all in a single file, but then that becomes less portable, for example you can't simply copy/paste files from project to project, but you have to specifically extract pieces of the .d.ts file that has the element defs.
Note, in related issues such as

https://github.com/tc39/proposal-type-annotations/issues/176
https://github.com/tc39/proposal-type-annotations/issues/202
https://github.com/microsoft/TypeScript/issues/9694
and others

having a more useful comment space for writing TS types could help. For example, picking one of those syntax proposals at random, we could have something like the following in a JS file:
// other-element.js
class OtherElement extends HTMLElement {...}
customElements.define('other-element', OtherElement)

/*::
declare global {
  interface HTMLElementTagNameMap {
    'other-element': OtherElement
  }
}
*/

Also, .d.ts files might not be supported by vscode in some edge cases (having files without the js extension) : https://github.com/microsoft/vscode/issues/37772
The only way to fix this would be to have this proposal for jsdoc


Fixing issue173

matlab code:
xt = @(t) sin(t);
yt = @(t) cos(t);
zt = @(t) t;
fplot3(xt,yt,zt)

fig2plotly(gcf, 'offline', false);

#results:

I am not sure that in  plotly/plotlyfig_aux/core/updateData.m  its necessary to define next:
obj.layout.scene.camera.eye.x = -1.25;
obj.layout.scene.camera.eye.y = -1.25;
obj.layout.scene.camera.eye.z = 0.75;
obj.layout.scene.camera.center.z = -0.5;
code works good with and without this

Please remember to reference the issue not only on the title, but its link in the comments as well. Like this #173

Also, I'm getting the following warning message:
Whoops! Unrecognized field name "camera" in scene

Also, I'm getting the following warning message: Whoops! Unrecognized field name "camera" in scene

@xarico10  This is only because plotly_reference.mat is outdated as @harshpurwar mentioned here:
https://github.com/plotly/plotly_matlab/pull/325#issue-705989406
And discussed in Slack:
https://plotly.slack.com/archives/C029RHELF3J/p1628359451212400
https://plotly.slack.com/archives/C029RHELF3J/p1628456355237800


"vislam" coordinate frame

The pose published on the topic vislam/pose in SnapdragonRosNodeVislam.cpp is specified in the vislam frame.
Can you please describe the vislam coordinate frame convention? Is it a ROS forward-left-up body frame? Or is it a world-fixed frame as it is a parent frame-id of the published odom?
Thanks!

I don't remember the original source of this, it should be somewhere in a README here...
I just got it from a thread on PX4 where I posted the same image years ago: https://github.com/PX4/PX4-Autopilot/issues/6562
As far as I remember you need to check the VISLAM configuration in the code. It's possible to specify a transformation there. Don't remember if it was ROS convention by default. Maybe the PX4 thread will help you.


add support for accuracyThreshold

From ODK:

Users can either immediately accept a lower-accuracy location or wait until the accuracy drops below x meters, at which point ODK Collect will automatically accept the location value.

We should probably be stricter and not record a geopoint until the threshold is reached (which may make a record unsubmittable if the question is required).

I think we can just do this in the widget itself (although it's very cluttered already) without a dialog. That might be better.

There's now also an unacceptableAccuracyThreshold attribute.
The idea with the ODK Collect geopoint widget is to provide an experience in which the end user helps get a precise and accurate point in a reasonable time. They have the opportunity to go to exactly the place that they want to capture before starting a location request and to react to things like not getting satellite lock. Then they're given feedback on the current point accuracy so that they can wait or manually capture a point as appropriate. accuracyThreshold is deliberately not used as a hard requirement because some devices and conditions may not be able to reach the threshold in a timely manner. E.g. if the threshold is 5m and after 2 minutes the accuracy is still at 5.2m, the data collector can decide that it's good enough.
The new unacceptableAccuracyThreshold attribute is purely for display. It allows a form designer to give a visual cue to the user to keep trying for a higher-accuracy point.

In addition to all that, a form author may choose to put a constraint on a point question as a hard accuracy requirement.
I'm not sure whether any of this makes sense to replicate in an Enketo context. It certainly only makes sense if location capture is manually initiated.


fix: token amount replaced with the last token selected on the shelf

Bug Report
Swaplace version
e135024
Current behavior
When the user selects one token ERC20 and sets a quantity of the token. If have multiple tokens the amount of each token selected will be replaced by the last amount selected.
Expected behavior
Each selected token must have its respective amount selected.
Steps to reproduce

Select token ERC20 - Select amount of tokens to swap
Select another token ERC20 - Select a different amount of tokens to swap
In OfferSummary the amount of tokens of the 2 Token will replace the First

Example

OfferSummary

closed by #257


v0.1.3 changes

PR for version v0.1.3

[ ] Merge #66 first
[ ] Merge #70 first
[ ] Confirm that project name change in setup.cfg does not affect PyPi

bump to 0.2; a name change is not a patch per google code style


[Fixes #181] Upgrade to TypeScript 2.0.0, Cleanup

Having some issues with the unit tests.

Test now fine - example app is giving me trouble.

This is now working fine.  Major changes:

Update to typescript 2.0.0 for both ng2-redux and the example
Removed a lot of unnecessary deps from both projects
Fixed some type errors where 2.0.0 is stricter than 1.8
Simplified the unit test command
Simplified the build - we now skip transpilation of spec files instead of transpiling and then deleting them.
That last point allows tests to be colocated with their code, which is where they should be :)

@SethDavenport 👍 after you fix the merge conflict is fixed


Error in scf.tl.branch_specific

Hi,
First of all, thank you for this wonderful tool.
I was following the tutorial 'Tree analysis', but when I ran the following command line, I got the error message below:
scf.tl.branch_specific(adata,root_milestone="follicular1",milestones=["PTC2","ATC1","ATC3", "PTCEO", "BifATC"],effect=2)

Could you please suggest me how to solve the problem?
I also would like to know the difference between seg and milestone.
Thank you!

Apologies for the lack of answer, I am currently doing a sabbatical.
A segment is considered as a section of the tree from one tip or fork to another, while milestones designate the actual tips and forks. The latter is easier to use when one want to specify a subset of trajectory to focus on for analysis such as branch DE.
This error tells that it cannot find any data in .uns part of your anndata with the keys of your trifurcation. Have you run test_fork with the same milestones before?
In more details, a cell is given a milestone that is the closest fork or tip in term of pseudotime distance


Update check-broken-links-github-github.yml

Why:
Closes [https://github.com/github/docs/issues/21549]

What's being changed (if available, include any code snippets, screenshots, or gifs):
I have changed the code snippet as suggested in the issue that this PR closes.

Check off the following:

[X] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[X] For content changes, I have completed the self-review checklist.

[ ] @ujjwal-shekhar @gracepark @janiceilene @gracepark @janiceilene @cmwilson21 @cmwilson21 @docs-bot @bruce @mtodd @spicycode @edward @tpope @JJ @JJ @jonmagic @mutle @mutle @mislav @matthewd @trevrosen @kevindamm @clarkbw @clarkbw @febuiles @febuiles @arthurschreiber @kjg @neovintage @patrickt @zeke @jdpace - @neovintage @rufo @theinterned @skalnik @jdpace @kdaigle - - [ ] @patrickt ```

~~~~


Spike: Follow up on IPv6 and general support for T-Mobile with Quectel

@marvinmarnold News reports show T-Mobile 3G shutdown by 31st May. Shall I remove the check for AT&T and proceed with a release. Most of the articles mention that it was supposed to be phased, may already be in progress.

@marvinmarnold Quectel now recommends choosing non-default APN. But I think they have suggested this keeping in mind our T-Mobile problem. I can try this if I can get ipv4 as well for T-Mobile on new firmware.  Will need a device though with T-mobile sim. I had asked them if there is a generic solution possible at global level that we can deploy to always get ipv4, they keep suggested APN tricks.

@pritamghanghas this miner is setup for you to use: https://dashboard.balena-cloud.com/devices/fd5f350f18f50c45a1a23eeb1a3170da/summary

Tried to look for a configuration option in NetworkManager because android seem to allow selection of protocol ipv4, ipv6, ipv4/ipv6 but didn't find such an option for NM.

checked on both firmwares. The status is same. So it seems "our decision to do nothing on the firmware upgrade is good".
the current firmware = {
"EG25GGBR07A08M2G": "EG25GGBR07A08M2G_<IP_ADDRESS>",
"EG25GGBR07A07M2G": "EG25GGBR07A07M2G_<IP_ADDRESS>",
}
seems to work fine and gets both ipv4 and v6 while newer firmware gets only ipv6.

Waiting for Quectel if they come up with some generic way of handling this with AT commands.

T-Mobile doesn't have a generic solution for this. Waiting for helium to be ipv6 ready seems to be only strategy right now. Nothing more to do here.


make portable for win81 & wp81

at now, the portable lib is useless, since the io api isn't portable for .net4 & winrt & sl. i made the patch to let the portable lib work for winrt8.1 & wp8.1.

Thank you, sunnycase.
The problem you have addressed doesn't really exists. PCL Version of Lex.DB is not intended to run on actual device, it exists purely for linking purposes of other PCL libraries. Since the final application is always platform specific, it has to be distributed with platform specific version of Lex.DB. This approach is called Bait and Switch.
More to read about it here: http://log.paulbetts.org/the-bait-and-switch-pcl-trick/

you are right. but there is another problem, the winrt81 & wpa81 can share a set of common apis. if you separate them to 2 different libs, a pcl lib targeting winrt81 & wpa81 cannot use lex.db. i think it would be better to merge the 2 project to one pcl lib. thank you.

sunnycase, could you please send me an example project that does not work? even empty one is sufficient. I just cannot reproduce the problem you are talking about. NuGet always chooses the correct package for PCL library and correct package for Windows Phone and/or Windows Store application.

Here is the repo: (https://github.com/sunnycase/LexDb.Test).
When it start, it will throw NullReferenceException.

I see. You just need to install Lex.Db NuGet package on your Windows Phone & Windows Store applications. In this case, NuGet will pick up the correct platform-specific version of the lib.

Also, I believe passing Windows.Storage.ApplicationData.Current.RoamingFolder in DbInstance constructor will not work on a device. CreateFile2 API function has some limitations described by the link below:
https://msdn.microsoft.com/en-us/library/windows/desktop/hh449422(v=vs.85).aspx

it works, but making the thing a little complex. if there is a pcl lib targeting winrt81 & wpa81, everything get easy. and ApplicationData.Current.RoamingFolder works well using my patched lex.db.


Parsec.Expr Example Broken?

Hi!
I'm a wee baby Haskell programmer, but I noticed that the example at the bottom here:
https://hackage.haskell.org/package/parsec-3.1.9/docs/Text-Parsec-Expr.html
Doesn't seem to type check. I don't think the types of parens / reservedOp are agreeing here. Perhaps they changed?
https://hackage.haskell.org/package/parsec-3.1.9/docs/Text-Parsec-Token.html#v:reservedOp
Perhaps the example needs an update, or more clarification?
Thanks!

It looks cool to me.
reservedOp :: String -> ParsecT s u m ()

and
prefix  name fun       = Prefix (do{ reservedOp name; return fun }) -- name :: String

are consistent with each other.

reservedOp :: GenTokenParser s u m -> String -> ParsecT s u m ()

since it's actually in a record. I'm guessing that this example assumes you have gone through and done some...
import Text.Parsec.Token as T

reservedOp = T.reservedOp myTokenParser

which is fine, but it's a bit confusing in this example since if you are just looking at the libraries for the first time you would assume that reservedOp meant the function defined in the library in the first place.

@Chobbes OK, I got your point. I guess this could be OP's doubt as well.
This repo is not so active, I think. Alternatively, if you are interested, https://github.com/mrkkrp/megaparsec


verify the SET when getting a log entry

Signed-off-by: Asra Ali<EMAIL_ADDRESS>I noticed that in non-bundle, we are still using the integratedTime to check expiration without verifying rekor's signature of the signedEntryTimestamp

Debugging e2e test. Sees to work fine with a prod rekor instance, but not with the test/local one. Working on it!

OK it fails because rekor doesn't add a signature on on the signed entry timestamp when you get an existing entry. i don't know why we don't maintain the signature?

Depends on the linked PR, will update when ready for review

OK! PR is merged, this is fixed now!


pipeline-template publish is removing double quotas around some variable

I have a strange problem that I couldn't figure out why.  when using roer pipeline-template publish  for publishing a template, it is removing some of double quotas from variables (boolean and integer), and because of this behaviour, deployment fails. let me explain with an example
This is the part of the template file
            containers:
              - image: "wurstmeister/kafka:1.1.0"
                name: kafka
                env:
                - name: "KAFKA_AUTO_CREATE_TOPICS_ENABLE"
                  value: "true"
                - name: "KAFKA_BROKER_ID"
                  value: "1"
                - name: "KAFKA_MESSAGE_MAX_BYTES"
                  value: "20000000"
                - name: "KAFKA_ADVERTISED_HOST_NAME"
                  value: "kafka"
                - name: "KAFKA_CREATE_TOPICS"
                  value: "event:1:1"
                - name: "KAFKA_ZOOKEEPER_CONNECT"
                  value: "zookeeper:2181/kafka"

This is the publish method
roer pipeline-template publish deploy-template.yml
INFO[0000] Publishing template
INFO[0000] Waiting for task to complete...               refURL=/tasks/****
INFO[0002] Pipeline has completed
INFO[0002] Task completed                                status=SUCCEEDED

This is the pipeline configuration after publish
        containers:
          - env:
              - name: KAFKA_AUTO_CREATE_TOPICS_ENABLE
                value: true
              - name: KAFKA_BROKER_ID
                value: 1
              - name: KAFKA_MESSAGE_MAX_BYTES
                value: 20000000
              - name: KAFKA_ADVERTISED_HOST_NAME
                value: kafka
              - name: KAFKA_CREATE_TOPICS
                value: 'event:1:1'
              - name: KAFKA_ZOOKEEPER_CONNECT
                value: 'zookeeper:2181/kafka'
            image: 'wurstmeister/kafka:1.1.0'

deployment fails, because publish removes double quotas aroound true,1 and 20000000
Is there a workaround for publish not to remove double quotas or replace it with single quotas like it does to other variables?

We use roer but we have manifests fetched from our Gitlab repo rather than defined as text in the Deploy Manifest stage.
The Spinnaker pipeline templates have variables for the manifest name and git location.
The Spinnaker pipeline template app configs set values for these variables.
Secondly, the below excerpt is from one of the manifests (k8s yaml) that defines an environment variable that includes a Spinnaker parameter which is defined in the pipeline templates app config. This uses the inherit parameters functionality.
Took me a while to work out the encapsulation for this and figure might be useful for you.
        env:
        - name: SPRING_APPLICATION_JSON
          value: '{"key":"value", "external-application-url":"https://${ parameters.fqdn_prefix }.example.com"}'

For numbers; below syntax creating the string in double quotas in deployed manifest
'${ "1" }'


Tech debt/validator unit tests

Pull Request Test Coverage Report for Build 42

52 of 52 (100.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+22.4%) to 65.247%

Totals

Change from base Build 27:
22.4%

Covered Lines:
291

Relevant Lines:
446

💛  - Coveralls


Better types

Hi.
I found miranda project.
I think you can use these types for better syntax highlighting: https://github.com/cancerberoSgx/mirada/tree/c8721d6bbe004e31ec7578b30443c01274528a3f/mirada/src/types/opencv

Hello @morozovsk ,
Thanks for the suggestion!
Previously, I attempted to take the typings from that project (in this branch). But unfortunately, I found some errors in the typings, for example: MatVector and Mat types.
These errors make some false alarms in valid codes, so I haven't merged the that branch to the master yet.

If you are looking for types that are closer to the generated opencv.js/wasm , I'm currently working on generating typescript types directly from opencv codebase https://github.com/peteruhnak/opencv-ts (with the intention for this to eventually be part of opencv itself).
Feel free to copy the lib/typings and lib/index.d.ts to your library/project to test it out and report any typing issues in the linked repo.

If you are looking for types that are closer to the generated opencv.js/wasm , I'm currently working on generating typescript types directly from opencv codebase https://github.com/peteruhnak/opencv-ts (with the intention for this to eventually be part of opencv itself).
Feel free to copy the lib/typings and lib/index.d.ts to your library/project to test it out and report any typing issues in the linked repo.

@peteruhnak that's interesting! I'll keep track of the project.

@peteruhnak that's interesting! I'll keep track of the project.

@echamudi
just update the index.d.ts as follows ( it will export all types from underlying OpenCV without any additional hassle)
export type * as OpenCV from './types/';

/**
 * OpenCV Object
 */
export declare const cv: typeof openCV;

/**
 * Translate error number from OpenCV into a meaningful message
 * @param cvObject OpenCV object
 * @param err OpenCV error number
 */
export function cvTranslateError(cvObject: cv, err: any): string | Error | undefined;


Quotes showing the quoted user's self name/alias in black

Similar to the issue described in https://github.com/vednoc/onyx/issues/19
But only relevant for when someone is quoted - only then the name is shown in black.
(Names in normal messages outside of quotes are shown correctly)
screenshot to show the issue:
https://imgur.com/GVq5TOa
WhatsApp Web 0.3.2276
WhatsApp by Mew v1.3.0

It seems to only be the case with contacts that aren't in your contact list. Would be great if you could inspect element and grab the CSS snippet that defines its color otherwise I'll have to wait for this to happen on my end in order to fix it. :smiley:

If I did it correctly (ctrl+shift+I in chrome then inspect element)
it should be:
_3Ye_R _1wjpf
Tested on few various names in few various quotes and this is always the class of the element.
Hope it helps!

https://imgur.com/a/O59qe8J

Correct. Removing the last class here should in theory correct the setting. However there is another rule that prevents this:
html[dir="ltr"] ._3Ye_R {
    color: rgba(0, 0, 0, 0.4) !important;
    margin-left: 8px;
}

I have no clue about css and naively tried to include the same rule in the css without the !important but that did exactly nothing.

html[dir="ltr"] ._3Ye_R {
    color: rgba(255, 255, 255, 0.4) !important;
    margin-left: 8px;
}

this worked for me


feat: new user ex for create + lazy sign and tokens

Some potential more updates for v2 before we release. These are some big changes, but they address some issues users were having with constantly signing things. This now avoids signing until the first time a signature is required.


Undo mangles unicode characters

VSCode Version: 1.22.1
OS Version: MacOS 10.13.4

Steps to Reproduce:

Open a file containing text '👁' (with quote characters)
Select the first quote character
Press " - the selected character gets replaced with "'"
Perform undo: "'" is replaced back to ', but also the unicode eye is replaced with error character

Does this issue occur when all extensions are disabled?: Yes

@rebornix Here is another case where getLineCharCode is broken. It looks like the problem is either in nodeAt2 or the way it is used in getLineCharCode. I have pushed a temporary fix for it, but can you please take a look.

My bad, getNodeAt2 returns node near the cursor but it might be the end of the node. getNodeAt2 should be explicit about whether returning the node ending with the index or starting with the index. For inserting content, the former is better while for getting char code, the later is a must. Created https://github.com/Microsoft/vscode/issues/48012 to track this and getCharCode should be tested in random tests as well.


Fix heading for v1.24 release announcement

Blog articles don't need to start with a first-level heading; the theme handles that automatically.

Before
After

/sig release

/lgtm

/approve


Missing TypeScript declaration file for react-spring/universal export (universal.d.ts)

🐛 Bug Report
There's not universal.d.ts file, so when we import stuff from react-spring/universal we get the following TypeScript error:
Could not find a declaration file for module 'react-spring/universal'. '/PATH_TO_PROJECT_ROOT/node_modules/react-spring/universal.js' implicitly has an 'any' type.
  Try `npm install @types/react-spring` if it exists or add a new declaration (.d.ts) file containing `declare module 'react-spring/universal';`ts(7016)

To Reproduce
Steps to reproduce the behavior:
Just start a new TypeScript project and import animated and useSpring from react-spring/universal.
Expected behavior
We should have a universal.d.ts file just like we have for web and native.
Environment
This affects react-spring 9.0.0-beta.1 but also 8.0.19.
Thank you for your time and work.

Fixed in the v9.0.0-beta.3


Discussion thread

let recoveredAddress = recoverAddress(arrayify(hashMessage(data)), signature);

This is under the assumption that the address is EOA. Can we make use of ERC1271 which supports contract-based accounts?
https://www.npmjs.com/package/is-valid-signature is a library that abstracted the logic. It works on most contract-based accounts except Gnosis Safe which hasn't supported ERC1271 yet.
const resolverAddress = "0x3671aE578E63FdF66ad4F3E12CC0c0d71Ac7510C";

const addresses = ['0xd8da6bf26964af9d7eed9e03e53415d37aa96045', '0x983110309620d911731ac0932219af06091b6744']

Looks like 0x3671.. is ReverseRecord contract which I deployed a while back. Even though I understand that this will help looking up multiple names in one function call, isn't it irrelevant to the specification?


bigInt("-9007199254740983").add(bigInt("-9999999999999998")).toString() !== "-19007199254740981"

seems, if (isPrecise(a + BASE)) { is incorrect, it should look like: if (isPrecise(Math.abs(a) + BASE)) {
https://github.com/peterolson/BigInteger.js/blob/master/BigInteger.js#L138
I think, it is better to make addSmall applicable with any carry within [0; MAX_INT)

I've merged the pull


IP address facts have disappeared

It looks like #124/#125 has lost the $::ipaddress fact (along with maybe some other network interface-related facts). It almost looks like the facts have been regenerated on a machine with no network interfaces present.

Same here, we pinned facterdb to 0.8.0 for now.

Interesting, it looks like it's only happening on facts generated from the EL7 image.


CVE-less flaws

Start syncing CVE-less flaws + some smaller improvements. As discussed with @Elkasitu we will not sync the existing CVE-less flaws by a migration as it would block the service for too long. I will be done semi-manually using the Python shell - observe the last commit with specified batch collection support.
OSIDB-25

@osoukup one thing I just remembered: CHANGELOG update? 😄

@Elkasitu regarding https://github.com/RedHatProductSecurity/osidb/pull/29#discussion_r941230549 it makes sense to me. I will update the method interface with the default None values and remove None parameters from the method calls.


virt-manager: SPICE console no longer works

Describe the bug
Creating a VM using virt-manager results in SPICE console failures when trying to connect to the VM's video output.
Steps To Reproduce
Steps to reproduce the behavior:

Create a Linux VM, I used generic2022 as the OS
Everything else default presented by virt-manager
Start VM

Expected behavior
The resulting VM window should show the video output of the VM.
Screenshots

Additional context
I see this in the python logger output:
[Tue, 14 Nov 2023 20:23:49 virt-manager 9927] DEBUG (console:721) Starting connect process for proto=spice trans= connhost=<IP_ADDRESS> connuser= connport= gaddr=<IP_ADDRESS> gport=5900 gtlsport=None gsocket=None
[Tue, 14 Nov 2023 20:23:49 virt-manager 9927] ERROR (console:737) Error connecting to graphical console
Traceback (most recent call last):
  File "/nix/store/pcfl874r5b6l1wasqd7hd5jiifnmmp2p-virt-manager-4.1.0/share/virt-manager/virtManager/details/console.py", line 727, in _init_viewer
    raise RuntimeError(
RuntimeError: Error opening SPICE console: Typelib file for namespace 'GstBase', version '1.0' not found

Notify maintainers
@qknight @offline @fpletz @globin

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
> nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.5.11, NixOS, 23.11 (Tapir), 23.11.20231112.e44462d`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(root): `"nixos"`
 - channels(c): `""`
 - nixpkgs: `/nix/store/0y446mjvwzrhv723jh0lpkaz9gw8jzbq-source`

Maybe related to this change?
https://github.com/NixOS/nixpkgs/commit/ba1389029e2e9933b514fb1a8123c7c0eeb8ae47

I can confirm that reverting https://github.com/NixOS/nixpkgs/commit/ba1389029e2e9933b514fb1a8123c7c0eeb8ae47 fixes the issue.

Hey @MikaelFangel, could you show me how you do this revert it?
I did like the following:
    (virt-manager.overrideAttrs (old: {
      propagatedBuildInputs = [
        gst_all_1.gst-plugins-base
        gst_all_1.gst-plugins-good
      ];

      nativeBuildInputs = lib.lists.subtractLists [ wrapGAppsHook ] old.nativeBuildInputs;
      buildInputs = lib.lists.subtractLists [
        gst_all_1.gst-plugins-base
        gst_all_1.gst-plugins-good
      ]
        old.buildInputs
      ++ [
        python3.pkgs.pygobject3
        python3.pkgs.libvirt
        python3.pkgs.libxml2
        python3.pkgs.requests
      ];

    }))

But since I'm not yet very familiar with nix, I was wondering if there is a right way to do that.

@hensou I haven't made any fixes to my nix configuration, I tested by reverting the commit on the master branch and rebuilding the package. (:

For anyone that needs this now for some reason, here's the following you can put into your environment.systemPackages or wherever else.
# PR: 267722
(virt-manager.overrideAttrs (old: {
  nativeBuildInputs = old.nativeBuildInputs ++ [wrapGAppsHook];
  buildInputs = lib.lists.subtractLists [wrapGAppsHook] old.buildInputs ++ [
    gst_all_1.gst-plugins-base
    gst_all_1.gst-plugins-good
  ];
}))

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/unable-to-connect-to-virt-manager-spice-console/35658/1


Fix #70: iOS: createActivation error userInfo propagation

@hvge We can merge this change as a hotfix - it is pretty minor. I believe the proper fix would be using the more high-level postToUrl:... method of PA2Client that does similar work when serializing request/response objects.

(or... if we are able to fix this fast more properly, do not hesitate to close this pull request)

I'm OK with this hotfix. I would like to rewrite the networking a little bit more to support out of the box E2E encryption & request signing, but that will be a more complex change. Probably later...
I'll close this PR and rewrite the change a little bit, so stay tuned.

@radekfrolik could you please check my #72 pull request for review? I can't assign you as a reviewer, but your opinion is very welcome :) Closing this PR...

Looking good to me. I will try to compile the pod using this and test it with real server error response.


Errors while running CTest if CPM_SOURCE_CACHE is set in my environment?

With export CPM_SOURCE_CACHE=${HOME}/.cache/CPM the unit test fails:
Errors while running CTest
Output from these tests are in: /Users/clausklein/cmake/TheLartians/CPM.cmake/test/build/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
bash-5.2$ ctest --rerun-failed --output-on-failure
Test project /Users/clausklein/cmake/TheLartians/CPM.cmake/test/build
    Start 8: /Users/clausklein/cmake/TheLartians/CPM.cmake/test/unit/options.cmake
1/1 Test #8: /Users/clausklein/cmake/TheLartians/CPM.cmake/test/unit/options.cmake ...***Failed    0.36 sec
CMake Warning at /Users/clausklein/cmake/TheLartians/CPM.cmake/cmake/CPM.cmake:76 (message):
  CPM: Your project is using an unstable development version of CPM.cmake.
  Please update to a recent release if possible.  See
  https://github.com/cpm-cmake/CPM.cmake for details.
Call Stack (most recent call first):
  CMakeLists.txt:11 (include)

-- CPM: Adding package Dependency@ (/Users/clausklein/cmake/TheLartians/CPM.cmake/test/unit/local_dependency/dependency)
CMake Deprecation Warning at dependency/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

called alternative external method
DEFINE_ALTERNATIVE_FUNCTION: OFF
CMake Error at /Users/clausklein/cmake/TheLartians/CPM.cmake/cmake/testing.cmake:41 (message):
  assertion failed: 'DEFINE_ALTERNATIVE_FUNCTION' is defiend (OFF)
Call Stack (most recent call first):
  CMakeLists.txt:33 (ASSERT_NOT_DEFINED)

-- Configuring incomplete, errors occurred!
CMake Error at /Users/clausklein/cmake/TheLartians/CPM.cmake/cmake/testing.cmake:7 (message):
  assertion failed: '1' != '0'
Call Stack (most recent call first):
  /Users/clausklein/cmake/TheLartians/CPM.cmake/test/unit/options.cmake:19 (assert_equal)

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.42 sec

The following tests FAILED:
          8 - /Users/clausklein/cmake/TheLartians/CPM.cmake/test/unit/options.cmake (Failed)
Errors while running CTest
bash-5.2$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
bash-5.2$ git log -1
commit 369f1316f67545e6ef115b317802bc7acedf6697 (HEAD -> master, tag: v0.38.7, origin/master, origin/HEAD, claus/master, claus/develop, develop)
Author: Chris Wright<EMAIL_ADDRESS>Date:   Thu Nov 30 19:01:03 2023 +0000

    Treat relative paths as relative to parent project's remote (#522)

    * Treat relative paths as relative to parent project's remote

    * replace unit test case with integration test

    * run relative URL test only on supported CMake versions (3.27)

    * omit cmake 2.25.x test runner as replaced by 2.27.x

    ---------

    Co-authored-by: Chris Wright<EMAIL_ADDRESS>    Co-authored-by: Lars Melchior<EMAIL_ADDRESS>bash-5.2$

I do not understand why but this helps:
diff --git a/test/unit/options.cmake b/test/unit/options.cmake
index 3c23e1a..f6f392b 100644
--- a/test/unit/options.cmake
+++ b/test/unit/options.cmake
@@ -13,7 +13,7 @@ configure_package_config_file(

 execute_process(
   COMMAND ${CMAKE_COMMAND} "-S${CMAKE_CURRENT_LIST_DIR}/local_dependency" "-B${TEST_BUILD_DIR}"
-  RESULT_VARIABLE ret
+          "-DCPM_SOURCE_CACHE=OFF" RESULT_VARIABLE ret
 )

 assert_equal(${ret} "0")


fix: add GITHUB_TOKEN to changesets action

What is the purpose of this pull request?

What problem is this solving?

Types of changes

[ ] Feat: (new functionality)
[ ] Bug fix: ([#ref number] non-breaking change which fixes an issue)
[ ] Chore: (improvements that will not reflect in production behaviour)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Requires change to documentation, which has been updated accordingly.

#68  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @keeganpotgieter and the rest of your teammates on  Graphite


Code cleanup (for master)

Propagate @deprecated annotation to implementations
Remove redundant "static final" definition from interface
Use Collections.emptyMap instead of Collections.EMPTY_MAP to preserve type

Coverage remained the same at 73.09% when pulling 03f2a4bd1adb3e463a62344dd20a1e251595e4b4 on mcumings:master-nits into f52e7c299f85990c3c2346bd380377f0ec161edc on opentracing:master.

Okay thanks.  How do I get this merged now that it is approved?

I will merge right away, it's only consmetic change not changing API.
@mcumings thanks

@mcumings thanks


.requestFriendData doesn't respond to EClientPersonaStateFlag.GameExtraInfo

So I'm trying to get a friend's status to see if they are in a game, but using the following piece of code, personaState doesn't seem to be triggered.
// Connected, Logged in, etc. above
// Friends is defined earlier through steamFriends.friends, filtered since I keep getting duplicates
for (var i = friends.length - 1; i >= 0; i--) {
	steamFriends.requestFriendData([friends[i]], Steam.EClientPersonaStateFlag.GameExtraInfo);
	log('Requested data for id ' + friends[i]);
}
// *snip *
steamFriends.on('personaState', function (data) {
	console.log(data);
});

Console output:
Requested data for id<PHONE_NUMBER>1844316

Also, using
// Connected, Logged in, etc. above
// Friends is defined earlier through steamFriends.friends, filtered since I keep getting duplicates
for (var i = friends.length - 1; i >= 0; i--) {
    steamFriends.requestFriendData([friends[i]]);
    log('Requested data for id ' + friends[i]);
}
// *snip *
steamFriends.on('personaState', function (data) {
    console.log(data);
});

I get:
Requested data for id<PHONE_NUMBER>1844316
{ friendid: '76561198211844316',
  player_name: 'tcmalloc',
  avatar_hash: <Buffer e1 65 32 24 7a 26 4c 5f 7c 5d 93 68 0e 74 c3 e9 04 c9 76 9b> }

So it does get triggered?
AFAIK if you explicitly request friend data from Steam, you always get limited information. If the user is your friend then Steam will send you detailed friend information automatically.

I'm trying to get what everyone on the bot's friend list is playing, that steam ID is my own and at the time i was playing TF2. The personaState gets triggered if I don't have any (other) arguments I get a reply but it doesn't have the data I want.
When relationships gets fired though, the data for everyone on my friends list gets received properly:
{ friendid: '76561198211844316',
  persona_state: 1,
  game_played_app_id: 440,
  game_server_ip: 0,
  game_server_port: 0,
  persona_state_flags: 0,
  online_session_instances: 1,
  published_instance_id: 1,
  player_name: 'tcmalloc',
  query_port: 0,
  steamid_source: '0',
  avatar_hash: <Buffer e1 65 32 24 7a 26 4c 5f 7c 5d 93 68 0e 74 c3 e9 04 c9 76 9b>,
  last_logoff:<PHONE_NUMBER>,
  last_logon:<PHONE_NUMBER>,
  game_name: 'Team Fortress 2',
  gameid: '440',
  game_data_blob: <Buffer > }

Yes, like I already said, Steam will send you detailed friend information automatically, but not if you request it explicitly.

Ah, OK, Thank you.


lib/ansiblereview/init.py: Fix group_vars and host_vars classification (#60)

There are two ways of defining variable files:

using a YAML file named after the group/host name
using a directory named after the group/host name containing one or more YAML
file.

Currently the code only handle the first case. Try to improve the check
by looking for group_vars/host_vars in the candidate file path.
Signed-off-by: Arnaud Patard<EMAIL_ADDRESS>

This is great, thanks @apatard (and sorry for the delay reviewing)
This will get into 0.14.0 which should be released shortly

Available for testing now on 0.14.0rc1


Use sitemap icon in toolbar

In the beginning I often clicked the plus icon in the toolbar by accident when I wanted to add a new page - now that I've used concrete5 enough it happens only rarely. Still I think the current icon for adding new pages is not very intuitive.
This PR replaces the icon in the toolbar with the sitemap icon which seems more logical to me as the button also shows the sitemap and is about the organization of pages. It was also used for inserting links to other pages in the content block in 5.7.

I thinks this icon is for pure "site-map" but in this section you also can add pages & page-draft.
I think the site map icon also not 100% understandable in this size (for novice clients)

I agree with @Siton-Design that this icon often implies a full sitemap.

Yeah – plus we're going to be using this specific sitemap icon elsewhere so I don't think changing the icon is a good idea. Plus, the core function of the toolbar item is adding pages – the sitemap is there for convenience.


Add VRC Spatial Audio Source (Script) to CueHitSound

It always bugs me when these messages pop up in the sdk build tab. Probably a non-issue since it's just a warning, but I figured it never hurts to ask.
I usually add the script and uncheck Enable Spatialization so it doesn't affect the hit sound curves. Aside from just being slightly inconvenient, is there a reason to not add the script there?

 I had this issue in Truancy for ages where despite having the curves set up properly for 2D spatialization to turn 3D after a certain distance, it just wouldn't work with any settings combination, leading me to think it was actually a Unity issue for quite some time. Of course- the issue went away with nuking VRC Spatial Audio Source, and I realized it was also what was giving me trouble with all my other audio sources as well. The script is one big black box that's outside of anyone's control (but VRChat) and the only way to ensure that your audio source is 100% represented correctly the way you want it to is to leave it out. Hence why that warning is basically the only time I tell people the SDK is straight up wrong and they should ignore it.


Preserve return code from docker

Travis failed because the external repo is 403'ing. It's going in anyway :boom: :gun: :shipit:


No content block should still render when Registering a Page

Currently if you
ActiveAdmin.register_page "My Page" do
end

and visit "My Page" an exception will be raised. It would be nice if it displayed an empty page instead of an exception

@gregbell Fixed in pull request #798.


Merge tlsalloc fix

Merge latest changes from base fork of node-fibers, which include fix for TLS detection on Windows 8.1.
Prebuilt binaries for Mac, Windows and Linux.
IMORTANT: Do not merge before 2.7.1 release. After merging it in master, mark it with new tag - v<IP_ADDRESS>
http://teampulse.telerik.com/view#item/282879

:+1:

:+1:

I'll close this pull request, as its history became a mess. It turned out Fibers version 1.0.4 has a major bug and cannot work with 32-bit node. So I'll get version 1.0.5 where the issue is fixed.


feat(cli): add --silent to disable all diagnostics printing

#3338  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Boshen and the rest of your teammates on  Graphite


Redesign the items and catalogue items and systems landing pages

The items and catalogue items landing page should use the same template from common.

The redesign need to include tabs for attachments, gallery and information as the basic for catalogue item and items
For systems the tabs should be for Items , Gallery and Attachments.

[ ] Redesign for items landing page
[ ] Redesign for catalogue items landing page
[ ] Redesign for System landing page

Hello, I would like to work on this issue, can you assign it to me?


Update Queensland info

The Queensland data is now available from https://data.qld.gov.au/dataset/property-address-queensland--data-package
Still requires an email flow, but is listed again as CC-BY

/cc @sbma44

Working on a PR. Will upload a new cache of October 2015 data.
A few corrections:

updated licence field to new format
ensure the street number post-fix is joined
add city/district fields

A number of addresses I am not sure how we handle:

place name instead of number + street, e.g. name of a farm (uses separate column)
unit numbers, e.g. apartments, 12/33 blah street (unit in separate column from street number)
street address ranges - block might have a range of street numbers, e.g. 14-15 blah street
unique id - possibly from plan and lot number columns
quality/source ids - there are columns for determining how the address was created
"XXXX" addresses, can find this in the street prefix at times

I also emailed the department that looks after this data to see if they have a better description then the one included in the metadata page. It is missing a number of codes etc. Even if we don't use them we should at least attach to this issue for future reference.

@sbma44 When using COLUMNx for the field name, does it start count at 0 or 1?

Hmm, not sure how to upload a new cache file.

@ljbade I can give you a hand uploading the new cache file

http://results.openaddresses.io/ is showing the following error in the log output (instead of 'Show Sample Data' button)
2015-12-04 23:15:41,639  WARNING: Error doing excerpt; skipping
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/openaddr/__init__.py", line 167, in conform
    data_sample, geometry_type = task3.excerpt(decompressed_paths, workdir, conform)
  File "/usr/local/lib/python2.7/dist-packages/openaddr/conform.py", line 220, in excerpt
    layer = datasource.GetLayer()
AttributeError: 'NoneType' object has no attribute 'GetLayer'

@porjo Australia has announced that it'll be releasing a nationwide dataset in February that will supersede this one; I think we should consider au-* deprecated until that arrives.


'Symbol' is undefined error in IE11

Dear Developers,
I can't get the example on your website and a self written version of it with the newest version of the "web-dist" version to work.
It always gives me a 'Symbol' is undefined error when I load up the page.
Clicking on the button "Run" on your demo page results then into a "'Discord' is undefined" error: http://i.imgur.com/zUCQ9PA.png

Symbol is an ES6 thing that IE11 doesn't support. You'll have to use a different browser.

Ah alright. That's stupid :v
I'm basically trying to create a website which is mobile friendly so a couple friends of mine, which use windows phone (uses windows 11 mobile), can also write "on the go" with us in discord.

You could always add es6-symbols to polyfill the Symbol ;)

Ahh thanks for the info!


LibWeb: Credential Management level 1

https://w3c.github.io/webappsec-credential-management/

Abandoned. Go here instead:
#2612


Add the forward [ only | first ] option at the global level

There is already the ability to configure forwarders, but the forward option is missing - therefore adding it.

@jeyglk could you add a positive and negative spec test, please? :mag:

Oh, and plase push changes into your master branch in this case... there's no need to re-fork and open new a pull request after each change.
Normally, after forking a repo, one does use a topic-branch for such changes and open the PR from that branch. This way it's possible to re-sync with the current master branch from the upstream fork. If you have any questions about the workflow, there's a lot of documentation on help.github.com, but also don't hesitate to ask here!

@mmoll updated

Maybe adding a validate_re for '(only|first)' would be nice if the variable is set, :+1: otherwise.

@mmoll Updated again.

:+1: with the minor tweak. Would you mind squashing your commits?

merged, merci @jeyglk!