Increase performance on tab open

I have noticed a roughly second lag when a new tab is open using htis addon in Firefox 57, it would be great if the load time could be reduced.
I have seen in developer tools that there are several LESS files and I wonder if they are compiled when a new tab is open. If this is the case, compiling the LESS files when options are changed instead on new tab open could incrase notably the performance I think.
Thanks and regards.

Yes there is a bit of delay... I will need to do extra research into that, not sure what would be causing it. Although this may be a problem with Chrome as well but is just more prominent within Firefox due to the progress bar within the tab that shows making it more obvious (to me anyway).
The LESS files are actually compiled when I develop it, not when loaded, and I unnecessarily include the files in the extension (I have a lot of cleanup and general improvements to do).
Thanks!

@Martin1887 Do you still notice a delay? I have changed to using SASS and only including the compiled code instead, I haven't done anything else specifically for this though but just want to see if you are still noticing the delay?

I have not notice any improvement.
The delay is specially noticeable and annoying if you configure a dark background, so a white flash is shown until CaretTab is completely loaded.
I have also noticed that sometimes the menu is opened and fastly closed, maybe some improvement could be got delaying the configuration menu load with a setTimeout or a similar thing.
Thanks for working on the issue!

Thank you for the extra information. Unfortunately I'm not sure there is anything I can do about the flash of white as it loads other than to suggest making sure animations are on so it fades in. Other extensions have this same issue and is just a side effect of having to load code.
However I will try to do what I can to hopefully minimize the delay the best I can.
As far as the menu showing for a bit on load, yes this is something I have noticed as well in certain times, I'm looking into that one.
Thank you!

Hi @bluecaret, @Martin1887,
I confirm the delay on Firefox 57 as well.
I'm currently on Firefox 58.0b10, and I have noticed that sometimes
when opening a new tab, there's a brief animation as if the
caret-tab side-bar options pane (on the right-hand side) is
transitioning out.
The animation is almost the reverse animation of when the caret-tab
side-bar options button clicked, and the options pane transitions
in. This might also be the reason for the ~1sec delay in question.
Ideally, when a new Firefox/Chrome tab is opened, there should be
minimum delay in displaying the default screen with time/date etc.
Hope this helps. Thanks a lot.

Hello, thanks for the details. I'm currently working on a complete rewrite of the extension code that I hope will improve performance a lot and minimize the delay. It will definitely fix that animation bug. Might take a while for me to get it out though, day job and all, so please be patient but it is in the works. Thank you again, I appreciate all feedback!

Hey @bluecaret,
Thanks for the prompt update, and your wonderful add-on. Will
certainly look forward to your next update! Thank you.

Hi, just wanted to give an update to this. I'm currently rewriting the extension from scratch right now, and early indications are showing a big increase in performance on load! As long as that continues to be true I think this should be resolved in the next update. But please be patient, it is a big update and will be a while yet before I can release it.

This has been completed in CaretTab v3 which is currently in Beta at the moment, so I'll be closing this as fixed. If you would like to check it out, you can sign up for the beta here: https://github.com/bluecaret/carettab/issues/104


feat: add new entry

refs: https://moznion.hatenadiary.com/entry/2017/08/30/114330

⚡ Deploying PR Preview 7bbea719d5758efb233b9fbf82a1f99e2cde9807 to surge.sh ... Build logs

🤖 By surge-preview


[CR] annotation sampler

This PR implements #109

This one's ready for CR, @rabitt or @justinsalamon want to chime in?
The scope of the PR is just implementing value sampling for a set of specified time instants.  It does not implement any automatic time gridding.  This decision is mainly because the duration field is optional for an annotation, so samples generated from multiple annotations for the same track might not be easy to align.  What are yalls thoughts on that?


Add housemaster-based FeedFilter for home page

Who is this PR for?
HS housemasters
What problem does this PR fix?
Housemasters have access to all students at the school, which they need, but they usually are focused mostly on students in their house.  The feed and suggestions boxes on the home page have too much noise by including all students.  This is similar to https://github.com/studentinsights/studentinsights/issues/1675 for HS counselors.
What does this PR do?
Adds another FeedFilter that filters based on:

ENABLE_HOUSEMASTER_BASED_FEED env variable
EducatorLabel for use_housemaster_based_feed
HouseEducatorMapping mapping educator to particular values for the house field on student records

Screenshot (if adding a client-side feature)
before, all houses

after, just Broadway

Checklists

[x] Author checked latest in IE - Home page
[x] Author improved specs for code in need of better test coverage
[x] Author included specs for new code

selfi


Configureable backend

Description
There are asdf compatible tools like rtx that could be the backend instead of asdf.
This would require "backend" abstraction to make them pluggable.

rename lazyvm 🤔 (lazy version manager)


Implement support for private key passphrases

Resolves #946.

Codecov Report

Merging #1309 (0a7f0ef) into master (4d7d6b6) will decrease coverage by 0.72%.
The diff coverage is 95.22%.

@@            Coverage Diff             @@
##           master    #1309      +/-   ##
==========================================
- Coverage   97.28%   96.55%   -0.73%
==========================================
  Files          67       85      +18
  Lines        4235     6066    +1831
==========================================
+ Hits         4120     5857    +1737
- Misses        115      209      +94

Impacted Files
Coverage Δ

tests/test_binary.py
100.00% <ø> (ø)

httpie/compat.py
31.11% <27.90%> (-68.89%)
:arrow_down:

tests/conftest.py
77.14% <58.33%> (-9.82%)
:arrow_down:

httpie/output/lexers/http.py
59.09% <59.09%> (ø)

httpie/manager/__main__.py
82.35% <82.35%> (ø)

httpie/output/lexers/metadata.py
82.35% <82.35%> (ø)

tests/test_ssl.py
92.66% <87.50%> (-2.28%)
:arrow_down:

httpie/models.py
94.23% <90.00%> (-3.14%)
:arrow_down:

tests/test_uploads.py
97.70% <92.59%> (-2.30%)
:arrow_down:

httpie/manager/core.py
92.85% <92.85%> (ø)

... and 71 more

Continue to review full report at Codecov.

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


This addon still requires ember-run-raf?

The readme seems to say so, but I don't find any reference to it anywhere, and it is certainly not installed on apps anymore.

Which is a very good thing :D


Mount Plate File

Hi.
The file 'mount_plate.stp' ist not a real CAD file, but a HTML file. Can you please exchange this with the correct file?
Regards
Andreas

I think a working file can be found in the branch 'rename-mount-plate-file': https://github.com/google-coral/project-birdfeeder/blob/rename-mount-plate-file/Tree mount.STP

The CAD file was re-uploaded and will download properly now.


@MainActor results in class not being found

When using @MainActor for a class it does not get picked up and it will not be part of type.classes in the templates for generating code.
As soon as I remove @MainActor the class gets picked up as normal. I guess there is some update needed to support this new syntax since Swift 5.5?

Actually it does work if I put the comments underneath @MainActor, so:
This works:
@MainActor
// sourcery: someAnnotation
class SomeClass {
}

This does not:
// sourcery: someAnnotation
@MainActor
class SomeClass {
}

This should have been fixed since a couple of releases. Here's a test with the latest version of Sourcery (2.1.4):
Stencil.template:
{% for class in types.classes %}
    {{ class.name }} - {{ class.annotations }}
    {% for variable in class.variables %}
        {{ variable.name }} - {{ variable.annotations }}
    {% endfor %}
{% endfor %}

Input.swift
// sourcery: someAnnotation
@MainActor
class SomeClass {
    var hello: String?
}

Output.swift
// Generated using Sourcery 2.1.4 — https://github.com/krzysztofzablocki/Sourcery
// DO NOT EDIT

    SomeClass - {
    someAnnotation = 1;
}
        hello - {
}


Update api.js

If we don't parse options to the self.oembetter.fetch then these do not propagate to the filters

Good call, thanks Fotis


[#3997] Move Javascript generators from Samples to "generators" - Echo Bot

Addresses # 3997
Description
This PR adds the generator-botbuilder project and the Echo bot from the BotBuider-Samples repository.
It also includes the root documentation for the folder.
Detailed Changes

Added generators/generator-botbuilder project.
Added Echo bot templates for JS and TS versions.
Added docs and config files to the root folder.

Testing
These images show the generator-botbuilder working for the Echo bot.

Promoted to MS in PR# 4011


What is the function of ensemble in option?

I found this:
tf.flags.DEFINE_bool('ensemble', False,
                     "Enable self-ensemble at inferring. (ONLY INFER)")

Can you tell me what is the function?

A trick, first introduced in EDSR paper. Use rotate, flip, ... to generate 8 augmented patches, infer individually, and average them to final output. Use to increase accuracy.

Got it. Thanks a lot.


Handle missing "Use External Emojis" permission

Currently, if FlandersBOT is lacking permission to use external emojis, it displays the emojis as text in chat, such as :loading: for example. It would be good to fall back to a non-external emoji rather than display the text.

Added with: 262417388db3654319a0b60e10d9aa12fa90ccc8
Now utilises a use_emoji function for handling external emojis, returns the emoji the bot has permission to use.

Added with: 262417388db3654319a0b60e10d9aa12fa90ccc8
Now utilises a use_emoji function for handling external emojis, returns the emoji the bot has permission to use.


Documentation: document scalen workings

OpenStack Release
Mitaka
Description
Hi
I have  given it a try to scalen. I see that the configuration is created in all the units but I would expect that the vips are spread amongst the loadbalancers with different traffic-groups in order to do active-active loadbalancing but it is not the case: objects are in a single traffic group
Is this a pending feature? what is the current expected behavior?
Many thanks
Agent Version
9.0.2
Operating System
Mirantis 9

@richbrowne: Is this the bug you fixed recently?  If not, then we should document scalen behavior.


initializers/monologue.rb - undefined method `config' for Monologue:Module

=> Booting Thin
=> Rails 3.2.14 application starting in development on http://<IP_ADDRESS>:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/home/mhenke/rails_projects/innovateomaha/config/initializers/monologue.rb:1:in <top (required)>': undefined method config' for Monologue:Module (NoMethodError)
https://github.com/jipiboily/monologue/blob/master/spec/dummy/config/initializers/monologue.rb

I'm getting this error when I try push my Rails 4/Monologue app to Heroku, works fine locally though..

getting this error when trying to push to AWS w/ capistrano 3.. Works locally


Unable to auth to intersight with api key (http 401)

I'm unable to auth to https://intersight.com/api/v1 even with a very minimal playbook. This is running inside the top level directory of intersight-ansible:
- hosts: localhost
  connection: local
  tasks:
    - name: test
      intersight_rest_api:
        api_private_key: 'file_location'
        api_key_id: 'my_id'
        api_uri: 'https://intersight.com/api/v1'
        resource_path: /iam/Users

This returns http 401.
However, I am able to auth with the same public/private key and api_uri using https://github.com/CiscoUcs/intersight-python and a test script:
from intersight.apis import iam_user_api
api_instance = IntersightApiClient(host=api_uri, api_key_id=api_key_id, private_key=api_private_key)

users_handle = iam_user_api.IamUserApi(api_instance)
print users_handle.iam_users_get()

This returns the list of users with full details. Any ideas on how to troubleshoot this further?

Empty query_params weren't supported correctly.  Fix is now merged.

David - thanks for the quick response! I'll try it again when I'm back in the office tomorrow.


Add index to cohort table

Adding an index to the cohort table for the dbms where it is an option could potentially bring performance gains, with the alternative workflows being 1) create base cohort -> 2) impose requirements etc vs 1) create base cohorts -> 2) add index to the cohort table -> 3) impose requirements etc
Can explore the impact with postgres first

Have used indexes internally when creating the concept cohort table https://github.com/OHDSI/CohortConstructor/blob/c38f80cc5f2ae0ada7cc28097f770445f5714e3e/R/conceptCohort.R#L77 just for postgres. This seems to have improved performance (although more extensive benchmarking is needed).
This behaviour can be switched off by the user through global options, which seemed better than adding an argument.
Could expand the use of indexes in a similar way beyond this for postgres, as well as adding for other dbms like sql server.


Not working in Snow Leopard

I reverted to 1.1.2 and it is working, but 2.0.0 appears to have a syntax error in the defaults command it sends. When I run it it returns the syntax guide you get if you just type "defaults" at a command prompt with no arguments.

Thanks for reporting the issue.  At this point I don't plan to fix dockutil 2.x to work on less than 10.9.


[SDL 0178] Interior Vehicle Data Subscription Management and Data Caching in SDL

Proposal: Interior Vehicle Data Subscription Management and Data Caching in SDL

This proposal is for improving the process of GetInteriorVehicleData RPC in SDL core. This proposal can reduce the number of messages between SDL and HMI, and improves the response time of GetInteriorVehicleData a lot. It accomplishes this by introducing a cache of the interior vehicle data and maintains SDL's subscription status of a module(Type).

Review: https://github.com/smartdevicelink/sdl_evolution/issues/524
Steering Committee Decision:

The Steering Committee voted to accept this proposal.  It was noted that if this feature is included in a minor Core release, we will deprecate the appID parameter, and if it's included in a major Core release, we will remove the parameter from the HMI API.

@JackLivio determined that no changes are needed to the RPC Spec. @joeygrover can you please close this issue if you agree?

Confirmed.


Update logic that finds child workspaces to include the new workspace marker files.

New workspace maker files:

REPO.bazel
MODULE.bazel

The list needs to be confirmed with the community.

Tracking issue for REPO.bazel
Design doc for REPO.bazel

Quote from the design doc:

When looking for a repository root, we treat any of REPO.bazel, MODULE.bazel, and WORKSPACE[.bazel] as a repo sentinel.

Slack thread confirming the list of repo sentinels


Updated s3 filesystem util to allow for wildcard & bug fixes to zstac…

We can decide whether we want to pull these in or not.
Changes still need some cleanup but thought I'd put here for discussion.
The updates allow you to pass in a wildcard for a file name which is very useful when your file name has some dynamic portions that are not important to your x,y,z.
Also fixes a bug I found on the plugin related to the use of Image.crop()
If we don't pull this in, I will make another PR with just the Image.crop changes.
NOTE: Right now if a file doesn't exist I just continue to run the loop and print out a statement to tell the user we skipped it. But it would be awesome to log the tile instead. I am currently running this on an ingest, and it is successfully only excluding the tiles known to be missing from the data set.

Well... all circleci tests failed! Will have to look into this when I get back!


extension error on macos, staruml4.1.6

hi,I found an error:extension error on macos, staruml4.1.6.
help pls.

get

hi,I found an error:extension error on macos, staruml4.1.6.
help pls.

get


According to Heapdump taken with VisualVM, Apotheosis causes some form of Softlock on the server thread

Mod version: 4.6.1
Forge version: 35.1.37
Minecraft version: 1.16.4
Other things of note: modpack is Permafrost which contains Performant version 3.56m
It appears that on occasion, Apotheosis causes some form of softlock when attempting to spawn a boss mob via the deadly module. This softlock creates no logs and so had to be caught using the VirualVM debugging tool. The heapdump pictured and attached to this issue was generated using said tool.

Zip file containing the full heap is here (google docs):
https://drive.google.com/file/d/1cdppxcJhqtO3ILH3lJ8Qu5SHPHDCKH5B/view?usp=sharing
Note that the uncompressed version is nearly 3gb large!

Replicated by spam-spawning boss mobs with the Boss Spawner item
relevant heap stack data here:

According to another person playing the pack, Blame causes this bug to throw an error instead of softlocking.

Another update! Blame gets us an actual error to throw, but still locks up the server thread.
https://paste.ee/p/iiL28
Relevant heap thread thingie (again):

Going to see if running a JVM higher than 8 makes any change next.

Do you happen to have custom boss files loaded in via datapack?  That code path from the actual crash points towards this line of code 		entity.getAttribute(this.attribute).applyPersistentModifier(modif);  which can only NPE if entity is null.  Only way that's null is if the MobEntity returned by the EntityType held in a BossItem creates nothing at this line MobEntity entity = (MobEntity) this.entity.create(world.getWorld());

Sure looks like it.
There's probably something wrong with them, then? Ill post the global datapack folder in a zip real quick if you want to check it over for reference.

Here it is:
apo-permafrost-stuff.zip
Also, should I make an issue pertaining to having a better failure state for broken .json?

You've probably picked a modded entity that is returning null to EntityType#create, for whatever reason.  No clue why an entity type would do that, but it's not actually a failure in the json, rather in the selected entity type.

I think I know why: the game gets stuck if it tries to spawn a boss mob with no item slots; as it can't put an item in any of the slots. This seems to be what is happening each time this sort of error occurs so far?

No, that would have nothing to do with it (though that would also be unsupported behavior, you cannot create a boss that is not a MobEntity, which guarantees the slot exists).  You are selecting an entity for boss-creation that is returning null when an attempt to actually "create" that entity occurs.

alright, time to figure out which one it is ig

That's not what's causing the softlock in this case?
As shown here, the game is trying to spawn a vindicator and getting stuck, despite having previously spawned such a mob?

going to dig though the heap stack trace some more for this specific softlock

I gtg to bed might do some more digging in the morning.
it's for sure some sort of bad json, but idk what since i didnt author the files

Going to close this for now, suspect its bad json of some sort.
likely culprits are mobs that aren't valid (the error) and bad boss items of some sort (softlock)


Implemented ability to show date/time picker on chosen tab.

With this feature you'll be able to show dialog on tab which you choose.

Thanks for this PR but as we are following a FROM and TO sequential model I will be closing this PR


AttributeError: module 'syncplay.vendor.Qt' has no attribute 'QtGui' [Windows10, conda]

Traceback (most recent call last):
File "syncplayClient.py", line 14, in
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 655, in _load_unlocked
File "", line 618, in _load_backward_compatible
File "", line 259, in load_module
File "syncplay\ep_client.pyc", line 3, in
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 655, in _load_unlocked
File "", line 618, in _load_backward_compatible
File "", line 259, in load_module
File "syncplay\clientManager.pyc", line 2, in
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 655, in _load_unlocked
File "", line 618, in load_backward_compatible
File "", line 259, in load_module
File "syncplay\ui_init.pyc", line 11, in
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 655, in _load_unlocked
File "", line 618, in _load_backward_compatible
File "", line 259, in load_module
File "syncplay\ui\gui.pyc", line 21, in
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 655, in _load_unlocked
File "", line 618, in _load_backward_compatible
File "", line 259, in load_module
File "syncplay\vendor\Qt.pyc", line 2029, in
File "syncplay\vendor\Qt.pyc", line 2007, in _install
AttributeError: module 'syncplay.vendor.Qt' has no attribute 'QtGui'
I use:
Windows 10>
Anaconda>
Python 3.11.5;
The paths are registered, but I get this error. It is noteworthy that I received it before installing python and registering paths for it. Another person without paths in variable environments started up fine on Windows 10. Please help me with this problem. Thank you.

I don't understand why you are running Syncplay using Anaconda.
My guess as to the error is that you do not have a compatible version of PySide installed. Does Syncplay work fine if you run it in --no-gui mode?


Add api call in python wrapper to upload dvc

Creating an api call in the python wrapper to allow a user to save the changes he made to a datasource "mid pipeline"  into the dvc repository so that it will be saved and can be worked on in later pipelines

neglecting the feature


Static code analyse

research for a easy way to make static code analyse like findbugs
We have no central server or budget to buy one.
Create a initial ruleset
Documentation for a developer to start code analyse

optional:

code coverage analyse

Did not dig deep in to it: But did you have a look on GitHub Actions?
As I understood correctly this can perform such CI process and we could execute some static code analysis during the maven build. (maybe with spotbugs-maven-plugin)
Furthermore build may fail on failed unit-test.
There is Travis CI, too but as I understood it's not free of charge for open-source-projects (only a free trial available)


hanbrake exist code 255 only when using from plex

So currently i have a DVR transcode script
PGMNAME=/usr/bin/HandBrakeCLI
check_errs()
{
	# Function. Parameter 1 is the return code
	# Para. 2 is text to display on failure
	if [ "${1}" -ne "0" ]; then
           echo "ERROR # ${1} : ${2}"
           # as a bonus, make our script exit with the right error code.
	   exit ${1}
	fi
}

BASEPATH=$(dirname "$1")
BASEFILE=$(basename "$1")
FILENAME="${BASEFILE%%.*}"

echo "Starting $NOW"
/usr/local/bin/transcode-video "$1" -o "$BASEPATH/$FILENAME.mkv"
check_errs $? "Failed to convert file $1"

echo "Removing original file."
rm -f "$1"
check_errs $? "Failed to remove original file $1"

echo "Cleaning up"
rm -f "$BASEPATH/$FILENAME.mkv.log"

echo "Renaming new video to old name"
mv "$BASEPATH/$FILENAME.mkv" "$1"
check_errs $? "Failed to rename new file to original file name $1"`

And when i execute that on a file as the plex user it works just fine.  However when plex tries to do it, it is getting the following error /usr/local/bin/transcode-video: HandBrakeCLI failed during execution  the exit code is 255

@dorgan Woof. This is a hard one because I can't see the setup on your device.
The error code of 255 is just a generic failure passed through from HandBrakeCLI itself.
But, this is very likely a permissions or path error. Possibly both. Why? Because that's usually what happens when you switch users. So, you really need to verify that the runtime environment—the permissions and path—are the same for both users.
One thing you should stop doing is using fully qualified paths for calling executables in your script because internally those programs won't do that for whatever they call. They'll just depend on $PATH being setup correctly.
Other than that, I'm not sure how much I can help with this. Sorry about that.

Ok I will remove the fully qualified path.  And add some debugging such as
outputting $PATH and see if I can track it down that way. Guess I could
also come up with a crib that check for .ts files, which is what Plex
creates and then converts to .mkv.
On Wed, Sep 20, 2017 at 9:59 PM Don Melton<EMAIL_ADDRESS>wrote:

@dorgan https://github.com/dorgan Woof. This is a hard one because I
can't see the setup on your device.
The error code of 255 is just a generic failure passed through from
HandBrakeCLI itself.
But, this is very likely a permissions or path error. Possibly both. Why?
Because that's usually what happens when you switch users. So, you really
need to verify that the runtime environment—the permissions and path—are
the same for both users.
One thing you should stop doing is using fully qualified paths for
calling executables in your script because internally those programs won't
do that for whatever they call. They'll just depend on $PATH being setup
correctly.
Other than that, I'm not sure how much I can help with this. Sorry about
that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/donmelton/video_transcoding/issues/167#issuecomment-331029283,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAcX01ggaTNObHN6dShsAUWqQQKt_fxcks5skcMIgaJpZM4PerYL
.

@dorgan Sounds like a good plan! Let me know how it goes. I'll leave this open so you can discuss your findings. They may be helpful to others. And I'm sure I'll learn something from it.
Good hunting!

Don't know if this will help but here's a script I use to process files. I create a script for each movie but the only think I edit is the crop information. If it finds a CSV file it adds that to the command line as the chapter names.
Because of how I lay out my rips folder structure, the movies are in a directory that is the full name of what I want the Plex movie to be named. So while it may convert an MKV named "title00.mkv" it'll name it after the directory it's in "Dredd (2012).m4v", it then moves the file into my Plex library.
It assumes the find command will return one mkv file, it doesn't loop through them all.
I retain the script for each movie to save the crop information if I ever want to re-rip.
#!/bin/bash
plexmovies="/Volumes/Data/Media/Plex/Movies/"
use chapterinfo to show number of chapters in mkv
use detect-crop to get crop numbers below
crop="0:0:240:240"
mkvfile=$(find . -iname "*.mkv")
mkvfilename=$(basename "$mkvfile")
csv file contains chapter names
csvfile=$(find . -iname "*.csv")
csvfile=$(basename "$csvfile")
curdir=${PWD##*/}
outfile="$curdir.m4v"
if [ "$csvfile" != "" ]; then
transcode-video --crop $crop "$mkvfilename" --chapter-names "$csvfile" --m4v -o "$outfile"
else
transcode-video --crop $crop "$mkvfilename" --m4v -o "$outfile"
fi
thisdir=$(basename -s ".m4v" "$outfile")
plexdest="$plexmovies$thisdir/"
if [ ! -d "$plexdest" ]; then
mkdir "$plexdest"
fi
mv "$outfile" "$plexdest"

Thanks, @kvanh! That could be helpful to @dorgan.
I do something similar, but I keep the crop information, e.g. 0:0:240:240, in a separate file indexed by the name of the video. That way the script doesn't have to change for each video.

OK so I have check permissions as well as tried out a different script, which utilizes FFMPEG.  @kvanh  the whole point of this script is it works on any faile and is something that plex runs after each recording.  I tried to add some verbose output to get more information as to whats going on and still this is the only output I get based on the following script:
Sep 25 16:19:55 organ-media1 sh[31966]: Starting
Sep 25 16:19:55 organ-media1 sh[31966]: CMD: transcode-video --quick "/video/TV/.grab/84d3a060aa1170aad4216feb532284502cc58f50/Eyewitness News at 4pm (2013) - 2017-09-25 00 00 00 - Episode 09-25.ts" -o "/video/TV/.grab/84d3a060aa1170aad4216feb532284502cc58f50/Eyewitness News at 4pm (2013) - 2017-09-25 00 00 00 - Episode 09-25.mkv"
Sep 25 16:19:55 organ-media1 sh[31966]: transcode-video 0.17.3
Sep 25 16:19:55 organ-media1 sh[31966]: Copyright (c) 2013-2017 Don Melton
Sep 25 16:19:56 organ-media1 sh[31966]: /usr/local/bin/transcode-video: HandBrakeCLI failed during execution
Sep 25 16:19:56 organ-media1 sh[31966]: ERROR # 255 : Failed to convert file /video/TV/.grab/84d3a060aa1170aad4216feb532284502cc58f50/Eyewitness News at 4pm (2013) - 2017-09-25 00 00 00 - Episode 09-25.ts```

Script:

#!/bin/bash
------------------------------------------------------------------
PGMNAME=HandBrakeCLI
check_errs()
{
if [ "${1}" -ne "0" ]; then
echo "ERROR # ${1} : ${2}"
exit ${1}
fi
}
BASEPATH=$(dirname "$1")
BASEFILE=$(basename "$1")
FILENAME="${BASEFILE%%.*}"
echo "Starting"
echo "CMD: transcode-video --quick "$1" -o "$BASEPATH/$FILENAME.mkv""
transcode-video -v "$1" -o "$BASEPATH/$FILENAME.mkv"
check_errs $? "Failed to convert file $1"
echo "Removing original file."
#rm -f "$1"
check_errs $? "Failed to remove original file $1"
echo "Cleaning up"
#rm -f "$BASEPATH/$FILENAME.mkv.log"
echo "Renaming new video to old name"
mv "$BASEPATH/$FILENAME.mkv" "$1"
check_errs $? "Failed to rename new file to original file name $1"

OK so I put together another script that uses HandBrakeCLI directly and noticed its outputting the following:
Sep 25 16:37:23 organ-media1 sh[31966]: ********************************************************
Sep 25 16:37:23 organ-media1 sh[31966]: Transcoding, Converting to H.264 w/Handbrake
Sep 25 16:37:23 organ-media1 sh[31966]: ********************************************************
Sep 25 16:37:24 organ-media1 sh[31966]: HandBrakeCLI: /usr/lib/plexmediaserver/libxml2.so.2: no version information available (required by HandBrakeCLI)
Sep 25 16:37:24 organ-media1 sh[31966]: HandBrakeCLI: /usr/lib/plexmediaserver/libxml2.so.2: no version information available (required by /usr/lib/x86_64-linux-gnu/libbluray.so.2)
Sep 25 16:37:24 organ-media1 sh[31966]: HandBrakeCLI: /usr/lib/plexmediaserver/libxml2.so.2: no version information available (required by /usr/lib/x86_64-linux-gnu/libbluray.so.2)
Sep 25 16:37:24 organ-media1 sh[31966]: HandBrakeCLI: relocation error: /usr/lib/x86_64-linux-gnu/libavfilter.so.6: symbol avpriv_do_elbg, version LIBAVCODEC_57 not defined in file libavcodec.so.57 with link time reference
Sep 25 16:37:24 organ-media1 sh[31966]: ********************************************************

When I had this error with FFMPEG I have to compile from source.  However running transcode-video form the command line works just fine both as the user I log in as and as the plex user it works just fine.

GOT IT.  Handbrake must have been messed via shared libraries or something.  Installed handbrake via the official PPA for ubuntu and its working.


[BUG]: colossalai stucked with GPU1,2 while running with GPU0,1

🐛 Describe the bug
code at github
expected
run as expected with GPU0,1(connected with nvlink):
$ CUDA_VISIBLE_DEVICES=0,1 colossalai run --nproc_per_node 2 colossal.py
WARNING:torch.distributed.run:
*****************************************
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
*****************************************
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/kernel/cuda_native/mha/flash_attn_2.py:28: UserWarning: please install flash_attn from https://github.com/HazyResearch/flash-attention
  warnings.warn("please install flash_attn from https://github.com/HazyResearch/flash-attention")
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/kernel/cuda_native/mha/mem_eff_attn.py:15: UserWarning: please install xformers from https://github.com/facebookresearch/xformers
  warnings.warn("please install xformers from https://github.com/facebookresearch/xformers")
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/initialize.py:48: UserWarning: `config` is deprecated and will be removed soon.
  warnings.warn("`config` is deprecated and will be removed soon.")
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/kernel/cuda_native/mha/flash_attn_2.py:28: UserWarning: please install flash_attn from https://github.com/HazyResearch/flash-attention
  warnings.warn("please install flash_attn from https://github.com/HazyResearch/flash-attention")
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/kernel/cuda_native/mha/mem_eff_attn.py:15: UserWarning: please install xformers from https://github.com/facebookresearch/xformers
  warnings.warn("please install xformers from https://github.com/facebookresearch/xformers")
[12/11/23 17:38:00] INFO     colossalai - colossalai - INFO:
                             /home/ices/miniconda3/envs/colossalai/lib/python3.1
                             0/site-packages/colossalai/initialize.py:63 launch
                    INFO     colossalai - colossalai - INFO: Distributed
                             environment is initialized, world size: 2
Epoch [1/80]: 100%|██████████| 50/50 [00:26<00:00,  1.91it/s, loss=-]
Epoch [2/80]:  96%|█████████▌| 48/50 [00:21<00:00,  2.27it/s, loss=-]

Mon Dec 11 17:38:22 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA RTX A6000                On | 00000000:4F:00.0 Off |                  Off |
| 30%   43C    P2              138W / 300W|   9751MiB / 49140MiB |     65%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA RTX A6000                On | 00000000:52:00.0 Off |                  Off |
| 30%   45C    P2               78W / 300W|   9751MiB / 49140MiB |     34%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   2  NVIDIA RTX A6000                On | 00000000:56:00.0 Off |                  Off |
| 30%   29C    P8               26W / 300W|      1MiB / 49140MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   3  NVIDIA RTX A6000                On | 00000000:57:00.0 Off |                  Off |
| 30%   29C    P8               19W / 300W|      1MiB / 49140MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   4  NVIDIA RTX A6000                On | 00000000:CE:00.0 Off |                  Off |
| 30%   28C    P8               26W / 300W|      1MiB / 49140MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   5  NVIDIA RTX A6000                On | 00000000:D1:00.0 Off |                  Off |
| 30%   29C    P8               24W / 300W|      1MiB / 49140MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A     92018      C   ...niconda3/envs/colossalai/bin/python     9748MiB |
|    1   N/A  N/A     92019      C   ...niconda3/envs/colossalai/bin/python     9748MiB |
+---------------------------------------------------------------------------------------+

unexpected
stuck when using GPU1,2(no nvlink between them):
$ CUDA_VISIBLE_DEVICES=1,2 colossalai run --nproc_per_node 2 colossal.py
WARNING:torch.distributed.run:
*****************************************
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
*****************************************
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/kernel/cuda_native/mha/flash_attn_2.py:28: UserWarning: please install flash_attn from https://github.com/HazyResearch/flash-attention
  warnings.warn("please install flash_attn from https://github.com/HazyResearch/flash-attention")
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/kernel/cuda_native/mha/mem_eff_attn.py:15: UserWarning: please install xformers from https://github.com/facebookresearch/xformers
  warnings.warn("please install xformers from https://github.com/facebookresearch/xformers")
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/kernel/cuda_native/mha/flash_attn_2.py:28: UserWarning: please install flash_attn from https://github.com/HazyResearch/flash-attention
  warnings.warn("please install flash_attn from https://github.com/HazyResearch/flash-attention")
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/kernel/cuda_native/mha/mem_eff_attn.py:15: UserWarning: please install xformers from https://github.com/facebookresearch/xformers
  warnings.warn("please install xformers from https://github.com/facebookresearch/xformers")
/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/initialize.py:48: UserWarning: `config` is deprecated and will be removed soon.
  warnings.warn("`config` is deprecated and will be removed soon.")
[12/11/23 17:39:34] INFO     colossalai - colossalai - INFO:
                             /home/ices/miniconda3/envs/colossalai/lib/python3.1
                             0/site-packages/colossalai/initialize.py:63 launch
                    INFO     colossalai - colossalai - INFO: Distributed
                             environment is initialized, world size: 2

Mon Dec 11 17:39:49 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA RTX A6000                On | 00000000:4F:00.0 Off |                  Off |
| 30%   31C    P8               25W / 300W|      1MiB / 49140MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA RTX A6000                On | 00000000:52:00.0 Off |                  Off |
| 30%   38C    P2               85W / 300W|   1089MiB / 49140MiB |    100%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   2  NVIDIA RTX A6000                On | 00000000:56:00.0 Off |                  Off |
| 30%   34C    P2               97W / 300W|   1089MiB / 49140MiB |    100%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   3  NVIDIA RTX A6000                On | 00000000:57:00.0 Off |                  Off |
| 30%   29C    P8               19W / 300W|      1MiB / 49140MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   4  NVIDIA RTX A6000                On | 00000000:CE:00.0 Off |                  Off |
| 30%   28C    P8               26W / 300W|      1MiB / 49140MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   5  NVIDIA RTX A6000                On | 00000000:D1:00.0 Off |                  Off |
| 30%   29C    P8               24W / 300W|      1MiB / 49140MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    1   N/A  N/A     92238      C   ...niconda3/envs/colossalai/bin/python     1086MiB |
|    2   N/A  N/A     92239      C   ...niconda3/envs/colossalai/bin/python     1086MiB |
+---------------------------------------------------------------------------------------+

GPU topo
$ nvidia-smi topo -m
        GPU0    GPU1    GPU2    GPU3    GPU4    GPU5    NIC0    NIC1    CPU Affinity    NUMA Affinity
GPU0     X      NV4     PXB     PXB     SYS     SYS     NODE    NODE    0-11,24-35      0
GPU1    NV4      X      PXB     PXB     SYS     SYS     NODE    NODE    0-11,24-35      0
GPU2    PXB     PXB      X      NV4     SYS     SYS     NODE    NODE    0-11,24-35      0
GPU3    PXB     PXB     NV4      X      SYS     SYS     NODE    NODE    0-11,24-35      0
GPU4    SYS     SYS     SYS     SYS      X      NV4     SYS     SYS     12-23,36-47     1
GPU5    SYS     SYS     SYS     SYS     NV4      X      SYS     SYS     12-23,36-47     1
NIC0    NODE    NODE    NODE    NODE    SYS     SYS      X      PIX
NIC1    NODE    NODE    NODE    NODE    SYS     SYS     PIX      X

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

NIC Legend:

  NIC0: mlx5_0
  NIC1: mlx5_1

Environment
nvidia-driver: 530.30.02
python=3.10.13
pytorch==1.13.1
pytorch-cuda=11.7
cuda-toolkit=11.7.1
colossalai=0.3.4

Hi, can you identify where it is getting stuck? I'm unable to reproduce this issue.

When I press Ctrl+C it prints this:
^CWARNING:torch.distributed.elastic.agent.server.api:Received 2 death signal, shutting down workers
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 423964 closing signal SIGINT
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 423965 closing signal SIGINT

Aborted!
^CException ignored in atexit callback: <function _exit_function at 0x7f4687d7bf40>
Traceback (most recent call last):
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/multiprocessing/util.py", line 357, in _exit_function
Process Process-1:
    p.join()
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/multiprocessing/process.py", line 149, in join
    res = self._popen.wait(timeout)
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/multiprocessing/popen_fork.py", line 43, in wait
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 423964 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 423965 closing signal SIGTERM
    return self.poll(os.WNOHANG if timeout == 0.0 else 0)
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/multiprocessing/popen_fork.py", line 27, in poll
    pid, sts = os.waitpid(self.pid, flag)
KeyboardInterrupt:
Traceback (most recent call last):
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/runners.py", line 466, in _finish
    self.wait()
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/runners.py", line 1003, in wait
    time.sleep(self.input_sleep)
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/runners.py", line 473, in _finish
    self.send_interrupt(e)
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/runners.py", line 1154, in send_interrupt
    self.write_proc_stdin("\x03")
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/runners.py", line 1017, in write_proc_stdin
    self._write_proc_stdin(data.encode(self.encoding))
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/runners.py", line 1282, in _write_proc_stdin
    fd = self.process.stdin.fileno()
ValueError: I/O operation on closed file

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/colossalai/cli/launcher/multinode_runner.py", line 50, in run_on_host
    fab_conn.local(cmds, hide=False)
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/fabric/connection.py", line 870, in local
    return super().run(*args, **kwargs)
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/context.py", line 104, in run
    return self._run(runner, command, **kwargs)
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/context.py", line 113, in _run
    return runner.run(command, **kwargs)
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/runners.py", line 395, in run
    return self._run_body(command, **kwargs)
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/runners.py", line 451, in _run_body
    return self.make_promise() if self._asynchronous else self._finish()
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/site-packages/invoke/runners.py", line 489, in _finish
    thread.join(self._thread_join_timeout(target))
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/threading.py", line 1096, in join
    self._wait_for_tstate_lock()
  File "/home/ices/miniconda3/envs/colossalai/lib/python3.10/threading.py", line 1116, in _wait_for_tstate_lock
    if lock.acquire(block, timeout):
KeyboardInterrupt


CSS architecture is messy

First: thank you, the plugin works really well!
Plase consider improving CSS architecture, here some examples:

Consider doing the possible to have a smaller CSS footprint. Less style equals to less errors, easier to customize, and better overall speed (consider we're adding upon existing css codebase).

Avoid styling using ID selector and "too generic" class names (example: ".slide").
The solution might be using a "unique" prefix to style all your classes:
.cookieconsent--classone { }
.cookieconsent--classtwo { }

Class names are not human readable, so it's a bit hard to customize for users

Thanks a lot for your attention: I am open to discussion and willing to contribute to this, already awesome, project.

Hi @bomastudioweb,
yes, I totally agree on the fact that the css structure is messy!
The main issue is that there are a lot of themes — mainly wordpress ones — which apply a lot of rules globally with a high specificity.
E.g.: a button element with the following unique class .cc__button--accept would be easily messed up by a rule like this:
.body button: { border: 4px solid red }.
To fix this I would have to write a higher specificity rule, perhaps something like .cc .cc__button--accept which:

defeats the purpose of having unique class names
does not really fix the specificity issue since there can be even higher (global) specific rules than the one I created

So it boiled down to either:

using id's (higher specificity than classes)
using the !important clause everywhere

The !important clause  approach (always discouraged) would have been more effective but it had one major drawback: significant increase in filesize. So I went with the id route; I also shortened each class to something — as you mentioned — more cryptic, to reduce the filesize.
Considering the fact that you don't have control over a website's css "framework" and the css rules used by its plugins (you should expect the worst) — how would you address this issue (specificity) while still having a decent css structure/framework?

Woudn't be possible to use shadWoudn't be possible to use shadow DOM? Then you would have no conflicts with "outer" styles.ow DOM? Then you would have no conflicts with "outer" styles.


Feature/multirecord update

Alters the API interface to allow for bulk updates. Additionally clarifies the return types of some methods to return hashes instead of arrays where more appropriate.

Coverage decreased (-1.94%) to 95.95% when pulling 2bab2e507acf9f7941b26a031454a27e20cfe431 on feature/multirecord_update into<PHONE_NUMBER>041dae41399746cd55a8cb0fe0349b on master.

Coverage increased (+2.11%) to 100.0% when pulling beb9567e343b19715b44565b7af663a748ade863 on feature/multirecord_update into<PHONE_NUMBER>041dae41399746cd55a8cb0fe0349b on master.


How to find the call hierarchy

I am not able to find the call hierarchy of getter and setter generated by the lombok. I can see those getter and setter method in outline view of VS code but not able to search for the call hierarchy.

This is definitely missing badly, as use of Lombok and its @Data annotation is widespread. I end up writing a getter only to be able to see the call hierarchy in VSCode before some refactoring.

same here....

+1
When looking for calls of generated Builder methods the workaround of @jfrantzius is even more complicated.


feat(SDK): updating Python to 4.2.0 and R to 4.0.0

This is a documented way for what needs to be incremented when making changes. Closing as an upcoming pull request change will be able to illustrate for future reference.


Allow backing up / restoring wallet seed from the UI

Especially important for umbrel, where it's not as straigtforward to copy the seed to/from Docker container running on a remote box.

Closed in favor of #865.


Differentiablity and Soft DTW

Hi,
Looks like amercing might be exactly what I am looking for in my loss function.
I was wondering if you'd ever considered integrating it with the Soft DTW algorithm  before, or if you know any reason why it might not be differentiable. Looking through the paper, I assume given that the penalty is pretty straightforward, it should be possible to express it in a way that can be differentiated and add that into the calculation for the backwards pass of the soft version. But my maths isn't that great.
Have you ever looked into this at all?
Thanks!

Hi,
Apologies for the delay.
Unfortunately, I changed job and I am no longer working on this subject.
I'll signal the issue to my former coworker (but I can't promise anything).
All the bests,
Mat

Thanks a lot, appreciate it!


Cannot set custom claim in Firebase Admin

When I run the setCustomUserClaims from inside a cloud function it never sets the claim.
Here is the code:
`exports.addAccess = functions.https.onCall((data, context) => {
const isAdmin = data.admin;
const isStaff = data.staff;
const email = data.email;
return admin.auth().getUserByEmail(email).then((user) => {
    return admin.auth().setCustomUserClaims(user.uid, {
        admin: isAdmin,
        staff: isStaff,
    });
}).then(() => {
    return admin.auth().getUserByEmail(email).then((u) => {
        console.log(u.customClaims);
    });
}).catch((error) => {
        console.log('Error adding claims: ', error);
    });

})`

Code looks fine and also works fine for me.
const admin = require('firebase-admin');

const email = '...';

admin.initializeApp();
return admin.auth().getUserByEmail(email).then((user) => {
  return admin.auth().setCustomUserClaims(user.uid, {
      admin: true,
      staff: false,
  });
}).then(() => {
  return admin.auth().getUserByEmail(email).then((u) => {
      console.log(u.customClaims);
  });
}).catch((error) => {
      console.log('Error adding claims: ', error);
});

Output:
{ admin: true, staff: false }

Have you checked the Functions log output? Specifically, how did you determine that it is not working?

@hiranya911 this is what I get in the output:
{}

@hiranya911 I shouldn't have to be on the blaze plan for this right?

I shouldn't have to be on the blaze plan for this right?

No you don't.
Can you also log the following:
console.log({
        admin: isAdmin,
        staff: isStaff,
});

@hiranya911 Thanks for that they were undefined had a typo on getting that data. All works now


FIX: IC Die Properties setter fixes

Fix EDBComponent.ic_die_properties setter and application of same from EDB configuration files.
Fixes #828

@isaacwaldron Thank you very much for the fix!


ts=2018-06-27T05:47:26.148843166Z caller=images.go:21 component=sync-loop error="getting unlocked automated services: git repo not ready"

If the git repo  is empty before starting the flux, it will always show that err="git repo not ready, even if you commint the yaml to the directory, it still shows this error
ts=2018-06-27T05:47:26.148843166Z caller=images.go:21 component=sync-loop error="getting unlocked automated services: git repo not ready"
ts=2018-06-27T05:47:42.923751129Z caller=loop.go:89 component=sync-loop err="git repo not ready"
ts=2018-06-27T05:48:12.92408612Z caller=loop.go:89 component=sync-loop err="git repo not ready"
ts=2018-06-27T05:48:42.92450257Z caller=loop.go:89 component=sync-loop err="git repo not ready"
ts=2018-06-27T05:49:12.924793436Z caller=loop.go:89 component=sync-loop err="git repo not ready"
ts=2018-06-27T05:49:42.925159769Z caller=loop.go:89 component=sync-loop err="git repo not ready"
ts=2018-06-27T05:50:12.925602397Z caller=loop.go:89 component=sync-loop err="git repo not ready"
ts=2018-06-27T05:50:42.925883243Z caller=loop.go:89 component=sync-loop err="git repo not ready"
ts=2018-06-27T05:51:12.926289204Z caller=loop.go:89 component=sync-loop err="git repo not ready"

Does this look the same as #904?
Either way, yes that's a problem. I think it occurs because we try to tag HEAD as a check that we can write to the upstream repo, but if there's no commits, there's no HEAD. We may have to have a special case, when there's no commits.

I'm going to close this as a duplicate of #904, but add a note there to come back and check that any fix there also covers this.


Secret Request for Catena Git

Is your support request related to a problem? Please describe.
Missing a secret for end to end tests configuration.
Describe the solution you'd like
Adding a secret to be able to start writing end to end tests to be prepared once we change it to the tractus-x like e2e tests.
Additional context
Please get in contact with me to get SECRET info.
Thanks in advance.

@ds-mwesener could you please specify repository for which you need a secret creation?

@ds-mwesener could you please specify repository for which you need a secret creation?

HI @tomaszbarwicki
https://github.com/catenax-ng/tx-traceability-foss

Hi @ds-mwesener,
since you want to add the secret to a fork from eclipse-tractusx, I think you should reconsider the approach.
Correct me if I am wrong, but I guess you want to configure consoria specifics here, Like we discussed earlier regarding the cypress workflows, we need to keep them clean from consortia specifics.
My suggestion would be to either add a manual workflow, where you can provide the secrets/credentials via input, or try to avoid secrets at all.

Hi @SebastianBezold, I have discussed the topic regarding the e2e tests with my product owners. We want to go into the right direction. Currently we need a quick solution for writing tests already, so that we can simply use them for the future in the right e2e configuration.
As we want to have an automatic trigger on that e2e tests, providing manual input would not fit our requirements.
Please assist. Thanks

Hi @ds-mwesener,
I can understand that. Can you elaborate on what kind of information you want to store in that secret?
We had plenty of cases like this in the past and that always lead to complicated workflows, that had to include exceptions for eclipse-tractusx. Sooner or later, your workflows, that reference the secret, that is present in catenax-ng will end up in eclipse-tractusx. There it will fail, since the secret is not present.
So other teams added conditions on workflow steps, that only run them if triggered in catenax-ng.
But actually we do want to move away from these kind of hacks and most of the teams already managed to do so by treating eclipse-tractusx as leading and not have consortium specifics in the workflow.
If you can further describe what the secret is needed for, I bet we can find a good solution

We want to store login information to retrieve a bearerToken for authenticating a user. Afterwards we will be able to write cypress tests to increase the quality of our trace-x frontend.
In a later scenario, once we have a full functional e2e testsetup in a manner of open source eclipse-tractusx. We do not need this anymore, because we can setup and use credentials within a e2e testcontainer or similar.

Hi @ds-mwesener,
so if you really cannot find any other way than the consorita specific secret, we can add it, but I would actually like to keep it as a PoC approach only and revisit it in near future. Not having another prototype, that lives forever.
Are you planning on keeping it in catenax-ng and contributing to eclipse-tractusx, only as soon as there is a sustainable solution?
How do you want to exchange the secret information, so we can add it?

Hi @ds-mwesener,
so if you really cannot find any other way than the consorita specific secret, we can add it, but I would actually like to keep it as a PoC approach only and revisit it in near future. Not having another prototype, that lives forever. Are you planning on keeping it in catenax-ng and contributing to eclipse-tractusx, only as soon as there is a sustainable solution?
How do you want to exchange the secret information, so we can add it?

Hi @SebastianBezold the plan is to not contribute it to eclipse, since it is only enabling us to run / validate newly created e2e tests.
Once a sustainable e2e open source test setup is existing for eclipse-tractusx we want to switch over to this approach.
Then we will already have a lot of tests which can be used in this future setup.
I have added the secrets already to the vault and shared with @tomaszbarwicki - can we proceed with that?
Thanks in advance!

Hi @ds-mwesener,
ah ok cool. Yes Vault is perfect. @tomaszbarwicki could you already add to the repo?

@ds-mwesener all secrets added, pls confirm after tests and close the issue if works as expected

Hi @tomaszbarwicki Thanks it works.


Relative symlinks strategy should not rely on man-db

As in #503 you introduced relative symlinks relying on man ln .
This is a command of the man-db package which is not always installed. Never if you look in docker php container.
So please make this if [[ "$(ln --help)" =~ "--relative" ]]; then echo "true"; fi .
Or is there something, that breaks when using the usual help option?

This is possible to use. Does all nix system supports help option? For temp this you can set config use relative symlinks to true.

That was my question, too. Seeing this close I guess you've implemented it already.
Both check might help to answer our question - like a fallback ;-)

There is a PR #1132


Principal support improvements

@Context should support javax.ws.rs.core.SecurityContext
@Context should NOT support java.security.Principal
drop net.cactusthorn.routing.annotation.UserRoles and use javax.annotation.security.RolesAllowed instead

done.

done.


Run stage 1 in 64-byte increments on Westmere and ARM

On Westmere and ARM64, there is a real performance increase when you step through the file 64 bytes at a time rather than 128.
Westmere: 1.744035 -> 1.810536 (3.8% perf improvement)
ARM64: 0.143128 -> TBD (on this patch it produced a 0.5% improvement, but that was after the UTF-8 changes were applied)
Wanted to pull this out so that the other patch can stand on its own.

@jkeiser Great find!
Merge at will.
(Manually verified.)

@lemire just to check, you also saw an improvement in both arm and see?

I did!


Swagger Validation for File Downloads: schema type: file is shown as response validation error

Swagger Validation failed for ZIP File Download,
I am trying to write a file download API. It is a stream type for response but it is failing as "Response Validation failed"
My Yaml FIles is like this:
produces:
  - application/zip

/library/getacitemspackage:
  # This is the controller for getting the acitem and all its internal references as a deep package for the seamless delivery
    x-swagger-router-controller: library_get_acitems_package
    # this is a post method verb of the api service call
    post:
      summary: The API does the zip of all the given acitems and brings all the deep copy references packages from the cloud library
      description: The API does the zip of all the given acitems and brings all the deep copy references packages from the cloud library
      operationId: libraryGetAcitemsPackage
      parameters:
        - name: acitemsList
          in: body
          description: The list of all the acitems for which the package needs to be delivered as a zip
          schema:
            type: object
      responses:
        "200":
          description: Success
          schema:
            type: file
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorResponse"

My API code is like this :
            var archive = archiver('zip');
            var totalAcitemListArray = totalAcitemList.toArray();
            for (var index = 0; index < totalAcitemListArray.length; index++) {
                archive.append(fs.createReadStream(path.join(root_directory, totalAcitemListArray[index])), { name:totalAcitemListArray[index] });
            }
            archive.finalize();
            archive.on('error', function(err) {
                response.status(500).send({error: err.message});
            });
            response.send('acitemsPackage.zip');
            archive.pipe(response);

Also i have had a chat with @webron regarding this issue. I am raising this ticket as a follow up for the revision of the swagger-tools in the swagger-node project for file send utilities.
https://github.com/swagger-api/swagger-spec/issues/446

This is most likely just a matter of updating swagger-tools to the latest version (issue should be fixed in 0.9.1).

Great! Swagger-node will already use the latest version of swagger-tools (0.9.2). Just use npm update or delete your node_modules directory and reinstall your dependencies with npm install.

Thanks @theganyo  - since I'm still very very new to node development, wouldn't https://github.com/swagger-api/swagger-node/blob/master/package.json#L35 suggest otherwise? If not, would be a good time for me to learn :)

You bet. :) So all versions in NPM use semver for resolution. Thus, this line:
"swagger-tools": "^0.9.0"
is what semver calls a carrot range, which states that it "allows changes that do not modify the left-most non-zero digit". Meaning, it will resolve the above version as a range matching this:
"swagger-tools": "0.9.x"
There can be a lot of complexity in version ranges in semver, but the carrot range is the default when you use npm install --save and seems to be a decent option to live by for the most part.
I hope that helps!

Awesome, thanks for the explanation!

Hi great folks, I updated my npm package as you mentioned in the above thread and my project is now working like a charm. Thanks a lot for the great help. this means a lot to me. I shall close the issue now. Once again thank you. Appreciate your great contribution :)


Implement new front end design

Summary
This resolves #1 🎉
Notable changes (some outside of FED)

Ran Headwind on the project to organize the tailwind classes
Added a skill_level column to modules so that they can be organized on the listing page by beginner, intermediate, and advanced
Changed the module listing page to list all module NOT in a users track when they're logged in
Add filter to Modules in Nova to filter by skill level
Add new layout that has no nav to use for auth views
Organize Vue component imports for those that are used globally

Question(s)

Is learn.blade.php still in use?

Is learn.blade.php still in use?

Hm I'd lean toward no? But let's see lol

Hey @damiani ! I corrected all of the edits excluding the two I haven't marked as resolved. Let me know when you have a quick sec to chat about the things you noted so I can knock these last two things out.
Thanks for reviewing this!! 😄

@damiani The module listing changes have been completed
What changed:

created a ModuleListing component for ease of switching between designs when a user is a guest or logged in
added a toggle for logged in users to filter between the modules they're seeing
added a badge to cards to indicate if a module is completed

Screenshot


Add mtu

Add mtu.txt file

@FikruKebede First stage of verification passed, official domain is mtu.edu.et as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@FikruKebede Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Fixed empty lines not flowing to log plugins

The empty lines are important to the way the log parsers (in this case the testresult parser) work.
There are places where newlines are part of the expected test result format.
Additionally not passing these also messes up the diagnostic logging from the log plugins where the line numbers will not match the line numbers from the downloaded log files.
The logs available for download via the download all logs or the task output in the build page both have the newlines intact. But the log plugins receive a modified version of the logs stripped of empty lines which sort of defeats the purpose of the log plugins working on the exact same logs. Ideally no such processing should be done.

@TingluoHuang

@nigurr we didn't redirect empty line because they means nothing to customer and we don't want the download log fill with empty lines. Can you share an example about why empty line is important for log parsing?

we didn't redirect empty line because they means nothing to customer and we don't want the download log fill with empty lines.

@TingluoHuang they do actually appear in the logs the customer sees today.
The log plugins are the ones not receiving it.

They is a mismatch today between
what the customer sees (no empty lines are removed, the logs are preserved as it is today in the builds page as well as the download logs zip)
and what the log plugin gets (here empty lines are removed)
Out ask is basically that the log plugins receive the same the thing the customer sees

@ShreyasRmsft it used for run job inside container (YAML feature), we write a line through STDIN into container.

@TingluoHuang i wasn't able to find any tests for the file src\Agent.Sdk\LogPlugin.cs

@ShreyasRmsft i had this https://github.com/Microsoft/azure-pipelines-agent/blob/master/src/Test/L0/Plugin/LogPluginHostL0.cs


Create gitattributes

Hey love the project, exactly what I was hoping for. Can't wait to see other effects added with time.
This is a super small PR, just wanted to have the gitattributes correctly configured so the install from the assetlib stops putting the "LICENCE" and "icon.png" and "icon.png.import" files in my projects root folder. This should take care of it. File taken verbatim from Nathan Hoad's Dialogue Manager addon as I know it works properly.
Thanks!

Sweet, i was trying to do the same thing with .gitignore, i only know the bare bones of git and github haha


DOCK-2262: invalidates relative path yml files

Description
This PR invalidates ./dockstore.yml files that provide relative paths instead of absolute.
Review Instructions
Verify that the new test pass and yml files with relative paths are not valid anymore using the webservice validator constraints.
Issue
https://ucsc-cgl.atlassian.net/browse/DOCK-2262
Security
If there are any concerns that require extra attention from the security team, highlight them here.
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running ./mvnw clean install
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

Rerequesting reviews for everybody as I removed all previous code and let the cli use the new webservice constraints from https://github.com/dockstore/dockstore/pull/5641. This PR is now just to add some tests to verify that the absolute paths are not valid.


Palmera

Project
Palmera
Description
Smart Treasury Management: Multiple Safes, Multiple Chains, One Dashboard.
Please provide the project scope.
Safe Apps
Select a primary category of your project.
Payments
Select secondary categories of your project.
Dashboard, DAO Tooling, Accounting, Aggregator
Project logo

Value proposition
Palmera aggregates all your Safes across multiple chains to streamline your operations and treasury management, all from a single dashboard.
Contact
<EMAIL_ADDRESS>Project URL
https://www.palmeradao.xyz/
Github / Dev Docs
No response
Twitter
https://x.com/palmera_dao
Primary integration
Core SDK, Transaction Service API, Safe Contracts
Packages
Safe Core SDK, Safe Service Client, Transaction Service API, Safe Deployments, Safe Ethers Adapter, web3-onboard
Modules / Guards
No response
Smart Accounts
No response
Is Safe the only Smart Account provider you are using in your project?
Yes
Networks
Arbitrum, Base, Celo, Ethereum, Gnosis Chain, Optimism, Polygon PoS
Can you create a Safe via the interface?
Yes
Can you import an existing Safe via the interface?
Yes

Noted, will be added in the next sync!


Crashes on 5.8

the crashes occur for me during log out and/or doing a speed clear like doa
example screen here: https://i.imgur.com/4pzBL5Y.jpeg

Crash.zip
Here is the zipped crash dump

Don't worry about the login information that was there when I had that crash


Copyright violation

Hi @SecUSo
I found this app on the Google Play Store. This guy just took your source code, added some ads in it and put it on the Store, without warning this is free software...
As you are the owner of the source code, feel free to open a request to google here to remove the false app from the Store, if it's your wish ;)
Don't forget to tell Google that:

The app is licensed under Apache license and this guy is violating it;
He is falsely claiming he made the app;
Provide a link to this repo and some screenshits of your own app.

The app has been removed. Please report here if you find other copies in the future 👍


o3

Prepare conversion to process o3 data

concentration (mg/m3) = 0.0409 x concentration (ppm) x molecular weight
Molecular weight o3 = 48.00 g/mol

https://www.teesing.com/en/page/library/tools/ppm-mg3-converter


Add support for toil autoscaling

I'm pretty sure this won't impact the code much, except for maybe flagging some non-preemptible jobs.  But the README will have to be changed quite a bit.  From what I'm seeing, we'll probably want to replace all cgcloud based examples with straight toil versions.

Throw some key discoveries here before losing them:

need to run script before screen
keypairname (when launching cluster) is just email/aws login
need to install virtualenv with --system-site-packages when loading up toil-vg
docker wont mount properly without --workDir /var/lib/toil
mesos wont work without --mesosMaster <IP_ADDRESS>:5050

This is working much better now with latest toil.   But still trying to do a whole-genome call without a failure (chr1,2,X,Y subset works ok ). Pretty sure it's running out of memory on some chunks, maybe due to loading the whole-genome xg index for each filter step.  This can be fixed in the config, but may want to go back to re-generating xg's for each chunk.

This has been going fairly well for a while now.


removed markdown conversion

Bug in markdown conversion results in error. Remove feature for now to unblock users.

This will fix https://github.com/Azure/aml-workspace/issues/14


Add two features which supports training PPO in one graphic card for large model and ChatGLM-6B model support

📌 Checklist before creating the PR

[ x] I have created an issue for this PR for traceability
[ x] The title follows the standard format: [doc/gemini/tensor/...]: A concise description
[ x] I have added relevant tags if possible for us to better distinguish different PRs

🚨 Issue number

Link this PR to your issue with words like fixed to automatically close the linked issue upon merge
e.g. fixed #1234, closed #1234, resolved #1234
'Implement ##3566', 'Implement #3565'

📝 What does this PR do?

Add model support for ChatGLM-6B.
Add a video ram friendly trainer when training PPO model. One 3090ti with 24GB vram can finish the PPO training.
Add Peft reward model, so all stage-3 models are peft.
Add a support to preprocess texts to binary datasets to save the data process time.

💥 Checklist before requesting a review

[x ] I have linked my PR to an issue (instruction)
[ x] My issue clearly describes the problem/feature/proposal, with diagrams/charts/table/code if possible
[x ] I have performed a self-review of my code
[x ] I have added thorough tests.
[ x] I have added docstrings for all the functions/methods I implemented

⭐ Do you enjoy contributing to Colossal-AI?

[x ] 🌝 Yes, I do.
[ ] 🌚 No, I don't.

Tell us more if you don't enjoy contributing to Colossal-AI.

@yynil hello, if you want to support more models, can you add all models class in https://github.com/hpcaitech/ColossalAI/tree/main/applications/Chat/coati/models?
you can make a dir glm in https://github.com/hpcaitech/ColossalAI/tree/main/applications/Chat/coati/models/glm

I think this PR changes too many things, I think you can split it into three PR:

add glm models: including Reward model, actor model, critic model and LMmodels;
add datasets  preprocess in  https://github.com/hpcaitech/ColossalAI/tree/main/applications/Chat/coati/dataset
add community example in https://github.com/hpcaitech/ColossalAI/tree/main/applications/Chat/examples/community

@yynil hello, if you want to support more models, can you add all models class in https://github.com/hpcaitech/ColossalAI/tree/main/applications/Chat/coati/models? you can make a dir glm in https://github.com/hpcaitech/ColossalAI/tree/main/applications/Chat/coati/models/glm

I'll create another branch to separate these changes.

I add how to support your own model in this PR, https://github.com/hpcaitech/ColossalAI/pull/3579, please refer to it

Since the ChatGLM is not willing to release a smaller model to public to train a reward model, I'm suspending the support to ChatGLM. My Branch will then move to bloom because bloom has a very good small model to allow us train reward model much easier.

Since the ChatGLM is not willing to release a smaller model to public to train a reward model, I'm suspending the support to ChatGLM. My Branch will then move to bloom because bloom has a very good small model to allow us train reward model much easier.

Thanks, you are welcome to share and update your PR.


[<IP_ADDRESS>] Elemental Adept [Fire] doesn't apply to Flaming Sphere

This seems like one that can't be fixed or might be intended, but Flaming sphere doesn't reroll 1's for its fire damage, either when its owner tells it to attack with a bonus action, or when a creature just stands in it for too long.

Spheres.zip
Save is from this campaign.

This is a game engine limitation on recurring effects. Won’t be fixed.


[19.03 backport] Return "invalid parameter" when linking to non-existing container

backport of https://github.com/moby/moby/pull/39852 to fix the regression in 19.03
fixes https://github.com/moby/moby/issues/39823
fixes https://github.com/docker/for-mac/issues/3871
Trying to link to a non-existing container is not valid, and should return an
"invalid parameter" (400) error. Returning a "not found" error in this situation
would make the client report the container's image could not be found.

Windows RS1 https://ci.docker.com/public/job/engine/job/PR-352/1/execution/node/169/log/?consoleFull
No idea on this one; it was flaky a few times in the past; https://github.com/moby/moby/search?q=TestAPIStatsNetworkStats&type=Issues.
We don't have bundles yet for Windows in this branch (need to backport https://github.com/moby/moby/pull/39858), so can't look deeper into that issue
00:46:52  FAIL: docker_api_stats_test.go:100: DockerSuite.TestAPIStatsNetworkStats
00:46:52
00:46:52  assertion failed: error is not nil: exit status 1
00:46:52
00:46:52  ----------------------------------------------------------------------

Other failure on RS1 is a known flaky issue https://github.com/moby/moby/issues/38521, and for which there's a WIP PR (that stalled unfortunately); https://github.com/moby/moby/pull/38595
01:41:00  FAIL: check_test.go:107: DockerSuite.TearDownTest
01:41:00
01:41:00  assertion failed: error is not nil: Error response from daemon: container a3eb366e25660ac0998375a2d287a83c02369fa91df0a312e2fc481b1e567eb8: driver "windowsfilter" failed to remove root filesystem: hcsshim::GetComputeSystems: The requested compute system operation is not valid in the current state.: failed to remove a3eb366e25660ac0998375a2d287a83c02369fa91df0a312e2fc481b1e567eb8
01:41:00
01:41:00  ----------------------------------------------------------------------
01:41:00  PANIC: docker_cli_start_test.go:190: DockerSuite.TestStartReturnCorrectExitCode
01:41:00
01:41:00  docker_cli_start_test.go:200:
01:41:00      c.Assert(exitCode, checker.Equals, 12, check.Commentf("out: %s", out))
01:41:00  ... obtained int = 125
01:41:00  ... expected int = 12
01:41:00  ... out: time="2019-09-10T23:40:58Z" level=error msg="error waiting for container: EOF"
01:41:00
01:41:00
01:41:00  ... Panic: Fixture has panicked (see related PANIC)


Fix some of the linting errors

This PR's goal is to fix some of the linting errors/warnings.

~177 warnings across 25 files~
105 warnings remain across 2 files
A lot of these are just documentation and require context (that I don't have) to explain what an argument, function, or file does
I took the lead by trying to read and understand some of the files, ended up re-writing a lot of them to make it easier to understand and documented what I could. But there are still a few aspects of them that need filling out
Cleaned up several files that had weird CoffeeScript generated JS code

About the @authors property: I'm not really a fan of adding my username to specific files - if this is the norm, I wasn't aware. Could we instead have an AUTHORS file which lists all the authors and contributors?

I'm going close this since I just released v4-rc.7 and there's a ton of merge conflicts here. I'm adding jsdocs in #667


Alternative Chapter Two

Wrote this before I saw @pad-pad 's PR, so here is a separate take on an expansion of Karl's outline.

I like the flow

This is really cool! We've recently made some major changes to the course so this isn't a good fit for chapter 2, but it would be great in Chapter 3: PoW. Going to figure out how to incorporate it into the lecture notes :)

Update
@ben-chain

added your notes on sync vs async networks to the 2.1 lecture notes
added your double spend notes ot the 2.2 lecture notes
added your PoA stuff to the 2.4 lecture notes

@DaGitNah

added your ASIC notes to 3.2 (might move to a different section in the future, but for now I think that makes sense)

@ben-chain would be happy to nominate you for some Carrot tokens :carrot: in our Community DAO. Are you a member on the forum and/or is there an Ethereum address you'd like to register with the DAO to receive Carrot tokens? :carrot:


To create workspace directory on Windows

Hello I would like to know how I can create a workspace directory on Windows. I have installed Python 3.8 and have been trying to put the following function on it
$ export ML_PATH="$HOME/ml" and
$ mkdir -p $ML_PATH
but both of them are not working. I have tried the same on windows command prompt but still an error.
Do I need to create this directory through GitHub prompt or by Anaconda prompt. I have installed both of them.
Secondly, how I can install virtualenv through Anaconda?
Lastly, when I am trying to upload the raw data of housing on Jupyter it shows error after
housing = load_housing_data()
housing.head()
I will be looking forward to your advice.
Kind regards,
Nishant

Hi Nishant,
Thanks for your question.
First, on Windows, I strongly recommend you install Anaconda, Python 3.7 version. TensorFlow does not work with Python 3.8 yet, and installation is much easier on Windows using Anaconda. You should probably uninstall Python 3.8 first, to avoid any conflict between the two.
The installation instructions in the book are meant for MacOSX or Linux, not Windows. The export and mkdir commands are meant to just create the directory in which you will work on your Machine Learning projects. The first line uses export to temporarily define an environment variable called ML_PATH that will contain the path of the directory to create, called ml and located in your home directory (on MacOSX or Linux, the HOME environment variable usually points to /home/your_login, so the new ML_PATH variable will be equal to /home/your_login/ml). The variable will cease to exist after the shell (terminal) is closed.
On Windows, you access an environment variable using %VARIABLE_NAME% instead of $VARIABLE_NAME. You must also replace export with set, and replace $HOME with %HOMEDRIVE%%HOMEPATH%. Indeed, as far as I know (I don't use Windows), there's no  predefinedHOME environment variable on Windows, but instead there are two variables: HOMEDRIVE points to the drive of the home directory (typically C:) while HOMEPATH points to the home directory on that drive (typically \Users\your_login. Note that Windows uses backslashes instead of slashes.
Lastly, the mkdir command creates the directory. The -p option specifies that all parent directories should also be created if they don't exist. On Windows, you should use md instead of mkdir -p. So if you define ML_PATH to be C:\a\b\c\d\e, for example, then md %ML_PATH will create directories C:\a, C:\a\b, C:\a\b\c, C:\a\b\c\d, and C:\a\b\c\d\e.
If you want the environment variable to be permanent (not just the lifetime of the terminal window), then read these instructions on how to set environment variables permanently.
Once you install Anaconda, it's easier to use by opening the Anaconda Shell. It's like a normal shell, except it has the appropriate environment variables set for you, so anaconda commands will be directly accessible and functional.
Also make sure to install git.
Once you've opened the Anaconda shell, you can run these commands:
# Create the working environment
set ML_PATH="%HOMEDRIVE%%HOMEPATH%\ml"  # or define this env variable permanently
md %ML_PATH%
cd %ML_PATH%

# Clone the project
git clone https://github.com/ageron/handson-ml.git
cd handson-ml

# Edit environment.yml
notepad environment.yml

At this point, you must use notepad to comment out the lines in environment.yml that are tagged as not working on Windows. Then save the file, exit notepad and go back to the Anaconda shell.
# Create the tf1 conda environment
conda env create -f environment.yml

# Activate the tf1 environment and start Jupyter
conda activate tf1
jupyter notebook

Once you're done with Jupyter, you can type Ctrl-C in the Anaconda shell window. You can type jupyter notebook to start Jupyter again. Once you close the Anaconda shell window, if you want to start Jupyter again, you must open an new Anaconda shell window and type:
set ML_PATH="%HOMEDRIVE%%HOMEPATH%\ml"  # unless you defined this env permanently
cd %ML_PATH%
cd handson-ml
conda activate tf1
jupyter notebook

Hopefully this will fix the error your got with load_housing_data(). If not, please copy/paste the full stacktrace here.
Hope this helps.

Thanks a lot, that wa really helpful.

Thanks a lot, that wa really helpful.

while I do like the writing in the book so far, after reading this I have to wonder why "FOR MAC" is not on the title of the book. I would not have purchased it if I knew it was not windows or linux based.

Thanks it was really helpful.

Had similar understanding issues with the linux commands to use in win10. Luckily, I found this thread.
One additional question. For me "environment.yml" has no tagged incompatibilities with windows, at least not in the file itself. So what to do about it? For now i just irgnored it and continued with the following steps.


Unable to learning RF code from BroadLink

It is not possible with last firmware to learn RF code from BroadLink Pro. I try in any way without success. Instead I have not problem with Ir code learning.

Please use the issue template


[Feature request]: Battery doorbell that is wired 24/7 RTSP support

Describe the solution you'd like
Hello,
Currently I am trying to use the eufy security client to enable 24/7 RTSP streaming on my battery doorbell but that I have wired and is receiving 24/7 power. The RTSP stream stops after I think 3 minutes and then goes offline for a while.
Is it possible to make the stream be available 24/7?
As I am trying to record the stream through Scrypted(homekit platform) using this RTSP url.
Thanks in advance!

This is by hardware/firmware that is only can stream for 3 min. That is what I remembered from a discussion a while back

I was also thinking about integrating this client into scrypted.
There is a command to start/stop the stream. It could be triggered from scrypted to resume the stream when the stream stops. It will cause a small hiccup I guess. First start is to make this plugin available in scrypted 😄

It is like already written by @liudger


executing "gql_node" at <$n.ID.Type.Type>: nil pointer evaluating *gen.Field.Type

I have set up a project with GraphQL integration following the tutorial in the docs., but when I run go generate ./ent, I see this error
running ent codegen: execute template "gql_node": template: node.tmpl:24:26: executing "gql_node" at <$n.ID.Type.Type>: nil pointer evaluating *gen.Field.Type
exit status 1

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Tech
Version

Go
1.18.3

Ent
0.10.2

Database
MySQL

Driver
https://github.com/go-sql-driver/mysql

Hey @besrabasant 👋
Can you please update to the latest master and report if you still get this?
go get entgo.io/ent@master
go get entgo.io/contrib@master


More designs and customization!

Like the title says, it would be cool if you added some more designs and customization (like changing the colors or fonts, maybe?)
That would be cool, and it would also make the social preview images more unique for different projects.
😀

Hey @quantomistro I absolutely agree!
Do you have any sort of customization ideas you'd like to see? I've been searching for inspiration before I jump into an implementation.

Here's a few things I think would be cool:

A few more backgrounds that users can choose from.
Being able to choose the color for the lines in the current default background.
Being able to choose the font & color of the text in the center
Maybe an option to let us upload custom backgrounds (not sure if possible?) or add custom svg to it? (I notice the current background is an .svg as well)

Hey @quantomistro I just pushed a v2 right now and it doesn't have any customization features yet, I wanted to let you know in case you were using the old version on any of your repos. The new design is a bit closer to home with GitHub and I'd love it if you could test it out and let me know what you think.
I also see a reaction from @RogueScholar so I'll extend that invitation to you as well. I fully intend on doing as much as I can to bring your suggestions to life!

I looked at the release notes and tried the new version as well, it looks pretty interesting!

Good, then it's headed in the right direction. There's more customization options coming down the pipeline as free time permits, I'm going to leave this issue open until I get through all of the things that are definitely possible.

I concur wholeheartedly that it's headed in the right direction! While obviously it would be ideal to have some influence over the color scheme used, I like that the evolving aesthetic is still sparse enough that it's very versatile in its application. I just made my first use of it outside of the GitHub integration at the top of the README of my awesome-stars repo, in fact.
Thanks for tagging me, despite the atrocious delay in my response it was highly appreciated. Please don't hesitate to do so again for future feature releases. :+1:

For sure, I still have the updates on my radar and desperately want to try out 2 or 3 more options for how to pick and choose various designs (probably premade to start) but then moving into customizing things further like the textures or positioning of the text. More realistically I think this will turn into a couple pre-defined layouts too but that's still a bit away.
It looks so awesome at the top of your readme there @RogueScholar, updates are planned, just lower priority with weekend work getting first priority 😬

Been quite some time since the last comments but I've got some massive updates pushed now @RogueScholar and @quantomistro that might interest you!
The release notes are really long and talk about the technicals but they live here https://github.com/pqt/social-preview/releases/tag/v3.0.0
I have preserved the old generator as well because I don't want to totally abandon the idea of various templates that can be chosen from as the issues originally indicated, I just have a much better system now that will let me approach making more options if there's a demand for it 👍


Handle non-ascii characters in compound ids

We now require that localIds must be strings
Issue #1187

+1.

Thanks @dcolligan merging!


room.LocalParticipant.UnpublishTrack(sid) does not completely unpublish a simulcast track

Details here. There is a significant behavioural difference, if just one track is unpublished or a simulcast track. On the other hand I haven't found any other unpublish function for simulcast
https://livekit-users.slack.com/archives/C01KVTJH6BX/p1706698776125179

Hack which "fixes" it here:
https://livekit-users.slack.com/archives/C01KVTJH6BX/p1706782394301419?thread_ts=1706698776.125179&cid=C01KVTJH6BX

Some comments? Solution is available in Slack

this is on our backlog. However, if you'd like to submit a PR for it, we'd welcome it.

Neither my GO nor my deeper understanding of the purpose of the failing code allows me to do that :)
I just know, that this patch works for both, but I guess, it's. not good enough:
	var err error
	//if localTrack, ok := pub.track.(webrtc.TrackLocal); ok {
		for _, sender := range p.engine.publisher.pc.GetSenders() {
			//if sender.Track() == localTrack {
				err = p.engine.publisher.pc.RemoveTrack(sender)
				//break
			//}
		}
		p.engine.publisher.Negotiate()
	//}

Also - VSCode's debugging support is not sufficient to have a full understanding for what happens here, I'm sorry

The root cause of the issue is that when "LocalParticipant.PublishSimulcastTrack.NewLocalTrackPublication" is called, the main track is not passed, resulting in "UnpublishTrack" not successfully invoking "p.engine.publisher.pc.RemoveTrack".
pub := NewLocalTrackPublication(KindFromRTPType(mainTrack.Kind()), nil, *opts, p.engine.client)

The minimal change solution is as follows:

        // [origin code in v1.1.2]
	var err error
	if localTrack, ok := pub.track.(webrtc.TrackLocal); ok {
		for _, sender := range p.engine.publisher.pc.GetSenders() {
			if sender.Track() == localTrack {
				err = p.engine.publisher.pc.RemoveTrack(sender)
				break
			}
		}
		p.engine.publisher.Negotiate()
	}

        // [fixed code in v1.1.2]
	var localTracks []webrtc.TrackLocal
	if localTrack, ok := pub.track.(webrtc.TrackLocal); ok {
		localTracks = append(localTracks, localTrack)
	}
	if pub.simulcastTracks != nil {
		for _, track := range pub.simulcastTracks {
			localTracks = append(localTracks, track)
		}
	}

	var err error
	if localTracks != nil && len(localTracks) > 0 {
		for _, localTrack := range localTracks {
			for _, sender := range p.engine.publisher.pc.GetSenders() {
				if sender.Track() == localTrack {
					e := p.engine.publisher.pc.RemoveTrack(sender)
					if e != nil {
						err = e
					}
					break
				}
			}
		}
		p.engine.publisher.Negotiate()
	}

I found that when publishing with simulcast tracks, the trackPublicationBase.track was not set. This not only affects the UnpublishTrack function but may also impact the following logic. However, I have not deeply understood it, so I have not made any changes.

func (r *Room) sendSyncState() {
        ...

	var publishedTracks []*livekit.TrackPublishedResponse
	for _, t := range r.LocalParticipant.Tracks() {
		if t.Track() != nil {
			publishedTracks = append(publishedTracks, &livekit.TrackPublishedResponse{
				Cid:   t.Track().ID(),
				Track: t.TrackInfo(),
			})
		}
	}

        ...
}


CLI: add --bcs flag to sui client object

Add --bcs flag to sui client object to return the bsc serialized version of the object struct.
Code pointer: [https://github.com/MystenLabs/sui/blob/616d2284a793f78d09672f7f83713f9bd8e1f731/crates/sui/src/client_commands.rs#L1045-L1047|https://github.com/MystenLabs/sui/blob/616d2284a793f78d09672f7f83713f9bd8e1f731/crates/sui/src/client_commands.rs#L1045-L1047|smart-link]
we can call {{bcs::to_bytes}} here to print out the bcs encoded struct if {{--bcs}} flag is true
context: [https://mysten-labs.slack.com/archives/C043CJH1HCK/p1668812891540819|https://mysten-labs.slack.com/archives/C043CJH1HCK/p1668812891540819|smart-link]

https://github.com/MystenLabs/sui/pull/6737


Update versioning and cli parser info

Description
Issues with versioning and install
Type of Change

[ ] 📚 Examples / docs / tutorials / dependencies update
[x] 🔧 Bug fix (non-breaking change which fixes an issue)
[ ] 🥂 Improvement (non-breaking change which improves an existing feature)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

Issue is not with package install, but with the build action and poetry installation. Temp override to fix versioning + install bugs.


Added partitions and replicationFactor options to createCustomTopic

It would be good also to update the README file with those changes.

@manub I updated the ScalaDocs and the README, please let me know if there is anything else that need to be addressed ;-)

Planning to release this during the weekend.


Cookbook - update entry 1 and add entries 38 and 39

What does this implement/fix? Explain your changes.
This PR updates Cookbook entry 1 "Black and White Molecules" with the rdMolDraw2D package and adds a rxn example.
I have also added 2 new drawing recipe entries:
38 - Highlight Entire Molecule
39 - Highlight Molecule with Multiple Colors
I think these will be useful examples for the Cookbook.
Thanks!
Vin

Thanks @vfscalfani !