Improve GitHub labels

Reference: https://github.com/107-systems/107-Arduino-NMEA-Parser/issues/20#issuecomment-719932632

@per1234 can you replace the default GitHub labels with others which are a bit more useful? I'd need at least a "Bug Report" and a "Feature Request" label, if you know other labels that make sense then please add them too.

I have a rough idea about a standardized format for labels, as well as how to propagate them across all the repositories. This is a copy/paste from some of my WIP notes, so forgive me if they are not very polished.
Having inconsistent labels the repositories of an organization can make the maintainer's job more difficult as well as making the issue/PR trackers less useful to the users. It can be difficult to interpret the specific meaning of labels and when it is appropriate to apply them.  So having a smaller set of labels to learn is very helpful.
There will be project specific labels that only make sense to have in a specific repository, but there are significant number of core labels that apply to every repository of the organization.
I've been trying to come up with a standardized labeling in my own repositories. I use a category: item system. Even though this makes the labels pretty long, it's super nice to have all items for a given category sort together. Both the arduino/Arduino and arduino/arduino-cli repos are using a similar system to some extent.
This is the list I have so far for my own labels in case they might provide some inspiration:

conclusion

declined

This will not be worked on

duplicate

This issue or pull request already exists

invalid

Off topic for this repository, or a bug report determined to not actually represent a bug

help wanted

Assistance from the community is especially welcome
Notes:

I would prefer put this in the status category, but GitHub has special handling of this label, so I think I should leave it just as help wanted, rather than status: help wanted.

priority

high
low
Notes:

if no priority label is added, that is "medium"

status

changes requested
in progress
on hold
pending

Waiting on action in another project

waiting for information
blocked
moved?

I'm ending up moving a lot of issues to Jira, and wishing I had a label to indicate this without needing to look at the issue. However, since GitHub has a transfer system for moving within my repos, I'm not sure how common this is. Probably better to just have it as a local label, or at least not a universal one.

topic

CI
code
content

Notes:

Some repos don't contain code, so this could be the equivalent to "code" for those repos

example: ino-hardware-package-list, ino-troubleshooting

This might seem like "documentation", but I would like "documentation" to be about the documentation for the project, rather than about the content of a project when that content happens to be documentation.

documentation
metadata?
repository maintenance

I guess this would be about things like issues, PRs, contributing.md, labels, topics, repo description, wiki

structure

Notes:

this is very vague. I can't even really remember what I intended. Is it about the folder/filename structure of the repository? If so, it could be "repository structure"

type

bug
enhancement
to-do

Notes:

I need to clearly define what this is. I thought it might be useful to have a "to-do list" item, but I haven't actually ended up using this much.

It's also important to make sure the labels are clearly documented and their use well defined. GitHub's label description feature can be used to add a short explanation of the meaning of each label.
One thing I found really useful for maintaining the arduino/Arduino issue tracker was when we established a policy (https://github.com/arduino/Arduino/issues/8642) of applying the "feature request" or "bug" labels according to to the intention of the user, rather than as a judgement call by the maintainer. I find that issues can almost always be put under one category or the other, and I can almost always filter my searches accordingly.
There is a GitHub Actions action that may be helpful in keeping the universal labels synced across all the repositories: https://github.com/lannonbr/issue-label-manager-action.
I have done some experimentation for my personal repositories with pulling a list of standardized universal labels from a centralized source, merging that with a list of repository-specific labels, and using the action to update the labels according to changes in the list:
name: 'Manage repository labels'

on:
  push:
    paths:
      - '.github/workflows/manage-repository-labels.yml'
      - '.github/repository-labels-data/*.json'
  schedule:
    # run every Tuesday at 3 AM UTC
    - cron: '0 3 * * 2'
  workflow_dispatch:

jobs:
  manage-labels:
    runs-on: 'ubuntu-latest'

    env:
      LOCAL_REPOSITORY_LABELS_DATA_INPUTS_FOLDER: '.github/repository-labels-data'
      # Folder under runner.temp that will be used for merging the labels data files
      REPOSITORY_LABELS_DATA_MERGE_FOLDER: 'repository-labels-data'
      # See: https://github.com/lannonbr/issue-label-manager-action#usage
      REPOSITORY_LABELS_DATA_OUTPUT_PATH: '.github/labels.json'

    steps:
      - uses<EMAIL_ADDRESS>
      - name: 'Download universal labels file'
        uses<EMAIL_ADDRESS>        with:

          file-url: 'https://raw.githubusercontent.com/per1234/GitHub-labels/main/universal-repository-labels.json'
          location: "${{ runner.temp }}/$REPOSITORY_LABELS_DATA_MERGE_FOLDER"

      - name: 'Merge labels data files'
        run: |
          REPOSITORY_LABELS_DATA_MERGE_PATH="${{ runner.temp }}/$REPOSITORY_LABELS_DATA_MERGE_FOLDER"
          cp "$LOCAL_REPOSITORY_LABELS_DATA_INPUTS_FOLDER"/*.json "$REPOSITORY_LABELS_DATA_MERGE_PATH"
          # Merge all data files and output to the final location
          jq -s '.=.|add|.' "$REPOSITORY_LABELS_DATA_MERGE_PATH"/*.json > "$REPOSITORY_LABELS_DATA_OUTPUT_PATH"

      - name: 'Manage labels'
        uses<EMAIL_ADDRESS>        env:
          GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

Good morning @per1234 :wave: :tea:
Thank you very much for picking up my comment in the other issue :+1: I'm glad to see that I'm not the only one who's a bit unhappy with the default labels provided by GitHub.
Here's what I can imagine making sense for the 107-systems group of repositories:

conclusion [declined | duplicate | invalid]
help wanted
priority [high | low]
status [changes requested | in progress | on hold | waiting for information | blocked | moved]
I would eliminate pending as it's the same as on hold imho. moved also makes sense since we could choose to deal with a issue reported in one repository with a solution in another repository. Still I somehow feel there are still too many status messages.
topic [ci, firmware, software, mechanics, electronics, documentation]
I'd tailor the labels towards the topics applicable to the Viper quadcopter project. That being said I'm not really happy with mechanics and electronics. Can you think of better words or is that the best we got? Maybe we should divide along Hardware:Mechanics|Sensors|Actuators ... .
type [bug|feature request|support]
I'd add a support label since people usually also open issues when they've got a problem. What do you think? Also I'd rename enhancement to feature request.

@generationmake Please also have a look at this and share your thoughts.
PS: I've tried to access your github label definition file https://raw.githubusercontent.com/per1234/GitHub-labels/main/universal-repository-labels.json and could not obtain it. It looks like you've deleted that repository.

Can you think of better words or is that the best we got?

topic: bits
topic: atoms

😄

I'd add a support label since people usually also open issues when they've got a problem.

If support requests are something you want to support (haha) in the issue tracker, then I think that is a good idea. I don't allow this in my own repos, so I would just direct the issue author to an appropriate place to request support (e.g., Arduino Forum) and close the issue as invalid. But that's only my own approach.

I'd rename enhancement to feature request.

The reason I chose "enhancement" instead of "feature request" is because I feel it applies better to pull requests. But it's a very minor distinction so I think either is fine.

I've tried to access your github label definition file https://raw.githubusercontent.com/per1234/GitHub-labels/main/universal-repository-labels.json and could not obtain it. It looks like you've deleted that repository.

It was only a hello world for the sake of a PoC. I never got the time to actually fill in the real topics and put the system into action.
You can see the format of the JSON file in this screenshot from the action's readme:

topic: bits/atoms: :rofl: That would be a most base-level distinction that certainly everyone could understand. Still I think I prefer the more concrete categories I outlined above :wink:
Regarding "enhancement" vs "feature request" I'm with you that the former better resonates with pull requests while the latter better resonates with "feature demands" made in issues. Maybe we can have both?
The JSON file looks simple enough, I just wondered if you already had one in place for your own repositories.

Hi @generationmake :wave: ☕ Can you please take a look at voice your opinion?

Pinging @generationmake once more :point_right:

OK, I have a draft of the JSON file defining the universal labels for the 107-systems repositories:
[
  {
    "name": "conclusion: declined",
    "color": "#b60205",
    "description": "Will not be worked on."
  },
  {
    "name": "conclusion: duplicate",
    "color": "#ff0000",
    "description": "Has already been submitted."
  },
  {
    "name": "conclusion: invalid",
    "color": "#ff0000",
    "description": "Off topic or not a bug."
  },
  {
    "name": "help wanted",
    "color": "#ffa200",
    "description": "Assistance from the community is especially welcome."
  },
  {
    "name": "priority: high",
    "color": "#ffa200",
    "description": ""
  },
  {
    "name": "priority: low",
    "color": "#c0c0c0",
    "description": ""
  },
  {
    "name": "status: changes requested",
    "color": "#ffa200",
    "description": "Changes to the PR are required before merging."
  },
  {
    "name": "status: in progress",
    "color": "#0000ff",
    "description": "Work is in progress on this."
  },
  {
    "name": "status: on hold",
    "color": "#b60205",
    "description": "Do not proceed at this time."
  },
  {
    "name": "status: waiting for information",
    "color": "#ffff00",
    "description": "More information must be provided before work can proceed."
  },
  {
    "name": "status: blocked",
    "color": "#b60205",
    "description": "Progress on this is prevented by an external cause."
  },
  {
    "name": "status: moved",
    "color": "#000080",
    "description": "This item was moved to another repository."
  },
  {
    "name": "topic: ci",
    "color": "#00ffff",
    "description": "Continuous integration for this repository."
  },
  {
    "name": "topic: firmware",
    "color": "#00ffff",
    "description": "Code that runs on an embedded system."
  },
  {
    "name": "topic: software",
    "color": "#00ffff",
    "description": "Code that runs on a PC."
  },
  {
    "name": "topic: mechanics",
    "color": "#00ffff",
    "description": "Mechanical components of the project."
  },
  {
    "name": "topic: electronics",
    "color": "#00ffff",
    "description": "Electronics components of the project."
  },
  {
    "name": "topic: documentation",
    "color": "#00ffff",
    "description": "Documentation for the project."
  },
  {
    "name": "type: bug",
    "color": "#ff0000",
    "description": ""
  },
  {
    "name": "type: enhancement",
    "color": "#008000",
    "description": "PR to improve the project."
  },
  {
    "name": "type: feature request",
    "color": "#008000",
    "description": "Issue requesting a new feature to be added."
  },
  {
    "name": "type: support",
    "color": "#ffff00",
    "description": "Issue requesting a new feature to be added."
  }
]

Here you can see the colors:

I welcome any feedback.
Once this is finalized, the next question is where the universal labels definition file should be published. I was thinking the 107-systems/.github repository could be a good location, as this is a standard location for storing files used by multiple repositories. GitHub has some special features based around it:
https://docs.github.com/en/free-pro-team@latest/github/building-a-strong-community/creating-a-default-community-health-file#creating-a-repository-for-default-files
so you might end up creating this repository eventually anyway. But to be clear, there is no special significance to the 107-systems/.github repository for this particular usage.

That's fantastic! Great work @per1234 :rocket: I'm sorry that @generationmake didn't come back with feedback but let's move ahead anyway ... I didn't know about this great feature of default files - thank you for bringing it to my attention. I've created one for 107-Systems here. Can I please ask you to move ahead and integrate your JSON there as well as setup the action to import that changes into at least this repository?

OK, PR submitted: https://github.com/107-systems/.github/pull/1
I'll submit a follow-up PR adding the CI workflow to this repo once that is in place.

I didn't know about this great feature of default files - thank you for bringing it to my attention.

There is another feature not mentioned at the link I posted in my previous reply. This is the ability to create custom GitHub Actions workflow "templates" (I actually think "stock" or "model" would be a better term than "template", since they don't have any templating functionality) that can be added to any repository in the organization with just a couple clicks in the GitHub web interface:
https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/sharing-workflows-with-your-organization#creating-a-workflow-template

Thank you very much, I've merged https://github.com/107-systems/.github/pull/1 in. Please proceed with the action for accessing that workflow. I didn't know about this workflow template capabilities either but it looks to me like it could solve a lot of work for you in the future, because we can self-service setup CI build for future libraries via a couple of clicks, amirite?

Hi.
Sorry for not responding earlier.
Until now I haven't used the labels very much so I think I cannot contribute much to this conversation.
All your proposals make sense and I think we should just give it a try.

I've just used them a bit, but I used them enough to get the feeling that the standard labels aren't good enough. For the future I'd like to ask you to try using them. I'm closing this issue since it has been dealt with by #29.

we can self-service setup CI build for future libraries via a couple of clicks, amirite?

For the most part. It might sometimes be necessary to make some adjustments. The Compile Examples workflow tends to be different from one repo to another, but actually I don't think there is that much variation so far in the 107-systems workflows.
The other workflows would only take some small adjustments.
I like the idea of having a centralized location to pull workflows from. Currently, I try to remember which repo has the most "state of the art" workflow, then I do a copy/paste of that one and make the necessary modifications, but I have trouble remembering which is the best one.

All your proposals make sense and I think we should just give it a try.

This is a really great thing about this system. If we later find the need for additional labels, they only need to be added to a single repository, then they automatically propagate across the organization from there.
I think it's also a lot easier to use labels that are consistent. Currently, I'm maintaining repositories with something like 5 completely distinct sets of labels. I have trouble remembering which labels to search for and there are labels that I don't fully understand the meaning of, and so am hesitant to use.


Add support for Python 3.10 and test all supported

Python 3.10 is due out today!
https://twitter.com/pyblogsal/status/1442890650303664131
Add support for it, and test all supported versions to ensure tests pass with each version.

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

Updated now Python 3.10 final is out.
https://discuss.python.org/t/python-3-10-0-is-now-available/10955


Scratch keyboard shortcut conflicts with defaults

Please select the area your bug applies to. (Multiple selections are Possible. You can leave blank if you're not sure.)

[x] Workspace.  VSCode workspace, vaults, Intellisense/autocomplete, Dendron settings

Describe the bug
The keybinding for creating a scratch note is cmd+shift+s which is also the default for save-as.
This means the keybinding doesn't work on dendron install (at least on macOS).

Thanks for adding the report.
@hikchoi Would it be possible to add a migration for keyboard shortcuts where we change the scratch note shortcut if the user:

hasn't remapped it to another shortcut already
hasn't remapped the default "save as" shortcut already
If the user has done neither, then this shortcut is basically unusable and I think it would be safe to remap the shortcut then. If that's hard/impossible, we can also just document this issue in the wiki.

The default keybinding for Create Scratch Note has been changed to avoid conflict with Save as.
Please see the changelog for more.
Let us know if you have have any pending concerns regarding this issue.


Status is shown after hiding the overlay

Sometimes if a "hide" comes pretty close to previous status message, the status message appears for a short time, then it's hidden (until now, everything as expected). After that, the previously shown status message is shown again and does not disappear again.
code to display:
[[MTStatusBarOverlay sharedInstance] postImmediateMessage:message animated:YES];
code to hide:
[[MTStatusBarOverlay sharedInstance] hide];

Thanks for reporting. Could you provide me with a minimal code snippet that shows this issue?
Am 11.10.2011 um 15:58 schrieb haemi:

Sometimes if a "hide" comes pretty close to previous status message, the status message appears for a short time, then it's hidden (until now, everything as expected). After that, the previously shown status message is shown again and does not disappear again.
code to display:
[[MTStatusBarOverlay sharedInstance] postImmediateMessage:message animated:YES];
code to hide:
[[MTStatusBarOverlay sharedInstance] hide];
--
Reply to this email directly or view it on GitHub:
https://github.com/myell0w/MTStatusBarOverlay/issues/35


R32.6.1-t186: WiFi bcmdhd driver doesn't work properly

Describe the bug
Testing on master, jetson-tx2-devkit, demo-image-base
WiFi driver bcmdhd doesn't work properly when enabling KERNEL_INTERNAL_WIRELESS_REGDB
[    9.591243] systemd-journald[4042]: Received client request to flush runtime journal.
[    9.978273] dhd_module_init in
[    9.978382] found wifi platform device bcmdhd_wlan
[    9.981178] wifi_platform_get_country_code_map: could not get country_code_map
[    9.981181] wifi_plat_dev_drv_probe:platform country code map is not available
[    9.981196] Power-up adapter 'DHD generic adapter'
[    9.981203] wifi_platform_set_power = 1
[   10.018057] gpio tegra-gpio wake18 for gpio=101(M:5)
[   10.019956] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   10.129381] gpio tegra-gpio-aon wake30 for gpio=60(FF:4)
[   10.189263] wifi_platform_bus_enumerate device present 1
[   10.233467] wifi_platform_bus_enumerate device present 0
[   10.250602] F1 signature read @0x18000000=0x17214354
[   10.278983] F1 signature OK, socitype:0x1 chip:0x4354 rev:0x1 pkg:0x2
[   10.294586] DHD: dongle ram size is set to 786432(orig 786432) at 0x180000
[   10.320929] wifi_platform_get_mac_addr
[   10.333306] ids dhd_log_netlink_init
[   10.340724]  wl_cfg80211_reg_notifier : [   10.352025] reg_notifier for intiator:0 not supported : set default
[   10.361257]  wl_cfg80211_reg_notifier : [   10.365934] Set country code 00 from User
[   10.373280] Internal error: Accessing user space memory outside uaccess.h routines: 96000005 [#1] PREEMPT SMP
[   10.385867] Modules linked in: bluedroid_pm bcmdhd(+) nvgpu cfg80211 fuse
[   10.395381] CPU: 0 PID: 4216 Comm: systemd-udevd Not tainted 4.9.253-l4t-r32.6+g40e3027fe477 #1
[   10.406727] Hardware name: quill (DT)
[   10.412967] task: ffffffc1e25c0000 task.stack: ffffffc1e25c8000
[   10.421617] PC is at wl_cfg80211_reg_notifier+0x9c/0x1d0 [bcmdhd]
[   10.430565] LR is at wl_cfg80211_reg_notifier+0x16c/0x1d0 [bcmdhd]
[   10.439255] pc : [<ffffff800141ae1c>] lr : [<ffffff800141aeec>] pstate: 80400045
[   10.449117] sp : ffffffc1e25cb470
[   10.454818] x29: ffffffc1e25cb470 x28:<PHONE_NUMBER>000001
[   10.462496] x27: ffffff800a5df978 x26: ffffffc1e0b60000
[   10.470189] x25: ffffff80010efd90 x24: ffffff800149fb68
[   10.477861] x23: ffffffc1e0b2f900 x22:<PHONE_NUMBER>000000
[   10.485476] x21: ffffff800149fb68 x20: ffffffc1e0b2f900
[   10.493079] x19: ffffffc1da4802a0 x18: ffffffffffffffff
[   10.500637] x17:<PHONE_NUMBER>000000 x16:<PHONE_NUMBER>000000
[   10.508094] x15:<PHONE_NUMBER>000001 x14:<PHONE_NUMBER>000020
[   10.515524] x13: ffffff80090d2d68 x12:<PHONE_NUMBER>000000
[   10.522944] x11:<PHONE_NUMBER>0003bd x10:<PHONE_NUMBER>000001
[   10.530257] x9 : ffffffc1eafafc40 x8 : ffffff8008414780
[   10.537581] x7 : ffffff800a3146e8 x6 :<PHONE_NUMBER>00002d
[   10.544863] x5 :<PHONE_NUMBER>000000 x4 : ffffffc1f5f74bf0
[   10.552092] x3 :<PHONE_NUMBER>000000 x2 :<PHONE_NUMBER>000000
[   10.559303] x1 : ffffffc1e0b2f91c x0 :<PHONE_NUMBER>000000
[   10.566454]
[   10.569740] Process systemd-udevd (pid: 4216, stack limit = 0xffffffc1e25c8000)
[   10.578820] Call trace:
[   10.583191] [<ffffff800141ae1c>] wl_cfg80211_reg_notifier+0x9c/0x1d0 [bcmdhd]
[   10.592248] [<ffffff800107c714>] wiphy_update_regulatory+0x174/0x1b0 [cfg80211]
[   10.601434] [<ffffff800107e148>] wiphy_regulatory_register+0x48/0x60 [cfg80211]
[   10.610861] [<ffffff8001072c64>] wiphy_register+0x384/0x580 [cfg80211]
[   10.628312] [<ffffff800141e640>] wl_setup_wiphy+0x1e0/0x3a0 [bcmdhd]
[   10.645571] [<ffffff800142ac6c>] wl_cfg80211_attach+0x7c/0x410 [bcmdhd]
[   10.662971] [<ffffff80013f6794>] dhd_attach+0x214/0x7a0 [bcmdhd]
[   10.679639] [<ffffff800146165c>] dhdsdio_probe+0x16c/0x710 [bcmdhd]
[   10.696553] [<ffffff800144af9c>] bcmsdh_probe+0xfc/0x180 [bcmdhd]
[   10.713338] [<ffffff800144d518>] bcmsdh_sdmmc_probe+0xf8/0x160 [bcmdhd]
[   10.729960] [<ffffff8008c513a0>] sdio_bus_probe+0xa0/0x150
[   10.745465] [<ffffff80087ed840>] really_probe+0x160/0x3b0
[   10.760877] [<ffffff80087eddc4>] driver_probe_device+0x54/0xd0
[   10.776766] [<ffffff80087edf48>] __driver_attach+0x108/0x130
[   10.792482] [<ffffff80087eb0b0>] bus_for_each_dev+0x80/0xc0
[   10.808149] [<ffffff80087ed1c8>] driver_attach+0x38/0x50
[   10.823507] [<ffffff80087ecbec>] bus_add_driver+0x178/0x27c
[   10.839176] [<ffffff80087eefb4>] driver_register+0x84/0x130
[   10.854863] [<ffffff8008c51198>] sdio_register_driver+0x38/0x50
[   10.871561] [<ffffff800144d6f4>] bcmsdh_register_client_driver+0x24/0x40 [bcmdhd]
[   10.889944] [<ffffff800144b208>] bcmsdh_register+0x38/0x50 [bcmdhd]
[   10.907072] [<ffffff80014664d0>] dhd_bus_register+0x30/0x70 [bcmdhd]
[   10.924311] [<ffffff8001444588>] dhd_wifi_platform_load_sdio+0x208/0x4f0 [bcmdhd]
[   10.942676] [<ffffff8001444a94>] wifi_plat_dev_drv_probe+0x184/0x420 [bcmdhd]
[   10.959994] [<ffffff80087f0768>] platform_drv_probe+0x68/0xe4
[   10.975855] [<ffffff80087ed840>] really_probe+0x160/0x3b0
[   10.991343] [<ffffff80087eddc4>] driver_probe_device+0x54/0xd0
[   11.007249] [<ffffff80087edf48>] __driver_attach+0x108/0x130
[   11.022920] [<ffffff80087eb0b0>] bus_for_each_dev+0x80/0xc0
[   11.038460] [<ffffff80087ed1c8>] driver_attach+0x38/0x50
[   11.053678] [<ffffff80087ecbec>] bus_add_driver+0x178/0x27c
[   11.069097] [<ffffff80087eefb4>] driver_register+0x84/0x130
[   11.084441] [<ffffff80087f0688>] __platform_driver_register+0x64/0x7c
[   11.101373] [<ffffff8001444f24>] wifi_ctrlfunc_register_drv+0x1f4/0x300 [bcmdhd]
[   11.119332] [<ffffff800144509c>] dhd_wifi_platform_register_drv+0x6c/0x160 [bcmdhd]
[   11.137512] [<ffffff80011360a8>] dhd_module_init+0xa8/0x1e0 [bcmdhd]
[   11.153665] [<ffffff8008083abc>] do_one_initcall+0x4c/0x130
[   11.169020] [<ffffff80081615f8>] do_init_module+0x68/0x210
[   11.184113] [<ffffff80081629d8>] load_module+0x718/0x8b0
[   11.198943] [<ffffff8008162dd8>] SyS_finit_module+0x98/0xf0
[   11.213847] [<ffffff800808395c>] __sys_trace_return+0x0/0x4
[   11.228587] ---[ end trace a077d4d1c74e2d1d ]---
[   11.432262] CPU1: shutdown
[   11.436589] psci: CPU1 killed (polled 0 ms)
[   11.537368] CPU2: shutdown
[   11.541684] psci: CPU2 killed (polled 0 ms)
[   12.928232] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx

Needs investigation.
To Reproduce
Steps to reproduce the behavior:
Use tegra-demo-distro, branch master
Build demo-image-base
Load onto target (jetson-tx2-devkit)

Looks like there's a missing return after reporting the error (line 8654 in wl_cfg80211.c).
And if the driver doesn't support REGDOM_SET_BY_CORE, there is a flag it can set in its wiphy structure to tell the core not to send those notifications.

I've fixed the code path in the driver and updated the recipe to point to the hash with the fix.


Road to RC1

Need to implement/support:

[ ] Executors
[ ] Network I/O methods
[ ] Signals
[ ] Exception handler calls from within the loop
[ ] Proper test suite

Nice to have:

[ ] Benchmarks
[ ] Windows support
[ ] Freethreaded 3.13 support

We also want to clearly states compatibility (python versions, platform support).

Awesome to see you working on this @gi0baro


Module compiled with Swift 5.2 cannot be imported by the Swift 5.3 compiler:

downloaded your book code, under Navigation folder that project, build and run test got this issue.

chapter 13 has same issue.

Should now be available in https://github.com/jonreid/ViewControllerPresentationSpy/releases/tag/v5.1.0
Thank you for supporting my writing!


ftp filename is not displayed properly.

Only English is displayed correctly.
Korean UTF-8 plz
아시아 언어표시좀 해주세요

remote don't currently displayed too.


"Extract" Button stays red and unclickable

Hi there,
When I click "choose file" and select "koboreader.sqlite", the "extract" button remains red and I can't click it. Is there something in the settings I need to adjust first?
Thanks!

+1, in my vault and in Sandbox:
My Vault

SYSTEM INFO:
Obsidian version: v1.7.5
Installer version: v1.7.5
Operating system: Darwin Kernel Version 24.1.0: Thu Oct 10 21:05:23 PDT 2024; root:xnu-11215.41.3~2/RELEASE_ARM64_T6031 24.1.0
Login status: not logged in
Language: en
Insider build toggle: off
Live preview: on
Base theme: adapt to system
Community theme: Minimal v7.7.18
Snippets enabled: 1
Restricted mode: off
Plugins installed: 7
Plugins enabled: 7
1: Git v2.28.2
2: Advanced Tables v0.22.1
3: Tasks v7.13.0
4: Style Settings v1.0.9
5: Minimal Theme Settings v8.1.1
6: Dataview v0.5.67
7: Kobo Highlights Importer v2.0.0
RECOMMENDATIONS:
Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

Sandbox (same behavior):

SYSTEM INFO:
Obsidian version: v1.7.5
Installer version: v1.7.5
Operating system: Darwin Kernel Version 24.1.0: Thu Oct 10 21:05:23 PDT 2024; root:xnu-11215.41.3~2/RELEASE_ARM64_T6031 24.1.0
Login status: not logged in
Language: en
Insider build toggle: off
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 0
Restricted mode: off
Plugins installed: 1
Plugins enabled: 1
1: Kobo Highlights Importer v2.0.0
RECOMMENDATIONS:
Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

+1
i have the same issue on windows 11 and Macos :/

Same, I've even tried opening a backup copy of the sqlite database that's on my laptop.

Please try to fix this!!!! I really enjoy this plugin

I fixed the main.js file. Change this:
this.inputFileEl.addEventListener("change", (ev) => {
  const file = ev.target.files[0];
  if (!file) {
    console.error("No file selected");
    return;
  }

  // Convert File to ArrayBuffer
  const reader = new FileReader();
  reader.onload = () => {
    this.fileBuffer = reader.result;  // Store the ArrayBuffer
    this.goButtonEl.disabled = false;
    this.goButtonEl.setAttr("style", "background-color: green; color: black");
    new import_obsidian2.Notice("Ready to extract!");
  };

  reader.onerror = (error) => {
    console.error("FileReader error:", error);
    new import_obsidian2.Notice("Error reading file");
  };

  reader.readAsArrayBuffer(file);
});

fetchHighlights() {
  return __async(this, null, function* () {
    if (!this.fileBuffer) {
      throw new Error("No file buffer available...");
    }

    const SQLEngine = yield (0, import_sql.default)({
      wasmBinary: binary
    });

    // Use the buffer directly instead of reading from file
    const db = new SQLEngine.Database(new Uint8Array(this.fileBuffer));

    const service = new HighlightService(
      new Repository(db)
    );

    // Rest of the function remains the same...
  });
}

With this issue a discovered koreader https://koreader.rocks/
I install this on my Kobo, and now I can export my note in Markdown 🎉

I am also unable to extract. Whether its the .sqlite file on the device or offloaded into my desktop, the extraction button doesn't change and remains locked.
Unfortunately I am not code Savvy and have no idea what needs to be replaced in the Main.js file via @FrnklyN's find/fix

This worked like a charm! Thanks, @FrnklyN!

I fixed the main.js file. Change this:
--8<--

This worked like a charm! Thanks, @FrnklyN!

I fixed the main.js file. Change this:
--8<--

Please! Can you copy/paste here he complete code of the main.js file so I can replicate on mine???

PLease @FrnklyN or @chigh could you help me? I have tried copying/pasting in different ways but I can't find the way to do it and it's really helpfull for me. Can you share a main.js file where everything is properly changed??
Thanks!!


WFLY-16309 Create H2 database server with -tcpAllowOthers option in t…

…ests
https://issues.redhat.com/browse/WFLY-16309

Thanks @chengfang


No colors in web player for a recording made from foot

Describe the bug
Terminal recording made on foot terminal (TERM=foot) plays with no colors in Neovim on asciinema.org, but shows correct colors with asciinema play.
To Reproduce
Steps to reproduce the behavior:

Start the foot terminal, start recording
Open Neovim with truecolor colorscheme
Upload recording to asciinema.org
Play it and see there’re no colors.

Expected behavior
Colors are preserved.
Screenshots
Example of a broken recording: https://asciinema.org/a/yjpYgMrn2lzC5cyGYoO1MAOg4
Versions:

OS: NixOS 24.11 (Vicuna)
Browser: Firefox 130.0
asciinema player: not sure, whatever the version is on asciinema.org on 2024-10-04.
asciinema CLI: 2.4.0
foot terminal: 1.18.1 +pgo +ime +graphemes -assertions

Additional context
Colors work with asciinema play even when recording is played on a different terminal, so I think the problem is with the Web player.

GIF generated by agg is also broken, so it’s probably an issue with avt? Should I re-file it there?

Yes, I think it boils down to avt not supporting the form of truecolor foot uses. In particular, this sequence:
\u001b[38:2::141:160:214m foo

shows foo in purplish color in foot, but is not recognized by avt.

Interesting. So there was a fix for this type of sequence in avt here, and 3.8 release of asciinema player includes the fix. asciinema.org uses 3.8 already (https://github.com/asciinema/asciinema-server/blob/a5ab9d14212a38ee5eeca774a72e8da870e5139f/assets/package.json#L15).

Now I see there's a double : in that sequence right after 38:2, which may be the culprit 🤔

I filed a PR fixing this and explaining the double colon: https://github.com/asciinema/avt/pull/18

Thanks!

Just deployed the fix to asciinema.org. Your recording seems to look fine to me now.

Thanks!

There’s another problem visible on this recording: when the window is narrow, the word master in prompt is truncated. I’ll investigate this later.

Ok. Not sure where/when this happens (looks fine for me), so feel free to open a dedicated issue when you investigate.


refactor: add internal notification functions in LSP7 and LSP8

What does this PR introduce?
♻ Refactor

add internal notification functions in LSP7 and LSP8

PR Checklist

[ ] Wrote Tests
[ ] Wrote & Generated Documentation (readme/natspec/dodoc)
[ ] Ran npm run lint && npm run lint:solidity (solhint)
[ ] Ran npm run format (prettier)
[ ] Ran npm run build
[ ] Ran npm run test

This change make sense to me, as anyone wanting to override any custom logic for notifying can then just override these internal functions ✅ , instead of overriding the whole _mint, _burn and _transfer functions ❌ which could lead re-write the whole core logic incorrectly.
One alternative I want to propose is to still call the LSP1Utils library function inside these _notifyTokenOperator and _notifyTokenSender functions. As follow:
    /**
     * @dev Attempt to notify the operator `operator` about the `amount` tokens being authorized with.
     * This is done by calling its {universalReceiver} function with the `_TYPEID_LSP7_TOKENOPERATOR` as typeId, if `operator` is a contract that supports the LSP1 interface.
     * If `operator` is an EOA or a contract that does not support the LSP1 interface, nothing will happen and no notification will be sent.

     * @param operator The address to call the {universalReceiver} function on.
     * @param lsp1Data the data to be sent to the `operator` address in the `universalReceiver` call.
     */
    function _notifyTokenOperator(
        address operator,
        bytes memory lsp1Data
    ) internal virtual {
        operator.notifyUniversalReceiver(_TYPEID_LSP7_TOKENOPERATOR, lsp1Data);
    }

    /**
     * @dev Attempt to notify the token sender `from` about the `amount` of tokens being transferred.
     * This is done by calling its {universalReceiver} function with the `_TYPEID_LSP7_TOKENSSENDER` as typeId, if `from` is a contract that supports the LSP1 interface.
     * If `from` is an EOA or a contract that does not support the LSP1 interface, nothing will happen and no notification will be sent.

     * @param from The address to call the {universalReceiver} function on.
     * @param lsp1Data the data to be sent to the `from` address in the `universalReceiver` call.
     */
    function _notifyTokenSender(
        address from,
        bytes memory lsp1Data
    ) internal virtual {
        from.notifyUniversalReceiver(_TYPEID_LSP7_TOKENSSENDER, lsp1Data);
    }

Benefits:

Reduce deployment cost, which is important for the size of the token contracts, to keep the size to not grow too much, so that more functionalities for implementations can be added and not reach the max bytecode size allowed.
Still allow to override these functions.

Drawbacks:

costs a bit more gas, but minimal (+28 gas), compared to @YamenMerhi solution which actually saves gas (-48 gas, still minimal)
if someone need to override to add some custom data for instance, if adding the extra data before the library call, if the from does not support the LSP1 interface, gas is wasted preparing this extra data. For instance:

    // custom overriden notification function
    function _notifyTokenSender(
        address from,
        bytes memory lsp1Data
    ) internal override {
        lsp1Data = abi.encodePacked(lsp1Data, "some extra information like the msg.value received: ", msg.value);
        from.notifyUniversalReceiver(_TYPEID_LSP7_TOKENSSENDER, lsp1Data);
    }

In this code snippet above, preparing the data cost gas because some manipulation in memory is occuring. If the sender from does not supports LSP1 interface, this memory manipulation is unecessary and the gas is wasted.
By keeping the duplicate code (WET code), we can move this extra data preparation inside the if block check for the supportsInterface as follow:
    // this will not waste the gas to prepare the extra data
    function _notifyTokenSender(
        address from,
        bytes memory lsp1Data
    ) internal override {

        if (
            ERC165Checker.supportsERC165InterfaceUnchecked(
                from,
                _INTERFACEID_LSP1
            )
        ) {
            lsp1Data = abi.encodePacked(lsp1Data, "some extra information like the msg.value received: ", msg.value);
            ILSP1(from).universalReceiver(_TYPEID_LSP7_TOKENSSENDER, lsp1Data);
        }
    }

Gas cost of alternative solution proposed
👋 Hello
⛽ I am the Gas Bot Reporter. I keep track of the gas costs of common interactions using Universal Profiles 🆙 !
📊 Here is a summary of the gas cost with the code introduced by this PR.
⛽📊 Gas Benchmark Report
Deployment Costs

Deployed contracts
⛽ Deployment cost

UniversalProfile
3185468 (0 )

KeyManager
3659015 (0 )

LSP1DelegateUP
1637510 (0 )

LSP7Mintable
2327728 (-5,395 📉✅)

LSP8Mintable
2426970 (3,900 📈❌)

Runtime Costs

UniversalProfile owned by an 🔑 EOA
🔀 execute scenarios

execute scenarios - UP owned by 🔑 EOA
⛽ Gas Usage

Transfer 1 LYX to an EOA without data
37560 (0 )

Transfer 1 LYX to a UP without data
46253 (0 )

Transfer 1 LYX to an EOA with 256 bytes of data
42233 (0 )

Transfer 1 LYX to a UP with 256 bytes of data
57126 (-60 📉✅)

Transfer 0.1 LYX to 3x EOA without data
70862 (0 )

Transfer 0.1 LYX to 3x UP without data
104453 (0 )

Transfer 0.1 LYX to 3x EOA with 256 bytes of data
84838 (0 )

Transfer 0.1 LYX to 3x UPs with 256 bytes of data
137173 (-72 📉✅)

🗄 setData scenarios

setData scenarios - UP owned by 🔑 EOA
⛽ Gas Usage

Set a 20 bytes long value
49951 (0 )

Set a 60 bytes long value
95261 (0 )

Set a 160 bytes long value
164421 (-24 📉✅)

Set a 300 bytes long value
279668 (0 )

Set a 600 bytes long value
484116 (12 📈❌)

Change the value of a data key already set
32839 (0 )

Remove the value of a data key already set
27313 (0 )

Set 2 data keys of 20 bytes long value
78500 (12 📈❌)

Set 2 data keys of 100 bytes long value
260652 (-12 📉✅)

Set 3 data keys of 20 bytes long value
105218 (24 📈❌)

Change the value of three data keys already set of 20 bytes long value
45506 (-12 📉✅)

Remove the value of three data keys already set
41397 (0 )

🗄 Tokens scenarios

Tokens scenarios - UP owned by 🔑 EOA
⛽ Gas Usage

Minting a LSP7Token to a UP (No Delegate) from an EOA
92680 (0 )

Minting a LSP7Token to an EOA from an EOA
59355 (0 )

Transferring an LSP7Token from a UP to another UP (No Delegate)
101584 (28 📈❌)

Minting a LSP8Token to a UP (No Delegate) from an EOA
159571 (0 )

Minting a LSP8Token to an EOA from an EOA
126247 (0 )

Transferring an LSP8Token from a UP to another UP (No Delegate)
150277 (28 📈❌)

UniversalProfile owned by a 🔒📄 LSP6KeyManager
🔀 execute scenarios

execute scenarios
👑 main controller
🛃 restricted controller

LYX transfer --> to an EOA
64356 (0 )
75306 (0 )

LYX transfer --> to a UP
78489 (0 )
93386 (0 )

LSP7 token transfer --> to an EOA
116381 (28 📈❌)
131131 (28 📈❌)

LSP7 token transfer --> to a UP
249611 (28 📈❌)
264361 (28 📈❌)

LSP8 NFT transfer --> to an EOA
180489 (28 📈❌)
195216 (28 📈❌)

LSP8 NFT transfer --> to a UP
296943 (28 📈❌)
311670 (28 📈❌)

🗄 setData scenarios

setData scenarios
👑 main controller
🛃 restricted controller

Update Profile details (LSP3Profile Metadata)
67294 (0 )
77316 (0 )

Add a new controller with permission to SET_DATA + 3x allowed data keys:  AddressPermissions[]  + AddressPermissions[index]  + AddressPermissions:Permissions:<controller>  + AddressPermissions:AllowedERC725YDataKeys:<controller)
209636 (0 )
219793 (0 )

Update permissions of previous controller. Allow it now to SUPER_SETDATA
52322 (0 )
55328 (0 )

Remove a controller:  1. decrease AddressPermissions[] Array length  2. remove the controller address at AddressPermissions[index]  3. set "0x" for the controller permissions under AddressPermissions:Permissions:
78861 (0 )
90160 (0 )

Write 5x new LSP12 Issued Assets
66989 (0 )
101616 (0 )

Update 3x data keys (first 3)
125501 (0 )
159605 (0 )

Update 3x data keys (middle 3)
105589 (0 )
143759 (0 )

Update 3x data keys (last 3)
125501 (0 )
169092 (0 )

Set 2 x new data keys + add 3x new controllers
810481 (0 )
872281 (0 )

Also depending on the solution we choose, we will have to remove the using LSP1Utils for address statements:
https://github.com/lukso-network/lsp-smart-contracts/blob/15cc284c9f4c6a4ac4ff3df1c421b81ef7675936/contracts/LSP7DigitalAsset/LSP7DigitalAssetCore.sol#L57
https://github.com/lukso-network/lsp-smart-contracts/blob/15cc284c9f4c6a4ac4ff3df1c421b81ef7675936/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAssetCore.sol#L57


Organizing notebooks

I've created a mess of notebooks with little organization.  After talking with @banesullivan we've agreed that a few single-purpose notebooks will serve future us well.

[x] Plot cumulative slip and cumulative moment as two separate figures for a single time step. Proposed name: cumulative_slip_geometric_moment_single_time.ipynb
[x] Plot cumulative slip at three different time steps in a single figure. Proposed name: cumulative_slip_three_panel.ipynb
[x] Generate two separate animations of cumulative slip and geometric moment.  Proposed name: cumulative_slip_geometric_moment_animations.ipynb

Considering most of these notebooks are able to handle multiple variables (one at a time) I chose the following names respectively: single_time.ipynb, three_times_panel.ipynb, and animations.ipynb. These three notebooks will be placed under a simple/ directory in my upcoming PR

Handled in 67fab6a42211638b1c4af0e6678d7d8d3c4fc6da -- note that these notebooks need to be adjusted for the data they are plotting and currently produce "meh" results


SPWN: Streamlink 4 compatibility

https://github.com/streamlink/streamlink/blob/master/docs/deprecations.rst#removal-of-streamlinkpluginapiutils
I haven't updated e+ because I don't have any videos to test with.

Note: This works with Streamlink 3.2.0 as well (I haven't tested earlier).


[Bug]: 0.7.3 Live reload crashes with module federation

Version
System:
    OS: macOS 14.5
    CPU: (10) arm64 Apple M2 Pro
    Memory: 131.89 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Browsers:
    Chrome: 125.0.6422.142
    Edge: 125.0.2535.85
    Safari: 17.5

Details
App crashes on save when module federation is configured on fresh projects

Reproduce link
https://github.com/swalker326/rsbuild-module-federation-live-reload-bug
Reproduce Steps
from root pnpm i
from root pnpm dev
once the apps are running, confirm the host app is running with the remote app mounted on localhost:3000

From your editor save a file inside of the remote app (not rsbuild.config.ts) this will trigger the error above.

Hi, this is a known issue of Rspack v0.7.1, please refer to: https://github.com/web-infra-dev/rspack/issues/6740


undefined symbol: ev_default_loop_ptr

I updated my node to 0.5.0 from 0.4.12 and I am getting this error.
Error: /home/madhu/work/project/node_modules/mongoose-auth/node_modules/bcrypt/build/Release/bcrypt_lib.node: undefined symbol: ev_default_loop_ptr
    at Object..node (module.js:423:11)
    at Module.load (module.js:343:31)
    at Function._load (module.js:302:12)
    at require (module.js:355:19)
    at Object.<anonymous> (/home/madhu/work/project/node_modules/mongoose-auth/node_modules/bcrypt/bcrypt.js:5:18)
    at Module._compile (module.js:411:26)
    at Object..js (module.js:417:10)
    at Module.load (module.js:343:31)
    at Function._load (module.js:302:12)
    at require (module.js:355:19)

What does node --version tell you?

0.5.0 is an unstable version. What happens when you use 0.6.2?

That too. :)

I updated to 0.6.2 , also tested with 0.6.0. It worked for me. (din't know 0.5.0 was unstable).
Also I did npm cache clean and removed all the modules from node_modules folder and installed it again with npm install. May be that did the trick?

Native modules need to be rebuilt with newer compiled versions of node so that makes sense.
The odd numbered releases are unstable versions. The even numbers are "stable". ;D


Chicken-and-egg problem with downloading wordnet in GitHub Action

I have in my GitHub Action something like this:
      - name: Set up Python 3.12
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install Dependencies
        run: |
          python -m pip install --upgrade pip wheel --progress-bar off
          pip install -r requirements.txt --progress-bar off

      - name: Download NLTK dependencies
        run: python scripts/nltk-downloads.py

and in requirements.txt it has
nltk==3.9 \
    --hash=sha256:d17863e861bb33ac617893329d71d06a3dfb7e3eb9ee0b8105281c53944a45a1 \
    --hash=sha256:e98acac454407fa38b76cccb29208d377731cf7fab68f323754a3681f104531f

The script scripts/nltk-downloads.py looks exactly like this:
import nltk

nltk.download("wordnet")

But that step of the Action workflow fails with ...
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.[12](https://github.com/peterbe/django-peterbecom/actions/runs/10603699164/job/29388628603#step:17:13).5/x64/lib/python3.12/site-packages/nltk/corpus/util.py", line 84, in __load
    root = nltk.data.find(f"{self.subdir}/{zip_name}")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/data.py", line 579, in find
    raise LookupError(resource_not_found)
LookupError:
**********************************************************************
  Resource wordnet not found.
  Please use the NLTK Downloader to obtain the resource:

  >>> import nltk
  >>> nltk.download('wordnet')

  For more information see: https://www.nltk.org/data.html

  Attempted to load corpora/wordnet.zip/wordnet/

  Searched in:
    - '/home/runner/nltk_data'
    - '/opt/hostedtoolcache/Python/3.12.5/x64/nltk_data'
    - '/opt/hostedtoolcache/Python/3.12.5/x64/share/nltk_data'
    - '/opt/hostedtoolcache/Python/3.12.5/x64/lib/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'
**********************************************************************

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/django-peterbecom/django-peterbecom/scripts/nltk-downloads.py", line 2, in <module>
    import nltk
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/__init__.py", line 153, in <module>
    from nltk.translate import *
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/translate/__init__.py", line 24, in <module>
    from nltk.translate.meteor_score import meteor_score as meteor
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/translate/meteor_score.py", line 14, in <module>
    from nltk.stem.api import StemmerI
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/stem/__init__.py", line 34, in <module>
    from nltk.stem.wordnet import WordNetLemmatizer
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/stem/wordnet.py", line [13](https://github.com/peterbe/django-peterbecom/actions/runs/10603699164/job/29388628603#step:17:14), in <module>
    class WordNetLemmatizer:
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/stem/wordnet.py", line 48, in WordNetLemmatizer
    morphy = wn.morphy
             ^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/corpus/util.py", line 120, in __getattr__
    self.__load()
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/corpus/util.py", line 86, in __load
    raise e
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/corpus/util.py", line 81, in __load
    root = nltk.data.find(f"{self.subdir}/{self.__name}")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/nltk/data.py", line 579, in find
    raise LookupError(resource_not_found)
LookupError:
**********************************************************************
  Resource wordnet not found.
  Please use the NLTK Downloader to obtain the resource:

  >>> import nltk
  >>> nltk.download('wordnet')

  For more information see: https://www.nltk.org/data.html

  Attempted to load corpora/wordnet

  Searched in:
    - '/home/runner/nltk_data'
    - '/opt/hostedtoolcache/Python/3.12.5/x64/nltk_data'
    - '/opt/hostedtoolcache/Python/3.12.5/x64/share/nltk_data'
    - '/opt/hostedtoolcache/Python/3.12.5/x64/lib/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'
**********************************************************************

@peterbe, this was solved in #3309 and NLTK release 3.9.1.
It was a well-known problem with NLTK 3.9 and #3308 suggests a workaround, but the obvious fix is to update your NLTK version to 3.9.1.


Broken users appearing as Followers or Following, cannot be removed

I am following 2 broken users that I cannot unfollow and that can't be resolved. Their profiles lead to https://mtgarena.pro/u/undefined There should be some way these get cleaned up for users stuck with broken followers or following broken users.

Fixed


Use client webrtc factory even if configuration is null

Hi,
Webrtc PeerConnection.Options factory and configuration are optionals.
This should use the factory even if the configuration is null.

Nihao @haiyangwu
I can't get why the checks have failed, do you have any clues ?

In fact this is the only way to make use of the hardware encoders/decoders. Otherwise deprecated webrtc functions are used. Thanks for sharing. A clear improvement


chore(deps): update dependency @types/jest to v29.5.12

This PR contains the following updates:

Package
Change
Age
Adoption
Passing
Confidence

@types/jest (source)
29.5.11 -> 29.5.12

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - "after 8am and before 4pm on tuesday" in timezone Etc/UTC.
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

This PR has been generated by Renovate Bot.

Superseded by a single PR - https://github.com/apollographql/apollo-ios-dev/pull/274


Improvement in PoV of guns

📝 Description
Improve the Point of View of weapons with Weapon System v2, bringing it closer to the style of MW2019
🎯 Goals
Seeking to improve the point of view of weapons and the experience of using weapons.
🚦 Testing
Modifying the numerical values of the .withFirstPersonPositioning line of code
Important note: the images shown in "Screenshots/Recordings" are not the final images, most of the weapons were made changes more appropriate to the style
🖼 Screenshots/Recordings

📖 Added to documentation?

[ ] 📜 README.md
[ ] 📑 Documentation
[ ] 📓 Javadoc
[ ] 🍕 Comments
[X] 🙅 No documentation needed

nah bad idea


Added solution of GCD and LCM (Part 1) and Count Letters in a word

Description
Program Name -  GCD and LCM (Part 1)
Program Name - Count Letters in a Word Search
Issue No.- #181
Issue No.- #161
Checklist(self check)

[ ] Yes, this task assigned to me.
[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] My Filename is in camelCase format
[x] I have added Problem statement, Problem link in file.

Only give solution which task assigned to you.
delete Gcd file and commit again
thanks


How fairseq-generate work? (dimension mismatch in decoder output)

What is your question?
I just implemented a customized LSTM model on fairseq and the training process has no bug. Then in the generation process, I could only successfully generate the first batch, then there is a dimension mismatch for my decoder's output and the vocab size, which really confused me.
Code
decoder output dimension: torch.Size([1000, 1, 62992])
torch.Size([1000, 62992])
decoder output dimension: torch.Size([1000, 2, 62992])
torch.Size([1000, 62992])
decoder output dimension: torch.Size([1000, 3, 62992])
torch.Size([1000, 62992])
decoder output dimension: torch.Size([1000, 4, 62992])
torch.Size([1000, 62992])
decoder output dimension: torch.Size([965, 5, 62992])
torch.Size([965, 62992])
decoder output dimension: torch.Size([935, 6, 62992])
torch.Size([935, 62992])
decoder output dimension: torch.Size([675, 7, 62992])
torch.Size([675, 62992])
decoder output dimension: torch.Size([415, 8, 62992])
torch.Size([415, 62992])
decoder output dimension: torch.Size([370, 9, 62992])
torch.Size([370, 62992])
decoder output dimension: torch.Size([315, 10, 62992])
torch.Size([315, 62992])
decoder output dimension: torch.Size([125, 11, 62992])
torch.Size([125, 62992])
decoder output dimension: torch.Size([115, 12, 62992])

The print results above are from sequence_generator.py:
I print out the dimension for my decoder out
decoder_out = model.decoder.forward(tokens, encoder_out=encoder_out)

This batch works properly and then a new batch starts, where my decoder_out has a dimension
decoder output dimension: torch.Size([800, 1, 62993])

and an error was thrown in following code because  lprobs.view(bsz, -1, self.vocab_size) use a vocab size of 62992, not 62993. I'm really confused why the decoder output dimension's vocab size is incremented by 1. (I map my decoder output to len(dictionary), which should be the vocab size 62992)
# Shape: (batch, cand_size)
            cand_scores, cand_indices, cand_beams = self.search.step(
                step,
                lprobs.view(bsz, -1, self.vocab_size),
                scores.view(bsz, beam_size, -1)[:, :, :step],
            )

What's your environment?
fairseq Version (e.g., 1.0 or master): master
PyTorch Version (e.g., 1.0) 1.6
OS (e.g., Linux): linux
How you installed fairseq (pip, source): source
Build command you used (if compiling from source):
fairseq-generate /home/steven/Documents/GITHUB/DQN/data/multilingual/azetur_eng\
--path /home/steven/Documents/GITHUB/DQN/checkpoints/azetur_eng/checkpoint_best.pt \
--user-dir /home/steven/Documents/GITHUB/DQN/src \
--beam 5 \
--remove-bpe \

Python version: 3.7
CUDA/cuDNN version: 10.2
GPU models and configuration: RTX2070, default config
Any other relevant information:

It's hard to say without having access to your custom model.  Make sure that you specify the same task when training and generating (some tasks add extra entries to the dictionary).  To debug, I would simply set a breakpoint when the dictionaries are loaded in both training and generation and see what entries are different.

It's hard to say without having access to your custom model. Make sure that you specify the same task when training and generating (some tasks add extra entries to the dictionary). To debug, I would simply set a breakpoint when the dictionaries are loaded in both training and generation and see what entries are different.

I used the default task of fairseq and it should be consistent for both training and generating.
for the model, I use the len(self.dictionary) (in decoder class) as the output dimension, and map my final output from RNN to size of (batch_size, target_length, output_dim), as requested by the documentation. I used fairseq-preprocess to handle the text preprocessing so I think the vocab size (len(self.dictionary)) should be constant but somehow it's changed. Should I look into data loading code? I think the default loading should not have a problem in vocab size?
Also, I'm just generally confused about the generation process. I thought the generation process is batch by batch sentence generation, but my decoder output dimension changes from [1000, 1, 62992] to [1000, 2, 62992], [1000, 3, 62992],  [1000, 4, 62992], [965, 5, 62992], etc. It seems like the target_len is always incremented by 1 and batch size is not consistent throughout the loop. Could you point to some helpful resource to learn about fairseq's generation process? Any help would be appreciated!
Thank you.


fix(site): fix sales layout

Changes

#1697  👈 (View in Graphite)
main

How to use the Graphite Merge Queue
Add the label merge-queue to this PR to add it to the merge queue.
You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has required the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

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


missing parameter params to get

When I try get a url with params can't getting nothing. Milanuncios need to pass params from get to auth login.

@memoxmrdl Perfect. Merging and upgrading
Stay in tune in order to update gem version in your project.


Clean install of pipenv not working

Hello, when doing a clean pipenv install inside debian docker container, the requests dependency is installed in incorrect version:
Please note that the docker image has previous version of requests installed:
requests==2.4.3

sudo pip install pip --upgrade

Upon fresh pipenv install:
sudo pip install pipenv

Collecting pipenv
  Downloading pipenv-4.0.1-py2-none-any.whl (669kB)
    100% |████████████████████████████████| 675kB 1.6MB/s
Collecting pew>=0.1.26 (from pipenv)
  Downloading pew-0.1.26-py2.py3-none-any.whl
Requirement already satisfied: pip in /usr/local/lib/python2.7/dist-packages (from pipenv)
Requirement already satisfied: virtualenv in /usr/local/lib/python2.7/dist-packages (from pipenv)
Collecting pathlib; python_version == "2.7" (from pew>=0.1.26->pipenv)
  Downloading pathlib-1.0.1.tar.gz (49kB)
    100% |████████████████████████████████| 51kB 7.3MB/s
Requirement already satisfied: setuptools>=17.1 in /usr/local/lib/python2.7/dist-packages (from pew>=0.1.26->pipenv)
Collecting shutilwhich; python_version == "2.7" (from pew>=0.1.26->pipenv)
  Downloading shutilwhich-1.1.0.tar.gz
Collecting virtualenv-clone>=0.2.5 (from pew>=0.1.26->pipenv)
  Downloading virtualenv-clone-0.2.6.tar.gz
Requirement already satisfied: backports.shutil-get-terminal-size; python_version == "2.7" in /usr/local/lib/python2.7/dist-packages (from pew>=0.1.26->pipenv)
Collecting pythonz-bd>=1.10.2 (from pew>=0.1.26->pipenv)
  Downloading pythonz-bd-1.11.4.tar.gz (86kB)
    100% |████████████████████████████████| 92kB 5.3MB/s
Building wheels for collected packages: pathlib, shutilwhich, virtualenv-clone, pythonz-bd
  Running setup.py bdist_wheel for pathlib ... done
  Stored in directory: /root/.cache/pip/wheels/2a/23/a5/d8803db5d631e9f391fe6defe982a238bf5483062eeb34e841
  Running setup.py bdist_wheel for shutilwhich ... done
  Stored in directory: /root/.cache/pip/wheels/0e/28/70/d5cc6586f26d614b26901485f6f6072d35cbbb5bbeffb6ea43
  Running setup.py bdist_wheel for virtualenv-clone ... done
  Stored in directory: /root/.cache/pip/wheels/24/51/ef/93120d304d240b4b6c2066454250a1626e04f73d34417b956d
  Running setup.py bdist_wheel for pythonz-bd ... done
  Stored in directory: /root/.cache/pip/wheels/04/de/c8/da2d21bb0112bb65bfb28bdf9ee8f2c819c25db143c32435b2
Successfully built pathlib shutilwhich virtualenv-clone pythonz-bd
Installing collected packages: pathlib, shutilwhich, virtualenv-clone, pythonz-bd, pew, pipenv
Successfully installed pathlib-1.0.1 pew-0.1.26 pipenv-4.0.1 pythonz-bd-1.11.4 shutilwhich-1.1.0 virtualenv-clone-0.2.6

Pipenv raises error when executing:
pipenv
Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 7, in <module>
    from pipenv import cli
  File "/usr/local/lib/python2.7/dist-packages/pipenv/__init__.py", line 14, in <module>
    from .cli import cli
  File "/usr/local/lib/python2.7/dist-packages/pipenv/cli.py", line 21, in <module>
    from requests.packages.urllib3.exceptions import InsecureRequestWarning
ImportError: cannot import name InsecureRequestWarning

After upgrading requests
sudo pip install requests --upgrade

Collecting requests
  Downloading requests-2.14.2-py2.py3-none-any.whl (560kB)
    100% |████████████████████████████████| 563kB 1.5MB/s
Installing collected packages: requests
  Found existing installation: requests 2.4.3
    Uninstalling requests-2.4.3:
      Successfully uninstalled requests-2.4.3
Successfully installed requests-2.14.2

it works
pipenv
Usage: pipenv [OPTIONS] COMMAND [ARGS]...

Options:
  --where          Output project home information.
  --venv           Output virtualenv information.
  --rm             Remove the virtualenv.
  --bare           Minimal output.
  --three / --two  Use Python 3/2 when creating virtualenv.
  --python TEXT    Specify which version of Python virtualenv should use.
  -h, --help       Show this message then exit.
  --version        Show the version and exit.

Usage Examples:
   Create a new project using Python 3:
   $ pipenv --three

   Install all dependencies for a project (including dev):
   $ pipenv install --dev

   Create a lockfile:
   $ pipenv lock

Commands:
  check      Checks PEP 508 markers provided in Pipfile.
  install    Installs provided packages and adds them to...
  lock       Generates Pipfile.lock.
  run        Spawns a command installed into the...
  shell      Spawns a shell within the virtualenv.
  uninstall  Un-installs a provided package and removes it...
  update     Updates pip to latest version, uninstalls all...

I'm not sure if this is issue with pip not detecting I have a older version of requests installed, but when doing pip install pipenv it doesn't show requests in the collected dependencies, nor does it say that dependency is already satisfied.
Thank you.

This was an issue with your pip installation.


Dev/rgroup handle ties in symmetry matching

Fixes #2601
Break ties in symmetry by choosing the permutation that adds the fewest rgroups.  Should have though of this before :)
Consolidates how new labels are added, instead of a maximum count we just grab the first available rgroup starting from 1.
Fixes the meaning of onlyH, this doesn't seem to change anything which indicates it may not really be tested.

Thanks!  I was just about to remove those stray print statements.


Deflate64

SD-183, originally created on 7/21/2004 21:04:18 by John Reilly
Goes hand in hand with Zip64 pretty much, gives better compression that
standard deflate

Comment from David Pierson on 9/2/2010 02:00:49:
"Deflate64 is a proprietary and undocumented extension of the protocol"
Do we really want to do this in an open source project?

unzip on Ubuntu is able to extract an archive that uses Deflate64. Is open source really a barrier?

@Numpsy if you want to, sure go ahead! But no, I don't think this has been requested much and I have yet to find a Deflate64 file out in the wild.
I am closing this to keep the Issue count down, but I can open it again if there is further interest or activity.

But no, I don't think this has been requested much and I have yet to find a Deflate64 file out in the wild.

When Windows OS create archive with size more than 2GB it create it with Deflate64 method. And there are too many archives in world created with Deflate64. I'm a developer who is trying to find a library which can extract files from archives like this. I have checked 3 libraries and them can't extract files from Deflate64 archives.

System.IO.Compression too slow, required .NET 4.6 to extract Deflate64 (but I have to use 4.5)
DotNetZip can't extract Deflate64 (but has merge request with needed code!)
SharpZipLib can't extract. (piksel closed this topic)

The reason for System.IO.Compression being 'slow' might be because (in older runtimes at least, I can't say offhand if .NET 5 is different), plain deflate used an optimized build of ZLib to do the decompression, where deflate64 used a managed implementation.
My thought (and from memory, the thought from adding support to DotNetZip) was to integrate the internal MS implementation, in which case the perf would be the same (if you're using .NET Core 3+ then that can be optimized with intrinsics, but that's another piece of work)

I believe (I haven't looked since I made that last comment from last year) that SharpCompress has previously integrated that same MS code, so maybe have a look at that?

Hey, checking whether there has been any movement regarding support for Deflate64 on the library. I am most interested in it supporting it on the InputStream path.
The reason I ask is the same @maximkotelnikov mentioned, Windows uses Deflate64 as default for large files, and it'd be nice to have this support.

No, not that I am aware of. But if windows creates files using deflate64 I guess this warrants keeping the issue open. That being said, that doesn't mean that it will be included anytime soon unless someone actually starts working on it.

I'd still hoped to have a go with the MS code at some point, but I haven't had any time to look at anything complicated recently :-(

Noticed that DotNetZip have implemented Deflate64 support when unzipping https://github.com/haf/DotNetZip.Semverd/pull/182 . Hopefully it won't be very difficult to port this to SharpZipLib. 🤔

Just want to add another voice to it: SharpZipLib works very well for my project. But because others can input any zip file they have, I sadly also came across the "Deflate64 not supported" issue. It would still be great if that would be added. If possible, it would also be nice if the exception "Compression method not supported" would have specifically stated "Deflate64 compression method not supported" to save time on understanding what goes wrong. Thanks!


Drag&Drop not working as intended

Is your feature request related to a problem? Please describe.
Not related to a problem
Describe the solution you'd like

When I try to move the folder "test" inside another folder, I have to point the folder (C:\ in this case). But Files UWP should allow drag&drop inside the red box on the screenshot.
Additional context
Windows 10 Version 1909, Files UWP <IP_ADDRESS>

Drag and drop is now working for me with the latest version, thank you! But yes I have this same issue.
I usually like to try and drag into an open area if I can to avoid inadvertently dropping something into a folder (esp if it's nothing but folders shown in the list)

I made an error, the drag&drop feature in the void is working in every view type except in list mode/view.
Maybe the issue should swap to bug and not feature-request.


Sound and microphone muted keys and LEDs would be nice

I have such keys and LEDs on my work laptop.

There is already such a webcam LED when it is used.


Not finding Standard Library protocol conformance

Hi!
I tried to work with Sourcery on Types conforming to protocols from the Swift Standard Library, for example Comparable:
{% for type in types.implementing.Comparable %}
	{{ type.name }}
{% endfor %}

This does not work for structs conforming to Comparable I defined. Am I missing something?
Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9

Hey. You need to use based here. We dot yet provide full support for standard library types, meaning distinguishing if this is a protocol, so you use implementing, or a class and you usr inheriting. We only do that for those types defined in the sources scanned by Sourcery.
Ilya Puchka
Отправлено с iPhone

14 мая 2017 г., в 19:48, cnicolai<EMAIL_ADDRESS>написал(а):
Hi!
I tried to work with Sourcery on Types conforming to protocols from the Swift Standard Library, for example comparable:
{% for type in types.implementing.Comparable %}
{{ type.name }}
{% endfor %}
This does not work for structs conforming to Comparable I defined. Am I missing something?
Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks! I will try to figure that out.

Worked for me, thanks again!


Patterns in variable bindings.

This PR adds support for patterns in variable bindings, e.g. . as {a: [$x, {("b", "c"): $y, $z}]} | $x, $y, $z.
This also works in foreach and reduce.
Compared to jq, this also allows indexing with integers, e.g. {(0): $x, (1): $y}, which is equivalent to [$x, $y]. This can be useful if you wish to destructure arrays, but not necessarily the starting items.
However, jaq does not support the (undocumented) syntax {$x: ...}; for example, the filter {x: [1]} as {$x: [$y]} | $x, $y this yields [1] and 1 in jq.

Impressive work! and i had no idea jq supported combining key/value pattern like{$x: [$y]}. Index based patter for arrays seems nice addition, wonder how much work it would be to get into jq. I've also wished sometimes for some kind of rest-syntax like [$x, ...$xs] and {$k, ...$obj_with_all_other_keys}

Regarding {$x: pattern}, I have not implemented this because of a few reasons:

{$x: pattern} is not the same as {($x): pattern}. I can't think of any other place in jq where ($x) cannot be substituted by $x, so this is some really surprising behaviour. If you only know the {(f): pattern} syntax and are confronted with {$x: pattern}, you may be up for a pretty big surprise.
{$x: pattern} discriminates keys that are not "identifier-like"; that is, this only works for fields like "x", but not for "here-be-dragons". (The same could be said of course about .x and {$x}, but these can be transformed quite simply into equivalent constructs that work with non-identifier-like keys, such as .["x"] and {"x": $x}. There is no easy transformation for {$x: pattern}, however. This can be really cumbersome if you have used {$x: pattern}, perhaps somewhere inside another pattern, then your input format changes from {"x": ...} to {"here-be-dragons: ...}. Have fun rewriting your pattern, especially if you use it inside of reduce or foreach.)

There is also yet another reason why I believe that {$x: pattern} is not a good idea: It provides useful functionality for objects, but there is no equivalent functionality for arrays, which would be equally useful. In particular, we might want to destructure [{a: $x}] and also bind a variable to the first element of the input array, namely to the object that {a: $x} is supposed to match. In jq's destructuring today, this is not possible.
We could come up with some syntax such as
[$o as {a: $x}]

to solve this problem. In particular, wherever we can write a pattern, we should be able to write $x as PATTERN, in order to say that $x should bind to the whole value that is matched by PATTERN.
That would subsume the {$x: PATTERN} syntax, namely by writing:
{x: $x as PATTERN}

Speaking as somebody who just implemented destructuring in jaq a few days ago, I think that such a syntax should be quite feasible to implement. And speaking as somebody who is trying to rewrite the jq manual, I think that such a syntax should be also relatively easy to describe, teach, and understand.

I've also wished sometimes for some kind of rest-syntax like [$x, ...$xs] and {$k, ...$obj_with_all_other_keys}

While I also think that such syntax could be nice, I think that especially the second idea, namely the $obj_with_all_other_keys, could be a real pain to implement. The problem is that there is no elementary operation in jq that subtracts keys from objects, which would be useful in this case.
The first idea would be mostly subsumed by {(0): $x, (-1): $xs} that I implemented in jaq.


Please add an option to select available code editors to use using the vuecli

What problem does this feature solve?
This is because when I open the project in code editor it opens in PyCharm IDE, which I use for python not javascript and I don't know how to configure it to say otherwise. It also doesn't use VSCode which is on my user %PATH% variable. Also some people don't install apps to their C: drive so it has to be a bit dynamic. Thanks!
What does the proposed API look like?
Kinda something like this

options = [
'Path to Application',
]

var code_editor = options.current()

if code_editor === options {
// Pls let this be in a dynamic way not fixed.
// Open the particular application then save the configuration.
}

// Also add the option to add new applications using their physical path

We use launch-editor to open editors from the UI, so you can customize your preferred editor by setting the EDITOR or VISUAL environment variable.


compat handlers: add X-Registry-Auth header support

Signed-off-by: Valentin Rothberg<EMAIL_ADDRESS>

Manual tests were successful. I am now working on testing that in the apiv2 tests.

Manual tests were successful. I am now working on testing that in the apiv2 tests.

I looked into running a local registry and found a blocker, unfortunately pretty late in the process. The Docker compat endpoints don't expose a tlsVerify parameter that we could set to false. Hence, the server fails pulling because we're creating our own certificate. One workaround would be to use a custom registries.conf where we're setting the local registry as insecure and that's where I am stuck.
There is no way to point Podman to a custom registries.conf. The e2e tests are using a REGISTRIES_CONF_PATH env variable but that's a NOP as there's no code using that  at all.
For now, I suggest to merge the PR as is and to trust that my local smoke tests work.
However, I believe we need a way to point Podman to a custom registries.conf. Buildah exposes a --registries-conf which I suggest to add to Podman as well.

@baude @jwhonce @edsantiago @mheon PTAL

How hard would it be to add our own, undocumented, unsupported, tlsVerify to the API?

How hard would it be to add our own, undocumented, unsupported, tlsVerify to the API?

A simple 1 minute change. If that's acceptable, this would certainly be the quickest way forward.

Can we restrict it so it's not available outside of the tests?

Can we restrict it so it's not available outside of the tests?

We could via an env var, for instance. But I think this would make it sufficiently complex to justify adding a --registries-conf flag.

We have plenty of basically-undocumented unit-testing-only flags like that, so I'm on board

Back to WIP:
We now support both, single-auth headers and multi-auth headers. Multi-auth headers are the same as the ones from projectatomic docker. This way, we are compatible with vanilla Docker and the projectatomic/RHEL Docker which we can/will also use for the new libpod endpoints.
It's now wired into the compat endpoints. Libpod endpoints are still missing along with unit, apiv2 and integration tests.

Dev update:

All encoding and decoding of the authentication headers is working now.
Bindings have been updated for pull, push along with CLI parts. We can now also set headers in the bindings requests which accounts for the high amount of changed files.
We can send credentials AND entire auth files now. This required some massaging of c/image and lead to https://github.com/containers/image/pull/928.
Note that there's a new pkg/auth that the bindings and the sever share.

I'll continue on Monday and wire in support for all commands/endpoints that support --authfile and or specifying credentials. Once that's done, I will have a look at testing. I tried to get a local registry running in apiv2-test but failed miserably. I may need @edsantiago's bash skills to get that part done in a sane way.
Since so many tests require a local registry, I would love to have make local-registry target which runs a registry:2 container with "known" credentials that may be dumped at a known location. This would be nice for local development but it would also prevent us from having duplicate code for setting up a registry across the e2e, system, api and potentially bindings tests. @edsantiago, is that something you could do (assuming there's time)?

Note that we first need to get https://github.com/containers/image/pull/933 in.

Also, once #6269 is merged, we can add auth tests.

Is identitytoken going to be implemented in a follow on PR?

Can you elaborate on that? Identity tokens are already supported via the c/image backends and accounted for in the header.

Looking at the podman stats with json output flakes now.

Looking at the podman stats with json output flakes now.

Fixed in https://github.com/containers/libpod/pull/6403

Note: I vendored a commit of c/image (non release). I agreed with @rhatdan to do this until c/image has new release. It's acceptable for an RC at least.

LGTM

/lgtm


Could not find gibbon-1.2.1 in any of the sources (Bundler::GemNotFound)

Hello friend,
just installed gibbon 1.2.1 on my server with bundle install
gemfile.rb
gem 'gibbon', '~> 1.2'

but when i am trying to run it i get
Post-install message from gibbon:
IMPORTANT: Gibbon now targets MailChimp API 2.0, which is substantially different from API 1.3.
                             Please use Gibbon 0.4.6 if you need to use API 1.3.
If you're upgrading from <0.5.0 your code WILL break.
Post-install message from seedbank:

  ================================================================================

  Rails 2.x
  ---------
  If you are using Seedbank with Rails 2.x you will need to place the following at
  the end of your Rakefile so Rubygems can load the seedbank tasks;

    require 'seedbank'
    Seedbank.load_tasks if defined?(Seedbank)

  Rails 3.x and 4.x
  ---------
  Your work here is done!

  ================================================================================

my gem list is as follows
$ gem list

*** LOCAL GEMS ***

actionmailer (3.2.13)
actionpack (3.2.13)
activemodel (3.2.13)
activerecord (3.2.13)
activerecord_constraints (0.1.1)
activeresource (3.2.13)
activesupport (3.2.13)
addressable (2.3.8)
after_commit_action (1.0.0)
akami (1.3.1)
apartment (0.20.0)
arel (3.0.3)
bcrypt (3.1.10)
bcrypt-ruby (3.1.5)
bigdecimal (1.2.4)
builder (3.2.2, 3.0.4)
bundler (1.10.5)
carrierwave (0.9.0)
choice (0.1.7)
chronic (0.10.2)
climate_control (0.0.3)
cocaine (0.5.7)
coffee-rails (3.2.2)
coffee-script (2.4.1, 2.2.0)
coffee-script-source (<IP_ADDRESS>, 1.6.3)
commonjs (0.2.7)
cookiejar (0.3.2)
counter_culture (0.1.33)
descendants_tracker (0.0.4)
devise (3.0.2)
diff-lcs (1.2.5)
dnsruby (1.58.0)
domain_name (0.5.15)
dropbox-sdk (1.6.3)
em-http-request (1.1.2)
em-socksify (0.3.0)
em-websocket (0.5.1)
email_verifier (0.0.9)
erubis (2.7.0)
eventmachine (1.0.7)
execjs (2.5.2, 2.0.2)
faraday (0.9.2)
fio_api (0.0.4)
foreigner (1.4.2)
gibbon (1.2.1)
git (<IP_ADDRESS>)
github_api (0.13.0)
google-analytics-rails (0.0.6)
googlecharts (1.6.8)
gyoku (1.3.1)
hashie (3.4.3)
highline (1.7.8)
hike (1.2.3)
http-cookie (1.0.2)
http_parser.rb (0.6.0)
httparty (0.13.7, 0.13.5)
httpi (2.4.1)
i18n (0.6.1)
io-console (0.4.2)
jeweler (2.0.1)
journey (1.0.4)
jquery-fileupload-rails (0.4.1)
jquery-rails (3.0.4)
js-routes (0.9.9)
json (1.8.3, 1.8.1)
jwt (1.5.2)
less (2.3.3)
less-rails (2.3.3)
libv8 (<IP_ADDRESS> x86_64-linux)
macaddr (1.7.1)
mail (2.5.4)
mechanize (2.7.2)
mime-types (1.25.1)
mini_portile (0.6.2, 0.5.3, 0.5.2)
minitest (4.7.5)
multi_json (1.11.2, 1.11.1, 1.8.2)
multi_xml (0.5.5)
multipart-post (2.0.0)
net-http-digest_auth (1.4)
net-http-persistent (2.9)
nokogiri (<IP_ADDRESS>, 1.6.1, 1.6.0)
nori (2.6.0)
ntlm-http (0.1.1)
oauth2 (1.0.0)
orm_adapter (0.5.0)
paperclip (3.5.4)
pg (0.18.2, 0.16.0)
polyglot (0.3.5, 0.3.3)
psych (2.0.5)
rack (1.6.4, 1.5.2, 1.4.7, 1.4.5)
rack-accept (0.4.5)
rack-cache (1.2)
rack-ssl (1.3.4, 1.3.3)
rack-test (0.6.3, 0.6.2)
rails (3.2.13)
rails-erd (1.1.0)
railties (3.2.13)
rake (10.4.2, 10.1.0)
rdoc (4.2.0, 4.1.0, 3.12.2)
ref (1.0.5)
remotipart (1.2.1)
rspec (3.4.0)
rspec-core (3.4.1)
rspec-expectations (3.4.0)
rspec-mocks (3.4.0)
rspec-support (3.4.1)
ruby-graphviz (1.0.9)
rubyzip (1.1.7)
sass (3.4.14)
sass-rails (3.2.6)
savon (2.9.0)
seed_dump (0.4.3)
sprockets (2.2.3, 2.2.2)
sprockets-rails (0.0.1)
systemu (2.6.5)
test-unit (<IP_ADDRESS>)
therubyracer (0.11.4)
thor (0.19.1, 0.18.1)
thread_safe (0.3.5)
tilt (1.4.1)
timeliness (0.3.7)
treetop (1.4.15)
turnout (2.1.0)
tzinfo (0.3.44, 0.3.38)
uglifier (2.1.2)
unf (0.1.3)
unf_ext (0.0.6)
unicode (0.4.4)
uuid (2.3.8)
validates_email_format_of (1.5.3)
validates_timeliness (3.0.14)
valvat (0.6.10)
warden (1.2.3)
wasabi (3.3.0)
webrobots (0.1.1)
whenever (0.9.4)
wicked_pdf (0.11.0)
will_paginate (3.0.7)
wkhtmltopdf-binary (<IP_ADDRESS>)

but after restarting ngix i get
It looks like Bundler could not find a gem. Maybe you didn't install all the gems that this application needs. To install your gems, please run:

bundle install
If that didn't work, then the problem is probably caused by your application being run under a different environment than it's supposed to. Please check the following:

Is this app supposed to be run as the deploy user?
Is this app being run on the correct Ruby interpreter? Below you will see which Ruby interpreter Phusion Passenger attempted to use.
Please check whether the correct RVM gemset is being used.
Sometimes, RVM gemsets may be broken. Try resetting them.
-------- The exception is as follows: -------

Could not find gibbon-1.2.1 in any of the sources (Bundler::GemNotFound)
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler/spec_set.rb:92:in `block in materialize'
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler/spec_set.rb:85:in `map!'
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler/spec_set.rb:85:in `materialize'
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler/definition.rb:140:in `specs'
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler/definition.rb:185:in `specs_for'
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler/definition.rb:174:in `requested_specs'
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler/environment.rb:18:in `requested_specs'
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler/runtime.rb:13:in `setup'
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler.rb:127:in `setup'
  /home/deploy/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.5/lib/bundler/setup.rb:18:in `<top (required)>'
  /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
  /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:406:in `activate_gem'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:288:in `block in run_load_path_setup_code'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:411:in `running_bundler'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:287:in `run_load_path_setup_code'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:99:in `preload_app'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:153:in `<module:App>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `<main>'

is this some kind of bug or am i missing something?
Thanks for reply

Odd. I don't think this is related to Gibbon. Version 1.2.1 is the latest (and last) version of 1.x released.
Is that gem list output from your server? Perhaps try sudo gem install gibbon manually on the machine in question (or rvmsudo; whatever you're using)?

A thought: I wonder if your server has two copies of Ruby installed and one is being referenced by your app server and another is in your path.

I am using one copy of Ruby (i suppose). It's used by my user martin(me) and deploy (there is server set).
But when i type bundle show gibbon as deploy
$ bundle show gibbon
/var/lib/gems/2.1.0/gems/gibbon-1.2.0

and as a martin
$ bundle show gibbon
/var/lib/gems/2.1.0/gems/gibbon-1.2.0

is this a problem?

okay, nevermind ... i think i have resolved it.
i need to install gem on the server first and then it can be used as martin (not the other way around).
Thanks for your time

Glad you figured it out!


getting error when I send push notifications from production (Error: error:0906D06C:PEM routines:PEM_read_bio:no start line)

Hi,
Everytime I send a push notification on production I get this error in the logs and I am not sure what is causing it, any help will be appreciated
/bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/node_modules/q/q.js:155
throw e;
[xxx.xxx.xxx.xxx](ip address)                       ^
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Object.exports.createCredentials (crypto.js:126:17)
at Object.exports.connect (tls.js:1345:27)
at apnSocketLegacy (/bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/lib/socket.js:40:19)
at Connection.initialize.spread.fail.terminated (/bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/lib/connection.js:175:17)
at /bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/node_modules/q/q.js:1229:26
at _fulfilled (/bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/node_modules/q/q.js:796:13)
at /bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/node_modules/q/q.js:556:49
at runSingle (/bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/node_modules/q/q.js:137:13)
at flush (/bundle/bundle/programs/server/npm/node_modules/meteor/raix_push/node_modules/apn/node_modules/q/q.js:125:13)
at process._tickCallback (node.js:458:13)

We are facing the same issue. Any progress with this problem? Any help is apprecciated, too ;)

For some reason, my Apple certificates used in the push notifications were deleted so I made new ones and set it up again. The problem went away


Some additions + updating to 102x (as of yesterday)

Workaround c475c65 to be reverted once we get a fix to HZZ cards
text2workspace option --X-pack-asympows not set by default yet, but it could be
combine --X-rtd SIMNLL_GROUPCONSTRAINTS=N and --X-rtd NO_INITIAL_SNAP probably to stay as non-default for a while (though after testing one may turn them on for just for large number of nuisances and MultiDimFit algo)

There's quite a few commits which already went into 102x so hopefully that won't cause any issues when we merge 102x-debug back into 102x

it shouldn't since it's the same commits

Ok, that's true provided we don't squash them


Enable debugging through the --inspect protocol

I've browsed through the denoflare CLI code for serve and I'm not sure where exactly this would be enabled.  It would be so amazing to be able to hit breakpoints inside the worker, similar to what is mentioned here for deno --inspect: https://deno.land/manual/getting_started/debugging_your_code

Adding --inspect to the deno command works. Using the example from: https://denoflare.dev/guides/serve run:
deno run --inspect --unstable --allow-read --allow-net --allow-env https://raw.githubusercontent.com/skymethod/denoflare/v0.4.4/cli/cli.ts serve hello-local

Then go to chrome://inspect and you should see:

Inspect the worker target.
As there don't appear to be any source maps finding the code can be a little awkward so add a debugger; statement at the start of the fetch function, open the url in another browser tab, and the inspector will pause at the debugger statement.
(The example configuration also seems to serve favicon.ico request from the same endpoint so I see it stopping twice each time I refresh the browser tab.)
// index.ts
export default {
    async fetch(request: Request, env: any) {
       debugger;
        try {
            return new Response('hi')
        } catch (e) {
            return new Response(e.message)
        }
    },
}

// .denoflare
{
    "$schema": "https://raw.githubusercontent.com/skymethod/denoflare/v0.4.4/common/config.schema.json",
    "scripts": {
        "hello-local": {
            "path": "index.ts",
            "localPort": 3030
        }
    }
}

Thanks for this @lrowe - if you run denoflare serve with a config specifying "localIsolation": "none", this might give you a better debugging experience (with source maps), since the script code will be imported directly into the main Deno isolate.
You'll lose module reloading, however - so will have to restart the process on any changes.  Probably ok for debugging loops.
By default, scripts run in "localIsolation": "isolate" mode, which takes a snapshot of your code and runs it in a permissionsless Deno worker - which is safer, and more closely resembles the cloudflare production environment (no Deno global etc), and crucially allows us to provide automatic module reloading on change (denoflare just tears down the old permissionless worker and recreates it.
As far as I can tell, there is no way to specify sourcemaps when instantiating a Deno Worker from a blob url, but anyone can figure it out, I'd love to be able to pass these through.  I have them (Deno.emit gives them to me), but I can't tell the Worker about them.
Hope that helps!

@johnspurlock-skymethod looking at the sources while debugging a regular Deno worker it looks like the javascript code gets generated with inline source maps. I assume it would be possible to do the same here by supplying compilerOptions: { inlineSourceMap: true } to Deno.emit in https://github.com/skymethod/denoflare/blob/master/cli/emit.ts#L3.

https://github.com/denoland/deno/issues/4765#issuecomment-614282334
<EMAIL_ADDRESS>https://www.typescriptlang.org/docs/handbook/compiler-options.html

(I found this project while looking for examples of using Deno workers but am not actually using it or the Cloudflare platform.)

Looking into getting this working inside vscode.
You should run serve in no isolation mode (no hot reloading) - which means setting "localIsolation": "none" inside your .denoflare file for that script config.  You'll also need to use the file:// scheme in the "path" to your worker, otherwise any absolute slashed path will be resolved against the program url, which in this case is the https denoflare release version.
Then just set a breakpoint inside your fetch function, and it seems to work as expected.  Can edit the breakpoint with the expression !request.url.endsWith('.ico'); to filter out favicon requests.
.denoflare
...
    "myworker": {
        "path": "file:///path/to/myworker/worker.ts",
        "localIsolation": "none"
    },
...

.vscode/launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "request": "launch",
            "name": "denoflare serve myworker",
            "type": "node",
            "program": "https://raw.githubusercontent.com/skymethod/denoflare/v0.5.7/cli/cli.ts",
            "args": [ "serve", "myworker" ],
            "cwd": "${workspaceFolder}",
            "runtimeExecutable": "deno",
            "runtimeArgs": [
                "run",
                "--unstable",
                "--inspect",
                "--allow-all",
            ],
            "attachSimplePort": 9229,
            "outputCapture": "std"
        }
    ]
}

If localIsolation was settable via the command line, the .denoflare config would be unnecessary for simple scripts.  I'll include a command line flag for local isolation mode in the next release.

Was looking if localIsolation was present yet, not seeing it? Is this still the recommended way to start vscode debugging?

Yea it's there

Still the recommended approach, so your code doesn't change from underneath you with hot reload.

I meant the command line switch, as opposed to the .denoflare config item (which I'm currently using)
If localIsolation was settable via the command line, the .denoflare config would be unnecessary for simple scripts. I'll include a command line flag for local isolation mode in the next release.

Ah ok yes, no command line option for that yet.  I have some time to implement that now...

Ok, just pushed change 43c4a7ad56ac8a3b34c284920ce57ce1103a7c95 that should do the trick.  Can you try it out on your side?
Install denoflare as of 43c4a7ad56ac8a3b34c284920ce57ce1103a7c95 to try it out (replace the release tag with the commit hash however you installed Denoflare)

I have a denoflare alias that just runs off the master branch so I should be able to test.

Works great, also I was able to use an import map to get around the need to specify file:// in the .denoflare config:
import-map.json
{
	"imports": {
		"src/": "./src/"
	}
}

.denoflare
{
	"$schema": "https://raw.githubusercontent.com/skymethod/denoflare/master/common/config.schema.json",
	"scripts": {
		"pwsh-gallery-preview": {
			"path": "src/worker.ts",
			"customDomains": [
				"preview.pwsh.gallery"
			],
			"compatibilityDate": "2022-12-08",
		}
	}
}

launch.json
{
	"version": "0.2.0",
	"configurations": [
		{
			"request": "launch",
			"name": "denoflare",
			"type": "node",
			"cwd": "${workspaceFolder}",
			"runtimeExecutable": "deno",
			"runtimeArgs": [
				"run",
				"--unstable",
				"--inspect",
				"--allow-all",
				"--import-map=import-map.json"
			],
			"resolveSourceMapLocations": [
				"${workspaceFolder}/**",
				"!**/node_modules/**",
				"!skymethod/**"
			],
			"program": "https://raw.githubusercontent.com/skymethod/denoflare/43c4a7ad56ac8a3b34c284920ce57ce1103a7c95/cli/cli.ts",
			"args": [
				"serve",
				"pwsh-gallery-preview",
				"--local-isolation",
				"none"
			],
			"attachSimplePort": 9229,
			"outputCapture": "std",
		}
	]
}


Update index.html

Added profile link.

@Firefly87  contribute here https://github.com/Ishaan28malik/Get-Dev-Resources


Better way to build docs

This project needs docs! Most of the public methods have up-to-date JSDoc-style headers, and I'm pretty good about keeping them in sync with the implementations, but I never worked out a decent way of building the JSDocs into clean readable markdown or html. If anyone wants to tackle this it'd be cool 😁

It doesn't seem like this has been worked on so far.
Would this do what you want @andyhall?
https://github.com/jsdoc2md/jsdoc-to-markdown

Typedoc might be useful (there's a supported Webpack plugin), but it would take switching the code to Typescript first.

Newest build in the #dev branch now has this partly working - it uses jsdoc-to-markdown (thanks @2ajoyce !) and builds reasonably sane output. But some comments could use work, so any doc fix PRs are very welcome!
To use check out the dev branch, do npm i, and then npm run doc should rebuild API.md.


Connect to Android's Choreographer for a frame pulse

There’s a very different solution we could attempt here. . . .

Build a ZiplineService that works like MonotonicFrameClock, specifically organized around callbacks. This is different from our current approach, where we require frames to be broadcast whether or not anyone is listening.
Bridge that from the guest to the host.

I’m open to that! We may also optionally batch up calls so if many guest-side callers request a frame, we only request one frame on the host site.

I built this here & now 'cause I saw some slowdowns in EmojiSearch and this seemed like a potential source.

Ideas above implemented here:
https://github.com/cashapp/redwood/pull/957
(We still have the option to do an Android Choreographer-driven pulse, but it’s much less urgent.)


Separate classic / hummingbird

Questions
Answers

Description?
Separate classic / hummingbird

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
N/A

Sponsor company
@PrestaShopCorp

How to test?
N/A

Thanks @Progi1984


Persian bad words not getting filtered

Hi,
Im trying to use this library to filter persian bad words
Steps to reproduce :
1- Adding persian bad words
var newBadWords = ['شمبلیله', 'کرونا', 'فقط'];
filter.addWords(...newBadWords);
2- using clean function to clean the bad word
filter.clean("شمبلیله فقط یک کرونا است")
Actual Result
It shows everything and not filtering any of the words givin, Altho if I add one english word it will clean it if its in the list
Expected Result
It should remove the words added and replace them with *
Is there anything Im missing ? Thanks for any help

I'm having the same problem for a customer with Tamil language.. from reading their docs it looks like you must provide your own RegEx for this to work:
var filter = new Filter({ replaceRegex:  /[A-Za-z0-9가-힣_]/g });
//multilingual support for word filtering

If you haven't already, maybe you could add them to lib/lang.json.