Error 'The given repo does not exist'

Describe the bug
Running gh actions-cache list yields correct information about cache size but then immediately outputs 'Error: The given repo does not exist'.
❯ gh --version
gh version 2.8.0 (2022-04-13)
https://github.com/cli/cli/releases/tag/v2.8.0

❯ gh extensions list
gh actions-cache  actions/gh-actions-cache  v1.0.1

Steps to reproduce the behavior
❯ gh actions-cache list
Total caches size 1.69 GB

Error: The given repo does not exist.

This is for a private repo running on Github Enterprise Server.

@y4n9squared the extension does not completely support GitHub Enterprise server yet. The plan is to add the support by next ship version i.e. 3.7.
cc @t-dedah @kotewar This should be called out clearly in the README/docs

Thanks! Looking forward to the feature.


Use the utils function

Rather than duplicate the definition of the undefined-defaulter, use the version already present in utils.
Not sure why the macros line uses a different pattern, but I've left it alone. Happy to amend to make it match if desired.

I copied the import statement from one of the other files, but the linter complained about the use of var, so I switched it to const. Happy to switch back to stay consistent if someone else can fix the linter, or :+1: to me ignoring it.

I guess you copied the line using var from an older version of the code base. We switched to const and let in bd9db332d2887d884ec7ab3ca68488314b8618da from #617.

Ah, yes, I forked on Dec 2nd and haven't re-upped yet. Thanks for the merge!


Consider registering individual hook methods (instead of all-or-nothing)

frolic — Today at 1:40 PM
thinking about store hooks and we should prob move to either 1) separate registration array per hook method (eg set record) or 2) the registration includes a bitmap of all the hook methods used
registering a hook right now means every operation goes through that hook, even if it’s a no op?
alvarius — Today at 1:42 PM
we could say we can expect a store hook to implement all functions because data can be modified via each of them, it's similar to how an off-chain indexer has to support all store events and can't just ignore one
frolic — Today at 1:43 PM
I’m just thinking this is the worst approach for gas in the hot code path
alvarius — Today at 1:44 PM
we could do a bitmap if it doesn't add much gas (which might be reasonable since we can store it in the same storage slot)
rn i can't think of a use case of only implementing one store hook function but not another though
frolic — Today at 1:45 PM
yeah, there’s a trade off of my two proposals: iterate through all hooks but skip some (per store op) vs more registration gas cost (one time)
alvarius — Today at 1:45 PM
do you have something in mind?
frolic — Today at 1:45 PM
maybe I’m thinking more about system hooks where you may only want before or after
could see potentially doing a before and after for store events too
but can’t think of a specific use case right now
one thought, prob not a great example: a hook that makes an array field append only
alvarius — Today at 1:48 PM
we currently do that for field but not for record, because for handling a field update you might want to just read the entire record from storage before and after the update instead of manually reconstructing the new record with the field update applied in the hook
could allow this for setRecord too but the usecase is less clear
frolic — Today at 1:50 PM
this feels like one of those “I can’t think of a good example but maybe someone will think of one” and we get some potential gas benefits
curious if there’s a strong case for store hooks implementing all methods
alvarius — Today at 1:51 PM
curious if there’s a strong case for store hooks implementing all methods
just that if you want to react to data changes you probably want to react to all possible ways the data can change
i see the point for system hooks though
a use case for afterSetRecord might be if you want to actually change the storage value of what has been set
frolic — Today at 2:01 PM
I think my main point is: first order effect is better gas (in the hot code path), second order effect is more granularity
alvarius — Today at 2:05 PM
yeah i understand
the argument for one array in terms of gas would be: if we expect that every hook implements all functions, one array would be cheaper if a table is modified twice in a transaction with different methods (setRecord, setField, deleteRecord, ...) because the storage is hot for every access after the first one
but i see advantages for system hooks, and the potential disadvantages for store hooks are small enough to justify making it consistent for both imo
frolic — Today at 2:17 PM
this makes sense, at the very least we could couple a “which hooks” bitmap with the address into the same slot

@alvrs : a use case for afterSetRecord might be if you want to actually change the storage value of what has been set.
Ori: I agree. I don't like the situation where we can fix some changes, but only revert out of others.

Action items here:

[ ] Split onSetRecord into onBeforeSetRecord and onAfterSetRecord
[ ] Remove onBeforeSetField and onAfterSetField
[ ] Add onBeforeSpliceRecord and onAfterSpliceRecord
[ ] Split onDeleteRecord into onBeforeDeleteRecord and onAfterDeleteRecord
[ ] Add a bitmap to the store hooks and system hooks: One bit for each operation, so we can skip unnecessary calls.
[ ] Add ability to remove hooks (by filtering the array). Since it's possible to upgrade systems now it seems useful to be able to remove hooks and register new ones.

Putting this here for additional context:
Tradeoffs between a single Hooks table with flags for enabling/disabling hooks (Approach A) and individual lists for each type of hook (i.e. the hooks table changes its schema from { hooks: address[] } to { beforeSetRecord: address[], afterSetRecord: [], ... }) (Approach B). Note the cost estimates are disregarding the cost to read the dynamic data length because it's the same for both approaches.

Reading one hook from cold storage costs approximately 2100 gas (cost for cold SLOAD)
Reading three hooks from cold storage costs approximately 4100 gas (cost for two SLOAD since it can be packed in two slots)
Reading one hook from warm storage cost approximately 100 (cold for warm SLOAD)
Reading three hooks from cold storage costs approximately 200 gas (cost for two SLOAD since it can be packed in two slots)
Checking the bitmap for whether a hook is enabled or not costs approximately 1600 gas (based on first measurements in #1399, could potentially be optimized)
When spreading the hooks over different arrays based on their type, we always use cold loads because each array is saved in a different storage location
When saving all hooks to a single array we use cold loads for the first time it is loaded, then either only memory cost if it's in a single storage operation or warm storage load cost if it's in separate storage operations but the same transaction.

Example calculations

Scenario 1: We have three subscribers, all of which only care about the before events of the respective operation.

In approach A we read a the three hooks from storage (4100 gas), and perform the bitmap checks on each of them twice (once for before, once for after, 3x1600) = 8900 gas
In approach B we read the three hooks from storage from the before array (4100 gas), don't need to perform bitmap checks, and don't need to access storage for the after array = 4100 gas
In this scenario approach B would always be cheaper because there is less overhead of bitmap checks and we don't access unnecessary storage.
Scenario 2: We have three subscribers, all of which care about the before and after event of the respective operation
In approach A we read a the three hooks from storage (4100 gas), and perform the bitmap checks on each of them twice (once for before, once for after, 3x1600) = 8900 gas
In approach B we read the three hooks from storage from two different storage locations (8200 gas) and don't need to perform bitmap checks
In this scenario we approach B is cheaper for a small number of hooks (<=3) but would be more expensive for more than 3 hooks

Scenario 3: We have six subscribers, three care about the before event and three care about the after event.

In approach A we read six hooks from storage (8200 gas) and have to check the bitmap twice for each of them (12x1600) = 27300 gas
In approach B we read three hooks from the first array (4100 gas) and three hooks from the second array (4100 gas) and don't check any hooks (8100 gas)
In this scenario approach B would be always be cheaper because of the missing overhead for checking the bitmap

It seems like with the current overhead of bitmap checks of 1600 approach B would be cheaper most of the time, except in a scenario where there are a lot of hooks registered and each of them cares about both the before and after hooks.
One issue with approach B however is that we currently only support 5 dynamic fields per table, so we actually would need to "shard" the table into two tables or with a key, which means the cost for checking the dynamic data length becomes significant.


[i18n] CHS Strings show up instead on CHT strings

Description
CHS Strings show up instead on CHT strings in Helix UI
To Reproduce
Steps to reproduce the behavior:

Change browser locale to Chinese (Traditional)
Install Helix extension
Go to GDrive folder > open Helix menu > Add this project
Click on Sign in button, observe
Select 2 files > Copy URLs > Preview, observe

Expected behavior
CHT Strings appear on CHT locale
Screenshots

Some affected strings:

String ID
ENU

copied_urls#message
URLs copied to clipboard.

user_login#message
Sign in

help_acknowledge#message
Got it!

bulk_result_publish_single_failure#message
Failed to publish 1 file:

copy_prod_urls#message
Copy Production URLs

@Adobe-G11N-I18N-L10N-Team Thanks for confirming. The language resolution seems to work as expected, but I suspect we may have mixed up the two chinese variants in the dictionary. Could you please help me clarify if the strings in these 2 files match the expected output based on the locale:

zh-CN
zh-TW

@rofe Checked the dictionaries, they are consistent with Aladdin

Hi @rofe, I'm the linguist who reported the issue. I confirm that the strings in zh-CN are simplified Chinese and those in zh-TW are traditional Chinese.

Thanks! So the language resolution is indeed wrong :)

Fixed with #627 (v 6.38.2)
@Adobe-G11N-I18N-L10N-Team could you please reverify?

Issue is fixed, verified on Mac+Chrome and Win+Chrome.


Import Error: Bio.Alphabet has been removed from Biopython

Bio.Alphabet has been removed from Biopython. In many cases, the alphabet can simply be ignored and removed from scripts. In a few cases, you may need to specify the molecule_type as an annotation on a SeqRecord for your script to work correctly. Please see https://biopython.org/wiki/Alphabet for more information.
ImportError: Bio.Alphabet has been removed from Biopython. In many cases, the alphabet can simply be ignored and removed from scripts. In a few cases, you may need to specify the molecule_type as an annotation on a SeqRecord for your script to work correctly. Please see https://biopython.org/wiki/Alphabet for more information.

This error may occur for users running the CDR3translator v4.0.1 but the most up-to-date version of Biopython (v1.78).
Users should update to the latest Decombinator version (v4.0.3) where this has now been fixed.
Decombinator v.4.0.3 should still be compatible with older versions of Biopython (>= v.1.75).


Remove VOLUME "/etc/mysql"

There is a volume point to `/etc/mysql' in each Dockerfile.
https://github.com/mattrayner/docker-lamp/blob/9dd205bbfb0bebb84e0b84509813b78cac1b40c6/1604/Dockerfile#L89
https://github.com/mattrayner/docker-lamp/blob/9dd205bbfb0bebb84e0b84509813b78cac1b40c6/1804/Dockerfile#L89
The user can mount a folder to volume /etc/mysql. If the configuration files in this folder are correct, it will work well. But if it's an empty folder, or the files are corrupted, then mysqld will not work as expected.
After testing, I found it difficult to rebuild configuration files in /etc/mysql. If a user want to use his own config, he can use docker cp command to achieve this goal. So I don't think there should be the VOLUME "/etc/mysql" in Dockerfiles. In other words, this folder needs to be protected.

If /etc/mysql has not been volumed, some commands in run.sh should be moved to Dockerfiles as persisted configuration. So, the boot script only needs to check some essential configurations but does not include bind-address - it will be modified by the user.

The rebuilding of /var/lib/mysql is easier. Both dpkg-reconfigure and mysqld --initialize (mysqld --initialize-insecure) can do it. The new mysql test script is being written.

Hi @pzhlkj6612, This is great, thanks for raising, I'll make the change locally now and test - I'll also look at adding additional sections to the README file that covers the docker cp usage

I’ve removed the volume 😊


Error when opening saved workspace with 2 panes

[Enter steps to reproduce below:]

Create and save workspace with multiple panes
Close atom
Open the saved workspace

This throws an error that the pane was destroyed and all files opened in right pane are all now on the left pane. Also, when switching from one workspace to another, the original workspace's files are still open.
Atom Version: 1.13.1
Electron Version: 1.3.13
System: Mac OS X 10.12.2
Thrown From: save-workspace package, v0.2.9
Stack Trace
Uncaught Error: Pane has been destroyed
At /Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:832

Error: Pane has been destroyed
    at Pane.module.exports.Pane.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:832:15)
    at Pane.module.exports.Pane.focus (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:240:21)
    at atom-pane.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/pane-element.js:50:23)
    at HTMLInputElement.trigger (/Users/Glenn/.atom/packages/save-workspace/node_modules/jquery/dist/jquery.js:4596:11)
    at Object.trigger (/Users/Glenn/.atom/packages/save-workspace/node_modules/jquery/dist/jquery.js:4316:60)
    at HTMLInputElement.<anonymous> (/Users/Glenn/.atom/packages/save-workspace/node_modules/jquery/dist/jquery.js:4901:17)
    at Function.each (/Users/Glenn/.atom/packages/save-workspace/node_modules/jquery/dist/jquery.js:374:23)
    at jQuery.each (/Users/Glenn/.atom/packages/save-workspace/node_modules/jquery/dist/jquery.js:139:17)
    at jQuery.trigger [as originalTrigger] (/Users/Glenn/.atom/packages/save-workspace/node_modules/jquery/dist/jquery.js:4900:15)
    at jQuery.$.fn.trigger (/Users/Glenn/.atom/packages/save-workspace/node_modules/space-pen/lib/space-pen.js:606:19)
    at jQuery.fn.(anonymous function) [as focus] (/Users/Glenn/.atom/packages/save-workspace/node_modules/jquery/dist/jquery.js:7487:9)
    at SelectSavedWorkspaceView.module.exports.SelectListView.restoreFocus (/Users/Glenn/.atom/packages/save-workspace/node_modules/atom-space-pen-views/lib/select-list-view.js:327:70)
    at SelectSavedWorkspaceView.close (/Users/Glenn/.atom/packages/save-workspace/lib/select-saved-workspace-view.js:36:10)
    at SelectSavedWorkspaceView.cancelled (/Users/Glenn/.atom/packages/save-workspace/lib/select-saved-workspace-view.js:48:10)
    at SelectSavedWorkspaceView.module.exports.SelectListView.cancel (/Users/Glenn/.atom/packages/save-workspace/node_modules/atom-space-pen-views/lib/select-list-view.js:263:14)
    at atom-text-editor.<anonymous> (/Users/Glenn/.atom/packages/save-workspace/node_modules/atom-space-pen-views/lib/select-list-view.js:76:26)
    at atom-text-editor.dispatch (/Users/Glenn/.atom/packages/save-workspace/node_modules/jquery/dist/jquery.js:4435:9)
    at atom-text-editor.elemData.handle (/Users/Glenn/.atom/packages/save-workspace/node_modules/jquery/dist/jquery.js:4121:28)
    at atom-text-editor.TextEditorElement.inputNodeBlurred (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-element.js:239:21)
    at atom-pane.PaneElement.activated (/Applications/Atom.app/Contents/Resources/app.asar/src/pane-element.js:113:19)
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
    at Pane.module.exports.Pane.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:837:27)
    at PaneContainer.module.exports.PaneContainer.activateNextPane (/Applications/Atom.app/Contents/Resources/app.asar/src/pane-container.js:252:26)
    at Pane.module.exports.Pane.destroyed (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:858:24)
    at Pane.module.exports.Model.destroy (/Applications/Atom.app/Contents/Resources/app.asar/src/model.js:31:58)
    at Pane.module.exports.Pane.destroy (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:851:39)
    at Workspace.open (/Users/Glenn/.atom/packages/save-workspace/lib/models/workspace.js:14:17)
    at Open.<anonymous> (/Users/Glenn/.atom/packages/save-workspace/lib/commands/open.js:18:22)
    at SelectSavedWorkspaceView.confirmed (/Users/Glenn/.atom/packages/save-workspace/lib/select-saved-workspace-view.js:42:10)
    at SelectSavedWorkspaceView.module.exports.SelectListView.confirmSelection (/Users/Glenn/.atom/packages/save-workspace/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/Users/Glenn/.atom/packages/save-workspace/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:259:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:587:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:382:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:106:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:59)

Commands
     -0:03.3.0 save-workspace:open (input.hidden-input)
     -0:02.7.0 core:move-down (input.hidden-input)
     -0:02.4.0 core:move-up (input.hidden-input)
     -0:01.4.0 core:backspace (input.hidden-input)
     -0:00.8.0 core:move-down (input.hidden-input)
     -0:00.6.0 core:move-up (input.hidden-input)
     -0:00.4.0 core:confirm (input.hidden-input)

Config
{
  "core": {}
}

Installed Packages
# User
git-diff-details, v1.4.0 (active)
language-babel, v2.49.4 (active)
minimap, v4.26.7 (active)
save-workspace, v0.2.9 (active)
atom-dark-syntax, v0.28.0 (inactive)
atom-dark-ui, v0.53.0 (inactive)
atom-light-syntax, v0.29.0 (inactive)
atom-light-ui, v0.46.0 (inactive)
base16-tomorrow-dark-theme, v1.4.0 (inactive)
base16-tomorrow-light-theme, v1.4.0 (inactive)
one-dark-ui, v1.8.2 (active)
one-light-ui, v1.8.2 (inactive)
one-dark-syntax, v1.6.0 (active)
one-light-syntax, v1.6.0 (inactive)
solarized-dark-syntax, v1.1.1 (inactive)
solarized-light-syntax, v1.1.1 (inactive)
about, v1.7.2 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.14.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.33.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.29.0 (inactive)
autosave, v0.23.2 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.43.2 (active)
bracket-matcher, v0.85.1 (active)
command-palette, v0.39.1 (inactive)
deprecation-cop, v0.55.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.204.5 (active)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.2.0 (active)
go-to-line, v0.31.2 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.1 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.159.3 (active)
metrics, v1.1.3 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.2 (inactive)
settings-view, v0.244.0 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.5 (active)
status-bar, v1.6.0 (active)
styleguide, v0.48.0 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.1 (active)
timecop, v0.33.2 (active)
tree-view, v0.211.1 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.39.0 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.1 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages

@gsteigerwald this issue should be fixed in 0.4 version, try it please. Thanks for posting this bug!


Docs request: autoflake in Rules page

https://beta.ruff.rs/docs/rules/ mentions that ruff reimplements autoflake.
However, in the Rules sidebar (where relevant codes are listed), autoflake is not mentioned.
Can we document what codes pertain to autoflake?

Hmm, it doesn't quite fit into our documentation paradigm, because autoflake is just a tool that adds autofix behavior for a small subset of the Pyflakes violations -- it doesn't define any violations of its own. I'm not sure that it's important that users know which rules that includes. What's the use motivation? Is this answer here sufficient? :)

Closing but let me know if you have any follow-up questions.

I am trying to migrate much of my full pre-commit config to ruff, one of them is autoflake.  I see it's mentioned in the README as being replace-able, but I am not sure:

What codes are relevant
Any configuration necessary

I run autoflake like so:
  - repo: https://github.com/PyCQA/autoflake
    rev: v2.1.1
    hooks:
      - id: autoflake
        args:
          - --remove-all-unused-imports
          - --remove-rhs-for-unused-variables
          - --remove-unused-variables
          - --exclude=somelocaldir

I made this docs request mainly because an autoflake-to-ruff (inspired by flake8-to-ruff) conversion is not clear to me

No configuration is necessary, it's effectively just "autofix enabled for the F rule set", which is enabled by default (namely F401, unused imports, and F841, unused local variable).

Okay gotchu.  I see F401 and F841 codes are mentioned under Pyflakes (F): https://beta.ruff.rs/docs/rules/#pyflakes-f
So I guess autoflake and pyflakes were redundant/have some overlap.  I would say from the current docs, one cannot discern that the autofixes for F401 and F841 are equivalent to autoflake.

Just to explain my process:

For each tool I have in pre-commit
I search ruff docs if it's there and can be removed

I saw autoflake in the README, but I didn't really see anywhere in ruff docs how it's replaced.  I still think it's useful to put in the docs what rules (or codes or autofixes) pertain to the tool.

And I really appreciate ruff and what you're doing here!  At PyCon 2023 (last weekend), I heard it mentioned quite a lot, hence why I am making the jump now 👌


feat: allowPrerelease pluginConfig option and functionality added

Pull Request
Related issue

Description

Why

How

Screenshots

How has this been tested

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] Documentation
[ ] Ready to be merged
[ ] My code follows the code style of this project (run npm run ci to be sure).
[ ] I have read the CONTRIBUTING document.

:tada: This PR is included in version 3.3.0-prAllowPrereleaseAndVersionName.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Feature] Add devcontainer support w/Python,pipx,fabric installed (#1)

What this Pull Request (PR) does
Allow CodeSpaces and VSCode or other tools that use devcontainers to open project easily and just configure their API keys.
CodeSpaces can just be opened from the Code dropbox when browsing the repo and clicking CodeSpaces instead of local easily.
Note:
This devcontainer is not hardened for security purposes and runs as root to keep customization simple.A future merge of Dockerfile should improve the security and be utilized after it's merged.
Feedback and suggestions for improvements and hardening are welcome! 🐱
Related issues
PR #327 - Proposed Dockerfile which could be used after merging that PR. Once that's merged I can update this PR however as committed it stands on it's own as a PR.
#25
#275

I think this will be handled differently once we move to Go.


[FLINK-9900][tests] Fix unstable ZooKeeperHighAvailabilityITCase

What is the purpose of the change

Fix unstable ZooKeeperHighAvailabilityITCase.testRestoreBehaviourWithFaultyStateHandles

The case is designed as below

This case assume that the first 5 checkpoints (1-5) would success
Then the job blocks on the snapshot of checkpoint 6
At this time, the checkpoint files are moved on purpose
The checkpoint 6 would fail due to an expected snapshot failure
Then the job would be fail due to this failure checkpoint
And the job could not recover from checkpoint 5 because there is no checkpoint file
After moving these checkpoint files back, the job could recover and continue working.

But there is a race condition of failing the job and triggering another checkpoint

There might be an unexpected successful checkpoint 7 if the job canceling is not fast enough

This job could recover from checkpoint 7 without waiting these checkpoint files moved back

Brief change log

The basic idea of fixing is that preventing the unexpected checkpoint 7
Add a latch to block snapshot until the HA storage is recovered

Verifying this change

This change is already covered by existing tests
This unstable scenario can be reproduced as below

There is a race condition of failing the job and triggering another checkpoint
Making the job failing more slowly would reproduce the scenario
Modify the FailJobCallback of CheckpointFailureManager in ExecutionGraph.enableCheckpointing, change the execute to schedule with a delay
There would be an unexpected successful checkpoint 7
This case would hang forever because it never fail 5 times because it could recover from checkpoint 7

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Thanks for opening this fix @ifndef-SleePy. I actually think that you uncovered a true inconsistency which has been introduced with FLINK-12364. I will create another issue tracking the underlying problem.

Hi @tillrohrmann , thanks for reviewing.
Actually I implemented the solution at first as same as your suggestion. However it fails sometime when I test the solution by slowing the job failing a lot. There are some unexpected restorations. The assertion of illegalRestores fails because it is greater than zero. I believe the reason is also the race condition of CheckpointFailureManager.
It seems to need more changes than I expected, so I abandoned the implementation. I could give a deeper analysis later about this.

I think it is definitely good enough as a bandaid because we see the test failing quite often. Maybe we merge it as is and remove it once the underlying problem has been properly fixed. I agree that this test is also quite complicated with a lot of conditions which makes it quite hard to change.

Hi @tillrohrmann , I think we could merge this PR. Actually this blockSnapshotLatch only works when the race condition happens. It should only block the checkpoint 7. Because normally this test job could not recover because lack of checkpoint file. So there should be no task deployed since checkpoint 6.
WRT another race condition of the alternative, I will check it whether it's a bug or not. We could talk about it in another thread if needed.

@tillrohrmann , thanks for reviewing. Travis has given a green light.

This PR has been merged, https://github.com/apache/flink/commit/51582b6d837aeb646686a1497514f51cf5fa0702.
Will close it.


Move vision to separate NetworkTables instance

Probably a good idea to make move all the vision stuff onto a separate NetworkTables instance, preferably with the Pi acting as the server.
This will almost definitely help with performance drastically.

Done!


Add typings

Hey @Androz2091 can you quickly explain what the typscript declaration file is needed for (I am not familiar with typescript)? Found this documentation reference but still am a bit confused.
Let me know, will happily merge since it seem to not affect anything really.


Missing icon "File Download"

I use Material UI with @material-ui/core, and @material-ui/icons installed:
$ npm ls | grep material-ui

+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>
and the attempt to include the icon fails
ModuleNotFoundError: Module not found: Error: Can't resolve '@material-ui/icons/FileDownload' in 'C:\Work\my-project\node_modules\mui-datatables\dist'

I'm using webpack@3 as a bounler.
The FileDownload icon is present in github repo of material-ui, but it's absent from my package.

This icon does no longer exist. Google removed it: https://material.io/tools/icons/?search=FileDownload&style=baseline.

Use GetApp, it's the same icon. Thanks google :pig:


log fork compat message at INFO instead of ERROR

Addresses https://github.com/grpc/grpc/issues/17253

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,020,378      Total (=)      2,020,378

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,174,076      Total (<)     11,174,080

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] No significant performance differences

https://github.com/grpc/grpc/issues/17335


This Page topic make me confused

Hi,
In this page, we said Azure Front Door can access Azure Internal Loadbalancer.
After reading this document, I realized that this is NOT internal load balancer for Azure VM.
This feature is access Azure private link resources, really confused me.
Please modify this page topic and decribe more clearly.
Furthermore, according to Azure Front Door FAQ
https://docs.microsoft.com/en-us/azure/frontdoor/front-door-faq
Azure Front Door (AFD) requires a public IP or publicly resolvable DNS name to route traffic. So, the answer is no AFD directly cannot route within a virtual network, but using an Application Gateway or Azure Load Balancer in between will solve this scenario.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8b93be3c-1dcf-62f1-8766-6daf552e785d
Version Independent ID: 17779fd5-a7e7-1ceb-32b4-13b62b89c214
Content: Connect Azure Front Door Premium to an internal load balancer origin with Private Link - Azure Private Link
Content Source: articles/frontdoor/standard-premium/how-to-enable-private-link-internal-load-balancer.md
Service: frontdoor
GitHub Login: @duongau
Microsoft Alias: duau

@leizhang1984,  Thanks for leveraging Azure docs feedback channel to raise this feedback. Since you have closed the thread I presume the issue is sorted out, if it's not the case or you need further assistance kindly just let us know.


added crystal as a maker for crystal

LGTM, can you also please add it to the README?

Done

This needs to be rebased, since the README is gone to the wiki.
I've tried to hub am it, but failed.

I will have to make a new pull request since I deleted the branch & repo that this pull request was based on.


Request for English README.md version

Hello @guilhermecugler,
I hope this message finds you well. I recently came across your repository and found it to be very good.
I noticed that the README.md is currently available only in Portuguese. As an English speaker (and French), I believe having an English version would greatly benefit a wider audience and increase accessibility.
I would like to contribute by providing an English translation for the README.md file. Could you please assign this issue to me so that I can start working on the translation?
Thank you for considering this request. I'm excited about the opportunity to contribute to your project.
Best regards,
timotheeMM

Hello @timotheeMM, I would be happy with your help, I have already assigned you to this issue!

@guilhermecugler,
OK Thanks I'll start working on it soon.

@guilhermecugler,
I have two questions:
First, for the title of the document, is README-en.md good?
Finally, do you want to keep as the main README the Portuguese version. Or the English version?

@guilhermecugler, I have two questions: First, for the title of the document, is README-en.md good? Finally, do you want to keep as the main README the Portuguese version. Or the English version?

Yes, README-en.MD is good.
The main we can keep in Portuguese since the majority of users will be brazilians.


Neoforge update

https://neoforged.net/news/theproject/ and #4113
in July 12 2023, the MinecraftForge Team, In theory, has disbanded and split into Oldforge and Neoforge.
After Disbanding, Neoforge has succeeded the 100% of the MinecraftForge, along with human and material resources.(Unofficial and Spiritual successor of MinecraftForge) Meanwhile the Oldforge has only succeeded it's Name and Leader, MinecraftForge.(legal Successor of MinecraftForge).
after the situation, The Neoforge begun the update, removing all Forge Related System.
as a result, the forge mods cannot be inserted on Neoforge. this is why the #4113 has been created and this pull request has been made.
This is the Part of the SpongePoweredNeoforged Project, Migrating SpongeForge mod to NeoForge.
Old Build Numbers:
SpongeForge-1.20.6-50.0.22-11.0.1-RC1778
SpongeForge-1.21-51.0.0-12.0.0-RC1234
New Build Numbers:
SpongeForge-1.20.6-20.6.119-11.0.1-RC1234
SpongeForge-1.21-21.0.146-12.0.0-RC1234.
This is a Build Number Under the Project. the NeoForge Version 21.0.146 corresponds to Minecraft JE 1.21.
The Pull Request will open as a draft, as we didn't find some minecraft forge code alternative. (the imported minecraft forge class, unable to find the alternative was commented as a // SPONGE-4113[REPLACEMENT NEEDED])
the branch may not compile until it is completely replaced with Neoforge dependencies and class. but the branch can be modified by you guys since i didn't fork this Repository through Organization.(Used Personal fork to create PR)
.

With respect, this PR won't be accepted. For the following reasons:

This is a very large change by a community member. This is a community led project, first and foremost, but the people who are official Sponge developers bear that title with an element of obligation that community members don't have. Adding this platform (and replacing the other) incurs new maintenance and time required by us to spend to keep it working or to keep current with changes in the new platform/etc. It would be a disservice to accept this from an individual with no obligation just to see it start stagnating and dying immediately.

As one of the leaders of the project, it is my job to look at the entire landscape when making decisions such as this. We are aware of the situation involving these two projects. We're also aware of a shifting of mod projects between the two. At this time, we have not made an official decision on the forge submodule. This is no sleight against neoforge, this has been the same position we have stated with fabric. We're a very small team with extremely busy lives. Things like this were much easier 7-8 years ago when a lot of us had more time than we knew what to do with.

I hope this clears up this situation. We understand that the community is looking for some decision. We will look to make one as soon as we feel confident we can.

ok, thank you.

[!CAUTION]
please be advised: the base issue was closed in favor of SpongeNeo Pull Request. the branch will be deleted immediately.


Replace vatnumber by stdnum

This is almost the same as #153, but uses python-stdnum, which was used by vatnumber. The main difference is, that python-stdnum raises exceptions when the VIES check fails, so the errors are logged same way as with vatnumber (for which I made at least some test).
This doesn't contain the Greek tax fix, for which I will rebase and re-open the PR #150 into new PR #155.

@PetrDlouhy could you please fix the merge conflicts so I can merge this?

Codecov Report

Merging #154 (a560b15) into master (80f0c66) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #154   +/-   ##
=======================================
  Coverage   82.40%   82.40%
=======================================
  Files           8        8
  Lines         125      125
=======================================
  Hits          103      103
  Misses         22       22

Continue to review full report at Codecov.

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

@Alir3z4 Done.

Still merge conflicts.

@Alir3z4 Changes here were already part of #155, so there is nothing left to do here. I am closing this.


Is the relationships tab supposed to show instance to instance relationships?

In Stage (PCC monograph templates) I entered a work and two instances, and i related the instances both to the work and to the other instance.  But in the relationships tab in the instances shows only the relationship to the work.

Here is the relationship coded in the record

The URIs are
Instance (PDF)  https://api.stage.sinopia.io/resource/203d66b2-b7dc-43e5-af86-ee86a477a47b
Instance (ePub) https://api.stage.sinopia.io/resource/8e6158b8-243d-47ae-bb8f-384219fd5dfb
Work   https://api.stage.sinopia.io/resource/198b85be-11e5-4f4b-a090-688cd5ccb799
thanks
greta

I  changed the title, we'll want this eventually.  I don't know how to change the bug label.


fix: JsonPrimitive comparison should accept "0" as decimal

This change makes decimal matching consistent for all types having zero as a value, similarly to the change for BigDecimal: https://github.com/DiUS/pact-jvm/commit/afba8a6a9b23e3cb0feed2738377ca63e16983dd

Thanks for the PR


Disabling preselect doesn't seem to work

I am adding the following to cmp.setup:
preselect = 'none',
one thing to note tho is that the arrow keys work without preselect so maybe there is something to be learned from that.

Please check the README.md https://github.com/hrsh7th/nvim-cmp#preselect-type-cmppreselectmode

doesn't that just map to "none" tho?

You should set cmp.PreselectMode.None :)


Better ring detection

Closes #215

@iranl Were you able to test this? I'm glad they finally updated the opener API documentation, but from what I observed a beacon for a lock state update was received, but the lock state was the same as before.
If not tested, could you post a binary in #215 for testing?

I don't own an Opener so I am not able to test this myself.
That is why I asked @bklaesener in #215 to test the results and  report back.
I don't believe the locked lock state update logic becomes redundant because of this, because that will still detect the ring when both RTO and continuous mode are disabled.
The new code should signal a ring when the door opens as the result of a ring while RTO or continuous mode is active. This matches with the lock state changing to open and the trigger changing to manual
I've linked to the binary created through the GitHub PR actions/check (release_assets) in #215. I could upload that binary there but from a security perspective I prefer users get the binary that GitHub creates, so everyone can be sure there is no tampering with the binary (you know for sure the binary is build using master + the PR and nothing else).


Redstone calling

I am aware about the redstone signal comes from controller block when elevator is on the floor. (Output)
My suggestion is adding some way to call the elevator through a redstone signal. (Input)
Nice mod BTW. Thank you.

that should work if you apply a strong redstone signal to a call panel.
place a redstone repeater facing a face of a controller set to a call panel, then give it a signal, it should call it to that floor

that should work if you apply a strong redstone signal to a call panel.
place a redstone repeater facing a face of a controller set to a call panel, then give it a signal, it should call it to that floor

I've tried that, maybe is the version:
Minecraft 1.12.2
Forge <IP_ADDRESS>54
Thut Core 1.12.2-5.21.0
Thut's Elevators 1.12.2-6.1.6
Approaches

I've tried that, maybe is the version:
Minecraft 1.12.2
Forge <IP_ADDRESS>54
Thut Core 1.12.2-5.21.0
Thut's Elevators 1.12.2-6.1.6
Approaches

See if it works in 1.16.4-9.1.0, version 6.1.6 is something like a year and a half out of date

See if it works in 1.16.4-9.1.0, version 6.1.6 is something like a year and a half out of date

I see. I'm playing in 1.12.2 right now but I already know for future servers.

I see. I'm playing in 1.12.2 right now but I already know for future servers.


Mileage fields accept non-digits

On "Add New Route" view fields "Starting Mileage" and "Ending Mileage" accept non-digits (+, -, , and .).
Brower based validation works properly after clicking "Submit" button.
I'm aware that , and . could be used but + and - doesn't make sense here.
Tested on Chrome.

https://github.com/CodeForPoznan/pah-fm/pull/163


can you also do it with colored input image only?

(waiting for Kijai comfyui node update)I can't test it out yet, since I have low VRAM, but i remember seeing a demo showing that you only need 1 fully colored frame, does that also work or do you need both the starting and ending frame?

In other words, is there a chance it's possible to do the sketch input with reference frame?


broken links

Download link in Redme is broken, please fix

@amrishkakadiya Thank you for bringing this to our notice. We have made the necessary changes.


ISPN-12897 bloom filter doc edits

https://issues.redhat.com/browse/ISPN-12897

Integrated into master, thanks @oraNod !


Attribute with @Size(max = number) is not being considered

Sorry for my probally ignorance. But I have the follow class in my project:
class A {
    @Size(max = 4)
    String s;

    get set...
}

and
PodamFactory podam = new PodamFactoryImpl();
A  test = podam.manufacturePojo(A.class);

The attribute s of the test variable was filled with a string of size 10.
What is possibly wrong?

Hi,
What is @Size annotation class name?
BR, Daniil

Sorry for my bad... I was using 5.3.2 version.
When i updated to 7.0.5 works beautiful.

Ok, good that the problem solved.


[SPARK-44323][SQL] Do not allow options inside tuples to set to null

What changes were proposed in this pull request?
To correct a bug introduced in SPARK-37829 where a Scala Option can become null instead of None in typed operations (e.g. Dataset, Aggregator).
Why are the changes needed?
When we use Option we expect to get back Some(...) or None, but never null.
Does this PR introduce any user-facing change?
Yes it restores the behavior where no nulls show up for Option[_]
How was this patch tested?
Added a test for Aggregator where the output without this PR has a null where it shouldn't.l

test failure seems unrelated to pull request:
2023-07-09T03:28:09.8480347Z [info] StreamingQueryListenerSuite:
2023-07-09T03:28:09.9674014Z 03:28:09.967 WARN org.apache.spark.sql.execution.streaming.ResolveWriteToStream: spark.sql.adaptive.enabled is not supported in streaming DataFrames/Datasets and will be disabled.
2023-07-09T03:28:10.4443688Z [info] - single listener, check trigger events are generated correctly *** FAILED *** (497 milliseconds)
2023-07-09T03:28:10.4445391Z [info]   Assert on query failed: : Queue() was empty
2023-07-09T03:28:10.4448070Z [info]   org.scalatest.Assertions.newAssertionFailedException(Assertions.scala:472)
2023-07-09T03:28:10.4468152Z [info]   	org.scalatest.Assertions.newAssertionFailedException$(Assertions.scala:471)
2023-07-09T03:28:10.4637493Z [info]   	org.scalatest.Assertions$.newAssertionFailedException(Assertions.scala:1231)
2023-07-09T03:28:10.4638128Z [info]   	org.scalatest.Assertions$AssertionsHelper.macroAssert(Assertions.scala:1295)
2023-07-09T03:28:10.4639116Z [info]   	org.apache.spark.sql.streaming.StreamingQueryListenerSuite.$anonfun$new$7(StreamingQueryListenerSuite.scala:105)
2023-07-09T03:28:10.4639921Z [info]   	org.apache.spark.sql.streaming.StreamingQueryListenerSuite.$anonfun$new$7$adapted(StreamingQueryListenerSuite.scala:104)
2023-07-09T03:28:10.4640682Z [info]   	org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$41(StreamTest.scala:663)
2023-07-09T03:28:10.4641267Z [info]   	org.apache.spark.sql.streaming.StreamTest.verify$1(StreamTest.scala:432)
2023-07-09T03:28:10.4641948Z [info]   	org.apache.spark.sql.streaming.StreamTest.executeAction$1(StreamTest.scala:663)
2023-07-09T03:28:10.4642564Z [info]   	org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$56(StreamTest.scala:790)
2023-07-09T03:28:10.4642965Z [info]
2023-07-09T03:28:10.4643222Z [info]


arm-exporter: error reporting GPU temp

All arm-exporter PODs are up-and-running in the daemonset; however the logs show it is unable to access the GPU. Resulting log entries:
time="2020-07-03T11:21:44Z" level=error msg="gpu collector failed after 0.003312s: exit status 255" source="collector.go:142"
Doing a strace on the rpi_exporter binary shows that it tries to access /dev/vchiq. Which is not in /dev in the arm-exporter container of this POD.
Changing the securityContext to privileged for this POD (e.g. changing the arm-exporter-daemonset.yaml) fixes the problem.
Kind regards,
Pascal van Dam

Would you submit a PR? What changes you did to the manifests?

Can you check if mounting the /dev from host to the pod fixes the problem?

Will also do that :)
Will report back this evening, ok?
On 7/14/20 3:06 PM, Carlos Eduardo wrote:

Can you check if mounting the /dev from host to the pod fixes the problem?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/carlosedp/cluster-monitoring/issues/73#issuecomment-658167804,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHNH3IDGPKQB2UMMR2IAA4LR3RJ5FANCNFSM4OPXNKUQ.

Good evening Carlos,
I am afraid for mount /dev in a container you will still need the
'privileged' security context. If you use that context, no need for
mounting /dev as it's already working then.
E.g.:
containers:
      - command:
        - /bin/rpi_exporter
        - --web.listen-address=<IP_ADDRESS>:9243
        image: carlosedp/arm_exporter:latest
        name: arm-exporter
/*   securityContext://
/**/          privileged: true/*
        resources:
          limits:
            cpu: 100m
            memory: 100Mi
          requests:
            cpu: 50m
            memory: 50Mi
Kind regards,
Pascal van Dam
On 7/14/20 3:06 PM, Carlos Eduardo wrote:

Can you check if mounting the /dev from host to the pod fixes the problem?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/carlosedp/cluster-monitoring/issues/73#issuecomment-658167804,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHNH3IDGPKQB2UMMR2IAA4LR3RJ5FANCNFSM4OPXNKUQ.

Yes, I think it's necessary since the utility that reads the temperature requires the device.
I'd welcome a PR!
Thanks

Good afternoon,
Thank your for your reply.
I will, post one this evening.
Small other question;
als have ARM64 / RPI8Gb cluster running; that DOES report CPU (with priv
mode) but not GPU temp.
Any idea?
On 7/15/20 3:18 PM, Carlos Eduardo wrote:

Yes, I think it's necessary since the utility that reads the
temperature requires the device.
I'd welcome a PR!
Thanks
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/carlosedp/cluster-monitoring/issues/73#issuecomment-658762221,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHNH3IFJ7VI5ZKS3EOA2KYTR3WUDLANCNFSM4OPXNKUQ.

No idea, I don't have the newer ones. I believe the vcgencmd utiity used by rpi_exporter doesn't support Rpi4 new SOC. Maybe Lukas from the rpi_exporter utility can help.
https://github.com/lukasmalkmus/rpi_exporter

Good afternoon Carlos,
The arm7hf (32bit) does work for both CPU and GPU on RPi4. On ARM64 only
for CPU.
I will contact Lukas. :)
Many thanks for your support.
Kind regards,
Pascal van Dam
On 7/15/20 3:48 PM, Carlos Eduardo wrote:

No idea, I don't have the newer ones. I believe the vcgencmd utiity
used by rpi_exporter doesn't support Rpi4 new SOC. Maybe Lukas from
the rpi_exporter utility can help.
https://github.com/lukasmalkmus/rpi_exporter
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/carlosedp/cluster-monitoring/issues/73#issuecomment-658778391,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHNH3IGHQDUZUOOX4RY2DS3R3WXRJANCNFSM4OPXNKUQ.

Closing this as it's not a monitoring stack issue.

I will submit a PR for this
the solution is to add:
container.mixin.securityContext.withPrivileged(true)
to
arm_exporter.jsonnet

Great, thanks for the find!


Base dir

Just my 2c, to replace the hardcoded base dir.
I had to change it to make a quick test in surge, because it was dependant on being deployed under  /protocol path
I added the env var in travis. Let's 🤞 and see if it still works :)

@denisgranha should I add any reviewer? how can we test this work? when it's merged to master?


health_monitor crashes instead of raising error if authentication fails.

Describe the bug
health_monitor fails to emit the correct error messages if client_id and client_secret are not set correctly and instead complains undefined method 'uri'  for #<EventMachine::HttpClient:0x000055a5a6edd540>
We discovered this during an upgrade from bosh 270.10.0 - We are using bosh-deployment for our bosh manifest and had failed to notice the changes in uaa.yml which are injecting the client_id and client_secret values for health monitor to use.  This meant that our health_monitor config contained only the old user/pass fields but had client_id and client_secret as empty strings.
When health_monitor attempts to start up it will fetch /configs and /deployments from port 25555. If the code gets a non-200 status code back it will then attempt to raise an error. The line raising the error is trying to print out #{http.uri} and this is causing a fatal error because 'uri' is not an undefined method. This causes health_monitor to crash.
Supplying the correct details for client_id and client_secret means that the error raising code is never called and is the effective workaround to this problem.
Printing of the correct error message was working correctly on bosh 270.10.0
To Reproduce
Steps to reproduce the behavior (example):

Deploy a bosh director v271.2.0 on vmware with default config
I was using stemcell 621.92 when I discovered the problem, but I don't think it's stemcell specific.
Set the client_id and client_secret fields in /var/vcap/jobs/health_monitor/config/health_monitor.yml to be empty strings.
Monit restart health_monitor
Health montior will crash at startup. It will not print the correct error message about '401 not authorised' because it hits the 'uri undefined method' when trying to print out the URL that has been called.

Expected behavior
health_monitor prints out the correct error message 'Could not get resurrection config from director at <some_url>'
Logs
F, [2020-11-23T17:47:27.393844 #9191] FATAL : undefined method `uri' for #<EventMachine::HttpClient:0x000055a5a6edd540>
F, [2020-11-23T17:47:27.393926 #9191] FATAL : /var/vcap/data/packages/health_monitor/068aa86a68c8b1bf4d23ac40f2089d09d505a432/gem_home/ruby/2.6.0/gems/bosh-monitor-0.0.0/lib/bosh/monitor/director.rb:14:in `deployments'
/var/vcap/data/packages/health_monitor/068aa86a68c8b1bf4d23ac40f2089d09d505a432/gem_home/ruby/2.6.0/gems/bosh-monitor-0.0.0/lib/bosh/monitor/runner.rb:161:in `fetch_deployments'
/var/vcap/data/packages/health_monitor/068aa86a68c8b1bf4d23ac40f2089d09d505a432/gem_home/ruby/2.6.0/gems/bosh-monitor-0.0.0/lib/bosh/monitor/runner.rb:121:in `block in poll_director'
I, [2020-11-23T17:47:27.393963 #9191]  INFO : HealthMonitor shutting down...
I, [2020-11-23T17:47:27.394076 #9191]  INFO : HealthMonitor exiting!

Versions (please complete the following information):

Infrastructure: vSphere 6.7
BOSH version: 271.2.0
BOSH CLI version: n/a
Stemcell version: 621.92 (Ubuntu)

Additional context
Error is only hit when health_monitor is not correctly configured with client_id and client_secret. This should cause the director.rb to raise an error, but raising of that error is failing because it is trying to use an undefined method when printing out the error message. This causes health_monitor to crash.

I've also run into this issue

Switching it to [last_effective_url](https://www.rubydoc.info/gems/em-http-request/1.1.3/EventMachine%2FHttpClient:last_effective_url) seems to work.


[Relationships] Add Environment Hierarchical Parent Relationship

Notes for Reviewers
This partially fix: https://github.com/meshery/meshery/issues/9661
Signed commits

[ ] Yes, I signed my commits.


Add Secretness Analysis to convert-if-to-select

Added a static dataflow analysis for secret types and used it in the convert-if-to-select transformation pass to selectively apply the transformation on scf.if operations that evaluate secret conditions.

(Sorry, meant to delete the corresponding branch in my repo and accidentally removed this one 🙈 )


Add Included models tab documentation

Partially closes the ticket: https://github.com/bamoe/private-bamoe-issues/issues/1459
Dependent on #98

@kbowers-ibm thank you, I pushed commit with changes.

Good to merge?


Fix enableVisualBursts + change autoplay name

Thought "sample" was a bit silly, although I'm guessing it was just a sample name
Also fixed my terrible implementation for enableVisualBursts

ok just noticed this. i'll look into this after a game jam i'll finish today. sorry

oh okay there wasnt much change


Non-removable space on newline - Brackets 1.6

Didn't see this reported or known -- sorry if it is and I missed it.
Windows 10.0.10240
Brackets 1.6
Line breaks create a small amount of whitespace on the following line. The screenshot shows what happens when you hit Shift + Right Arrow with the cursor on line 7 after the '.' in 'This is a sentence.' Moving your cursor line 8 and hitting delete causes line 8 to be.

This extra space disappears as soon as you start typing on line 8.
The (minimal) effects of this are 1. degrading my sanity, 2. placing your cursor on a newline and hitting Shift + Up Arrow doesn't select the entire line above. (See screenshot.)

EDIT: Forgot to mention that uninstalling / disabling extensions doesn't alter this behavior.
This issue is terribly incredibly amazingly important -- still, thought it should be reported.

Fixed by https://github.com/adobe/brackets/pull/12110 when it lands :fire:

#12110 landed. Closing


For Reviewer

We are a group of 3.
Link to Kanban Board

STATUS: APPROVED 🟢
Hi @hamidazim321, @BilalLiaquat7, and @hydaline-code👋,
Your project is complete!  There is nothing else to say other than... it's time to close it :shipit:
Congratulations! 🎉

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


SPSearchContentSource: fullSchedule missing StartHour

Details of the scenario you tried and the problem that is occurring
I try:
FullSchedule         = MSFT_SPSearchCrawlSchedule{
ScheduleType = "Weekly"
CrawlScheduleDaysOfWeek = @("Sunday")
StartHour = "1"
StartMinute = "0"
}
Verbose logs showing the problem
StartHour not working with schedule Weekly.
(other problem: It's seems also that a IncrementalSchedule is set by default).
Suggested solution to the issue
Fix code
The DSC configuration that is used to reproduce the issue (as detailed as possible)
 SPSearchContentSource LocalSharePointSites
            {
                Name                 = "Local SharePoint Sites"
                ServiceAppName       = "Search Service Application"
                ContentSourceType    = "SharePoint"
                Addresses            = @("https://portal.sharepoint.com")
                ContinuousCrawl      = $true
                FullSchedule         = MSFT_SPSearchCrawlSchedule{
                                        ScheduleType = "Weekly"
                                        CrawlScheduleDaysOfWeek = @("Sunday")
                                        StartHour = "1"
                                        StartMinute = "0"
                                       }
                Priority             = "Normal"
                Ensure               = "Present"
                PsDscRunAsCredential = $Credssp_admin
            }

Version of SharePoint that is used (e.g. SharePoint 2016)
SharePoint 2016
Version of the DSC module that was used ('dev' if using current dev branch)
dsc 3.0

After investigation, the right parameter missing is: CrawlScheduleStartDateTime

To fix add property as string "CrawlScheduleStartDateTime" to the code.
(example for dsc property: CrawlScheduleStartDateTime = "01:00" )
Need to add into MSFT_SPSearcContentSource.psm1:
$propertyTest = Test-SPDSCObjectHasProperty -Object $params.FullSchedule `
-PropertyName "CrawlScheduleStartDateTime"
if ($propertyTest -eq $true)
{
$fullSetArgs.Add("CrawlScheduleStartDateTime",
$params.FullSchedule.CrawlScheduleStartDateTime)
}
before Set-SPEnterpriseSearchCrawlContentSource @allSetArguments @fullSetArgs of full schedule.
And into MSFT_SPSearchContentSource.schema,mof , class MSFT_SPSearchCrawlSchedule :
[Write, Description("The hour and minute of the day that the schedule should begin")] String CrawlScheduleStartDateTime;
And into SPSearchContentSource.Schedules.psm1:
into "$result = @{ "  add the property:
CrawlScheduleStartDateTime = $Schedule.CrawlScheduleStartDateTime
and before switch ($CurrentSchedule.ScheduleType):
if ((Test-SPDSCObjectHasProperty -Object $DesiredSchedule                                      -PropertyName "CrawlScheduleStartDateTime") -eq $true
-and $CurrentSchedule.CrawlScheduleStartDateTime -ne $DesiredSchedule.CrawlScheduleStartDateTime)
{
return $false
}

Hi @paololec Have you tested this with other ScheduleTypes? Daily for example?
I have checked the code and see that the StartHour should be configured:
https://github.com/PowerShell/SharePointDsc/blob/dev/Modules/SharePointDsc/DSCResources/MSFT_SPSearchContentSource/MSFT_SPSearchContentSource.psm1#L676-L682

Found other problem, if specify continuous crawl I can't set IncrementalSchedule, but in a normal installation it seems that a Incremental Schedule every 4 hours is neeed to execute (or different interval if you need it). So settings continuous create a misconfiguration because delete/remove the "default" incremental schedule.
Bug code/part to remove:
 if ($ContinuousCrawl -eq $true -and
$PSBoundParameters.ContainsKey("IncrementalSchedule") -eq $true)
{
throw ("You can not specify an incremental crawl schedule on a content source " +                        "that will use continous crawl")             }

Please allow to set IncrementalSchedule also with ContinuosCrawl and not check it/throw it.

Issue will be fixed in my next Bugfix PR

In dev code missing delete second check of "You can not specify an incremental crawl schedule on a content source" in test section ..

Good point, missed that one! Will update this as well.


Add short text overview for untitled file

When lot of untitled file are created, we must search in lot of 'untitled' tab. So with this feature, untitled file have a short description for locate quickly the good text-editor.

getTitle and getLongTitle return the first 50 characters of the first line or 'untitled' if blank.
(It's my first contribution in atom so shouldn't hesitate if i don't respect guidelines and sorry for my approximative English)

YuriSolovyov,
Yes, you are absolutely right.

The sources files modifications are outdated.


photo_manager  ype mismatch: inferred type is Boolean? but Boolean was expected

e: D:\src\flutter.pub-cache\hosted\pub.dartlang.org\photo_manager-1.3.10\android\src\main\kotlin\top\kikt\imagescanner\core\PhotoManagerPlugin.kt: (101, 34): Type mismatch: inferred type is Boolean? but Boolean was expected
e: D:\src\flutter.pub-cache\hosted\pub.dartlang.org\photo_manager-1.3.10\android\src\main\kotlin\top\kikt\imagescanner\core\PhotoManagerPlugin.kt: (101, 39): Type mismatch: inferred type is Boolean? but Boolean was expected
e: D:\src\flutter.pub-cache\hosted\pub.dartlang.org\photo_manager-1.3.10\android\src\main\kotlin\top\kikt\imagescanner\core\PhotoManagerPlugin.kt: (128, 36): Type mismatch: inferred type is Boolean? but Boolean was expected
e: D:\src\flutter.pub-cache\hosted\pub.dartlang.org\photo_manager-1.3.10\android\src\main\kotlin\top\kikt\imagescanner\core\PhotoManagerPlugin.kt: (128, 41): Type mismatch: inferred type is Boolean? but Boolean was expected
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':photo_manager:compileDebugKotlin'.

A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
Compilation error. See log for more details

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BU�LD FAILED in 57s
Exception: Gradle task assembleDebug failed with exit code 1

I added this to pubspec:
dependency_overrides:
  photo_manager: 2.1.4

then new errors come to us:
        ] stories_editor/lib/src/presentation/main_view/main_view.dart:154:48: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]       MediaQueryData.fromWindow(WidgetsBinding.instance!.window);
[        ]                                                ^
[        ] stories_editor/lib/src/presentation/main_view/main_view.dart:162:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]     WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
[        ]                    ^
[ +398 ms] ../../../.pub-cache/hosted/pub.dartlang.org/gallery_media_picker-0.0.7/lib/gallery_media_picker.dart:257:50: Error: The getter 'thumbData' isn't defined for the class
'AssetEntity'.
[        ]  - 'AssetEntity' is from 'package:photo_manager/src/types/entity.dart' ('../../../.pub-cache/hosted/pub.dartlang.org/photo_manager-2.1.4/lib/src/types/entity.dart').
[        ] Try correcting the name to the name of an existing getter, or defining a getter or field named 'thumbData'.
[        ]                               'thumbnail': asset.thumbData,
[        ]                                                  ^^^^^^^^^
[        ] stories_editor/lib/src/domain/sevices/save_as_gif_mp4.dart:23:54: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
[        ]  - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/scheduler/binding.dart').
[        ]   final SchedulerBinding _binding = SchedulerBinding.instance!;
[        ]                                                      ^
[        ] stories_editor/lib/src/presentation/painting_view/painting.dart:25:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]     WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
[        ]                    ^
[        ] stories_editor/lib/src/presentation/painting_view/painting.dart:46:63: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]     var screenSize = MediaQueryData.fromWindow(WidgetsBinding.instance!.window);
[        ]                                                               ^
[        ] stories_editor/lib/src/presentation/painting_view/painting.dart:158:28: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]             WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
[        ]                            ^
[        ] stories_editor/lib/src/presentation/text_editor_view/TextEditor.dart:33:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]     WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
[        ]                    ^
[        ] stories_editor/lib/src/presentation/widgets/scrollable_pageView.dart:92:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]     WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {});
[        ]                    ^
[ +297 ms] ../../../.pub-cache/hosted/pub.dartlang.org/modal_gif_picker-0.0.1/lib/src/widgets/giphy_search_view.dart:38:20: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]     WidgetsBinding.instance?.addPostFrameCallback((_) {
[        ]                    ^
[        ] stories_editor/lib/src/presentation/text_editor_view/widgets/top_text_tools.dart:30:38: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes
null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]                       WidgetsBinding.instance!.addPostFrameCallback((_) {
[        ]                                      ^
[        ] stories_editor/lib/src/presentation/text_editor_view/widgets/top_text_tools.dart:92:40: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes
null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]                         WidgetsBinding.instance!.addPostFrameCallback((_) {
[        ]                                        ^
[        ] stories_editor/lib/src/presentation/text_editor_view/widgets/top_text_tools.dart:103:40: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes
null.
[        ]  - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/flutter2/packages/flutter/lib/src/widgets/binding.dart').
[        ]                         WidgetsBinding.instance!.addPostFrameCallback((_) {
[        ]                                        ^
[  +98 ms] ../../../.pub-cache/hosted/pub.dartlang.org/gallery_media_picker-0.0.7/lib/src/widgets/thumbnail_widget.dart:58:25: Error: The getter 'thumbData' isn't defined for the class
'AssetEntity'.
[        ]  - 'AssetEntity' is from 'package:photo_manager/src/types/entity.dart' ('../../../.pub-cache/hosted/pub.dartlang.org/photo_manager-2.1.4/lib/src/types/entity.dart').
[        ] Try correcting the name to the name of an existing getter, or defining a getter or field named 'thumbData'.
[        ]           future: asset.thumbData,
[        ]                         ^^^^^^^^^
[  +99 ms] ../../../.pub-cache/hosted/pub.dartlang.org/gallery_media_picker-0.0.7/lib/src/widgets/decode_image.dart:33:37: Error: The method 'thumbDataWithSize' isn't defined for the class
'AssetEntity'.
[        ]  - 'AssetEntity' is from 'package:photo_manager/src/types/entity.dart' ('../../../.pub-cache/hosted/pub.dartlang.org/photo_manager-2.1.4/lib/src/types/entity.dart').
[        ] Try correcting the name to the name of an existing method, or defining a method named 'thumbDataWithSize'.
[        ]     final bytes = await coverEntity.thumbDataWithSize(thumbSize, thumbSize);

on top level build.gradle: change gradle to:
classpath 'com.android.tools.build:gradle:7.2.0'
then android/gradle/wrapper/gradle-wrapper.properties change this to:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
I also upgraded android studio to chipmunk. But still no luck

Same issue here!

İ changed little bit this library. You can check my fork, and use this with
story_editor:
    path:
        git: repo
        ref: commit_hash

You can use master/main branch, dev brach is so much changes. I created pull request but there was no reply.


feat(partners): implements pagination on filtered results

Closes: GRO-651
https://user-images.githubusercontent.com/112297/140542924-241f6efc-a89c-477c-ab0d-16ad2b0e8bf3.mov

Will merge later unless you have any comments @damassi


Remove SSL from mission control

SSL certificate and path will be taken from flags / environment variables only. Its a global config. Lets remove that from mission-control.

@Jayesh333 this is resolved now right?


The screen layout is quite wasteful of space

On my desktop, about half the height is taken up with fixed header and footers.
This reduces the amount of text I can see at once
Text entries should not need 2 lines each

There are differing opinions on this matter.
It was pointed out that using one line for both name, date and message wouldn't work well on narrower screens, so it was decided to go for a multi-line approach instead. Suggestions on addressing all concerns are much welcome.
As for headers/footers, a lot of this can probably be solved in CSS and by either resizing or removing the logo.

If the screen is wide enough, use a single line, otherwise use a separate heading.
Also the name field is unnecessarily long; the id could be shown as hover text.
Only the Topic is really needed at the top of the screen. The other informational lines could be  shown elsewhere.
e.g. Logged in as could be shown on clicking ones id in the online list.
The bottom buttons could be moved to the side panel, or to a pop-up menu, as they are infrequently needed.
Decide what is absolutely required on the screen, and remove everything else from view, making it available on demand.


Change mismatched ref input error message

Closes @202

Can one of the admins verify this patch?

@tensorflow-jenkins  test this please.


Update the URL cname for ECR staging and prod repositories

Currently, the ecr repository links are non-descriptive and contain hash values. This makes the urls difficult for the users to understand and therefore share.
Acceptance Criteria

[x] We are able to access ECR repositories using descriptive urls which have staging and prod in their names

currently CNAME settings and custom domain names for ECR is not supported, with hacks this will create a TLS issue with login/push.
Open Issue: https://github.com/aws/containers-roadmap/issues/299
Worth exploring ECR alias feature.

Going with ECR custom alias feature
public.ecr.aws/opensearchproject/<IMAGE:TAG>
public.ecr.aws/opensearchstaging/<IMAGE:TAG>

It sounds like "project" and "staging" are the same ting. Is something like this possible?
public.ecr.aws/opensearch-project/
public.ecr.aws/opensearch-project-staging/

It sounds like "project" and "staging" are the same ting. Is something like this possible?
public.ecr.aws/opensearch-project/ public.ecr.aws/opensearch-project-staging/

Hey @dblock public.ecr.aws/opensearchproject/IMAGE:TAG and public.ecr.aws/opensearchstaging/IMAGE:TAG goes same with dockerhub opensearchproject and opensearchstaging, hence I have added those custom alias for ECR repos.

We have now registries with verified accounts and custom alias in ECR public gallery
https://gallery.ecr.aws/opensearchproject?page=1
https://gallery.ecr.aws/opensearchstaging?page=1


Multiple audio codecs result in a single audio track?

Currently my settings are:
[MP4]
ffmpeg = D:\ffmpeg\bin\ffmpeg.exe
ffprobe = D:\ffmpeg\bin\ffprobe.exe
output_directory =
copy_to =
move_to =
output_extension = mp4
output_format = mp4
delete_original = True
relocate_moov = True
audio-codec = ac3,aac
video-codec = h264,x264
video-bitrate = 3000
ios-audio = True
max-audio-channels = 6
audio-language =
audio-default-language =
audio-channel-bitrate =
subtitle-language =
subtitle-default-language =
fullpathguess = True
convert-mp4 = True
tagfile = False
tag-language = en
download-artwork = False
download-subs = False
embed-subs = False
sub-providers = addic7ed,podnapisi,thesubdb,opensubtitles
permissions = 0777
subtitle-codec = mov_text
video-max-width =
ios-first-track-only = False
post-process = False
pix-fmt =
h264-max-level =

The result of this is:

2016-02-20 22:06:19 - MANUAL - INFO - Starting conversion.
2016-02-20 22:08:36 - MANUAL - INFO - Manual processor started.
2016-02-20 22:08:36 - MANUAL - WARNING - Audio bitrate was invalid, defaulting to 256 per channel.
2016-02-20 22:08:36 - MANUAL - WARNING - Invalid external subtitle codec mov_text, defaulting to 'srt'.
2016-02-20 22:08:37 - MANUAL - INFO - Reading video stream.
2016-02-20 22:08:37 - MANUAL - INFO - Video codec detected: h264.
2016-02-20 22:08:37 - MANUAL - INFO - Pix Fmt: yuv420p.
2016-02-20 22:08:37 - MANUAL - INFO - Reading audio streams.
2016-02-20 22:08:37 - MANUAL - INFO - Audio detected for stream #1: aac [eng].
2016-02-20 22:08:37 - MANUAL - INFO - Creating audio stream 0 from source stream 1.
2016-02-20 22:08:37 - MANUAL - INFO - Reading subtitle streams.
2016-02-20 22:08:37 - MANUAL - ERROR - No valid subtitle language specified, cannot download subtitles.
2016-02-20 22:08:37 - MANUAL - INFO - {
"subtitle": {},
"audio": {
"0": {
"map": 1,
"language": "eng",
"channels": 2,
"codec": "copy",
"bsf": "aac_adtstoasc",
"bitrate": 512
}
},
"video": {
"map": 0,
"codec": "copy",
"bitrate": 3000,
"level": null
},
"format": "mp4"
}

Why is the second channel not being created? I would like AAC and AC3 available.

The current behavior is that if the conversion would result in 2 stereo audio tracks, it will skip making the non iOS-audio type track to save on space since there isn't much benefit of have 2 relatively similar stereo audio tracks.

I see, it is a be ambiguous on the documentation but if that's the way it works, that's the way it works :)


Scope GitHub App installation token to a set of repositories per project

Checklist

[x] I've searched the issue queue to verify this is not a duplicate feature request.
[ ] I've pasted the output of kargo version, if applicable.
[ ] I've pasted logs, if applicable.

Proposed Feature
When using a global GitHub App installation token, introduce some way to define a set of repositories accessible by individual Projects which the installation token will then be scoped to.
Motivation
In a large organisation with many GitOps repositories which would be separated into many Kargo projects owned by different teams, we want to ensure no (accidental or malicious) cross-team (write!) access to other GitOps repositories.
Using Kargo today, that means using either a GitHub App per project or a PAT:
Per https://docs.github.com/en/apps/creating-github-apps/registering-a-github-app/registering-a-github-app#about-registering-github-apps, an organization can only create 100 GitHub Apps (although there's no limit to the amount that can be installed in the organization), meaning this will at some point not scale.
PAT: As PATs are user-specific, they are out of the question; users leave, have their permisisons revoked (e.g. due to moving teams) and all commits will be attributed to that user - Alternatively you can setup non-human accounts (i.e. service accounts) with these PATs, but that will cost a seat in the organization; at a price of USD 21 per seat per month in an enterprise, 100 service accounts (equivalent to the maximum GitHub Apps that can be created by an organization) would cost USD 2100 per month.
Having a global set of credentials in the form of one GitHub App that is appropriately scoped in a project to the repositories needed will allow scaling without needing to manage multiple set of credentials and without allowing cross-team access.
Suggested Implementation
(Below is inspired by Pipelines As Code's approach: https://pipelinesascode.com/docs/guide/repositorycrd/)
The endpoint for obtaining an installation token supports sending in a list of repositories or repository_ids when requesting the token - If this is done, the installation token returned will be scoped to those repositories, meaning this could be done. Permissions can also be scoped although not on a repository-by-repository basis but only on a token-by-token basis.
Introduce a new namespaced custom resource "GitRepository" or similar containing a very simple specification: repoUrl.
When generating a token for a project while using GitHub App credentials, check if the project's namespace contains GitRepository resources. If so, only scope the token provided for use by the Project to those resources. Otherwise, scope globally (or fail - Could be a configurable option globally to not enforce the use of these new resources for less strict setups).
The scoping of the token should take place in all use cases within the repository, e.g. promotions and freight discovery
(If you want to add the additional scoping of permisisons per repository by adding additional fields to the custom resource, two tokens would have to be issued - One with Read/Write and one with only Read and Kargo would need to juggle them depending on which repository is being accessed)
In the use case I highlighted above, we would automatically set up a Project per team that would then have GitRepository resources defined for the set of repositories that are relevant for their project. The team itself would only be allowed to get or list the GitRepository resources, thereby ensuring that the project remains properly scoped.

I think there's an easier and more secure way to do this.
It's already possible to designate one or more namespaces as stores of "global" credentials.
I wouldn't expect users to have any access to those namespaces. Any credentials (Secrets) within would be the responsibility of the Kargo admin/operator.
It would require only very minor modifications to the existing credential helper to support new metadata (probably in the form of annotations) that the Kargo admin/operator would maintain to map Projects to installation token scope (allowed repos).
This would be secure, centralized, and trivial to implement.

Would the mapping then take place in those centralized namespaces? Having project-specific information in those would make it harder to keep track of resources related to specific projects IMO.
The reason I am suggesting a new CRD is to be able to independently control the permission for the mapping using standard Kubernetes RBAC. I guess placing it in secrets in the individual project could work too if teams should not be allowed to individually set credentials for whatever else they might need.
(I might be overthinking this - my only need here is to scale to an unbounded number of teams without exposing credentials to individual teams and without exposing other teams' repositories)

I see too many other problems with doing it as a CRD. Top of the list is that it distributes rules much too broadly. If you're the person in charge of which projects may access which repos using this one, single credential, those mappings should be in one place and not spread across many namespaces. Being spread across many namespaces also makes it much harder to enforce who can effectively change those mappings. Ability to create one of the proposed CRs in a given namespace equates to the ability to arbitrarily name any repo you'd like access to.

Ok, I think I understand the idea now, but I'll just write it out explicitly to ensure we're on the same page:

Credential secrets in "global" namespaces can optionally have an annotation specifying which projects can use the secret - independently of whether the secret is for  a Github App or not.
If using a Github App (through a "global" or namespace-local credential secret), the resulting installation token is scoped appropriately to the set of repositories the given project has access to

Is this correct or am I misunderstanding something?

Coming back to my original need, I think point 2 could cover it just fine actually due to the level of automation we have - without point 1 we would just distribute the credentials to each individual Kargo Project namespace rather than place them in the "global" namespace and disallow access to secrets by teams for the project.

I just had a look at the current code now. I see each repository's credentials are looked up in the database, making a project-access scoped token infeasible without major changes.
The cache for Github App tokens could be changed to also include the repository as part of its key to support repo-level scoped tokens.
It does mean more API calls to Github than something project-scoped (if the project has more than one repository that should be accessible by that application), but I see it as easily doable and security-enhancing, yes.
If tokens are scoped at the individual repository-level, the additional suggestion of setting the permissions could also be implemented fairly trivially as an additional (optional) key in the secret ala githubAppPermissions, allowing you to set the exact permissions to request in the token

The feature request is acknowledged and maintainers know how to implement this efficiently.

@fykaa, I'm assigning to you.
Changes should be isolated to internal/credentials/kubernetes/github/app.go and its unit tests.
Strategy:

Check cred Secret annotations for a new one (something like kargo.akuity.io/project-repos).
If not found, check data for the same key.
If you come up empty-handed, there are no restrictions.
If you find a value, expect it to be JSON of the form:
{
  "project1": ["repo1", "repo2", "repo3"],
  "project2": ["repo4", "repo5", "repo6"],
  ...
}

Note: Repo names do not include org names or any other component of a full repo URL.
Note: The reason for checking annotations first and then data: Maintaining this would be easier using annotations, but all the keys and values of a resource's annotations, combined, are limited to 256k. On the outside chance that a large Kargo installation with many Projects could bump into that limit, we can fall back on checking data.

Unmarshal the JSON into a map[string][]string.

Find the repos available to the Project.
If you find none, the Project cannot use this credential.
If the repo we're looking for creds for is not in the list, the Project cannot use this credential.

Use the list of allowed repos to specify the scope of the access token.

Extremely important: Update the logic for building cache keys to incorporate repos. Something like this will work:
slices.Sort(repos)
return fmt.Sprintf(
	"%x",
	sha256.Sum256([]byte(
    		fmt.Sprintf(
			"%d:%d:%s:%s",
			appID,
			installationID,
    			encodedPrivateKey,
			strings.Join(repos, ","),
		),
	)),
)

This will ensure that all Projects allowed to use the same set of repos will


[Feature request] Border only for white (or other colors)

It would be great if there is an option to add border just for some color (mainly because of white).
Something like:
<swatches v-model="input" :colors="colors" :show-border-for="borderedColors" />

export default {
    data() {
        return {
            colors: [ '#000000', '#333333', '#999999', '#CCCCCC', '#EEEEEE', '#F4F4F4', '#FFFFFF' ],
            borderedColors: [ '#EEEEEE', '#F4F4F4', '#FFFFFF' ]
        }
    }
}

Temporary workaround
Right now I just need to add border for white, so I set it as my last color and apply border with SCSS.
.vue-swatches {
    .vue-swatches__container {
        .vue-swatches__wrapper {
            .vue-swatches__swatch {
                &:last-child {
                    box-shadow: inset #CCC 0 0 0 1px;
                }
            }
        }
    }

I also set border for the trigger, for when user select white (but appears to all colors, since it's not possible to "detect" with CSS when it's white).
.vue-swatches {
    .vue-swatches__trigger {
        box-shadow: inset #CCC 0 0 0 1px;
    }
}

Thank you for the great component!

This definitely will be possible with the object syntax coming in 2.0.
export default {
    data() {
        return {
            colors: [
                '#000000',
                '#333333',
                '#999999',
                '#CCCCCC',
                { color: '#EEEEEE', border: true },
                { color: '#F4F4F4', border: true },
                { color: '#FFFFFF', border: true }
            ]
        }
    }
}

Vue Swatches 2 is finally out, it have support for swatch objects.
You can check it here https://github.com/saintplay/vue-swatches/releases/tag/v2.0.0


Pull to refresh triggers infinitescroll loop. V1.3.x

Short description of the problem:
When I do a pull to refresh on a list, not pull down enough to trigger a refresh, scroll up (still tapping) to the top back, it will trigger infinitescroll.
What behavior are you expecting?
Infinitescroll must not be triggered
Steps to reproduce:

Create a list
Add pull to refresh and infinite scroll
Start pulling down then drag the pull down up to the top
Notice the infinitescroll triggered

Hello, thanks for opening an issue with us! Would you be able to provide a plunker that demonstrates this issue? Thanks for using Ionic!

Hello all! As it seems it has been a while since there was any activity on this issue i will be closing it for now. Feel free to comment if you are still running into this issue. Thanks for using Ionic!


Add

Needs to be reflected in options json as well.
Would probably be a breaking change.
Implement it in a way, where it looks more like a list of options, rather than a 2d list [[front1, back1], [front2, back2], etc.].
Should also be modifiable from GUI, Have "Copy Front options to back" as button." instead of "Duplicate".
Clicking on an iteration should always send you back to frontside.

Works since 347df568e9f6f7f0f49ec5c004f6cc242d799c35.


~/.phpbrew directory must be created before using phpbrew

Redirecting to https://secure.php.net/releases/index.php?json&version=5&max=100
PHP Warning:  file_put_contents(/home/huzhifeng/.phpbrew/php-releases.json): failed to open stream: No such file or directory in phar:///home/huzhifeng/ops-code/bin/phpbrew/PhpBrew/ReleaseList.php on line 2
Exception: Can't store release json file
Trace:

    0) PhpBrew\ReleaseL

fresh installed phpbrew will not auto create ~/.phpbrew directory, so installation was failed.

Did you phpbrew init?

This step can be automatic? i omit it

It probably can, but it could become a PITA to have the init check before every executed command, so the install instructions explicitly tell you to run phpbrew init during installation. Please check the installation guide and the wiki.

I know this issue is ancient, but I hit the same thing. I think it would be clearer if the phpbrew init instruction was moved into the Installation section. Happy to create a PR if you agree.

@jeff-h could you please provide more details about how the issue is reproducible? Maybe because of documenting we could fix it or at least improve the UX. Then document the remaining details.

Sure — it was 100% user error 🤪 Basically I didn't realise that running phpbrew init was a mandatory part of initial installation. A very minor shuffle of the documentation (proposed PR) makes it much clearer for me at least.


fix: Updates required tf version for iam-user to 0.15

Description

Updates the required terraform version for iam-user to >= 0.15.0
Motivation and Context

The sensitive function is only available in terraform v0.15 and later.
Breaking Changes

No, it is already broken for user's using terraform 0.14 and below.
How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

I don't see the use of sensitive - perhaps this was removed, so closing out this PR for now. Thank you though!


Couldn't find the binary git

Upon attempting to install with yarn add rotorz/unity3d-reorderable-list, I get this error:
warning package.json:
No license field
warning No license field
[1/4] Resolving packages...
error Couldn't find the binary git
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
I have followed the instructions here https://github.com/rotorz/unity3d-package-syncer for the package syncer.

me too, Have solved the problem?

Nope

I think that you just need to install git (https://git-scm.com/)


How to change watch folder and download folder?

Hello, how can I change watch folder?
Currently have /home/seedbox/rtorrent/watch
Want to have /home/seedbox/downloads/watch/rtorrent
tried in .rtorrent.rc
method.insert = cfg.watch,       private|const|string, (cat,(cfg.basedir),"/home/seedbox/downloads/watch/rtorrent/")
But it doesn't work.
And if I change download folder in rutorrent via web, after restart it changed to default
Thank you

try:
method.insert = cfg.watch, private|const|string, (cat,"/home/seedbox/downloads/watch/rtorrent/")

tried, doesn't work. nothing happened if I put torrent in /home/seedbox/downloads/watch/rtorrent

ok I found a problem with watch folder (already fixed). I changed it to this and it works fine now.
schedule = watch_directory,5,5,"load.start=/home/seedbox/downloads/watch/rtorrent/*.torrent,d.delete_tied="
Thank you.

Hi,
I have 3 partitions on the hard drive (/ , /home , /var)
I made a directory named "DOWNLOADS" for the partition /var and chmod it 0777 over cli
I changed the file (.rtorrent) $sudo nano /home/iffi/.rtorrent.rc
Set Directories
method.insert = cfg.basedir,     private|const|string, (cat,"/home/iffi/rtorrent/")
method.insert = cfg.watch,       private|const|string, (cat,(cfg.basedir),"watch/")
TO
Set Directories
method.insert = cfg.basedir,     private|const|string, (cat,"/var/DOWNLOADS/Tortsud/")
method.insert = cfg.watch,       private|const|string, (cat,(cfg.basedir),"watch/")
I restarted my computer and open rutorrent own browser and im read next error "No connection to rTorrent. Check if it is really running. Check $scgi_port and $scgi_host settings in config.php and scgi_port in rTorrent configuration file."
Please help me how to change download directory?
Sorry my bad english :(

https://github.com/arakasi72/rtinst/issues/425


defaultBaseURL can't change?

I want use it with Gitlab EE,so I should change the defaultBaseURL .Can I change defaultBaseURL in outside?

Did you read the README? It actually shows an example for exactly this: https://github.com/xanzy/go-gitlab#usage

ok:)my mistake.use gitlab.WithBaseURL() can do it

👍🏻


Add multi-key get typings overload

Keyv supports the use of get in an overloaded manner. Pass a single key, get a single result; pass an array of keys, get an array of results.
The current typings as they're written return a singular Value in both cases. By overloading this method, we can get the correct return type string -> Value | undefined, string[] -> (Value | undefined)[].

@trevor-scheer - can you get the linting fixed on these? Most likely you can do a xo --fix

@jaredwray it did fix some things but also spit out these errors (unrelated to my changes)
trevorscheer@Trevors-MBP keyv % npx xo --fix

  packages/memcache/test/test.js:1:21
  ✖    1:21  Do not use "require".                                                           unicorn/prefer-module
  ✖    2:14  Do not use "require".                                                           unicorn/prefer-module
  ✖    3:14  Do not use "require".                                                           unicorn/prefer-module
  ✖    4:22  Do not use "require".                                                           unicorn/prefer-module
  ✖    6:14  Do not use "require".                                                           unicorn/prefer-module
  ✖   12:1   Do not use "require".                                                           unicorn/prefer-module
  ✖   16:5   Unexpected use of the global variable process. Use require("process") instead.  node/prefer-global/process
  ✖   17:8   Unexpected use of the global variable process. Use require("process") instead.  node/prefer-global/process
  ✖   32:33  Function was declared as async but doesn't use await.                           ava/no-async-fn-without-await

  packages/memcache/src/index.js:1:1
  ✖    1:1   Do not use "use strict" directive.                                              unicorn/prefer-module
  ✖    3:22  Do not use "require".                                                           unicorn/prefer-module
  ✖    4:18  Do not use "require".                                                           unicorn/prefer-module
  ✖    5:15  Do not use "require".                                                           unicorn/prefer-module
  ✖  143:32  reject is defined but never used. Allowed unused args must match /^_/u.         no-unused-vars
  ✖  155:1   Do not use "module".                                                            unicorn/prefer-module

  packages/memcache/src/index.d.ts:13:26
  ✖   13:26  any overrides all other types in this union type.                               @typescript-eslint/no-redundant-type-constituents

  packages/mongo/src/index.js:134:43
  ✖  134:43  Prefer utf8 over utf-8.                                                         unicorn/text-encoding-identifier-case

  17 errors

@trevor-scheer - thanks go ahead and roll back the changes and we can fix them on our side then will bring in your type fix.

Looks like xo version 0.50.0 has some breaking changes that needs to fix and also memcache package needs to get updated to be compliant.
to test the project just download the latest and then do the following:

run yarn
run yarn test:services:start make sure you have docker installed and running
Wait about 30 seconds for all the services to start up
run yarn test -- this will test all the major packages with the current setup including xo lint

@trevor-scheer - this will be released in the next week or so with other updates being tested

Thanks!