instructions for building do not work

I tried following the instructions for Cruft. I did not make any modifications to the files, just to see if it would build. It didn't. Output is below. It appears to throw errors for the lines with COPY --chown=mamba.

It's expected that your package directory contains an __init__.py file. (This traditionally defines at least the package version number as __version__.)
Could you please try creating this and see if it works for you then?
I should document this requirement explicitly.

thanks - I needed to create a subfolder named the same as I named the project when running cruft, then put __init__.py in there. But it also required me to create pyproject.toml and conda-lock.yml files. I tried creating empy files for each of these but it sill fails at:
ERROR: failed to solve: process "/usr/local/bin/_dockerfile_shell.sh :     && micromamba config append channels conda-forge     && micromamba install --yes --name base         --category dev --category main --file /tmp/conda-lock.yml     && micromamba clean --all --yes ;" did not complete successfully: exit code: 1
I was actually trying to co-opt this for a different purpose (installing Python packages to run Jupyter notebooks) and it seems like not the best choice as a starting template, so this may simply reflect my naïveté/user error. But if it helps inform the documentation I hope it wasn't too much trouble!

So I ran into a few issues, here are the changes I made to get it going.

Must create a conda-lock.yml file first with conda-lock
Must have pipx in the conda-environment.yaml (make sure to run conda-lock after any changes)
If creating a project with hatch, it adds readme = "README.md" to [project] in the pyproject.toml. This line will also prevent build.

The steps below are the minimum changes required to build after creating a new project with Hatch and the Cruft template. This was tested using VSCode and DevPod. It's possible this is not "proper", but it does work.
I started with https://gitlab.com/bmares/cookiecutter-micromamba-devcontainer#setup.
Basic Setup

hatch new "sandbox"
cd sandbox
cruft create https://github.com/maresb/cookiecutter-micromamba-devcontainer
[1/3] package_name (the_name_of_your_python_package): sandbox
[2/3] timezone (Europe/Berlin):
[3/3] packages_dir (.): python

Post Setup Changes
Below are required changes, otherwise the build fails.

mv - anything related to src is not required if src is used as the packages_dir as this is what hatch new defaults to. I prefer python. (the example uses this as well)
cp - the version is in the __about__.py, copy that to __init__.py
sed - change the about to init and comment out the readme line.
sed - same as 1, only required if not using src

mv src python && \
cp python/sandbox/__about__.py python/sandbox/__init__.py && \
sed -i.bak 's/__about__.py/__init__.py/; s/^readme/# &/' pyproject.toml && \
sed -i.bak 's|src/|python/|g' pyproject.toml

Conda

Copy micromamba-devcontainer-example-main/conda-environment.yaml to project root
conda-lock --file conda-environment.yaml --file .devcontainer/dev-conda-environment.yaml

Can be done with the relock-deps but in its current state it expects a conda-lock.yml file. Must change paths too.

Everything Else
Ref the docs for any other setup / copy remaining files from the example.

Thanks so much @dephora! What you write looks correct, thanks so much for codifying everything!
My latest advice would be to use pixi as the frontend (replacement for Hatch) but to keep hatchling as the Python build-backend. It has integrated lockfile management, is super-fast, and is under very active development. For Dockerization there's pixi-docker.
I'm fairly new to using pixi, and the only difficulty I've found is needing to separately declare Conda packages to cover the pip packages I'm using. (Otherwise things default to pip installation.) I'm not sure yet if there's an easy solution for that, but in worst case I could probably spin off a few helper tools from conda-lock.
I haven't yet gotten around to templating a dev environment. I've been meaning to ask the pixi devs some questions first to make sure I'm using everything correctly.

@maresb - No problem! Thank you for creating this to begin with. Funny you mention pixi, I was looking at that recently before finding your devcontainer. I will keep an eye out for your new dev env.


Add Bundler cop to discourage ifs vs install_if

Is your feature request related to a problem? Please describe.
The cop for Bundler/DuplicatedGem recommends the following treatment to avoid specifying a gem multiple times:
# good - conditional declaration
if Dir.exist?(local)
  gem 'rubocop', path: local
elsif ENV['RUBOCOP_VERSION'] == 'master'
  gem 'rubocop', git: 'https://github.com/rubocop/rubocop.git'
else
  gem 'rubocop', '~> 0.90.0'
end

Using if is dangerous as specified gems wont be included in your lockfile due to your environment never seeing a gem exists, and updates won't apply. Bundler recommends using the install_if method for these purposes https://bundler.io/v2.4/man/gemfile.5.html#INSTALL_IF
Describe the solution you'd like

The docs for Bundler/DuplicatedGem should not encourage using if for specifying gems.
Adding a new cop to warn of potential issues of using if.

it looks like install_if was added in bundler 1.10.0 (2015 - https://github.com/rubygems/bundler/blob/master/CHANGELOG.md#1100pre-2015-05-03). I don't know if there is a way to target bundler versions for cops
Describe alternatives you've considered
I could be wrong and there is a good way to specify multiple entries or different gems using if

Interesting suggestion. I'm not familiar with install_if, what would be good example for the # good - conditional declaration example? I would like to know how a conditional branch using else is rewritten by install_if.


Multilingual support

Hi,
I have been looking for a multilingual website with sculpin.
Is there already a clean way to do that ? I didn't find it.
I taught about making a bundle for it.
That bundle would have to add a new data source in source interface i think ( lang ).
And then have some configuration on how where to find the translations.
My problem is also that i don't get where the
$source->data()->get('title');

call go ( ligne 75 in SourcePermalinkFactory )?
What do you think ?

Although it has passed a long time,  this plugin may helps you. https://github.com/rocketage/sculpin_multilingual


Integration tests for OneDrive incrementals

The tests only works once we have https://github.com/alcionai/corso/pull/2642 merged. I have tested it locally and confirmed that it works, but ask of now it is skipped. That said, I would like to get this merged if it is OK so as to not have to deal with merge conflicts later.
This as of now mimics incremental tests for Exchange in TestBackup_Run_exchangeIncrementals. Let me know if we should be having more.

Does this PR need a docs update or release note?

[ ] :white_check_mark: Yes, it's included
[ ] :clock1: Yes, but in a later PR
[x] :no_entry: No

Type of change

[ ] :sunflower: Feature
[ ] :bug: Bugfix
[ ] :world_map: Documentation
[x] :robot: Test
[ ] :computer: CI/Deployment
[ ] :broom: Tech Debt/Cleanup

Issue(s)

https://github.com/alcionai/corso/issues/2755

Test Plan

[ ] :muscle: Manual
[ ] :zap: Unit test
[x] :green_heart: E2E

@ashmrtn @ryanfkeepers Any thoughts on counting a permissions fetch as a read. This could help in testing permissions changes in delta.

Any thoughts on counting a permissions fetch as a read. This could help in testing permissions changes in delta.

+1 for counting permissions fetch reads, under the umbrella that metrics for all request should be tallied.  But I think we should be bucket this count separately from standard item reads.  It'd be nice to have granular statistics.

@ryanfkeepers since I'm working on getting this ready to merge can you give it a review please? That way I'm not both pushing code and approving 😅

both pushing code and approving


Old dependencies doesn't work with new gcc compiler versions (Greenlet 0.4.17)

Describe the issue
This is an issue with the installation of this dependency:
Running setup.py install for greenlet did not run successfully.
  │ exit code: 1
  ╰─> [26 lines of output]
      running install
      /Users/ericnordelo/Documents/Projects/cairo/first/env/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_ext
      building 'greenlet' extension
      creating build
      creating build/temp.macosx-12-arm64-cpython-310
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -I/Users/ericnordelo/Documents/Projects/cairo/first/env/include<EMAIL_ADDRESS>-c greenlet.c -o build/temp.macosx-12-arm64-cpython-310/greenlet.o
      In file included from greenlet.c:359:
      In file included from ./slp_platformselect.h:47:
      ./platform/switch_aarch64_gcc.h:62:51: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
                 __asm__ volatile ("mov %0, #0" : "=r" (err));
                                                        ^
      ./platform/switch_aarch64_gcc.h:62:35: note: use constraint modifier "w"
                 __asm__ volatile ("mov %0, #0" : "=r" (err));
                                        ^~
                                        %w0
      greenlet.c:566:10: error: no member named 'use_tracing' in 'struct _ts'
              tstate->use_tracing = 0;
              ~~~~~~  ^
      greenlet.c:569:10: error: no member named 'use_tracing' in 'struct _ts'
              tstate->use_tracing = (tstate->tracing <= 0 &&
              ~~~~~~  ^
      1 warning and 2 errors generated.
      error: command '/usr/bin/clang' failed with exit code 1

Computer specifications
OS: macOS (monterey 12.5.1)
Chip: M1
Python: 3.10.6
gcc: 13.1.6 (clang-13<IP_ADDRESS>.5)

Not sure if it's related, but Devnet isn't expected to work with Python version 3.10 or higher. Here's a link to the documentation section which specifies so: https://github.com/Shard-Labs/starknet-devnet#requirements


⚠ Bofrost.at has degraded performance

In 82b80e2, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1903 ms

Resolved: Bofrost.at performance has improved in c9f0a2c.


Unable to load the package in Chrome.

I have cloned the repository and installed yarn.  Whenever I run yarn, a command window opens and closes quickly. I've tried just loading the cloned repository directly to chrome but I get an error.  Any help would be appreciated.  Thanks for your time.

Hi, thanks for writing an issue! I am not sure what's going on, but I have removed the requirement for yarn version 4.x. I'm working on getting a build stage set up in GitHub and hopefully this is approved on the web store soon. The only thing I can think of is make sure you are running yarn in the folder you cloned to.
For now, until I get the CI set up, I've uploaded a branch that contains the built extension. This is the folder to install unpacked in Chrome Extensions if you just want to use HitSpooner:
https://github.com/cldevdad/hit-spooner/tree/cp/chore/binaries/dist

Hello, I'm happy to announce you may now install it from the store: https://chromewebstore.google.com/detail/hitspooner/plnjommomanicfmokelokhccfmomfppo.
If you are attempting development and are still runing into issues locally, please re-open the ticket.


Phoebemirman/ch12671/add checks from walkthrough to portfolio

https://app.clubhouse.io/augur/story/12671/add-checks-from-walkthrough-to-portfolio-my-markets-test

Coverage remained the same at 66.623% when pulling 5275f42dd03413904b049f7be6e526b7f655af15 on phoebemirman/ch12671/add-checks-from-walkthrough-to-portfolio into ddc46cca07d555cd60750b6397ae8bfa458b65b2 on master.

Coverage remained the same at 66.623% when pulling 8de82565ba7c0248beea397fe0879d6bfd978e1a on phoebemirman/ch12671/add-checks-from-walkthrough-to-portfolio into ddc46cca07d555cd60750b6397ae8bfa458b65b2 on master.

Coverage remained the same at 66.623% when pulling 8de82565ba7c0248beea397fe0879d6bfd978e1a on phoebemirman/ch12671/add-checks-from-walkthrough-to-portfolio into ddc46cca07d555cd60750b6397ae8bfa458b65b2 on master.

Coverage remained the same at 66.623% when pulling f42703a03a131af39d52b53c215b1afc393acce7 on phoebemirman/ch12671/add-checks-from-walkthrough-to-portfolio into ddc46cca07d555cd60750b6397ae8bfa458b65b2 on master.

Coverage remained the same at 66.623% when pulling f42703a03a131af39d52b53c215b1afc393acce7 on phoebemirman/ch12671/add-checks-from-walkthrough-to-portfolio into ddc46cca07d555cd60750b6397ae8bfa458b65b2 on master.


Add slack channel to menu

Depends on #41

This wouldn't be necessary when following the argument over at #41

Deleted slack-menu branch because it is not needed anymore at the moment.


[stable/prometheus-node-exporter] Add options to change volume mount propagation

Signed-off-by: Karol Chrapek<EMAIL_ADDRESS>
What this PR does / why we need it:
This PR allow to mount volume inside node exporter with rslave option - in kubernetes mountPropagation. This is useful when you would like to monitoring dynamic mounting volumes.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @gianrubio

@cpanato or @gianrubio do you have any concern regaring mountPropagation?

@gianrubio any chance to merge this PR?


Rewrite create / update / conflict resolve persistence API validation

Add comment about error cases
Add unit tests

Coverage increased (+0.7%) to 69.766% when pulling cab06ed42294b8b0417bbbc143bd744136e7b52a on 3+DC-more-test into 25ce91ec7b31b66ca5bc054c681841b9af1ee9da on 3+DC.


HIVE-24658: Move LogUtil Class to Metastore Server from Common

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

@nrg4878 Take a look please?

@nrg4878 Take a look please?


sensor.luxtronik2_status broke

You broke sensor.luxtronik2_status with latest update 2022.11.28. My heat pump works from latest 9h but sensor shows no request.  Using it with alpha Innotec. Could you be more carefull in future updates and do not brake something that already works just fine?

In your case please have a look in the attribute "Status raw" from sensor.luxtronik2_status, sensor.luxtronik2_status_line_1 and sensor.luxtronik2_status_line_3. Please tell it in this ticket.

since update it shows always "Idle (no request)" but there was a heating and domestic water programs runned in the meantime

I also have this issue: sensor.luxtronik2_status no longer updates, even though the actual status of the HP does change (between idle, heating and water). This also started happening after the latest update.

@qubabos @Taijian
Thanks for your response. I think I have found a nullpointer in the evu text calculation for heatpumps without evu.
Please try the last prerelease 2022.11.30.
I have marked 2022.11.28 and 2022.11.30 as prerelease so we can test it before we launch this as default.

How to install prerelease?

How to install prerelease?

I think you can activate "Enable experimental features" under Devices => HACS "configure".

How to install prerelease?

I think you can activate "Enable experimental features" under Devices => HACS "configure".

This option completly stops Hacs integrations. Any manual install available?

On my Alpha Innotec those status lines 1 - 3 always show those same texts too, and the status time is always 0.

maybe we can split Kars-de-Jong post into seperate issue and deal with Alpha Innotec support ?

just checked prelease 11/30 --> Status working again

Can we turn prerelease into release ? Can't resolve testing prereleases issue.

@qubabos

Any manual install available?

See readme section 1b.

I hope the current release 2022.12.01 should fix this.
Sorry for the trouble.

I hope the current release 2022.12.01 should fix this. Sorry for the trouble.

Thanks a lot, waiting for this but hacs doesn't see any new update.

I hope the current release 2022.12.01 should fix this. Sorry for the trouble.

It doesnt fix it. Right now my HP works on domestic water but sensor shows heating.

How to obtain those logs?

How to obtain those logs?

Settings => System => Logs
Search logs = luxtronik
Copy Errors in this ticket.

I hope the current release 2022.12.01 should fix this. Sorry for the trouble.

I can confirm that 2022.12.01 does fix my issue: Heatpump status is one again logged and displayed correctly.

Works well for me too.

2022.12.01 doesnt fix it. Right now my HP works on domestic water but sensor shows heating.

Can you check and provide your logfile? Do you get an error message in the log?

`Logger: homeassistant
Source: custom_components/luxtronik/sensor.py:888
Integration: luxtronik
First occurred: December 1, 2022 at 21:10:41 (1131 occurrences)
Last logged: 06:32:21
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 813, in _update_entity_states
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 532, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 586, in _async_write_ha_state
attr.update(self.extra_state_attributes or {})
File "/config/custom_components/luxtronik/sensor.py", line 926, in extra_state_attributes
ATTR_STATUS_TEXT: self._build_status_text(),
File "/config/custom_components/luxtronik/sensor.py", line 888, in _build_status_text
elif evu_event_minutes <= 30:
TypeError: '<=' not supported between instances of 'NoneType' and 'int'
`

after completly remove and adding integration from scratch - it works fine. thanks a lot for this. can be marked as resolved.


Update url to yara project

Old link only forwards to a 404 if JavaScript is disabled.

Merged, thank you.


Quiesce I/O in application containers before creating a Snapshot/Clone

It would be amazing if CSI-Addons can provide a way to temporary quiesce I/O while a volume snapshot is made.
The process could look a little like this:

a user initiates Quiesce
csi-addons execs a command in the application container (flush I/O, pause VM, ...)
csi-addons calls fsfreeze or similar the NodePlugin where the volume is mounted
the user creates a snapshot/clone
csi-addons calls unfreeze or similar the NodePlugin where the volume is mounted
csi-addons execs a command in the application container (resume VM, ...)

is it similar to the proposal https://github.com/kubernetes/enhancements/pull/1995?


Specificaiton Validation Error: Observation resource missing IEFT identifier which should be an UUID or GUId

Bugs
Observation resource missing mandatory IETF identifier which should've an UUID or GUID value

Step to reproduce
Most of the INT sample message
Expected behaviors
The observation has identifier which system is 'https://tools.ietf.org/html/rfc4122' and a value of UUID or GUID

Need NHS help as we don't have anything in EDIFACT for this

NHS suggestion:

if you have an identifier, put it in value, if you don’t have one miss out the element

We don't have anything to map from so there won't be any identifier here


Skip duplicate albums with skip_duplicates

Fixes #366

Codecov Report

Merging #368 into master will increase coverage by 0.28%.
The diff coverage is 0%.

issue not solved on my testing - results in duplicate folders again...

is it because my parent folder is "password protected" & "public" , and all subfolders are "public"
is it ignoring those set flags, and assuming the folders are different?

@avieros Are your photos in the duplicate albums? And is skip_duplicates set to 1? (separate questions for separate reasons)

Pending @avieros's issues, it looks good to me :) As an aside, we should probably handle read errors better - we're currently counting them as "skipped" in the import dialog (the logs are correct)

@d7415 I find that the existing skip_duplicates feature has a rather counterintuitive semantics for duplicate pictures. It looks for duplicates exclusively based on the checksum of the file content. If it finds a duplicate, it doesn't add another copy to the current album at all. However, it doesn't mean that the duplicate is in the same album or has the same name. Also, the duplicate condition is currently not reported via the Import from Server dialog, so it can be rather confusing why some pictures aren't showing up, unless one checks the logs. Now that I think about it, the existing duplicate may not even belong to the same user, so this functionality can be used as a side-channel attack to determine if some other user of the same gallery has a given picture in their album already. Do we care?

As an aside, we should probably handle read errors better - we're currently counting them as "skipped" in the import dialog (the logs are correct)

I think I may have coded it that way on purpose, reserving error reports (in red) for conditions that abort the whole import process. I believe my thinking was that skipping some files would be fairly common... Now the question is: should skipped duplicates be reported via the GUI?

@avieros I'm surprised it doesn't work for you; it seems to be pretty reliable over here. Can you do some more experimenting with simpler directory structures (maybe just a single subdirectory to begin)? Also, you mentioned in #366 using Google Drive -- are you somehow importing directly from it or are the files on a regular file system on your server by the time you import them?
It would help if you could include the output of ls -lR from your import directory and the log entries from storage/logs/laravel.log generated from the first and the second import (make sure that APP_DEBUG=true in top-level .env for this to be of value). Screenshots of the imported albums wouldn't hurt either :smile:.

It looks for duplicates exclusively based on the checksum of the file content. If it finds a duplicate, it doesn't add another copy to the current album at all.

Yeah, probably a carry-over from v3? Having just updated the duplication code, would that fit here? We'd still have to check for location though...

this functionality can be used as a side-channel attack to determine if some other user of the same gallery has a given picture in their album already. Do we care?

Not really. The attacker needs 1) the photo in question 2) an account on the server 3) no access to the album that photo is in. And it only shows existence, not location or metadata.
I think we should fix it, but to handle duplicates better, not as a security issue.

I think I may have coded it that way on purpose, reserving error reports (in red) for conditions that abort the whole import process. I believe my thinking was that skipping some files would be fairly common... Now the question is: should skipped duplicates be reported via the GUI?

Best case would probably be a summary Skipped 123 files and 5 folders as duplicates to avoid noise. My next best would be a Some files were skipped as duplicates. More information can be found in the logs. If we were feeling really clever, make "logs" a link, and make that sentence admin-only :P I'd be inclined to separate out access errors though (even if, again, it's only a summary).

It looks for duplicates exclusively based on the checksum of the file content. If it finds a duplicate, it doesn't add another copy to the current album at all.

Yeah, probably a carry-over from v3? Having just updated the duplication code, would that fit here? We'd still have to check for location though...

The central location that checks for skip_duplicates is PhotoFunctions::add, so both Import and the regular Upload are affected. I'm not sure what the intended use case of skip_duplicates is, but the current behavior strikes me as as a bit of a misfeature. Upload is a very explicit user action and I don't think that skip_duplicates should be able to affect it, yet right now it does. I think skip_duplicates should be applicable exclusively to Import from Server, which is designed for bulk imports. Adding duplicate detection there based on filenames rather than checksums, alongside what this PR is already doing for folders, would be trivial.

I think we should fix it, but to handle duplicates better, not as a security issue.

Agreed...

should skipped duplicates be reported via the GUI?

Best case would probably be a summary Skipped 123 files and 5 folders as duplicates to avoid noise.

I had the same concerns that you did regarding the noise in case of the incremental bulk imports (which is the most likely use case for skip_duplicates, right?) so I like your idea! I'll see if I can do the summary server-side...

If we were feeling really clever, make "logs" a link, and make that sentence admin-only :P

The whole Import from Server is admin-only already... In general though, I don't like pointing users at the logs for "regular" errors; that should be reserved for debugging...

I'd be inclined to separate out access errors though (even if, again, it's only a summary).

Yes, duplicates should be separate from access errors. So are you OK with how access errors are currently reported or is something missing there? Because it sounded like you found its current behavior confusing when you tried to use it...

This shouldn't affect this PR though, unless you want to do more at once?

Well, since this PR is already dealing with skip_duplicates, we might just as well really fix it :smile:.

@avieros I'm surprised it doesn't work for you; it seems to be pretty reliable over here. Can you do some more experimenting with simpler directory structures (maybe just a single subdirectory to begin)? Also, you mentioned in #366 using Google Drive -- are you somehow importing directly from it or are the files on a regular file system on your server by the time you import them?
It would help if you could include the output of ls -lR from your import directory and the log entries from storage/logs/laravel.log generated from the first and the second import (make sure that APP_DEBUG=true in top-level .env for this to be of value). Screenshots of the imported albums wouldn't hurt either 😄.

ok:
so, when i talk about google drive, i mean like this:
Google Drive folder:
Folder
|--- Folder
|---- subfolder
|---- subfolder
|---- subfolder
Etc. This folder structure and contents is sync by rclone copy google_drive:"/Folder' /gd_pics/ --copy-empty-src-folders .. At present i'm just testing with a few dummy images in different subfolders etc. It doesn't matter if they have images or not, i still get the dupe folders..
The structure is like so:
Top Level -> under that is 9 folders/albums -> each album has 6 subfolders (for different days) -> each of those 6 subfolders has 2 different subfolders (for different type of image)
The only folders that have images are the 2 deepest subfolders for each of the 6 subfolders, for each of the 9 top folders. Hope that makes sense.
So will Lychee recreate albums if no image?
ls -lR (snippet)
./Tours Photography/W4 - Galleries & Gardens/Wednesday - 20th November: total 8 drwxr-xr-x 2 root root 4096 Oct  8 16:47 Candid Photos drwxr-xr-x 2 root root 4096 Oct  8 16:47 Tour Group Photos
i imported from server
then i imported from server again
logs here: http://pastebin.zone/ghwMI8lN
image here: https://i.postimg.cc/3rLzxDvY/dupes.png

Thanks, the log did the trick! Turns out that my PR does not work correctly when importing at the top level. However, if you import into an existing (possibly empty) album instead, it should work the way you want (please check). I will fix it so that it works at the top level as well, of course :smile:.

Thanks, the log did the trick! Turns out that my PR does not work correctly when importing at the top level. However, if you import into an existing (possibly empty) album instead, it should work the way you want (please check). I will fix it so that it works at the top level as well, of course 😄.

Excellent! Thanks so much... bingo! create a test album, import from server into that... import from server again, 0 duplication!! Awesome!

@kamil4

I will fix it so that it works at the top level as well, of course :smile: .

So I guess this is still WIP ?

So I guess this is still WIP ?

Yes. But I'm planning to work on it this weekend.

In the end I committed just a minimal fix for the top-level duplicate album detection.
The rest of the changes we proposed above (changing the behavior of duplicate photo detection, reporting the number of skipped duplicate entries to the user, etc) is left for a future PR...
This should be merged in its current form as it does fix a real issue: duplicate detection of subalbums.


Make Widget Expander be enableable and disableable

Right now, it seems that Widget Expander is enabled at game startup.  This means that disabling Widget Expander it in the Mod Selector doesn't work.
Please make it work.  Thank you.

Please allow special characters in profile names.  I know your onscreen keyboard doesn't have a button for special keys.  Either add it or at least allow the the user to enter them from a physical keyboard.

This will be a Widget Expander implementation; it's not an implementation for Mod Selector to achieve (I forgot it's already a raised issue over on that repository: https://github.com/ashbash1987/ktanemod-widgetrecount/issues/1)


Ability to as animation driver with useNativeDriver

Thanks for this awesome module.
I was using it to drive an animation but it is hurting performance. Is there anyway to use it as we use Animation event drivers -  https://medium.com/xebia/linking-animations-to-scroll-position-in-react-native-5c55995f5a6e
This connects to scroll of a scroll view:
    const xOffset = new Animated.Value(0);

    const onScroll = Animated.event([{ nativeEvent: { contentOffset: { x: xOffset } } }], { useNativeDriver: true });

    <ScrollView scrollEventThrottle={16} onScroll={onScroll}>
        // ...
    </ScrollView>

glad someone is finding it useful
that's an interesting article, sadly I'm unsure if RNDeviceAngles can be used in that way and since I have not been following Xcode / ReactNative after I created this wrapper for the native module I can't test it
if you can make it work as is or by extending it's functionality please share it here and or create a PR with some notes or code changes, it will help others in your position.


x/tools/cover: add function to parse profiles from io.Reader

to let the cover tool be more flexible to integrate
Fixes https://github.com/golang/go/issues/19404

@gopherbot update patch!


TP and SL

Any possibilities we can add TP and SL using the placeholders on the message? ( based on {{close}} )

Hi,
Maybe others are interested in this too.
You can set TP's and SL's straight from the TV Alerts using {{plot_0}}, {{plot_1}} etc. They just have to reflect the corresponding values accordingly.

Hi,
Maybe others are interested in this too.
You can set TP's and SL's straight from the TV Alerts using {{plot_0}}, {{plot_1}} etc. They just have to reflect the corresponding values accordingly.


Cleanup tempfiles

After the PR, we can cleanup all remaining tempdir
lizj@FNSTPC:~/workspace/k8s/helm$ export TMPDIR=/tmp/xxxxxx ; make clean; make test >/dev/null && echo PASS; ls -l $TMPDIR
PASS
total 0

Kindly ping

i just rebased the PR, anyone could help to have a review ?

i just rebased the PR, anyone could help to have a review ?

Ping


Compability

Dear developers,
since the release cycles of godot, and it's pre-releases, got more frequent recently, I am having difficulties to understand compability statements such as "4.0+". Would it be possible to make this more comprehensive? Currently, we are getting close to 4.2 betas, and for anyone interested in testings its openXR features it is really hard to find out wether these tools are expected to work with the newest test releases or not.
Best. Lars.

See #560


how to request: install additional package on host ubuntu

there is two redmine plugins
https://github.com/danmunn/redmine_dmsf
and
https://github.com/jbox-web/redmine_git_hosting
the plugins require install some packages
http://redmine-git-hosting.io/get_started/ - i must enable perl, and generate ssh key for redmine user.
and in redmine_dmsf i must invoke apt-get
sudo apt-get install libxapian-ruby1.9.1 xapian-omega libxapian-dev xpdf antiword\ unzip catdoc libwpd-0.9-9 libwps-0.2-2 gzip unrtf catdvi djview djview3 uuid uuid-dev

how to install this correctly - through init file for plugin ? now i have error in container when invoke apt-get in the init file

@allustin In the most recent image releases you can specify additional commands to run before the server is started using a entrypoint.custom.sh script. You should add your apt-get commands to this script and copy this script at the root of your redmine data volume.
However this script is executed after the plugin installation step is completed, so it might not work out for you as I believe the plugin installation will fail unless the packages are installed before the plugin installation step is completed.
Please I will try to remedy this issue and let you know.

@allustin you can now create a plugins/pre-install.sh script to install additional packages. Please refer the changes in the readme for details.


Ensuring 100% coverage test

@cloudcomputinghust/cal Please see above coverage test result of CAL repo and try to implement unit test for all missing pieces of code.
You can manually generate coverage test result in your local repo by running tox -e cover, then go to folder (named cover or covhtml) and view the result for each python file.
Example for coverage test in cal/utils.py (27%), the red lines show that this code had never been called and missing unit tests.

@cloudcomputinghust/cal we need to get the coverage of at least 80%

thanks for all your works, we now have coverage above 80%.
from now, if any commit that make the coverage result decrease, github will block the merge process.


Lido app/marcus/lido 3168

Not Draft

@marhong2 You need to add yarn test to github actions

@marhong2 You need to add yarn test to github actions

nevermind, npm test works just as well. Remove yarn publish from actions, its fine as is.
I had to look deeper to see why if we broke yarn test how it got merged. I thought we didn't have a check, but we do, it failed and we pushed it anyways, hence we broke master. Don't ignore the checks. If they're broken, fix them.

@marhong2 You need to add yarn test to github actions

nevermind, npm test works just as well. Remove yarn publish from actions, its fine as is.
I had to look deeper to see why if we broke yarn test how it got merged. I thought we didn't have a check, but we do, it failed and we pushed it anyways, hence we broke master. Don't ignore the checks. If they're broken, fix them.

Sounds good! I believe all tests have passed on this version. if it looks ok

LGTM from a high level, @jmorganmartin Can you please review, you're much more thorough than me :)

I am not sure why the other files are showing up under changes. When I create a new PR the file changes are not there, and only show the current changes, rather than the past ones. I can close this one and create a new one to fix it, but we will lose the comment history

I am not sure why the other files are showing up under changes. When I create a new PR the file changes are not there, and only show the current changes, rather than the past ones. I can close this one and create a new one to fix it, but we will lose the comment history

Does this need to be rebased? It looks like all the comments were addressed, so pending re-review we should be good to merge?


How to achieve from opaque to transparent between the card?

How to achieve from opaque to transparent between the card?
Thank you

Hi @wwdc14,
I think the way you could achieve that is altering the behaviour of function computeLayoutAttributesForItem.. at CardsCollectionViewLayout.swift l:114 by using percentageDeltaOffset to set alpha.


Replace HyA-robot-arm model with a model for a more accessible commercial arm

The example robot arm model should be replaced by something more convenient to users, i.e. UR10, Franka Panda, etc.

Hope to see Franka Panda's tutorial soon!


Support for the new Energy Management feature

Is your feature request related to a problem? Please describe.
Home assistant introduced the new Energy Management section. I think i would be awesome if this integration would support this so i could choose the correct attributes in this energy management wizard.
Describe the solution you'd like
Apparently the sensors need an extra attribute, see:
https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics

Well, it should have this already :). Please check if you have the expected behavior in

Wow that's a quick reply :) And you are totally right. Was behind a few versions, my bad!
Thanks for the great integration by the way 😄


ddev composer create gives Duplicate mount point: /var/lib/mysql error

Describe the bug
When ddev composer create tries to recreate the containers it fails with Duplicate mount point: /var/lib/mysql
To Reproduce
Steps to reproduce the behavior:

ddev config --project-type=drupal8 --docroot=web --create-docroot
ddev start
ddev composer create "drupal/recommended-project:^8"

This is basically the suggested setup instructions from https://ddev.readthedocs.io/en/stable/users/cli-usage/#drupal-8-quickstart.
Expected behavior
The containers should restart
Screenshots
Moving installation to project root
Running  Command=ip address show dev docker0
Building db
Building web
Recreating ddev-foo-db ... error

ERROR: for ddev-foo-db  Cannot create container for service db: Duplicate mount point: /var/lib/mysql

ERROR: for db  Cannot create container for service db: Duplicate mount point: /var/lib/mysql
Encountered errors while bringing up the project.
Failed to start project after composer create: Failed to run docker-compose [-f /home/benk/Documents/workspace/misc/foo/.ddev/.ddev-docker-compose-full.yaml up --build -d], err='exit status 1', stdout='Step 1/6 : ARG BASE_IMAGE
Step 2/6 : FROM $BASE_IMAGE
 ---> fe46a4d1a5cf
Step 3/6 : ARG username
 ---> Using cache
 ---> 2a7954324081
Step 4/6 : ARG uid
 ---> Using cache
 ---> 3786c7974b7c
Step 5/6 : ARG gid
 ---> Using cache
 ---> 359907858d46
Step 6/6 : RUN (groupadd --gid $gid "$username" || groupadd "$username" || true) && (useradd  -l -m -s "/bin/bash" --gid "$username" --comment '' --uid $uid "$username" || useradd  -l -m -s "/bin/bash" --gid "$username" --comment '' "$username")
 ---> Using cache
 ---> 25bda57e7f85

Successfully built 25bda57e7f85
Successfully tagged drud/ddev-dbserver-mariadb-10.2:v1.15.0-foo-built
Step 1/6 : ARG BASE_IMAGE
Step 2/6 : FROM $BASE_IMAGE
 ---> b18fef685762
Step 3/6 : ARG username
 ---> Using cache
 ---> f266e43e8d80
Step 4/6 : ARG uid
 ---> Using cache
 ---> b71757a0592d
Step 5/6 : ARG gid
 ---> Using cache
 ---> 0669661f8741
Step 6/6 : RUN (groupadd --gid $gid "$username" || groupadd "$username" || true) && (useradd  -l -m -s "/bin/bash" --gid "$username" --comment '' --uid $uid "$username" || useradd  -l -m -s "/bin/bash" --gid "$username" --comment '' "$username")
 ---> Using cache
 ---> 55264701a242

Successfully built 55264701a242
Successfully tagged drud/ddev-webserver:v1.15.0-foo-built
', stderr='Building db
Building web
Recreating ddev-foo-db ... error

ERROR: for ddev-foo-db  Cannot create container for service db: Duplicate mount point: /var/lib/mysql

ERROR: for db  Cannot create container for service db: Duplicate mount point: /var/lib/mysql
Encountered errors while bringing up the project.'

Version and configuration information (please complete the following information):

Host computer OS and Version: Ubuntu 19.04
Docker version information (use docker version) and insert it here.

Client: Docker Engine - Community
 Version:           19.03.3
 API version:       1.40
 Go version:        go1.12.10
 Git commit:        a872fc2f86
 Built:             Tue Oct  8 00:59:59 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.3
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.10
  Git commit:       a872fc2f86
  Built:            Tue Oct  8 00:58:31 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

ddev version information: 1.15.0
config.yaml contents for the misbehaving project

name: foo
type: drupal8
docroot: web
php_version: "7.3"
webserver_type: nginx-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
provider: default
use_dns_when_possible: true

Do you have any custom configuration (nginx, php, mysql) in the .ddev folder? If so, have you tried without them?

I've seen this on Ubuntu before. ddev poweroff and ddev start fixed it.
I think it might be a bug fixed in old docker. If you're not using the Docker repositories for your docker install, please do, so you get current. Also, of course, it's time to update your unsupported Ubuntu 19.04. Ubuntu 20.04 is working very well...

:+1: I'll give upgrading a go and report back if I still have issues. As you say, ddev seems happy once poked (I just ran ddev restart), so I'm not entirely sure why this is an issue with this specific command!

Thanks - I hope to hear your report about this. I'm suspecting it's a fixed docker bug. I used to see it a lot more. Can't remember where I saw it the other day.

I"m going to close this for now, hoping it's an outdated docker version, happy to continue the conversation here.


Add support for Figma Variables for M3 Design Tokens

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
Add support to select where user wants to generate design tokens either in figma styles or newly lunched feature figma variables.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Or at least tell us if it's planned or not. After regular monthly updates, last update was 2 months ago and it wasn't significant one. Is this project going to be actively updated again?

Variable support is planned.


modules: Make luci-base sufficient to use luci apps

Per the discussion in https://github.com/openwrt/luci/issues/869, make
luci-base sufficient to login, logout, and review and apply or revert
uci changes.  This allows most luci-app-xxx to work without having
luci-mod-admin-full installed.
It has been tested with some apps and not luci-mod-admin-full, as well
as with luci-mod-admin-full (to make sure the usual case doesn't break).
Instead of creating a new module namespace (e.g. 'Base') we reduce the
opportunities for breakage by having luci-base take over the 'shell' of
the 'Administration' (admin/....) namespace.
Since admin is assumed by all current building LuCI components (including
Freifunk), this doesn't introduce the 'Administration' tab into any
situation where it would not already be present (but includes it where it
was before).
Signed-off-by: Daniel F. Dickinson<EMAIL_ADDRESS>

Discovered some issues, will reopen after more extensive testing and fixing.


Button pressed/released containers

do

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 10 Oct 2014 at 11:03

dropped


Quoted field names for PostgreSQL query

To retrieve sequence information from the database, Liquibase issues a SQL query and then retrieves the result expecting uppercase field names.
However, PostgreSQL converts all column names to lowercase, so the sequence information retrieval fails and the output of the diff command is something like this on a PostgreSQL:
Changed Sequence(s):
     catalog_item_history_sequence
          cacheSize changed from 'null' to '1'
          dataType changed from 'null' to 'bigint'
          maxValue changed from 'null' to '9223372036854775807'
          minValue changed from 'null' to '1'
          willCycle changed from 'null' to 'false'

This in turn results in CORE-2495, because the changelog being created contains no actual changes and is invalid.
To preserve the case in the column names returned by PostgreSQL, the names in the query need to be quoted.
Steps to Reproduce

Create a sequence on the url connection with uppercase attribute names (as given in the PostgresSQL Documentation):
{CODE}
CREATE SEQUENCE  IF NOT EXISTS  catalog_item_history_sequence
MINVALUE minvalue 1  MAXVALUE 100  CYCLE;
{CODE}
Create a sequence on the referenceUrl connection with changes to the catalog_item_history_sequence sequence.
{CODE}
CREATE SEQUENCE  IF NOT EXISTS  catalog_item_history_sequence
MINVALUE minvalue 2  MAXVALUE 200  NO CYCLE;
{CODE}
Execute a Liquibase diff.

Expected Results
The diff returns:
minvalue changed from 2 to 1
maxvalue changed from 200 to 100
cycle changed from false to true.
Automated Test Requirements

Write an automated regression test for Postgres

Test Name: Sequence diffs return expected differences in attributes.
Description: Jira ticket number

Manual Test Requirements

Execute the Steps to Reproduce with the old/broken Liquibase version to verify those steps are correct.
Do a desk check with the developer
Execute the Steps to Reproduce with the new build to verify diff is fixed.

┆Issue is synchronized with this Jira Story by Unito
┆Fix Versions: Liquibase 4.1.0

Thank you for your PR!
Here’s what happens next:

A member of the Liquibase team will take a look at your contribution and may suggest changes, additional tests, or provide other feedback. The PR will be prioritized according to our internal development and testing capacity.

We’ll let you know when it’s ready to move to the next step or if any changes are needed.

Thanks again!

We are going to do a bit of internal testing on this before merging it in. Just to make sure it doesn't cause unexpected problems.

Hi @Raibaz Which version of Liquibase were you using when you tried this?  I just tried on v3.9.0 and it returned the expected results.  Thanks a bunch and great to be working with you.

I am indeed experiencing this with v3.9.0, while it's not happening with v3.8.0. In fact, I temporarily downgraded to make this work.

Hi @Raibaz I can't get this to repro but I am going to merge this anyway.  It will be in the 3.10.x code under the #1372 PR

This change has been applied to master


CUDA Graphs in XLA

Not intended to merge as is.

Please open against master, not release branches


chore(main): release 0.1.0

:robot: I have created a release beep boop
0.1.0 (2024-12-21)
Features

initial commit (88f45e6)
release workflows, build, tests, etc (d827912)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.1.0
:sunflower:


Idea - shift click compass to look in specific direction

Left-clicking the compass near the radar executes a "look-north" action in the client. In some scenarios, players may want to routinely look in a different direction. A prominent example would be fighting Zulrah, where when getting to the island, your camera is turned north, but most players prefer to fight it looking south, so you need to rotate the camera every time. Now, the compass has right click options to look to each of the four world sides. I thought it could be a nice similification if it could be done with a shift-click (to look in a selected direction) instead of right click and then another click. It could work similarly as the customizable shift-click in inventory.

Duplicate of #10731
Also discussed/PR in #10878


Clarification on how this relates to pandas.io.gbq

I see that pandas.io.gbq is still in the Pandas master branch.
Is there criteria for when that will get removed in favor of this package?

no its not. look closer. That is just an external interface.

https://github.com/pandas-dev/pandas/blob/844013b20c2a6230b1baeec1d5442e26b7930656/pandas/io/gbq.py#L94

This does use pandas-gbq directly.

Ah, thanks. Sorry I should have been able to figure that out.


state(error) message(lnd-wallet-seed)

Hi,
was trying to setup a new raspiblitz v1.9.0 but was unable to recover a old LND wallet from SEED+SCB Words Seed & channel.backup
The menu exits to the shell with the error
---snip
# OK - password A changed for user pi, root, admin & bitcoin
error=''
Calling _provision.setup.sh for basic setup tasks ..
Follow in a new terminal with: 'tail -f raspiblitz.provision-setup.log'
***********************************************************
ERROR - please report to development team
***********************************************************
state(error) message(lnd-wallet-seed)
https://github.com/rootzoll/raspiblitz#support
command to shutdown --> off

The seed phrase is correct. What does this error message mean?

so the error happens at this part of the code:
https://github.com/raspiblitz/raspiblitz/blob/a3c2ef9b6e49f0a1da8a0d16c2a88f9d7e340feb/home.admin/_provision.setup.sh#L271
more info you should find in the following file - can you post those last lines?:
cat /home/admin/raspiblitz.provision-setup.log

Not much, here are the last lines:
---snip
**************************************************
OK --> THE VERIFIED LND BINARY CHECKSUM IS CORRECT
**************************************************

- install LND binary
- OK install of LND done
Creating new LND config ...
*** Init LND Service & Start ***
Starting LND Service ...
Starting LND Service ... executed
WALLET --> SEED

I have to mention that the seed words are encrypted. While choosing so in the menu, it never asks for a passphrase.
I guess thats why it crashes

That sounds like the reason. At the moment the recovery of password encrypted seedwords is not supported by raspiblitz. You could maybe try with https://zaphq.io

Thanks for confirming


Rewrite chroot-user.rb in C/C++

pkgs/build-support/build-fhs-userenv/chroot-user.rb consists mostly of syscalls (including fork()). There are even Ruby-specific workarounds. C/C++ would be a better language for the task. This should also reduce closure size and startup time of FHS-sandboxed apps (Ruby needs to load itself and its libraries from disk).

Can't we just use systemd-nspawn and let it setup the chroot for us?

I'm not sure if it's capable of doing all things that we need for this, but it should be worth checking. Can it run a container as a process (not as a systemd service), and can it be used not by a superuser?

systemd-nspawn needs root privileges.
btw man 7 user_namespaces has C code to set them up

D: A pity. Well, let's continue with the old plan then. Unfortunately we can't do much more in Bash than we already do because we need to do mounts in the same process we set the namespaces, in children necessary privileges are already gone. I'm not completely sure about this but I remember that when I tried to write this in Bash completely long time ago (using unshare(1) for setting up namespaces mounts and chroot were a problem.

How about using this one? https://github.com/lethalman/nix-user-chroot

@abbradar bind mounts, sysfs, tmpfs and procfs should be possible

I can confirm that these mounts are possible from using unprivileged lxc containers.

@Mic92 Oh, I should look at it! cc @lethalman in case he's interested in this thread.
@groxxda
 nixpkgs git:(stable) ✗ nix-shell -A steam.env
steam-chrootenv:shlomo@abbradarbook:~/nixpkgs$ /run/current-system/sw/bin/mount --bind /tmp/tmp.17cvszFqco /tmp/tmp.1c7RygKNlH
mount: only root can use "--bind" option
steam-chrootenv:shlomo@abbradarbook:~/nixpkgs$ /run/current-system/sw/bin/mount -t sysfs none /tmp mount: only root can use "--types" option

I think that mount(1) checks if the user is root -- that's why this doesn't work. This means that we need to call mount(2) by ourselves...
@Mic92 (I was going to hit "Comment" but you were faster ~_^) I expect that LXC containers do user maps such that you have UID 0 in new userns -- we, however, need to retain user uid.

@abbradar yes. they do use user maps, but you can keep your original uid/gid: https://github.com/lethalman/nix-user-chroot/blob/master/main.c#L129

@abbradar why do we have to retain user id?
# ./userns_child_exec -U -z whoami
About to exec whoami
root

# ./userns_child_exec -U -z touch foo
About to exec touch

# ./userns_child_exec -U -z ls -l foo
About to exec ls
-rw-r--r-- 1 root root     0 28. Sep 20:29 foo

# ls -l foo
-rw-r--r-- 1 groxxda users     0 28. Sep 20:29 foo

@groxxda Multiple user apps use uid and username for their purposes -- we don't want to lie to them. I can't give a complete example (I remember that Steam breaks) but for example we have /run/user/UID directories which apps can find based on uid.

I have another suggestion: the Go programming language.
Bear in mind that I'm generally not a super big fan of Go (in fact, while I use Go extensively at work, I generally use Haskell for my personal projects); however, I think that a higher level, simple (in terms of specification) language would be conducive to maintenance and further development. The binaries should be pretty small, and the closure should be pretty small, too.
I might give that a go (no pun intended) and see what we think.

Several possible issues:

We need native fork and then unshare before any calls to pthreads (or you'll get EINVAL or something close); I remember that Go has a runtime so there may be problems;
We need several syscalls which may not be readily available, namely unshare, mount and others. In Ruby I import them from libc dynamically and redefine constants from C by hand, but doing this (especially redefining constants) is one of the reasons I want to move from Ruby in the first place.

However these are only potential problems -- I don't know if they actually exist! I'm actually interested in how this turns out.

@cstrahan I also like go, but you cannot use clone() properly because in that language runtime. That's why docker uses a little C for that job.

@Mic92 Ah, you must be referring to this from libcontainer:

nsenter/nsexec.c
nsenter/README.md

I'll need to give that a thorough reading before I understand why the runtime gets in the way (unless, perhaps, you have an explanation of why/how pthreads mucks things up).

I'll need to give that a thorough reading before I understand why the runtime gets in the way (unless, perhaps, you have an explanation of why/how pthreads mucks things up).

Oh, I'm guessing that's probably stuff like this: http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them
Though, if there are other details, I'd love to hear them :smile:.

@cstrahan If you refer to my remark about fork and pthreads, it's actually unshare's limitation. You can look at how I workaround this in Ruby by calling imported fork instead of Ruby's builtin. You will know if you encounter it -- unshare will just fail. I think the best way to find out is with an experiment.
(notice that I don't know about Go runtime and haven't even used Go before, so, as I underline again, those might be non-issues)

@abbradar Interesting. I referred to the kernel's docs on unshare, but I don't see any mention of failure when used with pthreads. I don't doubt you; I'd just like to know how all this stuff works.

@cstrahan No problem even these were doubts ~_^. From unshare(2) man page:

CLONE_NEWUSER requires that the calling process is not threaded; specifying CLONE_NEWUSER automatically implies CLONE_THREAD.

@abbradar Ah, dunno why I didn't try reading the man page -- thanks for pointing that out :wink:.

Anybody done any more work on this? Also, this should probably be tagged with security, due to #21327

@spacekitteh a rewrite in a different language will not solve your grsecurity problems.

@Mic92 Anything related to grsecurity is security-related.


Protect access file url storage With Authorization token

Hey, I recently learned about Pocketbase and I'm really fond of its ease of use.
how to protect my file using public storage url. Only certain users can access the file?

Private/Protected files are currently not supported but it is planned for v0.13/v.14.
You can subscribe/watch issue https://github.com/pocketbase/pocketbase/issues/215.


pkg/ipam: Update histogram buckets for trigger metrics

Currently, trigger related histogram metrics in pgk/ipam use the default prometheus histogram buckets. Resync operation in cloud providers like Azure tend to take a long time and the current buckets are inadequate to track changes in behavior. This commit extends the buckets to allow for measuring longer durations.
Currently, some metrics plateau at 10 secs

Reusing buckets defined in Kubernetes API server to measure request duration

Reusing buckets defined in Kubernetes API server to measure request duration
https://github.com/kubernetes/kubernetes/blob/ce05a4f7fcc234dd3132a4e40e6afdf0b2ebc94e/staging/src/k8s.io/apiserver/pkg/endpoints/metrics/metrics.go#L96-L100

I don't think its related since we're only updating the histogram buckets. https://github.com/cilium/cilium/pull/25256 doesn't seem to touch bucket values.

/test

@gandro net-next and test-runtime seems to be flaky now ? I don't see the corresponding Jenkins jobs for failures. Are we cleaning up jenkins jobs in less than a day now ?

@gandro net-next and test-runtime seems to be flaky now ? I don't see the corresponding Jenkins jobs for failures. Are we cleaning up jenkins jobs in less than a day now ?

We had a Jenkins outage last week and had to re-provision all Jenkins instances. During that process, we accidentally fell back to a Jenkins config to only retained the last 30 jobs. That has now been fixed to retain job logs up to 15 days. If you rerun those pipelines, you should see be able to access the failure now.

/test


Integrate with TensorFlow 2.0

In this PR I've started getting the tf 2.0 transition ready. Currently the tests are passing in the PR but its still using the 1.X API. In conftest.py its disabling the v2 behavior with tf.compat.v1.disable_v2_behavior(). As tests are moved over to the tf 2.0 we enable v2 behavior for those individual tests.
Doing this conversion and this doc from Tensorflow has given a good feel for what the major changes are going to be.
One interesting decision we need to make is whether we want to continue to be master compatible with the tf 2.0 changes (meaning master will continue to work with both tf 1.14 and tf 2.0 pip packages) or if we want to have a longer running branch where we put all the 2.0 changes into. I'm pretty open to either direction but think keeping tf 1.14 working will become more complicated as we convert more and more code to use tf 2.0 API.
Major Changes
I believe these can be completed independently for the most part.
In no particular order:

[ ] Convert tests to use tf.function instead of tf.Session
[ ] Figure out best way to configure devices etc like we do with tfe.Session without subclassing tf.Session especially for RemoteConfig.
[ ] Figure out best way to enable eager execution. Thinking it might work to create something like a EagerConfig in the spirit LocalConfig and RemoteConfig
[ ] Start converting any leftover uses of tf.compat.v1.*.
[ ] Update any tfe API to match the corresponding v2 API in Tensorflow
[ ] Update the converter to work with v2 API
[ ] During the above conversion I noticed some oddities with the space_to_batch/batch_to_space API. Figure out this.
[ ] Variables work quite a bit different with tf.function figure out how we can make this work

Thinking it might work to create something like a EagerConfig in the spirit LocalConfig and RemoteConfig

This seems to be orthogonal things to me, ie all combinations makes sense: (eager, local), (eager, remote), (non-eager, local), (non-eager, remote).

We need to do a thorough review as well to make sure we understand what's happening and that it doesn't break security anywhere.

Hey @justin1121, with your recent work on TF2.0, how does the API look like now if we want to add two private tensors? Does it look like this?
@tf.function
with tfe.protocol.SecureNN() as prot
   x_in = np.array([1, 2, 3, 4])
   y_in = np.array([5, 6, 7, 8])
   x_p = prot.define_private_tensor(x_in)
   y_p = prot.define_private_tensor(y_in)

   res_p = tfe.add(x_p, y_p)
   print("public result", res_p.reveal())

Close!
from tf_encrypted.utils import unwrap_fetches

@tf.function
def func():
  with tfe.protocol.SecureNN() as prot
     x_in = np.array([1, 2, 3, 4])
     y_in = np.array([5, 6, 7, 8])
     x_p = prot.define_private_tensor(x_in)
     y_p = prot.define_private_tensor(y_in)

     res_p = tfe.add(x_p, y_p)

     return unwrap_fetches(res_p.reveal())
print("public result", func())

unwrap_fetches is needed until we find a good way to wrap tf.function, currently tfe.Session is called unwrap_fetches for us.

Gotcha, thanks! that's helpful. what would be the equival in plaintext TF2.0?
@tf.function
def func():

   x = tf.constant([1, 2, 3, 4])
   y = tf.constant([5, 6, 7, 8])

   res = tf.add(x, y)

   return res

print("Result", func())

you got it.

There might be a better way using eg tf.Graph.as_default_graph
On Mon 30 Sep 2019 at 19:13, Justin Patriquin<EMAIL_ADDRESS>wrote:

you got it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tf-encrypted/tf-encrypted/issues/679?email_source=notifications&email_token=ABNFSSL7CCGF3UK34LOJYMTQMIXTNA5CNFSM4I25S6Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD76MILY#issuecomment-536658991,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABNFSSJ256JM7SJJKT4M5ZLQMIXTNANCNFSM4I25S6QQ
.

If tf.function works the way we expect it too I think it would be best encourage use of that because that is what users would expect when using tf 2.0 (although maybe they just expect eager computations). tf.Graph.as_default_graph may be especially useful for converting public graphs to private graphs though. Overall, supporting both might be ideal although I can't find an obvious way to to run a graph once you've created it (it must exist somewhere though).

I think you're right @justin1121, tf.function seems like the best approach. One thing I don't like is that we're leaking implementation details by doing it that way. I suggest introducing a tfe.encrypted_computation decorator instead, along the lines of what TF Federated is doing. For now this decorator might simply forward everything to tf.function.

One thing I don't like is that we're leaking implementation details by doing it that way. I suggest introducing a tfe.encrypted_computation decorator instead, along the lines of what TF Federated is doing. For now this decorator might simply forward everything to tf.function.

I'll look into this a bit. Wasn't sure exactly how this would work at first but now I have some ideas.
I've just started digging into the examples a bit which are more likely to be more nuanced around how they work compared to how some of the tests work which should give us some more idea around what we need to fix (e.g. what needs to be done for tfe.local_computation).

what needs to be done for tfe.local_computation

I've started an RFC for the larger design, but down the line I'm imagining tfe.local_computations to map between zero or more LocalTensors, which are essentially just a wrapper type around a pinned TensorFlow tensor carrying a bit of extra metadata such as placement. tfe.local_computation will perform a type check to eg make sure its own placement match that of inputs and outputs.
The decorated functions should be usable both in graph and eager mode; the former as they may form a part of a larger graph computation, and the latter to enable eg debugging. While the wrapping type might prevent tfe.local_computation to be a direct derivative of tf.function, I could easily see it being used by it internally, perhaps in-between unwrapping and rewrapping.
This is somewhat similar to tff.tf_computation in TF Federated.

Hi there,
hope I'm not misusing this issue too much with my question :-)
I am wondering what is the TFE roadmap for supporting TF 2 - or does it already?
(Concretely, I am interested in combining TFE with PySyft, and am using their Udacity package bundle for experimentation, and there the TF version is 1.15.)
Many thanks!!

hi @skeydan, sorry that we overlooked your question before :(
I've written an update about tf 2.x support in this comment. thanks for your interest, we enjoyed your blog post!

Thanks @jvmncs for the update, and very happy to hear you liked the post! :-)

TFE 0.9.0 now supports TF2.


Supporting multiple clients within the same program?

Do you support launching multiple clients from the same python file on different ports? I am attempting to run a simulation and I would like to know if this is possible.

Yes, you can run multiple nodes on the same machine as long as each node uses a different port.


surface.js questions

Greetings! I have two questions regarding surface.js:

Why are you using "body.addEventListener" and "body.removeEventListener" instead of "this.el.addEventListener" and "this.el.removeEventListener"? After all, you want to capture actions on "this.el" DOM element instead of "body".

Is there any specific reason for you to only emit "mousemove" events after a "mousedown"?

Hey,
short answers about your questions:

the mousemove and mouseup events are bound to the window because it feels a more natural way of interacting with the timeline. If the events are bound to the timeline's svg elements it creates frustrating user experience when zooming for example.
it's a choice, because we don't have seen any use case yet were we need the mousemove without the mousedown first.

In a more general perspective, we tried to decouple all the interactions (through the EventSource and AbstractTimelineState abstractions) to allow final users to implement their own interactions. In this perspective, the Surface should mostly be thought as a default interaction proposal. It is not implemented yet but a way to override these defaults or to add your own interaction source (MIDI, ...) is planned.

Thanks Benjamin!
Hope to see this new version at WAC, it seems promissing. :+1:


Resolve embedded schema URIs in new remote schemas (and update test suite submodule)

I originally thought this was a much bigger problem (see confused ramblings in issue #58), but it turned out to be a tiny fix.
Updating the JSON-Schema-Test-Suite submodule resulted in new test failures, which exposed that when calling Catalog.get_schema() on a URI with a plain name or no fragment requries loading a schema for the first time, the cache was not being re-checked for the original URI afterwards.
The remaining logic worked fine for the remote's retrieval URI or for a JSON Pointer that used that URI as a base. However, if the URI differed from the retrieval URI or included a plain name fragment, the schema would not be found despite being in the catalog.

Codecov Report
Patch coverage: 100.00% and project coverage change: -0.13 :warning:

Comparison is base (9836fa1) 90.82% compared to head (e998da8) 90.69%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #65      +/-   ##
==========================================
- Coverage   90.82%   90.69%   -0.13%
==========================================
  Files          21       21
  Lines        1973     1946      -27
  Branches      423      366      -57
==========================================
- Hits         1792     1765      -27
  Misses        119      119
  Partials       62       62

Impacted Files
Coverage Δ

jschon/catalog/__init__.py
89.92% <100.00%> (+0.22%)
:arrow_up:

jschon/jsonschema.py
88.25% <0.00%> (-0.72%)
:arrow_down:

jschon/vocabulary/__init__.py
83.58% <0.00%> (-0.48%)
:arrow_down:

jschon/json.py
92.50% <0.00%> (-0.36%)
:arrow_down:

jschon/output.py
96.20% <0.00%> (-0.05%)
:arrow_down:

jschon/vocabulary/format.py
100.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Now with updated CHANGELOG 😅

I've updated this to not include the updated submodule, which is now PR #67 (and depends on both this PR and on PR #66).

CHANGELOG updated!


rsdmx

Contact Details
<EMAIL_ADDRESS>Tool name
rsdmx
Short description
rsdmx is a package to parse/read SDMX data and metadata in R. It provides a) a set of classes and methods to read data and metadata documents exchanged through the Statistical Data and Metadata Exchange (SDMX) framework. The package currently focuses on the SDMX XML standard format (SDMX-ML); and b) an interface to SDMX web-services for a list of well-known data providers, such as EUROSTAT, OECD, and others.
Extended description
No response
License
MIT
Product owner
Emmanuel Blondel
The URL for more information on your software tool
https://github.com/opensdmx/rsdmx/wiki
The URL of a logo image for your tool
no logo

Pull request created


ECS reporter: Minimize API calls by caching task and service data

Fixes https://github.com/weaveworks/scope/issues/2050
Due to AWS API rate limits, we need to minimize API calls as much as
possible.
Our stated objectives:

for all displayed tasks and services to have up-to-date metadata
for all tasks to map to services if able

My approach here:

Tasks only contain immutable fields (that we care about). We cache tasks forever.
We only DescribeTasks the first time we see a new task.
We attempt to match tasks to services with what info we have. Any "referenced" services,
ie. a service with at least one matching task, needs to be updated to refresh changing data.
In the event that a task doesn't match any of the (updated) services, ie. a new service entirely
needs to be found, we do a full list and detail of all services (we don't re-detail ones we just refreshed).
To avoid unbounded memory usage, we evict tasks and services from the cache after 1 minute without use.
This should be long enough for things like temporary failures to be glossed over.

This gives us exactly one call per task, and one call per referenced service per report, which is unavoidable to maintain fresh data. Expensive "describe all" service queries are kept to only when newly-referenced services appear, which should be rare.
We could make a few very minor improvements here, such as trying to refresh unreferenced but known services before doing a list query, or getting details one by one when "describing all" and stopping when all matches have been found, but I believe these would produce very minor, if any, gains in number of calls while having an unjustifiable effect on latency since we wouldn't be able to do requests as concurrently.
Speaking of which, this change has a minor performance impact. Even though we're now doing less calls, we can't do them as concurrently.

Tested, added a ton of debug logging and fixed a bunch of bugs.
Can confirm we do much less calls now.
In this example system, we have one service with 3 tasks across 3 machines, so one task on our example machine.
This is what the first report on startup looks like: (many extra logs elided)
<probe> DEBU: 2016/12/10 02:09:06.235489 Creating new ECS client
<probe> DEBU: 2016/12/10 02:09:06.324142 Describing 1 ECS tasks
<probe> DEBU: 2016/12/10 02:09:06.367489 Refreshing ECS services
<probe> DEBU: 2016/12/10 02:09:06.367542 Described 0 services in 0 calls
<probe> DEBU: 2016/12/10 02:09:06.367569 After refreshing services, 1 tasks unmatched
<probe> DEBU: 2016/12/10 02:09:06.367574 Listing ECS services
<probe> DEBU: 2016/12/10 02:09:06.376347 Listed 1 services
<probe> DEBU: 2016/12/10 02:09:06.376414 Described 1 services in 1 calls
<probe> DEBU: 2016/12/10 02:09:06.387699 Got info from ECS: 1 tasks, 1 services

for a total of 3 calls (1 DescribeTasks, 1 ListServices, 1 DescribeServices)
In subsequent reports:
<probe> DEBU: 2016/12/10 02:09:07.162438 Refreshing ECS services
<probe> DEBU: 2016/12/10 02:09:07.162537 Described 1 services in 1 calls
<probe> DEBU: 2016/12/10 02:09:07.178871 After refreshing services, 0 tasks unmatched
<probe> DEBU: 2016/12/10 02:09:07.179110 Got info from ECS: 1 tasks, 1 services

for a total of 1 call (DescribeServices)

To avoid unbounded memory usage, we evict tasks and services from the cache after 1 minute without use.

Shouldn't this be size-bound instead of time-bound? Also, 1-minute seems very conservative (1 minute in scheduler time is very small).

such as trying to refresh unreferenced but known services before doing a list query

Would this fix #2085 ? (i.e. what does known mean here? previously referenced?)

In practical terms, I don't expect this to matter.

I won't either

Can you make a rough estimation on how many clusters/container instances/services could be run with these improvements?
Did you test this in AWS with a few clusters?
Also, could you please add some unit tests?

PTAL

I gave it another read. I asked some questions in my first comments which remain to be answered.

Can you make a rough estimation on how many clusters/container instances/services could be run with these improvements?

Taking socks shop as an (admittedly poor) example:
Socks shop has 14 services and 1 task per service, across 3 machines.
Let's take the average of 14/3 = 4.6 tasks per machine and round up to 5.
Note it's unclear if rate limits are per actual http request, or per thing being described (ie. if a describe services call with 10 services is 10x the 'cost' of a describe services with 1 service, or the same 'cost')
Old:
for each machine, list and describe all and services, and describe all tasks on that machine
= 3 machines * (1 list services + 14 describe services + 5 describe tasks)
or 3 machines * (1 list services + 2 describe service calls + 1 describe tasks call)
= 60 list or describe operations
or 12 list or describe calls
New:
first report is as per old. for subsequent reports:
for each machine, describe all services on that machine
= 3 machines * 5 describe services
or 3 machines * 1 describe service call
= 15 describe operations
or 3 describe calls
In summary: We make 1/4 the calls. But note this is somewhat of an ideal scenario, since most services aren't present on most machines.
But I'd expect we'll always save at least half of all calls, just by virtue of caching all tasks.

rebased, resolved trivial conflict

I'm running a test with 3 socks shop clusters in one region, to see if I hit rate limits. Leaving it 12h, which should be enough to hit any longer-term limits.

Ran for about 15h with no rate limiting.
Can I get a PTAL % no unit tests?

Please rebase, #2094 has messed up your commits and it's hard to review.

Also, there's a pending question about size-based eviction vs time-based eviction (I would go for the first one or a combination of the two if you want to refine it).

rebased.
The reason I went for a time-based cache is because:

The sizes involved are small. Even if the strings end up being large, a ecsTask or ecsService struct could only be at most 100s of bytes. Supposing a worst-case scenario of 512B, we could store 100s of such tasks and services for a total cost of less than 100KB.
In contrast, the cost of an additional AWS call is very high, since we don't know what the limits are and when you hit that limit, there's no recourse except "don't run as much stuff in one region".

Therefore, we always want to prefer more caching over calls.
I added the time-based eviction as an afterthought just to ensure the cache wouldn't grow without bound in scenarios with high amounts of task churn.
Increasing the "1 minute" to "1 hour" would probably make sense, now I think of it, just to ensure we never evict until it's unreasonable to think it might ever be useful again.
The other reason I'm hesitant to use a size-based cache is because it would complicate the code which refreshes items and puts them in the cache, since we can no longer be 100% sure that items we get in step A would still be there by the time we reach step B. We would need to either introduce extra "working" maps to track things that we are currently using, or find/implement a size-based cache with an explicit "evict now" step instead of upon every addition.

I think that not setting a maximum size bound is unsafe particularly if we increase the time limit (which we should).
Otherwise the code looks good to me (module the missing tests)

We would need to either introduce extra "working" maps to track things that we are currently using, or find/implement a size-based cache with an explicit "evict now" step instead of upon every addition.

But what happens when the max cache size is smaller than the memory needed to store all the currently-active tasks and services? We'd end up with items disappearing before we have a chance to actually report them, and get silent data loss.

It won't happen if the size is big enough (say 10k services and tasks, if
we have more entries than that, there's something clearly wrong).
Even if it happens, it will only affect ECS views, which is preferable to
getting killed by the kernel.
In general, I think it's a good idea to set explicit size limits, because
otherwise the system will set them for you in an uncontrolled fashion.
On Dec 16, 2016 20:29, "Mike Lang"<EMAIL_ADDRESS>wrote:

But what happens when the max cache size is smaller than the memory needed
to store all the currently-active tasks and services? We'd end up with
items disappearing before we have a chance to actually report them, and get
silent data loss.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/weaveworks/scope/pull/2065#issuecomment-267676268,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACQOJEGEg12z1oLs4hURfibdxzKB9Qacks5rIuaRgaJpZM4LGXTD
.

PTAL.
I now use gcache with an expiring LRU, with user-controllable settings (default 1MiB, 1 hour). It doesn't "refresh" the expiry time upon use, so there'll be a spike of requests every hour, bu in practice this shouldn't matter.
I've made tests that exercise the reporter code by mocking the EcsClient. The client code has no coverage right now. I think this is acceptable considering the complexity of mocking out the AWS api.

(I've tested manually, and i'm just fixing some linter pedantry right now)

Thanks for changing the cache and for the tests. How and for how long did you test this? (Not that I would had been able to make it simpler, but the code is quite involved)

Ran for about 15h with no rate limiting.

3 clusters, right? With how many instances each?

PTAL
Yes, 3 clusters. Each with the defaults for the socks shop demo, which is 3 instances, about 10 or so services with one task per service.

Note, the code has changed since then, but not in ways that matter to the rate-limiting. And I've since re-tested that it still works, but haven't repeated the 15h test.

PTAL

LGTM. That last comment is a recommendation only.


Kotlin tests fail because of a deprecation warning

Description
One of the Kotlin tests (kotlinc-js -version) fails because the exit code isn't 0 (the deprecation warning oddly returns an error).
Here's the log :
    vhd: Describing Kotlin
    vhd:   [+] kapt is available 2.91s (2.72s|193ms)
    vhd:   [+] kotlin is available 237ms (236ms|1ms)
    vhd:   [+] kotlinc is available 2.22s (2.22s|1ms)
    vhd:   [+] kotlin-dce-js is available 1.63s (1.63s|1ms)
    vhd:   [-] kotlinc-js is available 1.78s (1.77s|2ms)
    vhd:    Command 'kotlinc-js -version' has finished with exit code
    vhd:        info: kotlinc-js 1.8.0 (JRE 1.8.0_352-b08)
    vhd:        error: ==========
    vhd:        This project currently uses the Kotlin/JS Legacy compiler backend, which has been deprecated and will be removed in a future release.
    vhd:
    vhd:        Please migrate your project to the new IR-based compiler (https://kotl.in/jsir).
    vhd:        Because your build tool will not support the new Kotlin/JS compiler, you will also need to migrate to Gradle.
    vhd:
    vhd:        You can continue to use the deprecated legacy compiler in the current version of the toolchain by providing the compiler option -Xuse-deprecated-legacy-compiler.
    vhd:        ==========
    vhd:    at "$toolName -version" | Should -ReturnZeroExitCode, C:\image\Tests\Tools.Tests.ps1:189
    vhd:    at <ScriptBlock>, C:\image\Tests\Tools.Tests.ps1:189
    vhd:   [+] kotlinc-jvm is available 2.24s (2.24s|1ms)
    vhd: Tests completed in 14.5s
    vhd: Tests Passed: 5, Failed: 1, Skipped: 0 NotRun: 36

Platforms affected

[X] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[X] Windows Server 2019
[X] Windows Server 2022

Image version and build link
Win19: 20221214.4
Win22: 20221215.2
Is it regression?
yes, last ones working for us were 20221119 (Win19) and 20221120 (Win22)
Expected behavior
Kotlin tests should not fail because of a "deprecation" warning.
Actual behavior
1x Kotlin test fails because of a "deprecation" warning.
Repro steps
Just building the image using Packer v1.8.3...

Hello. Fix with the main branch please.

Thanks @mikhailkoliada!


Anchor links don't play nice with sticky header

I like how it's possible to link to a specific brick on a page! Only thing is: when using a sticky header, it scrolls a tad to far so the title of the brick isn't visible anymore (as mentioned here )

I will look into this.

Fixed it.

Thank you!


Unable to add integration for Archer C2300 v2.0

Describe the bug
Cannot set up the integration with an Archer C2300 v2.0.
The documentation does state v1.0, but I thought I'd try it.
I am reasonably experienced with HA development, so am happy to try and debug if someone can give me some pointers on what the issue may be.
Logs
2024-10-20 12:58:05.813 ERROR (SyncWorker_8) [custom_components.tplink_router.config_flow] TplinkRouter - TPLinkDecoClient - Unknown error for pwd! Error - 'result'; Response - {"success":true,"data":{"password":["XXXXXXXXXXXXXXXXXXXXXXXXXXX","010001"],"mode":"router","username":""}}
2024-10-20 12:58:06.379 ERROR (SyncWorker_4) [custom_components.tplink_router.config_flow] TplinkRouter - TplinkRouter - Cannot authorize! Error - 'stok'; Response - {'errorcode': 'login failed', 'success': False, 'data': {'failureCount': 2, 'errorcode': '-5002', 'attemptsAllowed': 8}}
2024-10-20 12:58:06.380 ERROR (MainThread) [custom_components.tplink_router.config_flow] TplinkRouter Integration Exception - TplinkRouter - TplinkRouter - Cannot authorize! Error - 'stok'; Response - {'errorcode': 'login failed', 'success': False, 'data': {'failureCount': 2, 'errorcode': '-5002', 'attemptsAllowed': 8}}
2024-10-20 12:58:36.648 ERROR (SyncWorker_11) [custom_components.tplink_router.config_flow] TplinkRouter - C1200 - Cannot authorize! Error - Expecting value: line 1 column 1 (char 0); Response -
2024-10-20 12:58:36.649 ERROR (MainThread) [custom_components.tplink_router.config_flow] TplinkRouter Integration Exception - TplinkRouter - C1200 - Cannot authorize! Error - Expecting value: line 1 column 1 (char 0); Response -

Additional Information (please complete the following information)

Router Hardware Version:   Archer C2300 v2.0
Router Firmware Version:  1.1.4 Build 20240529 rel.41435(4555)
Home Assistant Version:  2024.11.0.dev0
TP-Link Router Integration Component Version: 1.18.0

So, I have tried the test library, using a web encrypted password…
router = TplinkC1200Router('http://<IP_ADDRESS>','xxxxxxx', Logger('test'))
router.authorize()

It appears following the call to authorise() the response to the POST contains no data.
So, an exception is thrown in requests/models.py#977

Hi.
So it looks like the authorization is different on your router. Would be great if you could add support for your router to the client

Any clues on how to try and work out what the authorisation may need?
Is it a case of watching an authorisation in dev tools, and reverse engineering?

You may try version 2.0.0

Magic, that has worked.
Thank you.

@ColinRobbins Would be great if you could give a star to the repo :) Thanks


Fatal error: Cannot read property %browser.id% of null

Error happens if browser failed on start. Simplest case is when test case contained a Syntax Error. Here is the example, run grunt to se the issue.
It is rather Karma problem, because onBrowserComplete is triggered twice and suites is null'ed by the second call. Here is some debugging output:
--> onRunStart
INFO [karma]: Karma v0.12.12 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 34.0.1847 (Mac OS X 10.9.2)]: Connected on socket zY0n_4LMncgG3V6ETzU9 with id 87250253
Chrome 34.0.1847 (Mac OS X 10.9.2) ERROR
  Uncaught SyntaxError: Unexpected end of input
  at /Users/siavorskyi/projects/CD/karma-junit-reporter-failure/test/syntax-error.spec.js:4

Chrome 34.0.1847 (Mac OS X 10.9.2): Executed 0 of 0 SUCCESS (0 secs / 0 secs)
--> onBrowserStart 87250253
--> initliazeXmlForBrowser
Chrome 34.0.1847 (Mac OS X 10.9.2): Executed 0 of 0 ERROR (0.002 secs / 0 secs)
--> onBrowserComplete 87250253 // suites is Object
--> onRunComplete
Chrome 34.0.1847 (Mac OS X 10.9.2): Executed 0 of 0 ERROR (0.004 secs / 0 secs)
--> onBrowserComplete 87250253 // suites is null
--> onRunComplete

Looks like it relates to karma itslef: https://github.com/karma-runner/karma/pull/1248
And it was fixed

Are we sure this was fixed?
I'm seeing this in Karma 0.12.31.
Fatal error: Cannot read property '21770261' of null

I believe I've distilled this error (or one very, very much like it) down to a minimal reproduction - this consistently errors with TypeError: Cannot read property 'somenumber' of null
To reproduce:
git clone https://gist.github.com/rhencke/919d12c168e2300da133 bug20
cd bug20
npm install
npm test

I think the underlying bug for this is actually https://github.com/karma-runner/karma/issues/1292
What is happening is that onRunComplete is called, and suites is set to null at https://github.com/karma-runner/karma-junit-reporter/blob/master/index.js#L120.  Then, later, a specSuccess/specSkipped/specFailure arrives (https://github.com/karma-runner/karma-junit-reporter/blob/v0.2.2/index.js#L89 from @hyzhak 's stack trace, but now https://github.com/karma-runner/karma-junit-reporter/blob/v0.3.8/index.js#L125 in the current release).  It attempts to reference suites, but suites has been set to null, and the TypeError occurs.

Still experiencing this issue with karma 0.13.22 and karma-junit-reporter 0.4.0. Can you please merge the workaround by @alexeibs https://github.com/Megaputer/karma-junit-reporter/commit/d14b9bffe0d3d658b8a99e2854b3e8070e50c11f until https://github.com/karma-runner/karma/issues/1292 is solved?

Still getting this issue wiht karma 0.13.22 and karma-junit-reporter 0.4.1. Any way to fix this issue?

@muhammad-ammar We 'fixed' this locally in our case but it took code changes to karma-junit-reporter.  (I say 'fixed' because we did not address the underlying bug - we just made it work despite that).
I don't have the code changes handy but our workaround looked very much like the one in @alexeibs's fork here: https://github.com/Megaputer/karma-junit-reporter/commit/d14b9bffe0d3d658b8a99e2854b3e8070e50c11f and here: https://github.com/Megaputer/karma-junit-reporter/commit/9138c062c343262bccaa71571aca30d6e11d579b).  You may want to try that for now.

:+1: @rhencke Thanks a lot for your reply and commit links.

https://github.com/karma-runner/karma/issues/1292

This error should be fixed in the karma-junit-reporter 1.2.0 release.


Spatial mapping with ZED2 and ROS

Hello,
we want to use the ZED2 in combination with ROS (Melodic) to create a spatial map (mesh). Unfortunately, the zed-rtabmap-example is not working with the ZED2 and also the tutorial from rtabmap does not work, because the zed-wrapper got changed and no longer contains the URDF-files (as far as I analyzed it). There it says, to launch "zed_no_tf.launch" which requires some URDF-files.
What would be the workaroung to get the ZED2 running and to create a spatial map of the environment? Is an updated Version of the zed-rtabmap-example planned?

@stapperfend this is the wrong repository for ROS issues.
The problem with RTABmap has been just reported and we are working on it:
https://github.com/stereolabs/zed-ros-examples/issues/10
It will be fixed as soon as possible

Didn't see that. Sorry and thank you.


cursor in float

Love the plugin :)
When I open the float panel in a buffer not pointing to a file, the popup will show with an invisible cursor

I can move around, open and close folders, but cursor is hidden.
You can see here, when I open on a file that exists on the fs, the cursor exists (over the icon of snippets.lua)

However, in the above case, cursorline does not seem to be set (you can see cursorline highlight in the window the float popped over.

Which terminal do you use?

Can you check (and possibly set) the value for NeoTreeCursorLine?
:hi NeoTreeCursorLine

Which terminal do you use?

Alacritty compiled from source in the last few months. But cursorline works fine

Can you check (and possibly set) the value for NeoTreeCursorLine?
:hi NeoTreeCursorLine

that appears to be the problem! I was under the impression that cursorline is copied by default

but that does not appear to be the case

Curious, that should have linked to CursorLine. I run some tests and see if I can recreate the issue.

I tried adding the highlight explicitly, and still see the same behaviour

my relevent configs are here https://github.com/mbriggs/nvim/blob/main/lua/mb/explorer.lua but I am largely just copy/pasta from the README

I'm sorry, there is absolutely a problem with CursorLine in the floating window, I'm not sure how I never noticed this. I'll fix that soon.

working, thank you @cseickel :)


Use GCODE scripts from octoprint settings

The Start GCode script in the advanced settings in the slicer plugin should use the script from the "GCODE Scripts" menu in the octoprint settings.

Similar to #127, start g-code is taken from selected slicing profile. let me know if this is not the case for you, or you think it's a better idea to take from octoprint settings as opposed to slicing profiles.

For certain things like extruding temp you would want it to pull from the
slicer profile. However I would pull the printer startup g code from
octoprint rather than the slicer. The desired purge line and printer start
up behavior are generally unique to the printer and some change print to
print. This is why the octoprint slicer has these commands coded into the
printer settings. Basically if you make it slicer dependent the operator
needs to remember to add the start up behavior code to each slicer profile
they make. This is annoying if you have a bunch of slicer profiles as you
have to replicate the code each time. Plus if you make changes to your warm
up routine down the road, you now need to alter every slicer profile,
rather than making changes to the printer printer starting routine settings.
On Sat, Jul 8, 2017, 09:57 Kenneth Jiang<EMAIL_ADDRESS>wrote:

Similar to #127
https://github.com/kennethjiang/OctoPrint-Slicer/issues/127, start
g-code is taken from selected slicing profile. let me know if this is not
the case for you, or you think it's a better idea to take from octoprint
settings as opposed to slicing profiles.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kennethjiang/OctoPrint-Slicer/issues/126#issuecomment-313867886,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJX8AZgRoAXIbo1XF4OwZ3Kmv06BwCvHks5sL7UUgaJpZM4ORzHi
.

--
--
Andrew Gasperini

Now I see the point that @ottojo made. Thanks @stidf for your explanation. I guess because I only have 1 printer, I have never understood why OctoPrint has its own gcode script settings.
The tricky thing is, I don't think it's a good idea to just pull start/end gcode from OctoPrint settings and silently ignore the ones in slicing profile, simply because there are other users (like me) who assume that start/end gcode in slicing profiles will be honored by default. I can see how users are frustrated and confused when they realize it's not the case only after they kick off the print job.
Any idea on how to make this feature intuitive to all users?

It's not just for multiple printers, think multi materials. As for the
solution, idk because adding the start up routine code to octoprint was one
of the setup steps for getting the onboard slicer working. Either way it's
something that needs to be set on machine profile setup. Generally once
with a little fiddling over the life of the machine. Couldn't you read the
slicer profile on import and ask the user to confirm what it thinks the
start up routine code is?
On Sun, Jul 9, 2017, 06:54 Kenneth Jiang<EMAIL_ADDRESS>wrote:

Now I see the point that @ottojo https://github.com/ottojo made. Thanks
@stidf https://github.com/stidf for your explanation. I guess because I
only have 1 printer, I have never understood why OctoPrint has its own
gcode script settings.
The tricky thing is, I don't think it's a good idea to just pull start/end
gcode from OctoPrint settings and silently ignore the ones in slicing
profile, simply because there are other users (like me) who assume that
start/end gcode in slicing profiles will be honored by default. I can see
how users are frustrated and confused when they realize it's not the case
only after they kick off the print job.
Any idea on how to make this feature intuitive to all users?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kennethjiang/OctoPrint-Slicer/issues/126#issuecomment-313921265,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJX8ASdqchbIfzD61HUzWeWSQSQpLaixks5sMNuUgaJpZM4ORzHi
.

--
--
Andrew Gasperini

@stidf can you help me understand how OctoPrint gcode scripts help with multiple materials? For instance, if you have different start gcode snippets for PLA vs PETG, how do you expect to use OctoPrint gcode scripts to accomplish that?

Closing due to inactivity.


uv-cache: bump built-wheels cache version

It turns out that #2712 did not fix #2711. After I put up #2712, I
started trying to track down the specific change that caused the
failure. I had assumed at first that it was related to one of our rkyv
types, but it actually ended up being one of our msgpack caches. I think
the failure mode is still fundamentally the same idea: the cached data
changed in a way that is still valid msgpack, but got interpreted
differently after deserializing.
The specific change that caused this was the removal of a field from our
metadata type.
Ideally we would just undo the change and add the field back. But that
change has already been shipped out to users. So I believe the only
plausible choice at this point is to bump the built-wheels cache. This
will unfortunately mean that uv will need to re-build wheels.
Fixes #2711

Here is my test protocol. First, the failure:
$ rm -rf ~/.cache/uv && rm -rf .venv && uv-0.1.24 venv && uv-0.1.24 pip install -q homeassistant
Using Python 3.12.0 interpreter at: /home/andrew/.pyenv/versions/3.12.0/bin/python3
Creating virtualenv at: .venv
Activate with: source .venv/bin/activate
$ uv-0.1.25 pip install -q homeassistant --reinstall-package homeassistant
error: Failed to download and build: pyric==<IP_ADDRESS>
  Caused by: Failed to deserialize cache entry
  Caused by: expected version to start with a number, but no leading ASCII digits were found
$

And now a demonstration that this PR doesn't have the issue:
$ rm -rf ~/.cache/uv && rm -rf .venv && uv-0.1.24 venv && uv-0.1.24 pip install -q homeassistant
Using Python 3.12.0 interpreter at: /home/andrew/.pyenv/versions/3.12.0/bin/python3
Creating virtualenv at: .venv
Activate with: source .venv/bin/activate
$ uv-this-pr pip install -q homeassistant --reinstall-package homeassistant
$

You should also be able to un-bump the simple cache version.

But... I don't feel strongly. Let's just leave it bumped actually.

Yeah I thought about that, but didn't want to get too cute since that bump already landed on main.


Fixes scrolling behavior for short pages

Fixes #618
Addressed an issue where scrolling a page shorter than 100vh would cause it to get stuck at the bottom after the first scroll. Thanks to the maintainers for guiding me to the correct rendering logic where adjustments were needed to calculate scroll limits properly.

Updated scroll handling logic in draw function.
I added .idea to .gitignore to avoid adding JetBrains files to commits.

LGTM. Thank @DynamiteC for the PR..

@jaytaph @Sharktheone Thank You!


Adding a size tracker similar to Flood Web

It adds a size tracker similar to Flood Web
#132 Fixed

First adds a sizeList in tracker
then in event handler, updates the sizeList
finally displays the size along with the names
also displays the sizes in required format(MB, GB, KB etc)

https://user-images.githubusercontent.com/42129636/218268283-6b59bf97-793e-4134-b88d-7a9721f852d7.mp4

@ManavSarkar  there are certain issues that need to be addressed before I can merge this PR:

The size displayed under the tracker name is currently in same text-style as the tracker title and this makes it look a bit weird also the placement of the size displayed can be improved.
I can see a range-error when I fetched and built a PR for testing.
Error Screenshot:


Fixed dark theme issue in order tracking section

Description
Now the contents on the order tracking section are visible in the dark mode.
Issue
Closes #82
Screenshots or GIFs (if applicable)
https://github.com/c4coderandcreator/Flavour-Fusion/assets/77493105/c6a551a7-9497-4c9b-befd-7fd5b26a3a3e
Checklist

[x] Code is well-documented
[x] Code follows the project's code style
[x] Tests have been added or updated

Thank you for the fix @Varad0014  !!