How to Open Nav Web Client on another machine within the Network

Good,
I am having the same problem as in the issue https://github.com/Microsoft/nav-docker/issues/226
When trying to solve the same as you advised, I get the following error:
DockerDo : docker: Error response from daemon: failed to create endpoint bc2022 on network nat: failed during hnsCallRawResponse: hnsCall failed in Win32: The process cannot access the file because it is
being used by another process. (0x20).
ExitCode: 125
Commandline: docker run --volume "c:\bcartifacts.cache:c:\dl" --label nav= --env isBcSandbox=N --label version=20.2.41144.41423 --label platform=20.0.41086.41354 --label country=en --env
artifactUrl=https://bcartifacts.azureedge.net/onprem/20.2.41144.41423/en --env licenseFile="c:\run\my\license.flf" --name bc2022 --hostname bc2022 --env auth=NavUserPassword --env username="admin" --env
ExitOnError=N --env locale=es-ES --env databaseServer="" --env databaseInstance="" --volume "C:\ProgramData\BcContainerHelper:C:\ProgramData\BcContainerHelper" --volume
"C:\ProgramData\BcContainerHelper\Extensions\bc2022\my:C:\Run\my" --isolation process --restart unless-stopped --env filesOnly=False --env enableApiServices=Y --env useSSL=N - -volume
"c:\windows\system32\drivers\etc:C:\driversetc" --env securePassword=76492d1116743f0423413b16050a5345MgB8ADcAcwBZAHAAcQAyAHoAegAyAEkAMgBIAHcAZQBZAG4ARABpADcAZQBmAGcAPQA9AHwAOQA3AMACADYAYQADkA5
AYQBiADYAMwA0ADQAZgBkADYAMgAxADIAYgBmADkANQAxADQAYgBkAGUAMABmADAANgA5ADEAZAA5ADAANwA5AGYAMgA1AGUANQA1ADYAMwA2ADcAZQBhADcAZgBjADMANgBiADUAZAA= --env passwordKeyFile="c:\run\my\aes.key" --env
removePasswordKeyFile=Y --publish 8080:8080 --env accept_eula=Y --env accept_outdated=Y --detach mcr.microsoft.com/businesscentral:10.0.17763.2366
In C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\3.0.10\ContainerHandling\New-NavContainer.ps1: 1837 Character: 15

... if (!(DockerDo -accept_eula -accept_outdated:$accept_outdated - ...

  + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
  + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,DockerDo

The docker script is as follows:
$containerName = 'bc2022'
$password = 'P@ssw0rd'
$securePassword = ConvertTo-SecureString -String $password -AsPlainText -Force
$credential = New-Object pscredential 'admin', $securePassword
$auth = 'UserPassword'
$artifactUrl = Get-BcArtifactUrl -type 'OnPrem' -country 'es' -select 'Latest'
$licenseFile = 'C:\Temp\license.flf'
$additionalParameters = @("--publish 8080:8080",
"--publish 80:80",
"--publish 7046-7049:7046-7049",
"--env publicFileSharePort=8080",
"--env PublicDnsName=$containerName",
"--env RemovePasswordKeyFile=N"
)
New-BcContainer     -accept_eula
-containerName $containerName     -credential $credential
-auth $auth     -artifactUrl $artifactUrl
-licenseFile $licenseFile     -additionalParameters $additionalParameters
-updateHosts
could you help me?

It looks like some of the ports are allocated by a different container.
One port can be used by one container only - you can use traefik as a proxy for multiple containers as a workaround to this - or use transparent networking, allowing each container to get an IP address on the host network.
See also: https://github.com/microsoft/navcontainerhelper/issues/2607


Lsp functionality not working inside lua plugins

Hi @folke,
I've been using this plugin and quite enjoying it for developing my plugins. Recently though, i.e. the last good commit that is working for me cf3b028, I have not been getting diagnostics or other lsp functionality inside my lua plugins. I see some changes around a workspace plugin in 681c0fc, which is the commit that broke things for me, though I've not dug in enough to know what happened. My config for the plugins is
lspconfig = {
        settings = {
          Lua = {
            diagnostics = {
              globals = {
                'vim',
                'describe',
                'it',
                'before_each',
                'after_each',
                'pending',
                'teardown',
                'packer_plugins',
              },
            },
            completion = { keywordSnippet = 'Replace', callSnippet = 'Replace' },
          },
        },
      }

I probably broke something related to a new plugin I'm making. I've been traveling for the last two weeks, but I'm planning to do some maintenance on all my plugins tomorrow.

@akinsho I just tested with the latest version without the workspace stuff and everything still seems to work for me as expected.
Can you show the me the exact code you use to set it up?

@folke so my setup is
as.lsp.servers = {
  lua = function()
    return require('lua-dev').setup {
      lspconfig = {
        settings = {
          Lua = {
            diagnostics = {
              globals = {
                'vim',
                'describe',
                'it',
                'before_each',
                'after_each',
                'pending',
                'teardown',
                'packer_plugins',
              },
            },
            completion = { keywordSnippet = 'Replace', callSnippet = 'Replace' },
          },
        },
      },
    }
  end,
}

-- Later on the servers are initialised
  local lspinstall = require 'lspinstall'
  local lspconfig = require 'lspconfig'

  lspinstall.setup()
  local installed = lspinstall.installed_servers()
  local status_capabilities = require('lsp-status').capabilities
  for _, server in pairs(installed) do
    local config = as.lsp.servers[server] and as.lsp.servers[server]() or {}
    config.flags = { debounce_text_changes = 150 }
    config.on_attach = as.lsp.on_attach
    config.capabilities = vim.lsp.protocol.make_client_capabilities()
    config.capabilities.textDocument.completion.completionItem.snippetSupport = true
    config.capabilities.textDocument.completion.completionItem.resolveSupport = {
      properties = {
        'documentation',
        'detail',
        'additionalTextEdits',
      },
    }
    -- as.deep_merge is similar to vim.tbl_deep_extend
    config.capabilities = as.deep_merge(status_capabilities, config.capabilities)
    lspconfig[server].setup(config)
  end

I've included the whole setup just in case there is something relevant here, also note that I install my servers using lspinstall

What does LspInfo say? Is sumneko properly connected?
Could you open a new lua file, add in the below and execute it with :luafile %?
  local ret = {}
  for _, client in pairs(vim.lsp.get_active_clients()) do
    ret[client.name] = { root_dir = client.config.root_dir, settings = client.config.settings }
  end
print(vim.inspect(ret))

I checked at the time and the lsp seemed to be attached since I didn't notice for a while since I was still getting completions. I'm currently on my mac which I don't develop lua stuff, just tried this out on that after adding in lua-dev and the lsp isn't attaching and result is an empty table but it's not the best test since this isn't my normal lua dev environment. FWIW it does connect correctly inside my dotfiles repo though. Seems like it's only working inside directories in my runtime path.
If this isn't helpful Ill redo this test on my dev machine when I get back to it tomorrow

Can't confirm having the same issue, going back to commit https://github.com/folke/lua-dev.nvim/commit/5e6caa92b83a07a516d481593344bed1e6eebd6a worked for me. The behavior was I got no diagnostics on plugin files, but It was working on my init.lua. Also disabling vimruntime in master also makes diagnostics work again.

If you say you get no diagnostics, what do you mean exactly by that?
Does auto completion work?
If I understand correctly, something is broken when you are in a project like ~/projects/foo/lua/bar/init.lua? And you require files there from a vim plugin?

Note to self: diff between last working version and main: https://github.com/folke/lua-dev.nvim/compare/cf3b028043e86e0e659568aede9d0c8273800b3e..main?diff=split

What does LspInfo say? Is sumneko properly connected?
Could you open a new lua file, add in the below and execute it with :luafile %?
  local ret = {}
  for _, client in pairs(vim.lsp.get_active_clients()) do
    ret[client.name] = { root_dir = client.config.root_dir, settings = client.config.settings }
  end
print(vim.inspect(ret))

If anyone can post the result of the above, that would be really helpful.

If I understand correctly, something is broken when you are in a project like ~/projects/foo/lua/bar/init.lua? And you require files there from a vim plugin?

@folke so I have a similar directory setup to this for my local plugins I develop. When I go into those files on my dev machine on the latest commit of lua-dev I get completions from compe (which is why I thought things were still working) but I get zero diagnostics no, signs, no highlights, nothing. The only lsp related functionality that works as far as I could tell was completion.

If anyone can post the result of the above, that would be really helpful.
I'll post the output of this later on today when I get to my dev machine

I was able to reproduce it after upgrading sumneko. 2.2.3 worked fine, but it's broken in 2.3.2.
My changes between the version of lua-dev that worked and no longer worked were to remove the on_new_config where I previously removed the active root from the library.
This was no longer needed, since it worked without that, but it seems for the latest version of sumneko, this breaks diagnostics.
Will work on a fix.

I just pushed a fix for this. Let me know if you would still experience issues.

Seems to be resolved now. Thanks @folke 👍🏿

I confirm it is resolved, Thanks!!


[Bug]: --theme-editor-sync running infinite loop

Please confirm that you have:

[X] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
[X] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?
Theme
Expected behavior
Running shopify theme dev --store --theme-editor-sync should sync once on start.
Actual behavior
Sync gets stuck in an infinite loop:

Verbose output
Sorry, but --verbose runs in an infinite loop when combined with --theme-editor-sync. I'm not exactly sure what to paste here.

Reproduction steps

shopify theme dev --store --theme-editor-sync

Operating System
macOS Sonoma 14.5
Shopify CLI version
3.62.0

+1, same issue after updating to 3.62.0

+1, same

Hi there 👋🏻
It probably has to due with the new trailing comma support. There are 2 solutions at the moment:

Add a comma after the closing curly bracket
Empty the file that is stuck in an infinite loop

This is always happening with the settings_schema.json . If you have this with another file, you most likely have an illegal unicode in your code.

As a note, something really does need to be done about this, because most code editors these days do auto formatting of files, which does not support the trailing comma as its not part of the spec of JSON. This is causing a massive headache of having to manually copy files when making changes, rather than letting the CLI handle those changes

👋 Hey everyone,
Thank you for your input and all the details about this issue. We've released a new version of the Shopify CLI some minutes ago with the fix (3.63.2). Please, if this problem persists, don't hesitate to reach out and share your --verbose output here.
Thanks again for reporting!

Oh no... @karreiro

Ah, awesome, thanks dude!

Oh sweet baby jesus.. Thank you guys!

Oh sweet baby jesus.. Thank you guys!

Same here. We have some stores that are doing this across 100+ template files.
I personally don't think it was ever fully fixed, I still had issues with some .context.json files.
It feels to me as though it's to do with the new JSON comments that are added to the top of the file? Perhaps one side is trying to add them and the other side is trying to remove them? Just a thought.

Same here. We have some stores that are doing this across 100+ template files. I personally don't think it was ever fully fixed, I still had issues with some .context.json files.
It feels to me as though it's to do with the new JSON comments that are added to the top of the file? Perhaps one side is trying to add them and the other side is trying to remove them? Just a thought.

Yeah that could be a plausible solution.
The weird thing is that before 3.67.X everything was working as it should but you're right - I don't think it was fully addressed.
Hopefully @karreiro can shed some light :)

I feel like the CLI is getting worse and worse, unfortunately. Almost every release has a bug that breaks the entire CLI. If not at startup, then a minute later. Hot reload is sometimes executed multiple times and debugging is a hopeless task...
I'm glad we finally don't have to use brew anymore, but the quality of the CLI really needs to go up. Also, developing for multistore is not yet fully optimised unfortunately

I had the same issue with version 3.67.2
Adding a comma to all JSON files solved my problem

Yeah... what the heck? I just came back to my own codebase to make a small change and it is instantly going crazy, endlessly looping over json files. What gives?
Video evidence:
https://www.loom.com/share/71077c75b5d74c829a1bc3badda39fe7

I can't get my --verbose log at the moment @karreiro but this still appears to be happening with the --legacy flag - I have to use due to an issue I've logged here:
https://github.com/Shopify/cli/issues/4548

👋 Hey everyone,
It seems like a platform change has impacted the original fix applied to this issue.
If you're still facing the infinite loop in the most recent version of Shopify CLI, could you please share your --verbose output at https://github.com/Shopify/cli/issues/4537? With that, the team may get extra pointers about the issue you're facing. This issue should be addressed in Shopify CLI 3.67.3, but we want to make sure that everyone is no longer facing it.

I can't get my --verbose log at the moment @karreiro but this still appears to be happening with the --legacy flag

@rcasimmons, the --legacy flag was introduced as a convenient alternative to access the previous implementation of Shopify CLI commands (even with the most updated version of the CLI installed). However, the previous implementation of commands doesn't include recent fixes or features. So, removing the --legacy flag should resolve this issue. If it doesn't, please feel free to report that on https://github.com/Shopify/cli/issues/4537.
Thank you, everyone, for the quick feedback.


More details to the windows build process

Description
Improved documentation for building on windows. Only documentation (single file) is affected.

@yajiedesign

look like good

Please rebase to fix CI

Could you rebase again?
Sorry about the bad CI. It should have been fixed


Files: add more file types to assistants/main

Thank you for contributing to the Cohere Toolkit!

[ ] PR title: "area: description"

Where "area" is whichever of interface, frontend, model, tools, backend, etc. is being modified. Use "docs: ..."  for CI changes.
Example: "deployment: add Azure model option"

[ ] PR message: Delete this entire checklist and replace with

Description: a description of the change
Issue: the issue # it fixes, if applicable
Dependencies: any dependencies required for this change

[ ] Add tests and docs: Please include testing and documentation for your changes

[ ] Lint and test: Run make lint and make run-tests

AI Description

This PR introduces changes related to file handling and dependencies.
Summary
The changes include:

Updates to the poetry.lock file, including a new package et-xmlfile and its dependencies, and a version change for the openpyxl package.
Removal of the FileService class and associated methods from file/service.py.
Modifications to the upload_file function in conversation.py to use the new get_file_content and validate_file_size functions.
Introduction of a new get_files_by_user_id function in file.py for listing files by user ID.
Updates to the get_file_content function in tools/files.py to support multiple file formats, including PDF, Excel, text, and more.
Addition of a new validate_file_size function in services/file.py to check if the file size exceeds the maximum allowed limit.
Updates to test cases in tests/crud/test_file.py to include tests for listing files by user ID.

Details

poetry.lock: The poetry.lock file has been updated to include a new package, et-xmlfile, with its version, description, dependencies, and file hashes. The version of the openpyxl package has also been updated to 3.1.5.
file/service.py: The FileService class and its associated methods, upload_file and delete_file, have been removed from this file.
conversation.py: The upload_file function has been modified to use the new get_file_content and validate_file_size functions. The FileService class is no longer imported, and the file uploading logic has been updated accordingly.
file.py: A new function, get_files_by_user_id, has been added to list all files by a given user ID.
services/file.py: A new function, validate_file_size, has been introduced to check if the file size exceeds the maximum allowed limit. It raises an HTTPException if the file size is too large.
tools/files.py: The get_file_content function has been updated to support multiple file formats, including PDF, Excel, text, and more. The PdfReader import has been removed, and the function now uses the openpyxl package to handle Excel files.
tests/crud/test_file.py: New test cases have been added to test the listing of files by user ID. The test_list_files_by_user_id and test_list_files_by_user_id_empty functions have been introduced to assert the correctness of the get_files_by_user_id function.

Codecov Report
Attention: Patch coverage is 84.84848% with 10 lines in your changes missing coverage. Please review.

Please upload report for BASE (assistants/main@309fe34). Learn more about missing BASE report.

Files
Patch %
Lines

src/backend/services/file.py
80.85%
9 Missing :warning:

src/backend/tools/files.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@                Coverage Diff                 @@
##             assistants/main     #375   +/-   ##
==================================================
  Coverage                   ?   81.65%
==================================================
  Files                      ?      191
  Lines                      ?     7826
  Branches                   ?        0
==================================================
  Hits                       ?     6390
  Misses                     ?     1436
  Partials                   ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat: build.watch_dir can be an array of paths

In projects where:

all the source code isn't in one folder (like a monorepo, or even where the worker has non-standard imports across folders),
we use a custom build, so it's hard to statically determine folders to watch for changes

...we'd like to be able to specify multiple paths for custom builds, (the config build.watch_dir config). This patch enables such behaviour. It now accepts a single path as before, or optionally an array of strings/paths.
Fixes https://github.com/cloudflare/wrangler2/issues/1095

Disable whitespace changes for this review (?w=1)

Is watch_dir available as a CLI argument?

Is watch_dir available as a CLI argument?

Yes, it is. There's --build-watch-path CLI argument.


fix(tooltip): change anchor tag to span

fix(tooltip): change anchor tag to span

:hammer_and_wrench: Type Of Change

[x] Fix
[ ] Feature
[ ] Refactoring
[ ] Documentation

:book: Description
Changed anchor tag on tooltip to a span. I think the real issue was just that it needed to be a display: inline element rather than a display: block element, so no reason for the <a> tag
:bulb: Context
Users were sometimes having a tooltip navigate to the root page when clicked because it was wrapped in an <a> tag. Additionally it is invalid html to have buttons nested within <a> tags which is a very common way to use a tooltip.
:pencil: Checklist

[x] I have reviewed my changes

If I update the the span element with display block I cannot replicate the original issue of corners. 🤔
But if it fixs it as the <a> its okay for me to go with this

I had to test on a circle button. A regular button it is very hard to tell


[UWP Renderer] Simplify header inclusions

Related Issue
N/A
Description
This change simplifies how various headers are included in the AdaptiveCardRenderer project.

Util.h is included in pch.h. If a file already includes pch.h, it is unnecessary to include util.h as well
Only include WholeItemsPanel.h where needed. It was previously included everywhere, due to being included in XamlHelpers.h, which is included in pch.h.
Similarly, only include InputValue.h where needed.
Include AdaptiveRenderContext.h directly in pch.h. It is required many places, and was previously included in pch.h via inclusion in XamlBuilder.h. Including in pch.h instead is clearer.
Removed unnecessary headers from Util.h and XamlBuilder.h. This has a large effect since both are included in pch.h.
Remove imports of AdaptiveCards.Rendering.Uwp.h as it is not needed.

How Verified
Projects build and tests pass.
Microsoft Reviewers: Open in CodeFlow

/azp run ios-ci.yml

/azp list

/azp run ios-ci.yml


alert (email action) when log have any of IP blacklist (.csv)

Hi! so i was wondering on how the csv file of blacklistip.csv (eg) are able to compare with the log.csv and produce action email alert if any of blacklist ip are to be found inside the log? Is it we used the condition in the 'watcher query' to compare or is there any other method ?
Thank you! :)

I'm not sure I understand - is your data already in Elasticsearch or does it reside in a stand-alone csv file?

It is a stand alone csv file

Not sure how we can help, SENTINL is based on Elasticsearch and can only be used if your data IS in Elasticsearch too. I would suggest importing your CSV and proceeding the normal query way.

so if i put my condition in Sentinl watcher query eg dst_port == 25, is Sentinl able to alert through email ? saying port 25 is found

Anything you can do in an Elasticsearch query you can do in SENTINL - they use the same DSL

Alright i'd understand. Thank you :)


Add blog, news-letter, stats, bento-grids, badge

add blog, news-letter, stats, bento-grids and badge components

add dark style, delete unnecessary files


Log when cleaning up test resources

What type of PR is this?

/kind cleanup
What this PR does / why we need it:
I'm digging into an issue that I believe may be related to eventually consistent cleanup, and it's helpful to know when resources are being deleted in the same way we log when they're created.
Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?:

NONE

/ok-to-test

Thanks!
/lgtm
/approve


Add image compression to webpack process

https://github.com/mxstbr/react-boilerplate/issues/489

Coverage remained the same at 98.293% when pulling 9a7967ec57a6784c64dedce7f7f5cc9c316a9e38 on soundsgood-co:image-optimization into 4f831628b8bfbae7598889898dc13938f52e9418 on mxstbr:master.

I open this PR too quickly, documentation is missing. I close it until I add related documentation

Awesome, thanks @Ndpnt!

The way I add this feature, it optimizes images both in development and production mode.
@mxstbr do you think it is a good idea as it allows us to see how images are compressed during our development process and potentially adjust settings or do you think it could slowdown things and it's better to compress images only for production?

do you think it is a good idea as it allows us to see how images are compressed during our development process and potentially adjust settings or do you think it could slowdown things and it's better to compress images only for production?

Hmm, good question actually, would you mind opening a new issue to discuss this?

Yes, I going to do this :)


STDiT adaptation

when I read report_03, I find "Open-Sora 1.2 starts from the PixArt-Σ 2K checkpoint.". I do not understand this quite well. does that mean I need to do the adaptation process using  "--ckpt-path PixArt-sigma checkpoint"  by adapt.py and train.py?  I really wish someone could help me.

@zhengzangw


Warning for AVCaptureSession startRunning on Main Thread

Dear @AmolGangadhare
Describe the bug
I encountered a warning in this barcode package related to the AVCaptureSession startRunning method being called on the main thread. The warning message advises that this method should ideally be called from a background thread to prevent potential UI unresponsiveness. -[AVCaptureSession startRunning] should be called from background thread. Calling it on the main thread can lead to UI unresponsiveness
To Reproduce
1- Integrate the Flutter barcode package into a Flutter application.
2- Utilize the package to initiate a barcode scanning process.
3- Observe the warning message related to AVCaptureSession startRunning being called on the main thread.
Expected behavior
The AVCaptureSession startRunning method should be invoked from a background thread to avoid any potential UI unresponsiveness.
Screenshots

Additional context
Flutter barcode package version: ^2.0.0
iOS version: iOS 17
Xcode version: Xcode 15

Same here.


Fix PowerShell example

In the Tab color section, the examples in PowerShell need to be quoted, otherwise it throws an error.
https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=powershell#tab-color
P.S. Also, in the Color scheme section, the example in PowerShell need to quote ; character between commands.

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

ID: bd211ca4-58c5-fdb6-93c4-75b3ea7aa34f
Version Independent ID: 0d5d0fe3-01ef-66e8-263d-a0a7852ffa7a
Content: Windows Terminal command line arguments
Content Source: TerminalDocs/command-line-arguments.md
Product: dev-environment
Technology: windows-terminal
GitHub Login: @cinnamon-msft
Microsoft Alias: cinnamon

Closing this as we did some major updates to the command prompt customizing tutorial (replacing the powerline tutorial): https://docs.microsoft.com/windows/terminal/tutorials/custom-prompt-setup
Please reopen or let me know if you see any issues with this new method of customizing PowerShell and/or WSL prompts. Thanks for the contribution!


Lots of ANRs (with even more unreported)

The cause seems to be a bad lazy list implementation and waiting on locks:
  at com.codingspezis.android.metalonly.player.utils.FileCache.get (FileCache.kt:63)
- waiting to lock <0x0f071400> (a com.codingspezis.android.metalonly.player.utils.FileCache) held by thread 31

The locking part is very big at https://github.com/ironjan/metal-only/blob/70b204ec114dee92886b7a31a0cb82066652d1c0/app/src/main/kotlin/com/codingspezis/android/metalonly/player/utils/FileCache.kt#L62 - perhaps we can only lock a small part of the method?

Experimental fix released in v0.6.13 - closing for now.


Optimizing user passed "authority" validation in acquireToken() calls

There are multiple flows in the code that handles validating user passed "authority" in acquireToken() calls. This PR:

Optimizes the code
removes duplication of AuthenticationRequestParameters calls made across
Make it more readable.

Existing Unit test cases pass.

@DarylThayil I did not interpolate anything yet, just focused on one functionality. I am working on Config/Request now and pick up the refactoring soon again. The idea of getting in at-least some changes in is to make the code readable.

feel free to ignore some of the stuff not related to this pr like interpolation .

@pkanher617 @manoj-rath Please review the utils added with detail to ensure no case is missed. :). I cross checked and the UT passes but since this touches core logic I can use an extra eye with detail.


No longer compiles due to googletest changes.

Issue: This no longer compiles correctly. Issue is in the imported googletest which is not version-bound. Some changes in this external code have made it incompatible with this repo's makefile/autotools thingamajig.
A test was added that does something to blow up the compiler; specifically this bit of code;
static void StackLowerThanAddress(const void* ptr,
                                  bool* result) GTEST_NO_INLINE_;
// HWAddressSanitizer add a random tag to the MSB of the local variable address,
// making comparison result unpredictable.
GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_
static void StackLowerThanAddress(const void* ptr, bool* result) {
  int dummy;
  *result = (&dummy < ptr);
}

// Make sure AddressSanitizer does not tamper with the stack here.
GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_
GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_
static bool StackGrowsDown() {
  int dummy;
  bool result;
  StackLowerThanAddress(&dummy, &result);
  return result;
}
#  endif  // GTEST_HAS_CLONE

Dummy is filled with the current stack pointer to check that the stack grows downward or upward (i.e. what do the memory addresses do, increase or decrease?). The compiler does not like this uninitialized pointer use when used with default settings including -wError=maybe-unitialized . This option needs to be turned off to compile googletest (and probably results in more errors; i.e. set -Wno-error-maybe-uninitialized). Haven't been able to test any further because autotools is so impenetrably complicated.

Hm this is weird since we use the submodule at a specific commit so it shouldn't suddenly change. How did you initialize the submodule? Can you show the output of git status in the repo?

On ubuntu 22.04 LTS, here's how I fixed it:
wget https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz; \ tar xf release-1.12.1.tar.gz; \ rm -rf libgdiplus-6.1/external/googletest/*; \ cp -rfpd googletest-release-1.12.1/* host-mono/libgdiplus-6.1/external/googletest/

https://github.com/mono/libgdiplus/issues/737
https://gitlab.winehq.org/wine-mono/libgdiplus/-/commit/10f2b16a9ff2731493a721630ae12eaf554eec4c


impl IsUnsignedInteger trait for u8 too

in math/src/unsigned_integer/traits.rs
pub trait IsUnsignedInteger:
    Shr<usize, Output = Self>
    + BitAnd<Output = Self>
    + Eq
    + Ord
    + From<u16>
    + Copy
    + Display
    + Add<Self, Output = Self>
{
}

The From<u16> part prevents the trait from being impl for u8. Why is that? u8 is an unsigned integer too afterall? Can we change it and allow the trait to work with u8 too?
More broadly the trait name does not seem to correlate really well with the traits it requires: Shr, BitAnd, Add. It looks a bit arbitrary.
Also, this trait exists: https://docs.rs/num/latest/num/trait.Unsigned.html

It could be improved a bit. The trait is expected to be used for custom Big Integers implementation. Creating a BigInt for an u8 seems a bit weird, but it's true it could be a improved.  As for the operations it has, they are not arbitrary, they have the ones we need to build finite fields on top of it. More could be added

So it's probably just the choice of name which is misleading. It is more an IsValidForFiniteField trait than an IsUnsignedInteger trait.

can i take on this ?


window object is not typed

The window global is still typed as any. This means you can't get type coverage for window.addEventListener (see #2255) and many other things like window.location, window.history, etc. Many of these work fine when accessed directly as globals, but many people prefer not to do that, e.g. Airbnb's very popular style guide prohibits all the globals in this list to guard against cross-platform surprises, requiring you to access them via e.g. window.location, which Flow types as any despite having a good location type available.
Is there any reason we can't update Flow's global window declaration to something like declare var window: Window; and declare a Window class with all the right props?
I am happy to make a PR, if others think the above is OK in principle.

Related (in case I make a PR): are there any guidelines for how to choose the best syntax/style for typing globals etc? There seem to be multiple approachs in bom.js that may be interchangeable in many cases:
// declare a global type
declare type IntersectionObserverOptions = { /* ... */ };

// declare a global class and a global singleton instance
declare class Location { /* ... */ }
declare var location: Location;

// declare global var with a direct, un-named object type
declare var NodeFilter: { /* ... */ };

// declare interface -- never used in bom.js (why?)

Also would it be good to include [string]: any as a final prop on the window type, to allow for stuff that creates ad hoc globals?

Is there any reason we can't update Flow's global window declaration to something like declare var window: Window; and declare a Window class with all the right props?

Not that I know of.

are there any guidelines for how to choose the best syntax/style for typing globals etc?

The first one doesn't actually declare the existence of a window object, just the type, so you'd still want to declare var window: Window.
The last one is essentially a shortcut for the first one + declaring the var, but I'd suggest against it since it means there's a name for the variable (In this case NodeFilter) but not for the actual type since it's all declared literally.
So it really comes down to:
// Option A
declare type Window = { /* ... */ };
// Option B
declare class Window { /* ... */ }
// + this to actually define the global window object
declare var window: Window;

Now, the difference between these two is that A defines an object type (what you'd get if you made an object literal) while B defines a class which you can have extend things. If you look up the prototype chain for window for example, you'd see it extends EventTarget:

Well, technically it extends WindowProperties. I don't think you have to worry about the WindowProperties superclass, since it doesn't seem to have any own properties really, and I don't really know if it's used anywhere else? So you can probably just extend EventTarget directly. After that EventTarget extends Object, and Object is the superclass for all objects so it extends nothing.
Anyway, EventTarget is defined here:
https://github.com/facebook/flow/blob/1dc257c64e6777f952c44d60229c15da1cb0fa2d/lib/dom.js#L158
So you could declare it window as:
declare class Window extends EventTarget { /* ... */ }
declare var window: Window;

Also would it be good to include [string]: any as a final prop on the window type, to allow for stuff that creates ad hoc globals?

Yes.

I think Flow shouldn't include types for window or there should be some config with environmental libdefs

What about creating a dom.js or window.js which could be provided via https://github.com/flow-typed/flow-typed - at least as an interim until deemed solid enough for inclusion in Flow itself?

Just ran into myself, and it was fairly unexpected.
I imagine the reason that window is any-typed has to be related to the fact that any newly created globals get added to window automatically. This would certainly prove difficult to type correctly with flow. Whether or not any is the best solution is certainly debatable.
I'll note that this seems to be much less of an issue in Typescript, as the Window interface over there can just be re-opened and have properties added to it at any point, and flow doesn't really have any corresponding functionality.

This would be great to have. I think we haven't yet heard from a member of the Flow team in this thread, so quoting here the encouraging words of one of them (@nmote) on a Stack Overflow answer a couple of years ago:

It doesn't look like there is any particular reason, just that it hasn't yet been given a better type. You can see in the DOM libdef file that it is declared as returning any, and that line hasn't been touched in over four years.
This would be an easy first PR, if you are interested in improving it.

I imagine the reason that window is any-typed has to be related to the fact that any newly created globals get added to window automatically. This would certainly prove difficult to type correctly with flow. Whether or not any is the best solution is certainly debatable.

I think this can be handled with the following idea from the OP:

Also would it be good to include [string]: any as a final prop on the window type, to allow for stuff that creates ad hoc globals?

Here's a quick try-flow demonstrating that that works.
That still wouldn't get you specific type-checking on any newly created globals you add -- but you don't have that today with window: any, so it's still purely an improvement.

That makes sense. I may do some work on this over the next week if nobody else wants to.


Review and test PR in IIS

https://github.com/MicrosoftDocs/iis-docs/pull/1054

Associated WorkItem - 261932

completed


[Suggestion] Remaining for "Finishing Touches" Achievement

If possible, it would be a nice feature to add a list which contains all still required enemies for the "Finishing Touches" achievement.

agree, i hope this feature is available:)

I'm planning to add support for a few achievements (including Finishing Touches) in the next update, which will hopefully come out this weekend if I have enough free time :)

Sadly I can't test it because I luckily got the achievement yesterday but thanks for the tool nonetheless

Yeah it had a few mistakes in it as expected, but it should hopefully be working now. Still can't test it though lol


CSS

CSS
User story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

Above requirements have been met


DBZ-5950 Move common code in Cassandra connector core module

@jpechane @smiklosovic Hi and happy new year! When you have the time, please review this. It is needed for the datastax connector. Thanks

@ggaborg this is a great initiative but ...
If you look at this (1), core currently depends on cassandra-3.11. The thing is, and I had this in my mind for a long time, core should not depend on anything Cassandra-related. core should be totally generic. Think about that, currently, we are depending, in runtime, on what is in 3.11. I do no think that is safe. What if there is some breaking change in 4.x which will not work in runtime with 3.11 API anymore? I think it is only matter of time until we hit that issue.
So what you did is definitely a good thing. But we might probably go one step further here and investigate what it would take to get rid of that dependency completely.
(1) https://github.com/debezium/debezium-connector-cassandra/blob/main/core/pom.xml#L17-L23

@smiklosovic @jpechane cassandra lib dependency from core module is removed now

great stuff @ggaborg , I will review this in very near future.

@ggaborg I opened this PR (1) against your branch with some cleanup. I think if you merge that it will be automatically reflected here. Also, could you please rebase on top of the current upstream's main?
(1) https://github.com/ggaborg/debezium-connector-cassandra/pull/1

@ggaborg could you please also squash it into one commit?

@ggaborg Please no merge commits in the PR

@ggaborg Please no merge commits in the PR

yep, that is why I ask for a squash.

@jpechane @smiklosovic Hi, can this be merged? Thanks!

It looks good to me, I ll leave the pleasure of pushing the button to @jpechane, maybe he wants to take a quick look too?

Rubberstamped and applied :-). @ggaborg Thanks a lot!


Update input collection property in Rule

Is it possible to update the property of input data in Rules JSON?
For example.
I have an Official object which have a DomainRole property. And List of Official is passed as input to workflow.
Official Model

Input data

Is it possible to update the input collection property in Rule JSON as below and read the updated value back in calling method (in C#)?
Rule

Ignore


Trying to connect to Hero+LCD but http://bacpac/sd webrequest does not return

First off, let me say that your library is really neat, thank you.
I can go to http://bacpac/sd in a browser and I get back a file that downloads.  However the the first WebRequest to the camera hangs.   Is there a tip you might give me to help debug this?
Thank you for any help.
Brett

Hi Brett
thanks and sorry for the late answer
I believe Hero+LCD protocol is based on Hero4 series, at this point the library only supports Hero2/3/3+ cameras, unfortunately I don't own any of the Hero4 series cameras, hence I couldn't add support for the new protocol.
one alternative would be Denis Carriere's nice [library for Hero4 cameras] which(https://github.com/DenisCarriere/gopro) is written in python.
Best regards

Thank you so much for the info, I will try it out.


CMD: Compose list format

Change the table to have a better format, so reading the list of compose
is a bit easier:
This is the new output:
$ -> go run cmd/composer-cli/main.go compose list
ID                                     Status     Blueprint              Version   Type
74e05ff2-35d5-46e2-97d4-a8b363d70eb0   FINISHED   Edge                   0.0.1     fedora-iot-container
d6c92d53-1ced-4062-b210-fadfe4fc2730   FINISHED   Edge                   0.0.1     fedora-iot-container
eef99add-7d25-449c-b3d2-db9d1c1e52de   FINISHED   simplified_installer   0.0.6     fedora-iot-installer
22607cf1-f261-4c88-8359-f24f30f5380a   FAILED     Edge                   0.0.2     fedora-iot-container
$ ->

And this is the previous output:
$ -> composer-cli compose list
74e05ff2-35d5-46e2-97d4-a8b363d70eb0 FINISHED Edge 0.0.1 fedora-iot-container
d6c92d53-1ced-4062-b210-fadfe4fc2730 FINISHED Edge 0.0.1 fedora-iot-container
eef99add-7d25-449c-b3d2-db9d1c1e52de FINISHED simplified_installer 0.0.6 fedora-iot-installer
22607cf1-f261-4c88-8359-f24f30f5380a FAILED Edge 0.0.2 fedora-iot-container
$ ->

Signed-off-by: Eloy Coto<EMAIL_ADDRESS>

@bcl done :-)

Thanks. Next thing is to fix the tests. You can run them locally with 'make test'

Thanks. Next thing is to fix the tests. You can run them locally with 'make test'

Totally forgot on the status, sorry! fixed!


Create the world for the program window

The world (where the ants, food, etc. are shown) should appear in the initialized screen (GUI).
Can / should be the same size as the program-window.

So we don't have a world.py file with the world class, but the world should just be the screen initialized by the GUI class? Did i get this correctly?

The world-class will be created today. 😅


[Feature Request] Support PinballX

The services accessing Popper are quite good encapsulated.
Let's open the Studio for other frontends like PinballX.

I hope optimizing VPS for Popper and for VPX non-front-end users is your main focus. Looking into PinballX, PinballY, and Popper about 1.5 yrs ago showed me that Popper's user base is -at least- 10x the other two combined. I suspect its really more like 25x.

Based on a quick poll on Discord I would guess the same.
Since I do/will use Popper on my cabinet, it is still the main focus for me.
But even if there are not a lot of PinballX users, the separation will improve the overall architecture.

Delivered with 3.0.0


[DO NOT MERGE] - K8S Conversion to using Replica Sets

What?
Changes to the k8s scheduler to use replica sets as the mechanism for deployment of topology containers
Why?
Using pods (previous version) wasn't fault tolerant when k8s nodes would fail.

Still a work in progress as there is a bug in the update function -- not quite sure of the source of the bug, as it's not related to the scheduler. This bug is preventing me from testing the update functionality, however.

@jrcrawfo What is the symptoms of the bug? Does it exist in master as well?

@srkukarni i can look against master later, but here's the exception i was getting:
com.twitter.heron.spi.packing.PackingException: Could not initialize containers using existing packing plan
        at com.twitter.heron.packing.builder.PackingPlanBuilder.initContainers(PackingPlanBuilder.java:259)
        at com.twitter.heron.packing.builder.PackingPlanBuilder.addInstance(PackingPlanBuilder.java:153)
        at com.twitter.heron.packing.builder.PackingPlanBuilder.addInstance(PackingPlanBuilder.java:141)
        at com.twitter.heron.packing.binpacking.FirstFitDecreasingPacking.placeFFDInstance(FirstFitDecreasingPacking.java:312)
        at com.twitter.heron.packing.binpacking.FirstFitDecreasingPacking.assignInstancesToContainers(FirstFitDecreasingPacking.java:265)
        at com.twitter.heron.packing.binpacking.FirstFitDecreasingPacking.getFFDAllocation(FirstFitDecreasingPacking.java:246)
        at com.twitter.heron.packing.binpacking.FirstFitDecreasingPacking.repack(FirstFitDecreasingPacking.java:180)
        at com.twitter.heron.scheduler.RuntimeManagerRunner.buildNewPackingPlan(RuntimeManagerRunner.java:303)
        at com.twitter.heron.scheduler.RuntimeManagerRunner.updateTopologyHandler(RuntimeManagerRunner.java:182)
        at com.twitter.heron.scheduler.RuntimeManagerRunner.call(RuntimeManagerRunner.java:81)
        at com.twitter.heron.scheduler.RuntimeManagerMain.callRuntimeManagerRunner(RuntimeManagerMain.java:448)
        at com.twitter.heron.scheduler.RuntimeManagerMain.manageTopology(RuntimeManagerMain.java:396)
        at com.twitter.heron.scheduler.RuntimeManagerMain.main(RuntimeManagerMain.java:317)
Caused by: com.twitter.heron.packing.ResourceExceededException: Insufficient container resources to add instancePlan {component-name: exclaim1, task-id: 4, component-index: 3, instance-resource: {cpu: 1.000000, ram: ByteAmount{256 MB (268435456 bytes)}, disk: ByteAmount{1 GB<PHONE_NUMBER> bytes)}}} to container {containerId=2, instances=[{component-name: exclaim1, task-id: 2, component-index: 1, instance-resource: {cpu: 1.000000, ram: ByteAmount{256 MB (268435456 bytes)}, disk: ByteAmount{1 GB<PHONE_NUMBER> bytes)}}}], capacity={cpu: 1.000000, ram: ByteAmount{3 GB<PHONE_NUMBER> bytes)}, disk: ByteAmount{3 GB<PHONE_NUMBER> bytes)}}, paddingPercentage=10}[2017-10-18 09:49:32 -0400] [ERROR]: Could not initialize containers using existing packing plan

        at com.twitter.heron.packing.builder.PackingPlanBuilder.getContainers(PackingPlanBuilder.java:392)
[2017-10-18 09:49:32 -0400] [ERROR]: Failed to update topology: exclamationtopology
[2017-10-18 09:49:32 -0400] [DEBUG]: Elapsed time: 8.798s.

Was using the heron.class.repacking.algorithm:  com.twitter.heron.packing.binpacking.FirstFitDecreasingPacking repacking class

@cckellogg Might be related to the same issue that you are looking into

This is different. The issue I was seeing earlier was with the RoundRobinPackingPlan. It would be helpful to have a better to have more meaningful error message.

What about using stateful sets instead? We would only have to make one rest call to start the topology then. Also, pods will have a predictable name too. The trick is to find the ordinal for the pod and then we can use that as the shard?

@cckellogg i personally wouldn’t recommend using a stateful set, as it’s beta in the newest version (1.8 not available on google compute engine yet either). I'm also not sure you'd be able to get away with making one rest call, as every heron instance (pod) has a different command line argument. Keep in mind the specs that work for kubectl commands don't necessarily translate to API commands as well. kubectl does a lot of work itself making multiple API calls to get things deployed even it is just one command using kubectl

We have been using stateful sets for zookeeper for a while so I'm not concerned with the beta part. Also, replicasets are in beta too. What i like about the stateful sets is that it groups everything together (with replica sets we would have to create one for each container/pod) and they provides a predictable name for the pod. The only thing that changes in the heron command currently is the shard-id right?
Stateful sets will give each pod an ordinal and if one of those pods does down it will restart with the same ordinal.
Thoughts?

@jrcrawfo is this patch ready with the replica sets?

Closing this merge request because Heron is now using Kubernetes StatefulSets

Closing this merge request because Heron is now using Kubernetes StatefulSets


Make channel "Absperrung" and "Profil" writable

Some values can be sent and set to the device, e.g. to open/close the valve or to set the current profile.
The Safe-Tec syntax is:
http://ip-address:5333/safe-tec/set/ab/1 for open and
http://ip-address:5333/safe-tec/set/ab/2 for close the valve.
The active profile can be set using
http://ip-address:5333/safe-tec/set/prf/1 for profile 1 etc.
Right now the objects are Read-Only, maybe you can implement writing to them, too.
I'm already using this function to automatically set a day/night profile and to open/close the main valve by blockly and sending http-requests, but it would be nice to have it implemented directly into the adapter.

added in release v0.1.5


What about transfers that exceed 1gb?

As the documentation states, UploadFS needs ArrayBuffer as a data input.
Uploading a large file using that method freezes the browser as it has to parse all of the binary data into a string before it can send it to the server.
Is there a way of directly sending the binary blob through the server?

Hi @verrochio, I tried to upload files of hundred MB on localhost only and it works, however I haven't tested GB files.. but I understand the problem. I currently don't really have the time to work on this issue, but for sure it's on the todo list for improvements.
I haven't look yet if it's possible to do a stream like reading on the browser, but it will mostly depends of the HTML5 File API limits.

I also have this problem. I tried to upload a 3GB video and realized ArrayBuffer could not manage the work. Is there a way to send the data using other method?

Hi @KaizenCris, currently there's no other solution, UFS uses Meteor's methods to upload file content in small parts to not block the browser.
I will try to use the file.slice() method I just found, maybe it will solve this problem.
http://stackoverflow.com/questions/18586839/read-file-stream-using-javascript-in-web-browser

@KaizenCris & @verrochio please update your UFS package and try again with large files.
I've released the version 0.6.0 (https://github.com/jalik/jalik-ufs/commit/dba87a0edc847474d56a422bedfacfe88a7c596e) that should solve this problem, I did some tests with a file of 4.3GB and it worked well, but took about 30 minutes with the settings I've defined.

@KaizenCris, @jalik Karl, although you are doing an awesome job with UFS converting files to strings inside the browser is not always a good solution. This is what I ended up doing, maybe it helps someone.

use whatever js upload script on the client side i used dropzone.js
serverside use a "serverside router" (Picker) to create an endpoint for your upload
serverside use "multer" to handle uploads for nodejs
after download completes (uploaded to s3 in my case) store the location and name, size etc in a collection in the database.

here's a pastebin for my serverside route
http://pastebin.com/QdeENu1Q
If  you also need the client side, i will gladly help.

@verrochio, it would be a great help if you had the client code. =)
Thanks!

@jalik I just tried 0.6.0 It works perfect! I'll be using the code today so I'll tell you if I find something else =)

@verrochio I completely agree with you, when I started UploadFS, I used Meteor methods (websocket) because it was the quickest and easiest way to do the job (that's what I was thinking at the moment).
However I quickly noticed that it was poor in term of performances, that's why I ended up to the same conclusion as you, using standard HTTP POST/PUT transfers. Hopefully I designed the API with enough abstraction and flexibility to change/improve the code without breaking user's apps.
I did some tests yesterday and it's really faster than the current algorithm, but I still need to adapt the security pattern because it's completely different (userId is not available with POST, it is with methods).
I am planning to release that improvement in the next release 0.6.1 as soon as possible.
I've created the #45 issue for this improvement.
Thank you for your feedbacks @verrochio, @KaizenCris


Call sortable callback too in render, outside of handleSort()

https://forum.nette.org/cs/25444-ublaboo-datagrid-mocny-rychly-rozsiritelny-hezky-anglicky-dokumentovany-datagrid?p=6#p173872

I put the functionality to the DataGrid::findSessionFilters() method. Even though it's called FindSessionFilters, it basically finds all session stuff..
Thanks.

Thanks ;)


Allow encoded spaces in url path

App version: 5.21.2 (via F-Droid)
When opening a link (in a new tab, or typing the URL in manually) which has search/X%20Y at the end, the page will open as a DDG search (with the URL Decode IA showing) rather than on the expected webpage.
For example, the search http://foo.com/search/bar%20baz displays as a DDG search, but http://foo.com/search/bar loads the expected webpage.

This is now fixed and will be available in the next release. Thanks @GuiltyDolphin and @donfuxx.


WIP: Fix problems and TODOs of tutorials with Literate.jl

This PR will fix some problem and TODOs of the tutorial version which is already merged to dev.

(1) Redefining the module still leads to the Warning at the end of the code summary. Right now, I don't see any easy way to fix this, except don't run the summary. But that's no nice solution as well.
(2) Right now, the notebooks are not deployed automatically, because notebook_dir is not included to the source folder of Documenter. I would suggest moving the notebook folder to docs/src.
Except there is another way to deploy the notebooks, especially if we only want to update them once a week(?) later on?

(1) Redefining the module still leads to the Warning at the end of the code summary. Right now, I don't see any easy way to fix this, except don't run the summary. But that's no nice solution as well.

After thinking more about it, I prefer the following solutions.

Remove the modules in the first parts completely. This resolve the problem reported in #851.
Keep the modules only in the summary part at the end and briefly mention that it's good practice to do so since that allows you to redefine structs inside the module and re-evaluating it while developing new stuff.

If you do this, please add a line Closes #851 to the opening post of this PR.

(2) Right now, the notebooks are not deployed automatically, because notebook_dir is not included to the source folder of Documenter. I would suggest moving the notebook folder to docs/src.
Except there is another way to deploy the notebooks, especially if we only want to update them once a week(?) later on?

If we want to deploy them later on, we would need to push them somewhere else. What was the constraint on mybinder caching the stuff - no changes in the branch or no changes in the repository?
Currently, I think the long-term solution would be to push the generated notebooks to another branch (mimicking gh-pages etc.) or to another repository using a GitHub action. To make it work for now, you can use Documenter's deploying and move the notebooks as you suggested.

What was the constraint on mybinder caching the stuff - no changes in the branch or no changes in the repository?

No changes to the branch.

Do you think this PR is basically finished from your side or do you plan to add more stuff here and just want to get a first feedback? If it's the second case, could you please remove the WIP:  from the title and the draft status of this PR?

I think once the open topics are resolved, the PR is ready for the next merge, and we don't need to add more stuff. Then and after I updated the text in the HOHQMesh tutorial, I will remove WIP status.


[HDInsight] Adding Swagger-generated SDK and tests

Description

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] I have read the contribution guidelines.
[ ] The pull request does not introduce breaking changes.

General Guidelines

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[ ] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[ ] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
[ ] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

Thanks for the tip. The tests have been fixed.

@wawon-msft the comments have not been addressed in a week. Will close this PR for now, once you have it addressed you can always reopen the same PR or if you feel you can open a new PR with the changes.

@shahabhijeet Sorry for the inactivity, I'll open a new pull request.


fix: switch from deprecated apis

Use the maybe version to get an int32 value.
Use Nan::Utf8String for a consistent way to get a string value across
node versions.
Fixes build errors with node version 12.
fixes #17

References:

https://github.com/bcoin-org/bcrypto/issues/7
https://github.com/nodejs/nan/blob/master/doc/v8_misc.md#api_nan_utf8_string


Added flash-cache CRUD operations

Added flash-cache CRUD operations

Abandoning this as it was merged automatically by gerrit


Create uk.json

Added Ukraine locale

Wil merge this for now. Would be great if you could submit another PR with full translation.


Unit Test code for repo and task: #1

Unity test for repo_test.go and task_test.go (1st attempt).

@oliveiradan are you running go test locally in the datastore/bolt directory? I see compiler errors:
./repo_test.go:5: imported and not used: "github.com/drone/drone/common/sshutil"
./repo_test.go:38: undefined: os
./repo_test.go:42: cannot use testRepo (type string) as type *common.Repo in argument to db.SetRepo
./repo_test.go:48: undefined: tesRepo
./repo_test.go:54: g.Assert(repos).NotEqual undefined (type *goblin.Assertion has no field or method NotEqual)
./repo_test.go:84: cannot use testUser (type string) as type *common.User in argument to db.SetRepoNotExists
./repo_test.go:84: cannot use testRepo (type string) as type *common.Repo in argument to db.SetRepoNotExists
./repo_test.go:85: g.Assert(err).NotEqual undefined (type *goblin.Assertion has no field or method NotEqual)
./repo_test.go:86: undefined: ErrConflict
./repo_test.go:90: cannot use testUser (type string) as type *common.User in argument to db.SetRepoNotExists
./repo_test.go:90: too many errors
FAIL	github.com/drone/drone/datastore/bolt [build failed]

Also, I'm not sure the tests will pass as written. For example the below test attempts to get a repository, however, a repository has not been inserted into the database.
		g.It("Should get Repo", func() {
			repo, err := db.Repo(testRepo)
			g.Assert(repo).Equal(tesRepo)
			g.Assert(err).Equal(nil)
		})

Notice in the user_test.go file we insert the user first, and then we get the user, and then we verify the fields match what were inserted:
		g.It("Should find", func() {
			db.SetUserNotExists(&common.User{Login: "octocat"})
			user, err := db.User("octocat")
			g.Assert(err).Equal(nil)
			g.Assert(user.Login).Equal("octocat")
		})

Also, the PR still includes files from master. It looks like you pulled down some recent changes from master. If you see the changelog in this pull requests, there are 6 commits that came from master:

Those commits were only intended for master and should not be merged into the bolt branch. These files should therefore not be pushed:

shared/build/buildfile/buildfile_test.go
shared/build/buildfile/buildfile.go
remote/github/helper.go

@bradrydzewski Thanks for taking the time to help fixing my dev. environment.
I think we are in a better shape now and both of the unity tests were rewritten.
doliveira@doliveira-opensuse-dev10:~/go/src/github.com/drone/drone> clear; date; make test
Mon Apr 20 15:19:14 MDT 2015
go vet ./...
go test -cover -short ./...
?       github.com/drone/drone  [no test files]
?       github.com/drone/drone/builder  [no test files]
?       github.com/drone/drone/builder/docker   [no test files]
?       github.com/drone/drone/builder/pool     [no test files]
?       github.com/drone/drone/common   [no test files]
?       github.com/drone/drone/common/ccmenu    [no test files]
?       github.com/drone/drone/common/httputil  [no test files]
?       github.com/drone/drone/common/oauth2    [no test files]
?       github.com/drone/drone/common/sshutil   [no test files]
?       github.com/drone/drone/datastore        [no test files]
ok      github.com/drone/drone/datastore/bolt   10.966s coverage: 72.6% of statements
?       github.com/drone/drone/datastore/rpc    [no test files]
?       github.com/drone/drone/eventbus [no test files]
ok      github.com/drone/drone/parser   0.002s  coverage: 67.5% of statements
ok      github.com/drone/drone/parser/inject    0.002s  coverage: 100.0% of statements
ok      github.com/drone/drone/parser/matrix    0.002s  coverage: 68.6% of statements
?       github.com/drone/drone/remote   [no test files]
?       github.com/drone/drone/remote/client    [no test files]
?       github.com/drone/drone/remote/github    [no test files]
?       github.com/drone/drone/server   [no test files]
?       github.com/drone/drone/server/session   [no test files]
?       github.com/drone/drone/settings [no test files]
doliveira@doliveira-opensuse-dev10:~/go/src/github.com/drone/drone>

cool. Let's close this pull request (since it was from your old fork) and then you can re-open a fresh pull request. Sound good?

yep. Thanks again!


Exclude unnecessary files from git archive

Hello,
Could it be considered to add export-ignore  to files not required for production when installing or requiring this package to composer?
Example of these are:

tests
docs

phpunit.xml.dist
.travis.yml
CHANGES
README

Thank you.

i++;

Already discussed (on some of my other projects) and rejected. See the discussion in symfony/symfony#17749 for instance.


Suggestion: create an "implemented" directory

It is difficult to determine which specs have been implemented and which have yet to be picked up. I think we should create an implemented directory, or something similar, to store all the specs that have been full-filled.

Seems like a good idea


Add Turbo logging

Purpose
When troubleshooting Turbo, sometimes it's helpful to see the events happening on the client side in addition to reading the server logs. This adds logging for some of the most common events, with messages tailored for troubleshooting/visibility.
Approach
Borrowed from here

@lcampanari Are you going to be able to look at this?

@lcampanari Are you going to be able to look at this?

Hey, sorry for the delay. Yes, I'll look at it shortly. Thanks for the patience.


Trust Forwarded headers from the peer socket for PROXY Protocol connection

What does this PR do?
When the PROXY Protocol is enabled, and the PROXY Header is sent, the XForwarded  only sees the remote address contained on the PROXY Header since the go-proxyproto.Listener has already modified the connection (technically it just wraps it) in the TCP layer.
This means, that the  XForwarded cannot determined if the remote proxy (the server connection to Traefik) is allowed to forward headers.
This PR makes the XForwarded aware of the PROXY Protocol. When a new HTTP connection is established, the IP of the proxy is added to the request context.

Motivation

Fixes 9757
More

[ ] Added/updated tests
[ ] Added/updated documentation

Additional Notes
Co-authored-by: Kevin Pollet<EMAIL_ADDRESS>Co-authored-by: Romain<EMAIL_ADDRESS>

Hi guys!
Can we get this merged?

Hello @andsarr and sorry for the delay,
We reviewed this pull request and we think that another approach could work, avoiding the type unwrapping in an infinite for-loop.
The idea is to change the writeCloserWrapper implementation to override the RemoteAddr method. The overridden RemoteAddr method could then return a custom struct allowing to retrieve the previous hop IP.
Thus in the ConnContext function calling the RemoteAddr method on the net.Conn would return the custom Addr implementation, allowing to assert that we are in a proxyproto context and to fill the request context with the right IP.
As a side note, using net.SplitHostPort is necessary to remove the port in returned Addr.
WDYT?

Hi @kevinpollet
Please do the changes!

@andsarr @peterkappelt @yongzhang
We have reworked the PR and added adaptive behavior for the X-Forwarded-For header on the reverse proxy side.
With the changes, the IP that matches the trustedIPs configuration is the IP added to the X-Forwarded-For header, whether it is the "original" IP provided by the PROXY protocol or the peer socket IP.
So it is up to the trustedIPs configuration to control whether to use the peer socket IP or the IP provided by the PROXY protocol.
We would like to get your feedback on this.
We are still unsure if this solution won't break something and want to give it some time to think about.

Looks good to me!


Build intellij aspect in the container

Hello!
I'm trying to build target from the IDE on a mac OSx, with bazel running inside a local docker container. similar to this use case: https://github.com/bazelbuild/intellij/issues/397 .
Instead of using the --override_repository=intellij_aspect way, I'd like to download it and build it in the container by using the http_archive() in root WORKSPACE. Any idea how can I achieve this goal?

I think you will need to update the flags specified in AspectStrategyBazel class to use another aspect and not add --override_repository=intellij_aspect.


Cleanup process directory after process exits.

Whenever a new process is started inside a container we create a temporary directory for
that process at path /run/gcsrunc/<container-id>/<pid> to store some process related
information. However, the v2 workflow of execProcess didn't cleanup these directories when
the process exited. This can cause the tmpfs mounted at the /run to get full for long
running containers. This change adds the change for cleaning up the directories after
process exits.

Yeah. Right now if you start a container and run some processes inside that container you will see directories with the name as the pid of those processes inside run/gcsrunc/<container-id>. With this change those directories will immediately be cleaned up when the process exits. I verified by rebuilding gcs.


Format misorders variadic/exported operators

This is valid just:
recipe +$f:
    echo "v"

But if you run this through the --fmt formatter, it changes this:
$ just --unstable --fmt --justfile test.just
Wrote justfile to `/tmp/test.just`
$ cat test.just
recipe $+f:
    echo "v"

And when you try to run that, just complains:
just --list --justfile test.just
error: Expected identifier, but found '+'
  |
1 | recipe $+f:
  |         ^

Nice catch! Fixed in #1451.

Talk about a quick fix! Thanks. 😄


TTransport.TTransportException: TSocket read 0 byte for Thrift Hive metastore

Objective: Extract metadata from Hive Tables
Connection Script:  amundsendatabuilder/example/dags/hive_sample_dag.py
Hive Connection String : "hive://10.x.x.x:9083"
SUPPORTED_HIVE_SCHEMAS =['default']
HIVE Version
Cloudera CDH-6.1.1-1
hive-common-2.1.1-cdh6.1.1.jar
Python 3.7
hive-site.xml
hive.server2.authentication = NONE
hive.metastore.uris = thrift://10.x.x.x:9083
hive.server2.transport.mode = binary
Expected Behavior
Read metadata from Hive and ingest in Neo4j and Elastic search
Current Behavior
Error: thrift.transport.TTransport.TTransportException: TSocket read 0 byte

(Pls excuse for bad image)
I have taken latest version of amundsen code.

@vikalpmullick Please post on #troubleshoot slack channel. Might be good to post exception trace as text there.

the connection string should be the sqlchemy string for the hive metastore.

@feng-tao sounds like a doc or example clarification might help. Seems several have stumbled on it.

@feng-tao @jornh Could you pls give me an example for it, or let me know wht am i missing on here?

I’m not using Hive myself. So found a previous thread on Slack.
Source: https://amundsenworkspace.slack.com/archives/CGFBVT23V/p1567015023009900?thread_ts=1565830431.396400&channel=CGFBVT23V&message_ts=1567015023.009900
So I guess for Derby you’d have to use a Sqlalchemy connection string starting with derby://... not hive://... as you said you’re currently trying to use.
Not sure if there are any other differences for Derby. Recently some issues in this repo and PRs in the databuilder repo have been going around.

Also to repeat my own comment from that old Slack thread:

Thanks also @Jin (Lyft) but the README use example only explains how to call the Extractors API, not which driver it is using, neither does the example DAG really reveal it: https://github.com/lyft/amundsendatabuilder/blob/v1.4.0/example/dags/sample_dag.py#L58-L60

Let alone that either the README or the sample code could give sample connection strings. But I’ll leave that to you as I could add stuff there but I think it’s better to have it contributed by someone who has actually tested it out themselves. 🙂

@Alagappan @jornh i am not able to access the above slack channel? Pls let me know hoe to check it. Is it an invite based channel<EMAIL_ADDRESS>

No it's in the public #amundsen channel. But it's a 11-12 month old thread now.
Find icon link to join Amundsen Slack in the README.md in this repo.
And ... main message for you to try first is probably:

So I guess for Derby you’d have to use a Sqlalchemy connection string starting with derby://... not hive://... as you said you’re currently trying to use.

as I said above.

Related PR: https://github.com/lyft/amundsendatabuilder/pull/312
Related issue: #552

@vikalpmullick any news on your end here? The PR #552 got merged and should be part of databuilder 3.0.0.

close it now. Feel free to reopen if the issue persists.


No Makefile

I was trying to build voxelsdk from source (https://github.com/3dtof/voxelsdk/wiki/Build-from-source-on-Linux#build-from-source), but was not able to run the tast command of the list:
cd voxel-sdk
mkdir build
cd build
export CMAKE_PREFIX_PATH=$PWD:$CMAKE_PREFIX_PATH
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j2

When I am trying to run make -j2 - I get an error:
make: *** No targets specified and no makefile found.  Stop.

I've inspected all the directories in the build folder but there is no Makefile also. Did the installation process changed?

The makefiles should get generated when you run the cmake step just before calling make. Are you sure that step ran without errors?
From: Yury Kaliada
Sent: Sunday, April 3, 2016 19:48
To: 3dtof/voxelsdk
Reply To: 3dtof/voxelsdk
Subject: [3dtof/voxelsdk] No Makefile (#69)
I was trying to build voxelsdk from source (https://github.com/3dtof/voxelsdk/wiki/Build-from-source-on-Linux#build-from-source), but was not able to run the tast command of the list:
cd voxel-sdk
mkdir build
cd build
export CMAKE_PREFIX_PATH=$PWD:$CMAKE_PREFIX_PATH
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j2
When I am trying to run make -j2 - I get an error:
make: *** No targets specified and no makefile found.  Stop.
I've inspected all the directories in the build folder but there is no Makefile also. Did the installation process changed?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHubhttps://github.com/3dtof/voxelsdk/issues/69

Yes, you are totally right. Sorry, closing the issue.


Testing with Travis 2

What Changed

Added tests for Rails Ansible playbook

Why

I kept breaking tape so I've written a Dockerfile that sets up a container and runs tape inside it against a vanilla rails app

It looks like a lot of the files in this PR are a copy of vanilla-rails-app. Is that intentional? Do we want to include vanilla-rails-app in tape's source?

@dkniffin I think I do for testing purposes. I've been using that vanilla rails app on github tho so I guess I could just clone that down instead of including it in source. What do you think?

I think it should be cloned down for the tests, because it's not really part of tape. Also, if you include it, it'll get downloaded every time someone does gem install taperole


CI is broken so PRs cannot go through

The error seems the same across multiple PRs:
#!/bin/bash -eo pipefail
yarn install
yarn install v1.7.0
...elided...
[5/5] Building fresh packages...
error /home/circleci/project/node_modules/sharp: Command failed.
Exit code: 1
Command: node-gyp rebuild

Yeah. Can you look into what’s happening there?

Thanks!

This is happening again.

Is it possible to upgrade yarn on Netlify? It looks like it's on 0.18 which may be related.

I want to merge #923, but the Netlify build failed, which seems related. Do I need to wait for a fix here before doing so?

Umm... well hard to say if it will build correctly if merged. Probably not...
Do we need the Sharp plugin? It optimizes images and as far as I can tell there are only a few in use, mostly in super old blogposts.

Hmmm and in the a11y doc.
The PR above is adding a few gifs for explanation.

Definitely try upgrading Yarn on Netlify https://www.netlify.com/docs/build-settings/#build-environment-variables

Removing gatsby-plugin-sharp will break the site build. Upgrading Yarn should fix installing it.

Seems to be building ok on my fork when I set the YARN_VERSION env var to 1.7.0
https://app.netlify.com/sites/awesome-lamport-bc682b/deploys/5b45ad80792f897a0375023e

Stupid question time. Is there a way I can easily redeploy my PR to on Netlify to check? Or do I need to push a change?

you could make a new branch off the old one and open a PR

Thanks!
But should this be fixed now? I saw your PR still unmerged though. I'm happy to wait if changes are still pending.

it's not fixed - I think Kyle is right and changing the settings in Netflify to upgrade yarn is the real solution; anything in my PR is incidental

Sure, plus we have to go update a bunch of other PRs

@AlmeroSteyn should be good now 😄

Thank you!! Is there any action required on an existing PR or will it work just to merge it?

Should just work, rebase if not

@alexkrolick I just rebased and pushed a small change and the Netlify build gave the same error again. I assume this is being handled further in #1058 .


Needs de-dupe and clean functionality

Plex libraries that get bloated due to requests or conversion to diffrent resolutions  ..
Need an automatic deduplication routine...   to remove those of the unwanted quality ( happens often when a 480p is found and then upgraded to 780 or higher in stages so you ahve several versions.
and a way to void filess that have words like cam or screener and put them to remove first .
basically to be able to say i want my library to maintain the best version  only . . or  only 1080p or  wahtever version it finds that is not 1080p untill it gets a good 1080p version   etc..
rules liek that .
automatically purgin  duplicate episodes  especially if in   multiples of same resolution  from diffrent sources  perhaps chosign which sources are preferred ( ie groups etc)  and to clean directories of all the *.nfo files etc.. when reneaming
if someone requests a  4k movie to deliver it but if the rule is to maintain 780 p or whatever  that  will be the version to keep once the requestor watches the 4k version  for example . .
most labor intesive thing is to use the plex app and filter seearch by dupes  per episode on tv shows and delete   because often it willdownload a whole season just to get one missing episdoe . and you end up with  stacks of tv shows with duplicates and eating up hard drive space.
PLEASE   cleanarr doesnt work anymore  too many issue sand stillrequires manual intervention ( using plex is simpler at this point)
and the python script out there  are a run once thing and  often delete too much or too little  due to nto getting all teh info it needs form plex..  and then you ahve to remember to run it as that docker doenst run on a schedule
this has a great interface and  would love to see it and overseer  become integrated to plex interface as a plug in .. where it can put colored frames around  posters wtih  like blue for has dupes  or grey for  requested but not in library ( may be avail on other plex accounts)  or to download it from other plex shares

Maintainerr is actually designed to remove entire movies, shows, seasons or episodes. It doesn't really look at the files behind the media. When a media item is removed, it'll remove all files associated with it.
That doesn't mean it can't be an option in the future. But it's a big change, and that would take time. Time that I don't have atm.
Most of what you're requesting doesn't really sound like a task that should be handled by Maintainerr.
Radarr & Sonarr, when configured correctly, won't leave duplicates behind. These apps can be configured to prefer resolutions and groups and upgrade media until a given quality is reached.
(If unsure about configuration: https://trash-guides.info/)
I think you should try to find a way to avoid the duplicates being created in the first place, instead of searching for tools to clean up the mess.

this has a great interface and would love to see it and overseer become integrated to plex interface as a plug in .. where it can put colored frames around posters wtih like blue for has dupes or grey for requested but not in library ( may be avail on other plex accounts) or to download it from other plex shares

I never tried this, but maybe you can accomplish something like this with Plex Meta Manager. This app can add overlays (i.e. colored borders or tags) to media posters.

I agree with most of what you’re saying, but radar and sonar when they
upgrade they keep all previous downloads so if it happens to find a lower
quality first and then get a higher quality, it keeps both it doesn’t
actually remove the older one or the less resolution or whatever
I’ve checked and rechecked their settings and it definitely does not erase
old
There is a way to search in Plex for duplicates, which can create a nice
sorted list to be able to find them as Plex already knows all the
duplicates.
I just need a way to automatically select the one of the highest resolution
or the right rates of my overall preferences And prune down to just those
copies on demand.
Your maintainer should be able to do this without a huge amount of
difficulty if it can pull that search result from the API
I’m not a big knowledgeable person when it comes to the APIs, but I know
the generalities of it
And my coding skills are just not quite there for a job like this to add it
to get up and make up fork
So I’m hoping you understand what I say my request still stands, and it
would be great to have it in this application because maintaining your
library is kind of with the The name of your app
Even if we’re starters, it only kept the highest resolution, one or bit
rate one or lowest
Thanks for considering
On Tue, Nov 7, 2023 at 1:53 AM Joren V @.***> wrote:

Maintainerr is actually designed to remove entire movies, shows, seasons
or episodes. It doesn't really look at the files behind the media. When a
media item is removed, it'll remove all files associated with it.
That doesn't mean it can't be an option in the future. But it's a big
change, and that would take time. Time that I don't have atm.
Most of what you're requesting doesn't really sound like a task that
should be handled by Maintainerr.
Radarr & Sonarr, when configured correctly, won't leave duplicates behind.
These apps can be configured to prefer resolutions and groups and upgrade
media until a given quality is reached.
(If unsure about configuration: https://trash-guides.info/)
I think you should try to find a way to avoid the duplicates being created
in the first place, instead of searching for tools to clean up the mess.
this has a great interface and would love to see it and overseer become
integrated to plex interface as a plug in .. where it can put colored
frames around posters wtih like blue for has dupes or grey for requested
but not in library ( may be avail on other plex accounts) or to download it
from other plex shares
I never tried this, but maybe you can accomplish something like this with
Plex Meta Manager. This app can add overlays (i.e. colored borders or tags)
to media posters.
—
Reply to this email directly, view it on GitHub
https://github.com/jorenn92/Maintainerr/issues/579#issuecomment-1798167551,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQBDDKKXD2HQ6S6RW7QQCDYDIAJLAVCNFSM6AAAAAA7AEC6AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJYGE3DONJVGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Are you sure about this? I've been running Radarr & Sonarr for years, and they have always removed the old files after an upgrade.
When doing a quick google search, I can find people searching for methods to do the opposite (not deleting the file after an upgrade), but not what you're saying.
Are you perhaps talking about the file in the download folder instead? If that file is still there, I could imagine *arr doesn't touch it.
Creating a rule that returns the resolution / bitrate of the highest file and another one for media that has duplicate items should indeed be possible, but I'm not entirely sure what you would accomplish with them. If you'd create a rule with them, Maintainerr would just remove all files associated with that media item, so your high resolution one would be gone too.
Changing Maintainerr to optionally look & handle files instead of whole media items is possible, but I'm not sure if that is what Maintainerr should do, since that's Radarr & Sonarr's territory.

Logically the Radarr and so are “upgrade”  should  remove    But it
doesn’t.   and no it’s not in the downloads
Radar and sonar just grab a higher quality version and add it to the pool.
It unmonitors ones you delete manuallly but there’s no anti duplication
rules I can find
This I have been wrestling with for months
If dupes were handled by them then things like cleanarr wouldn’t exist or
the python dockers scripts.  Which either do the same as Plex (give a list
with manual selections. Or need manual launching ) and are often wrong
Also they would only handle what was added by them.  And not bother with
existing dupes or  manual additions say added by handbrake
At least so far I have had no luck.
Ps I like your app. Even though it has an odd logic with wording.  I get
used to it
And like I said, when radar or sonar ads TV series, which is where I have
the biggest problem, it will sometimes grab a package of the entire season
just to fill one episode and then import the entire season.
I think this is where the duplication could be happening because it
doesn’tpay attention to anything but the one episode it’s trying to add
Yuen so I end up with 10 copies of the same episode imported.
Sorry I use text to speech so if some of this is typo and confusing, I just
can’t be bothered to auto incorrect, incorrect
On Thu, Nov 9, 2023 at 3:00 AM Joren V @.***> wrote:

Are you sure about this? I've been running Radarr & Sonarr for years, and
they have always removed the old files after an upgrade.
When doing a quick google search, I can find people searching for methods
to do the opposite (not deleting the file after an upgrade), but not what
you're saying.
Are you perhaps talking about the file in the download folder instead? If
that file is still there, I could imagine *arr doesn't touch it.
Creating a rule that returns the resolution / bitrate of the highest file
and another one for media that has duplicate items should indeed be
possible, but I'm not entirely sure what you would accomplish with them. If
you'd create a rule with them, Maintainerr would just remove all files
associated with that media item, so your high resolution one would be gone
too.
Changing Maintainerr to optionally look & handle files instead of whole
media items is possible, but I'm not sure if that is what Maintainerr
should do, since that's Radarr & Sonarr's territory.
—
Reply to this email directly, view it on GitHub
https://github.com/jorenn92/Maintainerr/issues/579#issuecomment-1803613462,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQBDDKH4HG6SLN7K5K5UJ3YDSZTLAVCNFSM6AAAAAA7AEC6AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBTGYYTGNBWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

[image: image.png]
given this result from plex after it has downloaded episodes..  there are
hundreds of dupes and currently the only way to remove them is to click
each one . press get info and look at the choice and remove  one or more
dupes... its often even the same resolutions due to the
aforementioned radar and sonar download methods that add them and they are
clearly not removing dupes
i just double checked and there is no  delete option in the upgrades . so
if you allow upgrades and it finds first a lower res one then later a
higher one it keeps both .. no removing of the old one..
and sometimes even still will download multiple high res ones depending on
listed bitrates in the filename . and keeps both    same in radarr  .
there is a delete option for propers and repacks  upgrades and it is
enabled but  is not the same thing
cleanarr  ( works sometimes  and other no .. its hit or miss)  but  it
still required you to go through the list and chose which ones to delete .
its not rule based
just seems fitting for maintainerr to do the work    if plex knows the
bitrates etc  its a database query to make the dupe selection  and then
requery that subset  to select the lowest bitrates   prune and repeat the
search until there are no longer duplicates. .
Thank you ,
Paul Cole
“Defeat is a state of mind. No one is ever defeated until defeat has been
accepted as reality. "
- Bruce Lee
On Thu, Nov 9, 2023 at 6:50 AM Paul Cole @.***> wrote:

Logically the Radarr and so are “upgrade”  should  remove    But it
doesn’t.   and no it’s not in the downloads
Radar and sonar just grab a higher quality version and add it to the pool.
It unmonitors ones you delete manuallly but there’s no anti duplication
rules I can find
This I have been wrestling with for months
If dupes were handled by them then things like cleanarr wouldn’t exist or
the python dockers scripts.  Which either do the same as Plex (give a list
with manual selections. Or need manual launching ) and are often wrong
Also they would only handle what was added by them.  And not bother with
existing dupes or  manual additions say added by handbrake
At least so far I have had no luck.
Ps I like your app. Even though it has an odd logic with wording.  I get
used to it
And like I said, when radar or sonar ads TV series, which is where I have
the biggest problem, it will sometimes grab a package of the entire season
just to fill one episode and then import the entire season.
I think this is where the duplication could be happening because it
doesn’tpay attention to anything but the one episode it’s trying to add
Yuen so I end up with 10 copies of the same episode imported.
Sorry I use text to speech so if some of this is typo and confusing, I
just can’t be bothered to auto incorrect, incorrect
On Thu, Nov 9, 2023 at 3:00 AM Joren V @.***> wrote:

Are you sure about this? I've been running Radarr & Sonarr for years, and
they have always removed the old files after an upgrade.
When doing a quick google search, I can find people searching for methods
to do the opposite (not deleting the file after an upgrade), but not what
you're saying.
Are you perhaps talking about the file in the download folder instead? If
that file is still there, I could imagine *arr doesn't touch it.
Creating a rule that returns the resolution / bitrate of the highest file
and another one for media that has duplicate items should indeed be
possible, but I'm not entirely sure what you would accomplish with them. If
you'd create a rule with them, Maintainerr would just remove all files
associated with that media item, so your high resolution one would be gone
too.
Changing Maintainerr to optionally look & handle files instead of whole
media items is possible, but I'm not sure if that is what Maintainerr
should do, since that's Radarr & Sonarr's territory.
—
Reply to this email directly, view it on GitHub
https://github.com/jorenn92/Maintainerr/issues/579#issuecomment-1803613462,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQBDDKH4HG6SLN7K5K5UJ3YDSZTLAVCNFSM6AAAAAA7AEC6AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBTGYYTGNBWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

[image: image.png]
ideally i would like to set the library to maintain at  say 1080p or 720p (
for tv)   and only keep 4k versions  when overseer has requests for them
until they are watched and tehn  remove the higher bitrates  to conserve
space..  and remove the lower ones and the higher ones.to keep the library
at the specified rates..   but for now id be happy just to prune off lower
resolutions   and  such ..
this eats up tonnes of space on the drives that is unnecessary and takes
too much manual work to keep pruning daily ..  takes over two hours to
manually remove those 390 dupes  unless  i delete all versions of it and re
download.. potentially ending up with the same problem
Thank you ,
Paul Cole
“Defeat is a state of mind. No one is ever defeated until defeat has been
accepted as reality. "
- Bruce Lee
On Thu, Nov 9, 2023 at 12:45 PM Paul Cole @.***> wrote:

[image: image.png]
given this result from plex after it has downloaded episodes..  there are
hundreds of dupes and currently the only way to remove them is to click
each one . press get info and look at the choice and remove  one or more
dupes... its often even the same resolutions due to the
aforementioned radar and sonar download methods that add them and they are
clearly not removing dupes
i just double checked and there is no  delete option in the upgrades . so
if you allow upgrades and it finds first a lower res one then later a
higher one it keeps both .. no removing of the old one..
and sometimes even still will download multiple high res ones depending on
listed bitrates in the filename . and keeps both    same in radarr  .
there is a delete option for propers and repacks  upgrades and it is
enabled but  is not the same thing
cleanarr  ( works sometimes  and other no .. its hit or miss)  but  it
still required you to go through the list and chose which ones to delete .
its not rule based
just seems fitting for maintainerr to do the work    if plex knows the
bitrates etc  its a database query to make the dupe selection  and then
requery that subset  to select the lowest bitrates   prune and repeat the
search until there are no longer duplicates. .
Thank you ,
Paul Cole
“Defeat is a state of mind. No one is ever defeated until defeat has been
accepted as reality. "
- Bruce Lee
On Thu, Nov 9, 2023 at 6:50 AM Paul Cole @.***> wrote:

Logically the Radarr and so are “upgrade”  should  remove    But it
doesn’t.   and no it’s not in the downloads
Radar and sonar just grab a higher quality version and add it to the
pool.
It unmonitors ones you delete manuallly but there’s no anti duplication
rules I can find
This I have been wrestling with for months
If dupes were handled by them then things like cleanarr wouldn’t exist or
the python dockers scripts.  Which either do the same as Plex (give a list
with manual selections. Or need manual launching ) and are often wrong
Also they would only handle what was added by them.  And not bother with
existing dupes or  manual additions say added by handbrake
At least so far I have had no luck.
Ps I like your app. Even though it has an odd logic with wording.  I get
used to it
And like I said, when radar or sonar ads TV series, which is where I have
the biggest problem, it will sometimes grab a package of the entire season
just to fill one episode and then import the entire season.
I think this is where the duplication could be happening because it
doesn’tpay attention to anything but the one episode it’s trying to add
Yuen so I end up with 10 copies of the same episode imported.
Sorry I use text to speech so if some of this is typo and confusing, I
just can’t be bothered to auto incorrect, incorrect
On Thu, Nov 9, 2023 at 3:00 AM Joren V @.***> wrote:

Are you sure about this? I've been running Radarr & Sonarr for years,
and they have always removed the old files after an upgrade.
When doing a quick google search, I can find people searching for
methods to do the opposite (not deleting the file after an upgrade), but
not what you're saying.
Are you perhaps talking about the file in the download folder instead?
If that file is still there, I could imagine *arr doesn't touch it.
Creating a rule that returns the resolution / bitrate of the highest
file and another one for media that has duplicate items should indeed be
possible, but I'm not entirely sure what you would accomplish with them. If
you'd create a rule with them, Maintainerr would just remove all files
associated with that media item, so your high resolution one would be gone
too.
Changing Maintainerr to optionally look & handle files instead of whole
media items is possible, but I'm not sure if that is what Maintainerr
should do, since that's Radarr & Sonarr's territory.
—
Reply to this email directly, view it on GitHub
https://github.com/jorenn92/Maintainerr/issues/579#issuecomment-1803613462,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQBDDKH4HG6SLN7K5K5UJ3YDSZTLAVCNFSM6AAAAAA7AEC6AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBTGYYTGNBWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

I don't really know what to say, this is the Radarr download / upgrade log from a random movie on my end:

As you can see, it first downloaded a few 1080p versions, then upgrading to 2160p and finally settling on the best 2160p release, while always deleting the previous file.
Are you perhaps using torrents and are you seeding them from the same location? In that case, Radarr probably can't remove the file because the file is in use.

Well for whatever reason. That’s not the way mine works.  And I end up with
dupes
Yes I torrent. I dot. Have money to subscribe to groups
On Thu, Nov 9, 2023 at 11:21 PM Joren V @.***> wrote:

I don't really know what to say, this is the Radarr download / upgrade log
from a random movie on my end:
[image: Radarr upgrade log]
https://user-images.githubusercontent.com/9069536/281986363-519ecf4c-c5de-4ac4-a8bd-5ddc6469170d.jpg
As you can see, it first downloaded a few 1080p versions, then upgrading
to 2160p and finally settling on the best 2160p release, while always
deleting the previous file.
Are you perhaps using torrents and are you seeding them from the same
location? In that case, Radarr probably can't remove the file because the
file is in use.
—
Reply to this email directly, view it on GitHub
https://github.com/jorenn92/Maintainerr/issues/579#issuecomment-1805222011,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQBDDJTTOCJCUKCVM7MFN3YDXIXXAVCNFSM6AAAAAA7AEC6AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBVGIZDEMBRGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

@SirBastol  - Your best bet would be to analyze why you are getting dupes and fix it. Sonarr/Radarr don't leave duplicates around unless there is a config/permission error. If both apps are doing it, that leads me to think your config is broken somewhere along the way.

Been checking it out. It’s mostly just sonarr.  Like I said it will get
full season bundles to fill one episode and end up with dupes.  And with
movies it upgrades but the old ones don’t get removed
On Tue, Nov 14, 2023 at 6:22 AM Animosity @.***> wrote:

@SirBastol https://github.com/SirBastol - Your best bet would be to
analyze why you are getting dupes and fix it. Sonarr/Radarr don't leave
duplicates around unless there is a config/permission error. If both apps
are doing it, that leads me to think your config is broken somewhere along
the way.
—
Reply to this email directly, view it on GitHub
https://github.com/jorenn92/Maintainerr/issues/579#issuecomment-1810308631,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQBDDMCI3YQHBEMILVEPX3YEN5CVAVCNFSM6AAAAAA7AEC6AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJQGMYDQNRTGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Your best bet would be to ask on the forums for Sonarr/Radarr as that's something not rights. Logs would most likely tell you what's going on or why something cannot be deleted.