Support the new GitHub Notes syntax

What would you like to be added:
From https://gardener.cloud/docs/gardener/deployment/image_vector/ lets render the following correctly
[!IMPORTANT] When the overwriting file contains ref for an image but the source file doesn’t, then this invalidates both repository and tag of the source. When it contains repository for an image but the source file uses ref, then this invalidates ref of the source.

Why is this needed:
Better visuals

/assign @RadaBDimitrova
for the hugo version update

Starting<EMAIL_ADDRESS>hugo is supposed to support the new Github styled alerts.


Change .gitignore to remove useless files

The new .gitignore removes useless log files and the compiled dlls.
This makes commits cleaner as only the files that were actually changed are committed instead of around 100 log files

Hm not really familiar with the whole git ignore (as I'm sure you're well aware haha). I do however want to try and maintain the ability for anyone to download this repo and just open NMSE with a simple click of the SLN. Would this effect that?
I also want to keep the binaries inside x64\debug so people can try and come here for them

It doesn't keep the binaries inside those files, although I could change it to do that if you really want. I would recommend using the github releases feature over that though, providing people with debug builds of a project isn't really a good practice.


Render unique names for database tables

Consider a following self-referencing schema:
CREATE TABLE items (
    id INTEGER NOT NULL PRIMARY KEY,
    name VARCHAR NOT NULL,
    parent_id INTEGER,
    CONSTRAINT fk_parent_id FOREIGN KEY (parent_id) REFERENCES items(id)
)

it's possible to create a query like this:
val table = columnSet.table("items")

val id :*: nm :*: parentId :*: _ = table.columns
val id2 :*: nm2 :*: _ :*: _ = table.columns

val selfJoined = select(id ++ nm ++ parentId ++ nm2) from(table join table).on(id2 === parentId)

that will render as:
select items.id, items.name, items.parent_id, items.name from items inner join items on items.id = items.parent_id

This is incorrect. Instead the PostgresModule#renderRead should generate aliases for the tables so that the query would look something like this:
select i1.id, i1.name, i1.parent_id, i2.name from items as i1 inner join items as i2 on i2.id = i1.parent_id;

I can pick this one

@jczuchnowski while working on this ticket, I should support only postgresql ? and mysql/oracle later ?

@jczuchnowski while working on this ticket, I should support only postgresql ? and mysql/oracle later ?


auto-generate docs for Flex

Currently the reference doc files for Flex is pre-built and hosted in the code-repo,
with path: /flex/docs
Please integrate the generate cmd to make docs, following the manner we used for the project:

auto-gen the docs;
please note that the generated files should be in gh-pages branch, rather than main;
maybe output the generated files to a subfolder Flex under section REFERENCES.

In this issue, do we need to generate html files directly under REFERENCES (similar to the GAE JAVA API) or do we need to re-describe them in the style of rst files (similar to the GAE API and Python API) and then generate html files?


initial connect sends same node info hundreds of times

Background
lnd sends a lot of msg 257 for the same node at initial connect
i've seen some nodes being sent 155 times within first few seconds. probably once per channel or something.
probably should be easy to limit to only once per node at first connect, and cut down the traffic a lot!
Your environment

version of lnd
which operating system (uname -a on *Nix)
version of btcd, bitcoind, or other backend
any other relevant environment details

Steps to reproduce
Tell us how to reproduce this issue. Please provide stacktraces and links to code in question.
Expected behaviour
Tell us what should happen
Actual behaviour
Tell us what happens instead

This is fixed by a new protocol extension. Please refer to: https://github.com/lightningnetwork/lightning-rfc/pull/392
Our implementation should be landing later this week.

Actually re-read this issue, and it points out an optimization: to de-dup node announcements during the current "naive" initial table dump.

thank you.
and i was going to check this ticket to re-read your pointers about the new protocol features :)
the enhanced new protocols to bundle stuff together and resuming from a certain point is very interesting as well, but yes i agree de-duping is probably a good beginner task and quite quick fix.


lesson 3 complete

This also fixes a bug in the post model (python spacing issue) which was leftover from lesson 2, found and debugged during lesson 3.


Fix intermediate integer overflow when writing large files

fixed issue with intermediate integer overflow when writing files exceeding 2 GB
see here : #223

I just realized that overflow can happen at more places, basically wherever the variable offsetIO is multiplied by other integers. So I multiplied these terms with 1_AddrInt wherever this variable exists on the left hand side of an expression. These were only in 2 more lines (line 3081 and 3377, in addition to the first commit for line 2981).


HDDS-6779. Register metricSink after initialization

What changes were proposed in this pull request?
The current registration of prometheus sink is before the initialization of s3gateway MetricsImpl.
The symptom is the s3g prom page doesn't show detail metrics. Although the current prom page (http://s3g:9878/prom) does show the metrics, it's because of the patch of HADOOP-17081. But in our production cluster, the S3g still got some performance issue, seems related to the MetricsSink's half-blocking attribute of SinkQueue.
This ticket is to fix this issue.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6779
How was this patch tested?
N.A.

@adoroszlai @ChenSammi @ferhui Could you help to check this PR?

@symious Good catch!

Thanks @symious for the fix, @ferhui for the review.


Dockered Postgres support

Hey, the set-up is pretty straightforward, but I really have trouble with requiring the user to run Postgres locally.
Assumptions:

Default Postgres instance doesn't requires password.
Default Postgres instance user is called postgres.

I did test and it worked locally with my setup.

Fixed and rebased.

Will merge in https://github.com/opencollective/opencollective-api/pull/2000


What is the right way to use A2lix and collection of forms?

Hello,
I'm trying to use a2lix with embedded collection of forms. My form displays well but there's no way to persist my translatable entity to the database. I was wondering if someone has an example that works so I can maybe take some inspiration.
Here is my code:
class Establishment:
/**
 * @ORM\OneToMany(targetEntity="EmailDesign", mappedBy="establishment", cascade={"persist"})
 * @Assert\Valid()
 */
private $emailDesigns;

public function __construct()
{
    $this->emailDesigns                     = new ArrayCollection();
}

public function addEmailDesign(EmailDesign $emailDesign)
{
    $emailDesign->setEstablishment($this);

    $this->emailDesigns->add($emailDesign);
}

public function removeEmailDesign(EmailDesign $emailDesign)
{
    $this->emailDesigns->removeElement($emailDesign);
}

public function getEmailDesigns()
{
    return $this->emailDesigns;
}

class EmailDesign:
/**
 * @ORM\ManyToOne(targetEntity="Establishment", inversedBy="emailDesigns", cascade={"persist"})
 * @ORM\JoinColumn(name="establishment_id", referencedColumnName="id")
 * @Assert\Valid()
 */
private $establishment;

public function setEstablishment($establishment)
{
    $this->establishment = $establishment;
}

public function getEstablishment()
{
    return $this->establishment;
}

class EmailDesignType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('type', 'text', array(
            'required' => true
        ))
        ->add('translations', 'a2lix_translations', array(
            'locales' => $this->languages,
            'label' => ' ',
            'fields'    => array(
                'fromName' => array(
                    'field_type' => 'text',
                    'label' => 'establishment.customize.from',
                    'required' => false,
                ),
                'subjectLine' => array(
                    'field_type' => 'text',
                    'label' => 'establishment.customize.subject',
                    'required' => false,
                ),
                'bodyText' => array(
                    'field_type' => 'textarea',
                    'label' => 'establishment.customize.body',
                    'required' => false,
                    "attr" => array('class' => 'tinymce', 'data-theme' => $this->dataTheme)
                ),
                'legalNotice' => array(
                    'field_type' => 'textarea',
                    'label' => 'establishment.customize.legalnotice',
                    'required' => false,
                    "attr" => array('class' => 'tinymce', 'data-theme' => 'email_share')
                )
        )));
}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'App\MyBundle\Entity\EmailDesign',
        'translation_domain' => 'backoffice'
    ));
}

class EstablishmentEmailDesignType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name', 'text')
        ->add('emailDesigns', 'collection',
            array('type' => new EmailDesignType(),
            'allow_add'    => true,
            'by_reference' => false,
            'prototype' => true,
            'cascade_validation' => true,
        ));
}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'App\MyBundle\Entity\Establishment',
        'cascade_validation' => true
    ));
}

controller:
public function emailDesignAction(Request $request, Establishment $establishment)
{
    $em = $this->getDoctrine()->getManager();

    $form = $this->createForm(new EstablishmentEmailDesignType(), $establishment);
    $form->handleRequest($request);

    if ($form->isValid()) {
        $em->persist($establishment);
        $em->flush();
    }

    return array(
        'establishment' => $establishment,
        'form'          => $form->createView(),
    );
}

twig:

If I change a Establishment property (like "name" on EstablishmentEmailDesignType), it is persisted. However the fields of EmailDesign are not persisted.
Thanks.

Hi,
Hope you found solution, I close.


Override SnippetRepository

How can i override sulu SnippetRepository.php ?

if it is enough for you you could use the parameter %sulu_snippet.repository.class% to override the class of the repository

Hello, How can i modify this parameter ? in config.yml ?

i do this:
sulu_snippet:     repository:         class: CitationLatine\Bundle\MainBundle\Repository\SnippetRepository
i abtain this error:
Unrecognized option "repository" under "sulu_snippet"

you can add following line to you parameters.yml:
    sulu_snippet.repository.class: MyBundle\Repository\SnippetRepository

I think this issue is solved 😃


Upgrade alertmanager version

How to categorize this PR?

/area monitoring
/kind enhancement
What this PR does / why we need it:
Upgrade alertmanager version
The following image is updated:

quay.io/prometheus/alertmanager: v0.24.0 -> v0.26.0

Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
/cc @rickardsjp
Release note:

The following image is updated:
- `quay.io/prometheus/alertmanager`: `v0.24.0` -> `v0.26.0`

/approve


New package: TopOptProblems v0.1.0

Registering package: TopOptProblems
Repository: https://github.com/JuliaTopOpt/TopOptProblems.jl
Created by: @RohitRathore1
Version: v0.1.0
Commit: 854015679a4488bd6ded9d9103d2416e98efaf61
Reviewed by: @RohitRathore1
Reference: https://github.com/JuliaTopOpt/TopOptProblems.jl/issues/4

@RohitRathore1 please see the message above.  Once you fix the automerge issues you can register again the new revision without changing the version number and this pull request will be automatically updated.
[noblock]


ecctl does not sort stack versions correctly

Readiness Checklist

[x] I am running the latest version
[x] I checked the documentation and found no answer
[x] I checked to make sure that this issue has not already been filed
[x] I am reporting the issue to the correct repository (for multi-repository projects)

Expected Behavior
When a deployment with ecctl is created it should select the newest version available, as stated in the documentation:

When version is not specified, the latest available stack version will automatically be used.

Current Behavior
Currently ecctl considers 7.9 newer then 7.10.
Possible Solution
Sort the newest version on top
Steps to Reproduce

Upload a Stack Pack for 7.10 and 7.9 to ECE
List deployments, notice 7.9 is sorted above 7.10
Create deployment without version parameter. ecctl will pick 7.9

$ ecctl stack list
VERSION   DELETED   ELASTICSEARCH IMAGE                                     KIBANA IMAGE                                     APM IMAGE
7.9.3     false     docker.elastic.co/cloud-assets/elasticsearch:7.9.3-0    docker.elastic.co/cloud-assets/kibana:7.9.3-0    docker.elastic.co/cloud-assets/apm:7.9.3-0
7.10.1    false     docker.elastic.co/cloud-assets/elasticsearch:7.10.1-0   docker.elastic.co/cloud-assets/kibana:7.10.1-0   docker.elastic.co/cloud-assets/apm:7.10.1-0
6.8.13    false     docker.elastic.co/cloud-assets/elasticsearch:6.8.13-0   docker.elastic.co/cloud-assets/kibana:6.8.13-0   docker.elastic.co/cloud-assets/apm:6.8.13-0

$ ecctl deployment create
Obtained latest stack version: 7.9.3
{
  "created": true,
  "id": "f826922063d2bd35a6678f6531843f01",
  "name": "f826922063d2bd35a6678f6531843f01",
  [...]
}

Your Environment

Version used: 1.1.0 installed via RPM

Thanks for opening an issue @ckauf :)
This bug originated in our SDK and has been fixed. We have already imported the SDK version with the fix for the next release.
In the mean time you can build ecctl from source following these instructions.

Thanks for opening an issue @ckauf :)
This bug originated in our SDK and has been fixed. We have already imported the SDK version with the fix for the next release.
In the mean time you can build ecctl from source following these instructions.

I will close this issue as the fix has already been merged.

I will close this issue as the fix has already been merged.


allow hosts with prefix "/" , without escaping

tried creating a PR - https://github.com/gofiber/storage/pull/363


UIKit Setup Problem via PodFile

I'm trying to set BonMot library..
Podfile is here
use_frameworks!
pod 'Parse'
pod 'ParseUI'
pod 'BonMot'
pod 'BonMot/UIKit'
after that I got an this message.

Could you helping me?
Thank you

Sorry, I should have spotted this sooner, and it's totally my fault. I haven't released the UIKit utilities in a tag yet. The release is gated by my ability to get some tests working (see my open pull request). For now, if you want to use the UIKit utilities, you'll have to point the repository at the latest commit on the master branch. You can learn how here: https://guides.cocoapods.org/using/the-podfile.html
I'll try to get the 3.0 release out soon with the UIKit utilities and some other stuff I've been working on.

Ok~!
Thank you for kindly reply
I hope meet UIKit soon!
:)

9., 오전 11:33, Zev Eisenberg<EMAIL_ADDRESS>작성:

Sorry, I should have spotted this sooner, and it's totally my fault. I haven't released the UIKit utilities in a tag yet. The release is gated by my ability to get some tests working (see my open pull request). For now, if you want to use the UIKit utilities, you'll have to point the repository at the latest commit on the master branch. You can learn how here: https://guides.cocoapods.org/using/the-podfile.html https://guides.cocoapods.org/using/the-podfile.html
I'll try to get the 3.0 release out soon with the UIKit utilities and some other stuff I've been working on.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/Raizlabs/BonMot/issues/134#issuecomment-207685336

@yoshiboarder BonMot 3.0 has been released with support for the UIKit utilities. Try it out and let me know how it works out!

@yoshiboarder thanks for responding. Closing this.


Post-GA engsys tasks

[x] Set AllowPrerelease to false for package managers so the package managers act as "stable" channels.

Looks like everything is done here, and we've been Post-GA for a while and the engineering system has been working for us.


Nit: set _errorMessage = null in example main.dart when client.example.hello returns successfully

Describe the bug
Here I thought something was wrong with my state when testing the Google Auth module. I restricted the example endpoint to a logged in user. The 403 error message would not go away until I reloaded the page. Tried all kinds of troubleshooting, then realized the _errorMessage was still set and was overriding the _resultMessage.
To Reproduce
Steps to reproduce the behavior:

Set up a serverpod with default example and Google auth module.
Restrict example endpoint to signed in user:

  @override
  bool get requireLogin => true;

Build and run to web/Chrome (should occur on other platforms as well).
Without logging in, press the "Send to Server" button on the example page.
Note the ServerpodClientException: , statusCode = 403 error.
Sign in with Google.
Without reloading, press the "Send to Server" button again.
Note the error is still present.
Reload the page and submit again.
Note the error has cleared.
Add a line to clear the error message in main.dart:

  void _callHello() async {
    try {
      final result = await client.example.hello(_textEditingController.text);
      setState(() {
        _errorMessage = null;
        _resultMessage = result;
      });
...

Rebuild the app. Note that now, after signing in with Google, the expected Hello message appears without having to reload.

Expected behavior
This is a minor issue that led me to believe something was wrong when it was only a view state issue of the error overriding the success message.
Serverpod versions

CLI Version: 1.1.1
Library version: 1.1.1

Platform information
Web/Chrome

I came here to say that. It just bit me too.

We'll make sure this gets fixed for the next version!


strong parameters for active admin

Update the active admin file (notice the comments in the code).
here is my example:
ActiveAdmin.register Survey::Survey do
  permit_params :name, :attempts_number, :description, :finished, :active #mandatory for rails 4 and newer versions of active admin
  menu :label => I18n.t("surveys")

  filter  :name,
          :as => :select,
          :collection => proc {
              Survey::Survey.select("distinct(name)").collect { |c|
                [c.name, c.name]
              }
          }
  filter :active #,
         #:as => :select,
         #:collection => ["true", "false"]
         # no needed activeadmin detects a boolean as yes or not automatically

  filter :created_at

  index do
    column :name
    column :description
    column :active
    column :attempts_number
    column :finished
    column :created_at
    actions #default_actions
  end

  form do |f|
    f.inputs I18n.t("survey_details") do
      f.input  :name
      f.input  :description
      f.input  :active #, :as => :select, :collection => ["true", "false"] no needed activeadmin detects a boolean input as checkbox
      f.input  :attempts_number
    end
    f.inputs I18n.t("questions") do
      f.has_many :questions do |q|
        q.input :text
        q.has_many :options do |a|
          a.input  :text
          a.input  :correct
        end
      end
    end
    f.actions #buttons
  end

end

There is another thing, the questions are not saving correctly, you can create a survey but when you save it, the questions were not saved, or when you try to save the survey a validation says " Survey without questions cannot be activated" in the active field and the questions that you've made, disappeared
I'm using active admin 1.0.0 pre 4
Rails 4.2.6
Ruby 2.20
the gsurvey gem "survey", "~> 0.1"

i've solved it by adding this in the paramaters:
 permit_params :name, :description, :active, :attempts_number, :questions_attributes => [:survey_id, :text], :options_attributes => [:question_id, :weight, :text, :correct]
please consider my solution for rails 4 support and activeadmin newer versions.


Build Analysis Grafana: Added information to abandoned message

When looking at abandoned message is not easy to know the type of abandoned message, which can help us to determine where the problem is, I will add additional information about the types to the documentation too.
This is going to look this way now:

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[x] Internal Infrastructure Improvements

Release Note Description
No release note needed

PR: https://dev.azure.com/dnceng/internal/_git/dotnet-helix-service/pullrequest/32262


TypeError: null is not an object (evaluating '_module.RNImageColors.getColors')

HEllo, running a very basic Expo Managed app using this library
What I have done:

npx create-expo-app ExpoProject

in ExpoProject replace the App.js with the one attached
App.txt

cd ExpoProject

npx expo install expo-image-picker

npx expo install expo-image-manipulator

npm install react-native-image-colors

npx expo prebuild

npx expo start

TypeError: null is not an object (evaluating '_module.RNImageColors.getColors')

hey, I think you missed a step from the instructions. You have to run expo run:ios or expo run:android after expo prebuild.

But "expo run:ios" can be ran only on a Mac no ? then we lose the advantage of using Expo

yea that is right. but that is the point of the prebuild command. unfortunate because this library contains custom native code so we need to create a new "expo dev client" which has this new native code.
I'm not sure but I think eas build might have some kind of workflow for windows users to develop for iOS (I heard they have a free tier but I cant help here).

Thanks, so it means that I cannot access the app via Expo Go ?

I think that is run automatically as part of the prebuild command.
The error hints to me that your environment could be misconfigured. If this is the first time you're building native code on this machine (even if it's with expo) I think you need to make sure to do the environment setup here for 'React Native CLI > MacOS > iOS'.

I have the React Native CLI option, I get the same error. Did you manage to run it on IOS ? if yes could you send me the compiled app ?

sorry, but thats not a reasonable request. please try to follow what I suggested in my previous comment for configuring your environment or try to search for the errors your experiencing in setting up your app.
in any case I think these issues are outside the scope of this library and we should close this issue.

Hello again,
I have created a repo with all the instruction (REAME.md) to reproduce the error.
Thank you

hey! I tried the project but couldn't do this (from the README):

Then, once the app starts go to select an image on the left column

this is what I see once the app starts:

Sorry I am going to update the App.js now

hey, so I was able to follow the instructions but I didn't run into the error again. however I think I got the problem you're having now. I think you should not use npx expo start but npx expo start --dev-client instead. I assumed the app would launch automatically for you after running expo run:ios/expo run:android and you would skip expo start.
here is an image showing the difference. the app icon with an X underneath is the Expo Go app created with the npx expo start command. don't use this one anymore. since we are adding custom native code, what we need here is the custom dev client which got installed when we ran expo run:ios/expo run:android. now that it is installed, use npx expo start --dev-client from now on to start the dev server and open the app with your project name. hope this helps!

Thanks a lot, it's working now !
So what I did, in two separate terminals and in this order:

expo run:android
npx expo start --dev-client

Hey i am getting this error on Apple TV
TypeError: null is not an object (evaluating '_$$_REQUIRE(_dependencyMap[4], "./module").RNImageColors.getColors')
i am using react native cli
working platform
android mobile
android TV
ios mobile
Libraries
"react-native-image-colors": "^1.5.1",
"react": "17.0.2",
"react-native"<EMAIL_ADDRESS>Please help, i am stuck here.


fix: local commit detection not thread safe

synchronizeWithRemoteRepository did not handle the scenario where other threads may modify the local repository between the merge operation and when hasLocalCommits is set to false. This can cause the local view of the repo to become out of sync with the remote. At best it is resolved when another OSB operation, e.g. a provision request, creates a new commit with the side effect that it signals there are local changes. At worst the commits are lost if the repo storage is ephemeral and is destroyed before the commits are pushed.

Hey @tracemeyers thank you so much for your pull request and sorry for leaving this open and unresponded for so long (I didn't get a notification about it, which is my fault for not setting them up on GitHub).
I appreciate you tackling a change in this intricate part of the code. To enable us to tackle the issue, can you provide a test case that fails before and passes after the change? We do already have some similar test cases in ConcurrentGitInteractionsTest for example.
If you also rebase your changes against main (we recently changed from master to main) the GH actions should also run the tests for your changes.

synchronizeWithRemoteRepository did not handle the scenario where other threads may modify the local repository between the merge operation and when hasLocalCommits is set to false.

On the service broker side, all git interactions should go through GitHandlerService which is a @Service and so a singleton. I would therefore assume that there is not other thread working on the git repo. Can you clarify what you mean here?

To enable us to tackle the issue, can you provide a test case that fails before and passes after the change?

That's fair. It might take me a while to work on this, but I'm still keen on getting this merged so I don' t have to maintain a fork :grimacing:

@JohannesRudolph added a test. Had to rework the implementation a bit in order to make it testable.
I have zero experience with kotlin so don't be shy with suggestions to improve things.

@tracemeyers now I understand what you mean, thanks a lot for the test case!
I see that scenario happen clearly under one condition - there must be two threads active at the same time performing (write) operations on the git repo. Http requests can come in from different threads concurrently, so that fits the scenario.
However we have GitOperationContextFactory to handle locking the git repo though, with the idea explained in a comment at the top. In theory that should solve it, as long as there's no code path that bypasses this check (and e.g. gets a GitHandlerService directly from spring....)
/**
 * Design: Provides a simple means to synchronize/serialize all git repository interactions.
 * Only one [GitOperationContext] can be active at a single time.
 *
 * Typical git interactions should be fairly short-lived and therefore queuing them should be fine.
 * Of course this limits the theoretical throughput of the system. However a typical unipipe deployment does not have to
 * handle a lot of requests per second so this should not be much of a problem. If it becomes a problem, we can optimize
 * this further at the cost of some additional complexity (e.g. separate read/write paths).
 */
@Service
class GitOperationContextFactory(

This invariant also ensures that even under concurrency we will have one clean git commit per broker operations, which would otherwise be hard to maintain.
Of course I don't want to rule out the possibility that there's a bug in there somewhere! I'll need to take a second look, especially around deprovisioning as you say.

The invariant seems reasonable and I can't find any fault with it under a cursory glance at the code base.
Ignoring the invariant, isn't it better to check the actual state of the repo than to check a flag that has the possibility to be inaccurate? Obviously the cost is higher but I'd rather have assurance of correct behavior without a risk of data loss than a few ms.
I can only speak from experience where we have frequently encountered an OSB action that is not pushed to the remote and the logs clearly show unipipe does not think there are local changes.  The simple workaround is to start another OSB action (e.g. (de)provision) that creates a new commit which ends up pushing both the existing commit for the missing OSB action and the commit for the new OSB action. However, there's still the possibility that if the container is torn down before another OSB action occurs then the missing OSB action is lost.
I doubt I'll have the time to try to identify the root cause of the above. Feel free to close the MR if my argument isn't convincing enough :smile:

@tracemeyers I've had a better look at this and I think you have a very reasonable argument that your changes will make the implementation more resilient. So I will go ahead and merge in your changes, thanks so much for your contribution!
I've found a few potential issues where the locking code could have been bypassed, though from just reviewing the code I still could not figure out a scenario where that was the case. I will close those loopholes as well


BUG: tenacity version 8.4.0 doesn't work

tenacity current version 8.4.0 doesn't work with columnflow (or rather the current luigi version). Rerunning the github linting actions will directly lead to the error.
This PR set tenacity to the previous release until Spotify fixes the problem (Issue for Spotify already exists luigi#3292)
The Error
 columnflow/__init__.py:11: in <module>
    import law
modules/law/law/__init__.py:35: in <module>
    import luigi
data/software/venvs/venv_columnar_dev_3cbb5aff/lib/python3.9/site-packages/luigi/__init__.py:34: in <module>
    from luigi import rpc
data/software/venvs/venv_columnar_dev_3cbb5aff/lib/python3.9/site-packages/luigi/rpc.py:33: in <module>
    from tenacity import Retrying, wait_fixed, stop_after_attempt
data/software/venvs/venv_columnar_dev_3cbb5aff/lib/python3.9/site-packages/tenacity/__init__.py:653: in <module>
    from tenacity.asyncio import AsyncRetrying  # noqa:E402,I100
E   ModuleNotFoundError: No module named 'tenacity.asyncio'

The bug has been fixed from tenacity side (with version 8.4.1). But maybe it would make sense to fix the version. Else this PR can be closed :smile:


⚠ Bofrost.lu has degraded performance

In 0e7e00b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2042 ms

Resolved: Bofrost.lu performance has improved in 955b992 after 6 minutes.


data:antharir.json

New entry in data

Looks good, just need to make sure your json file name exactly matches your github profile as @Aadarsh805 noted

Thanks, Amanda. Updated the file name.

Change file name to data/antharir.json

Done @Aadarsh805


Sdl input

Not ready for merge (IMO) yet, should await XboxDev/nxdk-sdl#5 + XboxDev/nxdk#148.

If not perfect then at least a whole lot better than current master. Merging.


How you generate documentation ?

Thanks for this great framework.
I wanna ask what tools do you use to generate documentation ?
I want to use it for my project.
Thanks.

Hi,
It's an homemade, quick'n'dirty system, using markdown & jade, and grunt to build.
You will find all you need in the Gruntfile.js file at the root of the project, and in _doc folder.

Thanks :+1:


How should I train the transformer model appropriately?

My dataset uses the default sample size of 150 that you provided, and I need to train the en-zh model. What size of dataset do you think is suitable for this model?If you need more information from me, I will reply to you quickly，thank you

Hello! If you are just testing, you can start with 500,000 sentence pairs (or less to fit into your machine). However, for a real-world model, you need all the (high-quality) data you can find, usually from one million to several millions. You can find data at OPUS. Fine-tuning models from scratch can take from several hours to several days. The tutorial is designed to be on a small dataset, so it does not take very long.
Another approach that several people follow these days is fine-tuning an already pre-trained model. In this case, you can find pre-trained MT models at Hugging Face. For example, you can find OPUS models, and MADLAD models. There is also NLLB, but for some reason, it is not very good with Chinese. In order to fine-tune Hugging Face models, you can use their Transformers library. There are several tutorials that explain fine-tuning machine translation models with Transforms.
All the best!

Hello! If you are just testing, you can start with 500,000 sentence pairs (or less to fit into your machine).

Note that if you are fine-tuning a pre-trained model, you might need much less data than if you are training a model from scratch. This is especially true if the language pair is well-supported by the pre-trained model.


PermissionError: [Errno 13] Permission denied: 'dot'

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/bin//mossum", line 9, in <module>
    mossum.main()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/mossum/mossum.py", line 294, in main
    image(res, i+1, label=args.title)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/mossum/mossum.py", line 266, in image
    graph.write(filename, format=args.format)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pydot/core.py", line 1662, in write
    s = self.create(prog, format, encoding=encoding)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pydot/core.py", line 1753, in create
    stdout_data, stderr_data, process = call_graphviz(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pydot/core.py", line 133, in call_graphviz
    process = subprocess.Popen(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: 'dot'

Sounds like you do not have dot installed or do not have permission to run the executable.

Make sure graphviz is installed (https://graphviz.org/download/)
Make sure the dot executable is accessible on your PATH (which dot)


Update tut-core, tut-plugin to 0.6.9

Updates

org.tpolecat:tut-core
org.tpolecat:tut-plugin

from 0.6.7 to 0.6.9.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a nice day!

Codecov Report

Merging #115 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #115   +/-   ##
=======================================
  Coverage   96.69%   96.69%
=======================================
  Files          12       12
  Lines         121      121
=======================================
  Hits          117      117
  Misses          4        4

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 25b1f0a...99528a7. Read the comment docs.


OpenFermion is not compatible with cirq 0.13 (currect version)

The current version of OpenFermion is not compatible with cirq v0.13.  When attempting to run the necessary checks prior to pushing , this error notified me that certain features of cirq had been completely deprecated, which forces tests to be interrupted during collection. Prior to this, the version of cirq that was used, was v0.10. This issue was fixed by downgrading to an older version, v0.12.
______________________________________________________________ ERROR collecting test session _______________________________________________________________
../../../miniforge3/envs/testenv_google/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1014: in _gcd_import
    ???
<frozen importlib._bootstrap>:991: in _find_and_load
    ???
<frozen importlib._bootstrap>:961: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:219: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1014: in _gcd_import
    ???
<frozen importlib._bootstrap>:991: in _find_and_load
    ???
<frozen importlib._bootstrap>:975: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:671: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:848: in exec_module
    ???
<frozen importlib._bootstrap>:219: in _call_with_frames_removed
    ???
src/openfermion/__init__.py:41: in <module>
    from openfermion.hamiltonians import (
src/openfermion/hamiltonians/__init__.py:13: in <module>
    from .general_hubbard import (
src/openfermion/hamiltonians/general_hubbard.py:18: in <module>
    from openfermion.utils import (SpinPairs, Spin)
src/openfermion/utils/__init__.py:29: in <module>
    from .commutators import (
src/openfermion/utils/commutators.py:17: in <module>
    from openfermion.transforms.opconversions.term_reordering\
src/openfermion/transforms/__init__.py:13: in <module>
    from .opconversions import (
src/openfermion/transforms/opconversions/__init__.py:70: in <module>
    from .qubitoperator_to_paulisum import qubit_operator_to_pauli_sum
src/openfermion/transforms/opconversions/qubitoperator_to_paulisum.py:18: in <module>
    def _qubit_operator_term_to_pauli_string(term: dict, qubits: Sequence[cirq.Qid]
E   AttributeError: module 'cirq' has no attribute 'Qid'
================================================================= short test summary info ==================================================================
ERROR  - AttributeError: module 'cirq' has no attribute 'Qid'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
===================================================================== 1 error in 3.57s =====================================================================

hmm we test against cirq 0.13 and cirq.Qid was introduced a really long time ago.
I'll investigate

I couldn't reproduce naively.
Can you paste your exact openfermion and cirq version

The version used when I ran into this incompatibility for openfermion and cirq version was 1.0.0 and 0.13.0 respectively. The reason for using such an outdated version of OF is because it is installed in editable mode, for method development.

Ok, you need a more recent version of openfermion to use a recent version of Cirq. Since you've installed in editable mode it should just be a matter of git pull origin master in your openfermion directory. I recommend doing all development vs the master branch rather than vs the 1.0 release. You can always merge in the latest changes to your feature branch using git pull or git merge


Bump build number for long prefix packages

Bumps the build number to upload the long prefix packages created by PR ( https://github.com/conda-forge/pyside-feedstock/pull/11 ).
cc @jjhelmus

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

when will conda-build 2 be usable in feedstocks by the way ?

Issue ( https://github.com/conda-forge/conda-forge-build-setup-feedstock/issues/40 ) has all the info about conda-build 2 migration status. We have a couple more packages to rebuild with long prefixes.


memory leak in queue.Poll

There is a memory leak while handling waiters in the queue package. If I periodically queue.Poll from an empty queue and never calls queue.Put for whatever reason, eventually the program will be OOM from keeping too many waiters around in the memory.
q := queue.New(123)
m := &runtime.MemStats{}

var currHeapAlloc, prevHeapAlloc uint64
for i := 0; i < 100; i++ {
	q.Poll(1, time.Millisecond)

	prevHeapAlloc = currHeapAlloc
	runtime.ReadMemStats(m)
	currHeapAlloc = m.HeapAlloc

	fmt.Println(prevHeapAlloc, currHeapAlloc)
}

PR#147


.ni domains

Problem
There's no whois server registered to the IANA Route Database Zone for all .ni domains.
Conclusion
That makes all .ni domains fails.

Please report to http://www.nic.ni/ for whois lookup


about c

Type: Performance Issue
as i mention above the c program is not able run code i checked everything is correct. so kindly help me
VS Code version: Code 1.72.1 (129500ee4c8ab7263461ffe327268ba56b9f210d, 2022-10-10T17:22:48.346Z)
OS version: Windows_NT x64 10.0.19044
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz (4 x 2904)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
15.90GB (7.59GB free)

Process Argv
--crash-reporter-id 2500b311-3425-47dd-be83-553958a82fb1

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    0	    91	 14756	code main
    0	    93	  7948	   shared-process
    0	    74	  2472	     fileWatcher
    0	    81	 12848	     ptyHost
    0	     6	  8300	       console-window-host (Windows internal process)
    0	    68	 12372	       C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe
    0	     6	 13384	       console-window-host (Windows internal process)
    0	    68	 16764	       C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe
    0	   141	  8060	   extensionHost
    0	    24	  5988	     c:\Users\prakr\.vscode\extensions\ms-vscode.cpptools-1.13.2-win32-x64\bin\cpptools.exe
    0	     3	 11832	       "c:\Users\prakr\.vscode\extensions\ms-vscode.cpptools-1.13.2-win32-x64\bin\cpptools.exe"
    0	    16	 13808	         c:\Users\prakr\.vscode\extensions\ms-vscode.cpptools-1.13.2-win32-x64/bin/cpptools-srv.exe 5988 {B0D7E3D0-31A0-4D2A-BEFC-DF6D64D69506}
    0	    11	 13668	           console-window-host (Windows internal process)
    0	    11	 23204	       console-window-host (Windows internal process)
    0	   163	 11492	   gpu-process
    1	    88	 12120	   issue-reporter
    0	    39	 14836	   utility-network-service
    0	    26	 19220	   crashpad-handler
    8	   203	 21420	   window (demo.c - Visual Studio Code)

Workspace Info
;

Extensions (8)

Extension
Author (truncated)
Version

exe-runner
bra
0.2.1

external-pdf
cha
1.2.0

code-runner
for
0.11.8

cmake-tools
ms-
1.12.27

cpptools
ms-
1.13.2

cpptools-extension-pack
ms-
1.3.0

cmake
twx
0.0.17

commandlist
yam
1.1.0

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscorecescf:30445987
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vscaac:30438847
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyone:30548225
2144e591:30553903
vscccc:30566498
pyindex848:30577860
fc301958:30573243

can you solve

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


Bower Usage

Hi,
when I use the lib via bower, there are no errors thrown, but the gpxParse is not available.
I'm not sure but I think if the index.js does not actually load all modules the bower.json should point to a compiled version for the browser in its main attribute.
Thanks,
Chris

Ah ok the index.js is for use within node. If you are using it in the browser you need to use the file within the dist folder.
Ill change bower to point to that instead.

Ok I hadnt drafted a release so bower was getting a really old version (not published anything to bower before. Sorry). if you download again from bower you should now get the dist folder. Let me know how you get on with that.

Well, now I get the following error in the browser:
module.exports = process.env.GPXPARSE_COV ? require('./lib-cov/gpx-parse') : require('./lib/gpx-parse');

Maybe you are right and I really shouldn't handle the parsing in the user's browser though

are you using the file in the dist folder? dont use the index.js on the client.

Yeah, the bower.json still points to index.js in "main"
On Wed, Feb 10, 2016 at 12:29 PM Elliot Stokes<EMAIL_ADDRESS>wrote:

are you using the file in the dist folder? dont use the index.js on the
client.
—
Reply to this email directly or view it on GitHub
https://github.com/elliotstokes/gpx-parse/issues/14#issuecomment-182324731
.

i have pointed it to the file in dist now. See how you get on with that.

Whoop whoop, that works.
Thanks a lot, Elliot!

thanks. Any other problems let me know - it's nice to know people are getting some use out of it!

oh I'm getting a lot of use out of it. I was so happy when I discovered
your lib! Saves me so much time.
On Wed, Feb 10, 2016 at 12:55 PM Elliot Stokes<EMAIL_ADDRESS>wrote:

thanks. Any other problems let me know - it's nice to know people are
getting some use out of it!
—
Reply to this email directly or view it on GitHub
https://github.com/elliotstokes/gpx-parse/issues/14#issuecomment-182332378
.


[BUG] Duplicate navbar

Description
There are two navbars on the home page, one on the top and one at bottom of screenshot attached.
Screenshots

Any additional information?
No response
What browser are you seeing the problem on?
Chrome
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

@vishanurag pls assign the issue to me

Issue already resolved


Live streaming source converter example or specification needed

Hi I am a soft engineer interested in this great project.
I've noticed  the word "Real-Time  Transfer and Visualization of Autonomy Data"  in ur website and  ur spec also named out that a running system source  is supported , but I cant find any example or spec about how to create a converter from a running system source in this project, while there are two types of  static log file converter in this project .
Could u please give me some guide about how to build a converter for a running system source, because I  really want to apply this amazing tool on a running vehicle system.
Highest respect.

  That is Step 1.  Step 2 is the transferring of that data to a client, in our examples we use a websocket server to communicate with.
With those satisfied you can stream live data to the web application. If your platform is ROS based, various people on our slack room have mentioned they have made this work with https://github.com/RobotWebTools/roslibjs, though I have not had the chance to setup a system to replicate this.
We are working on some MVP ROS Support, but it will not cover the live conversion case yet just the BAG support.  However it will provide a structure and server that should make that live support a bit easier.

Hi @twojtasz , thanks for you work on this. I want to write a python server to serve our data and I meet similar problem. Is there any documentation for live data stream? Does the data feed from websocket differ from ones contained in the .glb files? Actually as long as the protocol is clear for live stream, I can quickly build a python server/converter.


please add a license file

please add a license file. even though it's listed as MIT, a license file makes things a bit easier for consumers :)

Added in https://github.com/crypto-browserify/ripemd160/commit/612b7fcc3bf77e1a882db382d10af5df441d48c9

Ping @jprichardson to confirm

LGTM


downsampling is expensive

    self.frame_data.insert(output_frameno, FrameData::new(fi, frame.clone()));

It would be nice to eliminate it.

frame here should be an Arc, so cloning is just making a new pointer to the frame. Was this measured to be expensive?

Oh, I just measured send_frame_properties and that ones the one thing that stuck out at me. It must actually be something else in there.

It looks like downsampling to generate the hres and qres frames is taking the lion's share of the time there.

Yup. Looks like the downsampling could be implemented quite a bit faster. It could also emit qres and hres at the same time, and could also be threaded.

It looks like downsample is actually taking 0.27% of the total encode time at speed 10. While I think there are ways to speed it up, they would involve either unsafe code or intrinsics/ASM. I want to avoid unsafe code just to remove bounds checking, and given how small the impact of this function is overall, I don't think it's worthwhile to invest time into this function right now.


Chess: Move F1 to D3

Please do not change the title. Just click "Submit new issue".

@LuccasBracci done! Successfully played move f1d3 for current game.
Thanks for playing!


Add lucide-react-native package

Closes #394
Alternative to #472
Adds lucide-react-native package based on lucide-react with this patch applied, and not much else. Looks like it's the easiest way to make it React Native compatible.
Note: We're running this patched version in production in our React Native apps for nearly a year now.

@wojtekmaj Awesome work, this exactly how I imagine it. I will test it.

Something is going wrong with the imports. I don't know what, maybe we mis something in the build config.

Apologies @ericfennis! I messed up the parentheses.

@ericfennis Your PR has been merged, just a heads up. :)

Nice work, works perfect! tested on Ios and Android,


Introduce support for local archived binary targets

This PR introduces support for local archived binary targets.
Motivation:
In order to significantly speed up builds and make them more reliable (especially in a CI environment) it makes sense to precompile and put 3rd party dependencies under source control to later consume them as local binary targets.
To facilitate the managing and maintaining of those binary targets it would make sense to consume them in an archived form because that would decrease the number of files and the general repository size by a lot (sometimes by orders of magnitude), as well as present cleaner diffs while updating versions of the targets.
To address the issues mentioned above we need to introduce support for local archived binary targets to SwiftPM. This is the main motivation for this PR.
The initial discussion of the feature started here.
A big thanks to @Mo7amedFouad for the initial work that brought us to the actual use case and the following idea of local archives!
Note:
My assumption is that we do not need to ask the client to manually specify a checksum for local archived binary targets, since the artifacts are already on the local machine; such checksum specification will, therefore, not really help with identifying security risks. We may want to automatically generate some kind of a file signature (either a checksum or modification time) to optimize the reusing of already existing managed artifacts (more on this below in the code comments).
Modifications:

ManifestLoader: local targets now support the new zip extension
PackageBuilder: binary artifact pathfinding logic is handled consistently now, so it covers local (archived) and remote cases in the same condition.
Workspace:

adjust func updateBinaryArtifacts(...) to handle local archived artifacts and all the possible artifact source (local, local-archived and remote) transition permutations.
introduce func extract(_ artifacts: [ManagedArtifact], ...) -> [ManagedArtifact] to extract local archives.

WorkspaceTests: add tests to cover all (un)happy scenarios and edge cases we can currently think of
PD_5_3_LoadingTests: ensures that the 5.3+ manifest versions support the new binary target path extension
Workspace/Diagnostics: introduce the new local artifact diagnostic errors

Result:
let package = Package(
    name: "Dependencies",
    ...
    targets: [
        .binaryTarget(
            name: "TargetA",
            path: "XCFrameworks/TargetA.zip"
        ),
        .binaryTarget(
            name: "TargetB",
            path: "XCFrameworks/DoesNotReallyMatchTargetBName.zip"
        ),
        .binaryTarget(
            name: "TargetC",
            path: "ArtifactBundles/TargetC.zip"
        ),
        ...
    ]
)

thanks for the PR @dmhts , will review it shortly!

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@dmhts are there further modification you want to make, or  is this ready to go?

@dmhts are there further modifications you want to make, or is this ready to go?

I have only 2 things left on my list:

making the artifact extraction logic DRYer by reusing it in the download(_ artifacts: ... function: That might involve quite some refactoring. I am not sure if it is really needed right now since it still follows the rule of three and it remains implementation details which can be refactored when there is a real need.
updating the public documentation at PackageDescription.md: It already mentions This path can point directly to a binary artifact or to an archive file that contains the binary artifact at its root. and I am not sure what is really meant by "an archive file" here, but it already conveniently matches the new piece of functionality, so there is no need of change, right?

agreed on these two, perhaps addd a TODO comment on the download func if not already there
was the concern about testing we do not delete local dependencies addressed?

@swift-ci please smoke test

perhaps addd a TODO comment on the download func if not already there

done

was the concern about testing we do not delete local dependencies addressed?

yes, it was addressed here and here

@swift-ci please smoke test


Provide better error messages for the test runner

When two tests have the same ID, a rule is malformed, and other similar errors happen, the test runner simply fails without providing a significant error message. We should trap these and provide guidance in the error so that the developer knows what to fix.

Hello @jmle I was working in the issue and I just created a PR: https://github.com/konveyor/kantra/pull/383


Add .DS_Store to .eleventyignore

@hbalenda according the to Eleventy docs

any paths listed in your project’s .gitignore file are automatically ignored—you don’t need to duplicate them to your .eleventyignore file.
so the solution seems obscure; suggesting that we add comments to the .eleventy.js config where the passthroughCopy for _assets is added and to the .eleventyignore about why the .DS_Store pattern needs to be listed again.


changed docs for generate ssh key location

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

[ ] The PR has modified HISTORY.rst with an appropriate description of the change (see Modifying change log).

Command Guidelines

[ ] Each command and parameter has a meaningful description.
[ ] Each new command has a test.

(see Authoring Command Modules)
fixing this issue: https://github.com/Azure/azure-cli/issues/2376

@williexu,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Codecov Report

Merging #4244 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #4244   +/-   ##
=======================================
  Coverage   70.05%   70.05%
=======================================
  Files         475      475
  Lines       29605    29605
  Branches     4539     4539
=======================================
  Hits        20739    20739
  Misses       7419     7419
  Partials     1447     1447

Impacted Files
Coverage Δ

...ure-cli-vm/azure/cli/command_modules/vm/_params.py
96.59% <100%> (ø)
:arrow_up:

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 bdeaa6e...e541813. Read the comment docs.

Also, if this is in response to an issue, put something like "Fixes #" in the PR description. That way when the PR is merged the issue will automatically be closed.

@williexu The format wasn't recognized by GitHub. See https://help.github.com/articles/closing-issues-using-keywords/


Allow migrator to have multiple sources for migrations

Is your feature request related to a problem? Please describe.
I've tried to use underway crate (https://github.com/maxcountryman/underway) which have its sql migrations and runs them using sqlx.
I do have my own migrations which I also run via sqlx.
Both migrators fail because it detects missing migrations - my misses underway migrations and underway migrator misses mine.
    underway::MIGRATOR.run(&pool).await.unwrap();
    sqlx::migrate!().run(&pool).await.unwrap();

Describe the solution you'd like
I'd like be able to provide multiple sources to migrator so it can run migrations from the crates w/o issues and there is no need to have ignore-missing setting.
https://github.com/launchbadge/sqlx/blob/028084bce3a741e995c3e6c559c6dbb27a62534d/sqlx-core/src/migrate/migrator.rs#L74
Would be nice if a crate can expose its migrations as additional source.
Describe alternatives you've considered
Crate copies migrations into my project migrations folder.
Additional context
https://github.com/maxcountryman/underway/issues/21

I think multiple sources in one migrator is a huge footgun and we will never support it. This has come up before.
However, an explicit goal of https://github.com/launchbadge/sqlx/pull/3383 is to allow relocating the migrations table and supporting multiple migrations, with the idea that each application using a database could own its own schema.

clear, thanks for clarification.

Will you kindly tag me when you need testers?
I maintain an ERP (where many 3rd parties contribute in different ways). I need each party to be able to contribute independently. I would love to apply my scenarios to this feature.
Chuck B


Exploring the idea of expiring scalar values

Redis' feature for expiring keys has surfaced in counters and in flags. I've found myself wanting (needing?) expiring keys for scalars and lists. My consumer-side solution has been shoe-horning my feature into using expiring flags, or writing manual expiration code that reaches into the implementation of Kredis.
These commits tell the story of searching for an API to expire scalars in three ways:

Expiring a scalar in a relative amount of time by calling scalar.expire_in 1.day
Expiring a scalar at a specific point in time by calling scalar.expire_at 2.days.from_now
Configuring a scalar to always expire after assignment with Kredis.scalar "ephemeral", lifespan: 2.days

As previously mentioned, I've found myself reaching for this behavior for both scalars and lists so far. I could imagine bringing this API to several (all?) the types. But before getting too invested in the idea, I wanted to share the exploration as a proof of concept, and catalyst for conversation.
Is this a feature Kredis would be open to?

Came here to raise the same question and found this. I'd like to use Kredis lists to power a simple background job dependency system. These lists would only need to live for about a day. We ran into a timeout problem trying to clean up old keys. If they could expire themselves it would be an easy solution.

I'd be happy to see this, but we should match the API to follow what we already have. So that means adding expire_in/expire_at at the definition phase, rather than introduce "lifecycle" as a new term.

As part of documenting this, could you give some examples of how you've used expiring scalars in your apps?

Just coming back to this. I still dig it. Would you mind updating for main? Then I'll get this merged.


Add mode() function to docs

Closes https://github.com/influxdata/docs.influxdata.com/issues/584

@agaurav, this is great! I have two small requests and once you do those we'll get this merged:

Could you replace the CLI responses with the following? Sometimes the spacing doesn't quite match up on our docs site and these should do it.
For the first example:

name: h2o_feet
time                   mode
1970-01-01T00:00:00Z   2.69
    For the second example:    bash
name: h2o_feet
tags: location=coyote_creek
time                   median

2015-08-18T00:00:00Z   7.8245
name: h2o_feet
tags: location=santa_monica
time                   median

2015-08-18T00:00:00Z   2.0575
```

Could you take a look at the merge conflicts?

Thanks again for putting this together!

@rkuchan done.


反复弹出信息：在过去5分钟，TypeScript语言服务以外中止了5次

VSCode Version: Code 1.9.1 (f9d0c687ff2ea7aabd85fb9a43129117c0ecf519, 2017-02-09T00:26:45.394Z)
OS Version: Windows_NT ia32 6.1.7601
Extensions:

Extension
Author
Version

jquerysnippets
donjayamanne
0.0.1

csharp
ms-vscode
1.7.0

vscode-icons
robertohuertasm
7.3.0

JavaScriptSnippets
xabikos
1.4.0

Steps to Reproduce:
1.Open a .js file with VS Code
2.The top menu pop a message "in the last 5 minutes，TypeScript language service has abort 5 “ again and again

检查下你的vscode的安装目录这个路径下\app\extensions\typescript\node_modules\typescript\lib是不是丢失了tsserver.js这个文件  估计是被杀毒软件杀了

Two probable causes:

You are opening a mapped network drive This is fixed in TypeSscript 2.2 which is included in VSCode insiders (VSCode 1.10)
If you see a message about a missing typescript/... file, you may be seeing #20496 in which an antivirus program is deleting our TypeScript implementation. See this comment for workarounds

If neither seems to fit for what you are hitting, please let me know and we can reopening this to investigate further


issue 298 Fixed :: Tilted Breadcrub with hover effect

Fixes Issue🛠
issue 298 complete :: Tilted Breadcrumb with hover effect
Description👨💻
A new breadcrum added in components.
Type of change📄

[] New feature (non-breaking change which adds functionality)

How this has been tested✅
tested on local environment
Checklist✅
✅ My code follows the style guidelines of this project
✅ I have performed a self-review of my own code
✅ I have commented my code, particularly in hard-to-understand areas
✅ I have added demonstration in the form of GIF/video file
✅ I am an Open Source Contributor
Screenshots/GIF📷
https://github.com/Rakesh9100/Beautiify/assets/112852251/0a5bbaa4-9ea4-44a0-806e-bea74821353b

Rename your folder to Tilted-Breadcrumb and make the necessary changes.


Getting AssertionError You must provide a 'tokenSigningAlg' for validating symmetric algorithms despite not providing a secret key value pair.

Checklist

[X] I have looked into the Readme and Examples, and have not found a suitable solution or answer.
[X] I have searched the issues and have not found a suitable solution or answer.
[X] I have searched the Auth0 Community forums and have not found a suitable solution or answer.
[X] I agree to the terms within the Auth0 Code of Conduct.

Description
const checkJwt = auth({   audience: process.env.AUDIENCE_ID,   issuerBaseURL: process.env.ISSUER_BASE_URL, });
I have implemented this middleware for my express backend. However when I run the backend I get the error "AssertionError: You must provide a 'tokenSigningAlg' for validating symmetric algorithms".
Reproduction

Clone https://github.com/auth0-samples/auth0-express-api-samples
Cd /01-Authorization-RS256
Follow installation instructions in readme, and change checkJWT into const checkJwt = auth({ audience: process.env.AUDIENCE_ID, issuerBaseURL: process.env.ISSUER_BASE_URL, });  . Assertion error consistently shown

Additional context
No response
express-oauth2-jwt-bearer version
1.6.0
Node.js version
v16.14.2

Hey @ryanlohyr 👋🏻
Do you have a value set as process.env.SECRET? That's what the code pulls from
You could try setting secret to undefined explicitly in the auth call to prevent this or change the name of that environment variable.
const checkJwt = auth({
  audience: process.env.AUDIENCE_ID,
  issuerBaseURL: process.env.ISSUER_BASE_URL,
  secret: undefined
});

Hey @ewanharris, thanks for reaching out. Tried it but same error comes up. This line from the code confuses me as doesn't it mean that if you were to provide a key called 'secret', then you must also provide a key called 'tokenSigningAlg' . So not sure why that assertion gets triggered although a key of 'secret' was not provided.
However, I did try to do this
const checkJwt = auth({   audience: process.env.AUDIENCE_ID,   issuerBaseURL: process.env.ISSUER_BASE_URL,   tokenSigningAlg: undefined,   secret: "", });.
And there are no errors, but not sure if this will affect the functionality of the middleware, as my jwt is signed using RS256.

Hi @adamjmcgrath @adamjmcgrath,
Thanks for the help, JWT middleware works with the following
const checkJwt = auth({   audience: process.env.AUDIENCE_ID,   issuerBaseURL: process.env.ISSUER_BASE_URL,   tokenSigningAlg: undefined,   secret: "", });

HI @ryanlohyr
You shouldn't need tokenSigningAlg: undefined (and you can remove the secret if you can remove the SECRET environment variable from your environment)

Hi @adamjmcgrath, removed the secret env variable and it works as
export const checkJwt = auth({   audience: process.env.AUDIENCE_ID,   issuerBaseURL: process.env.ISSUER_BASE_URL, });.
Thanks for the help


YoloV3 error requiring network without implicit batch dimensions

I have installed the custom libnvinfer plugin from TRTOSS and followed all the prerequisite material.
I was able to run frcnn but yolov3 yields an odd error, which goes as follows, despite using the -b option and setting batch-size=1 in the config file.
Warning: 'input-dims' parameter has been deprecated. Use 'infer-dims' instead.
Now playing: pgie_yolov3_tlt_config.txt
Opening in BLOCKING MODE
Opening in BLOCKING MODE
0:00:00.367867762 14858   0x559ac50b00 INFO                 nvinfer gstnvinfer.cpp:619:gst_nvinfer_logger:<primary-nvinference-engine> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1715> [UID = 1]: Trying to create engine from model files
ERROR: [TRT]: IPluginV2DynamicExt requires network without implicit batch dimension
Segmentation fault (core dumped)

The same as https://forums.developer.nvidia.com/t/yolo-model-convert-etlt-into-an-engine/155156

I have used the patched shared library, though now the process just hangs before constructing the TensorRT engine
Here is the output
Warning: 'input-dims' parameter has been deprecated. Use 'infer-dims' instead.
Now playing: pgie_yolov3_tlt_config.txt
Opening in BLOCKING MODE
Opening in BLOCKING MODE
0:00:00.349093125  4906   0x5586408500 INFO                 nvinfer gstnvinfer.cpp:619:gst_nvinfer_logger:<primary-nvinference-engine> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1715> [UID = 1]: Trying to create engine from model files
INFO: [TRT]:
INFO: [TRT]: --------------- Layers running on DLA:
INFO: [TRT]:
INFO: [TRT]: --------------- Layers running on GPU:
INFO: [TRT]: conv1/convolution + activation_3/Relu, block_1a_conv_1/convolution + block_1a_relu_1/Relu, block_1a_conv_2/convolution, block_1a_conv_shortcut/convolution + add_17/add + block_1a_relu/Relu, block_1b_conv_1/convolution + block_1b_relu_1/Relu, block_1b_conv_2/convolution, block_1b_conv_shortcut/convolution + add_18/add + block_1b_relu/Relu, block_2a_conv_1/convolution + block_2a_relu_1/Relu, block_2a_conv_2/convolution, block_2a_conv_shortcut/convolution + add_19/add + block_2a_relu/Relu, block_2b_conv_1/convolution + block_2b_relu_1/Relu, block_2b_conv_2/convolution, block_2b_conv_shortcut/convolution + add_20/add + block_2b_relu/Relu, block_3a_conv_1/convolution + block_3a_relu_1/Relu, block_3a_conv_2/convolution, block_3a_conv_shortcut/convolution + add_21/add + block_3a_relu/Relu, block_3b_conv_1/convolution + block_3b_relu_1/Relu, block_3b_conv_2/convolution, block_3b_conv_shortcut/convolution + add_22/add + block_3b_relu/Relu, block_4a_conv_1/convolution + block_4a_relu_1/Relu, block_4a_conv_2/convolution, block_4a_conv_shortcut/convolution + add_23/add + block_4a_relu/Relu, block_4b_conv_1/convolution + block_4b_relu_1/Relu, block_4b_conv_2/convolution, block_4b_conv_shortcut/convolution + add_24/add + block_4b_relu/Relu, expand_conv1/convolution, expand_conv1_lrelu/LeakyRelu, yolo_conv1_1/convolution, yolo_conv1_1_lrelu/LeakyRelu, yolo_conv1_2/convolution, yolo_conv1_2_lrelu/LeakyRelu, yolo_conv1_3/convolution, yolo_conv1_3_lrelu/LeakyRelu, yolo_conv1_4/convolution, yolo_conv1_4_lrelu/LeakyRelu, yolo_conv1_5/convolution, yolo_conv1_5_lrelu/LeakyRelu, yolo_conv2/convolution, yolo_conv1_6/convolution, yolo_conv2_lrelu/LeakyRelu, yolo_conv1_6_lrelu/LeakyRelu, conv_big_object/convolution, upsample0/ResizeNearestNeighbor, bg_anchor/Const, upsample0/ResizeNearestNeighbor copy, block_3b_relu/Relu copy, yolo_conv3_1/convolution, FirstDimTile_0, yolo_conv3_1_lrelu/LeakyRelu, yolo_conv3_2/convolution, yolo_conv3_2_lrelu/LeakyRelu, yolo_conv3_3/convolution, yolo_conv3_3_lrelu/LeakyRelu, yolo_conv3_4/convolution, yolo_conv3_4_lrelu/LeakyRelu, yolo_conv3_5/convolution, yolo_conv3_5_lrelu/LeakyRelu, yolo_conv4/convolution, yolo_conv3_6/convolution, yolo_conv4_lrelu/LeakyRelu, yolo_conv3_6_lrelu/LeakyRelu, conv_mid_object/convolution, upsample1/ResizeNearestNeighbor, md_anchor/Const, upsample1/ResizeNearestNeighbor copy, block_2b_relu/Relu copy, yolo_conv5_1/convolution, FirstDimTile_1, yolo_conv5_1_lrelu/LeakyRelu, yolo_conv5_2/convolution, yolo_conv5_2_lrelu/LeakyRelu, yolo_conv5_3/convolution, yolo_conv5_3_lrelu/LeakyRelu, yolo_conv5_4/convolution, yolo_conv5_4_lrelu/LeakyRelu, yolo_conv5_5/convolution, yolo_conv5_5_lrelu/LeakyRelu, yolo_conv5_6/convolution, yolo_conv5_6_lrelu/LeakyRelu, conv_sm_object/convolution, sm_anchor/Const, FirstDimTile_2, bg_permute/transpose + (Unnamed Layer* 461) [Shuffle] + bg_reshape/Reshape, FirstDimTile_0 copy, bg_reshape/Reshape copy, md_permute/transpose + (Unnamed Layer* 583) [Shuffle] + md_reshape/Reshape, FirstDimTile_1 copy, md_reshape/Reshape copy, sm_permute/transpose + (Unnamed Layer* 705) [Shuffle] + sm_reshape/Reshape, FirstDimTile_2 copy, sm_reshape/Reshape copy, encoded_bg/concat copy, encoded_md/concat copy, encoded_sm/concat copy, box/strided_slice_2, box/strided_slice_3, PWN(box/Sigmoid_1, box/add_1), box/strided_slice_8, box/strided_slice_6, box/strided_slice_7, PWN(box/Exp_1, box/mul_1), PWN(box/mul_3, PWN(box/mul_2, box/sub)), box/strided_slice, box/strided_slice_1, PWN(box/Sigmoid, box/add), box/strided_slice_10, box/strided_slice_4, box/strided_slice_5, PWN(box/Exp, box/mul), PWN(box/mul_7, PWN(box/mul_6, box/sub_1)), box/strided_slice_9, PWN(box/mul_5, PWN(box/mul_4, box/add_2)), box/strided_slice_11, PWN(box/mul_9, PWN(box/mul_8, box/add_3)), box/sub copy, box/sub_1 copy, box/add_2 copy, box/add_3 copy, box/Reshape, cls/strided_slice, cls/strided_slice_1, PWN(cls/Sigmoid_1, PWN(cls/Sigmoid, cls/mul)), cls/Reshape, BatchedNMS,
INFO: [TRT]: Some tactics do not have sufficient workspace memory to run. Increasing workspace size may increase performance, please check verbose output

Just install tensorrt oss will fix the problem


moscow kidnapping

https://twitter.com/igorsushko/status/1598714548634226692

https://www.rt.com/russia/567577-bitcoin-kidnapping-moscow-police/


translate landing page

The landing page is ready for French translation.

Done, did not translate terms that felt should be kept in English.
Also, do we have other partners?


CARDS-1740: Appointments with the status 'entered-in-error' should not appear on the PROMs dashboard

To test, create some appointments with different statuses, including entered-in-error. Appointments entered in error should not show up in the Appointments box on the proms clinic dashboard, and any surveys they may have should not show up in the dashboard survey boxes.

tested after the pr was merged to dev


Update style.css

Because

This PR

Issue

Closes #XXXXX
Additional Information

Pull Request Requirements

[ ] I have thoroughly read and understand The Odin Project Contributing Guide
[ ] The title of this PR follows the location of change: brief description of change format, e.g. 01-flex-center: Update self check
[ ] The Because section summarizes the reason for this PR
[ ] The This PR section has a bullet point list describing the changes in this PR
[ ] If this PR addresses an open issue, it is linked in the Issue section
[ ] If applicable, I have ensured that the TOP solution files match the Desired Outcome image

@EsdrasAvila great job completing these exercises!
Please note the repo instructions that ask you not to open a pull request with your solution.
You are welcome to fork the repo and commit/push to that fork, but don't hit the "open pull request" button, as that tries to make changes to TOP's repo instead.


added methods to load config from a file

Sanic is lacking an easy way to configure an application. This adds basically the a simplified version of Flasks configuration. I added __getattr__ and __setattr__ in order to preserve the possibility to access the values with dot-notation.
As a side-effect the ROUTER_CACHE_SIZE got moved to router.py. First of all it doesn't really work with the new config class. Second, it was misleading in the first place, because it suggested that it was configurable - but it wasn't (except by changing the code in config.py). When changing the config, the lru_cache decorator is already fixed and the change has no effect.

Hi @Tim-Erwin !
Thank you for your work.
I'm not really experienced in the topic of configuration from file, but may I ask you why do you inherit from dict at the Config? I see that you have to declare __getattr__ and __setattr__ because of that. Is there any real advantage for using dict?
And also may I ask you to write tests for this feature?

Wow, that's a fast review, thanks. I let Config inherit because it gives a lot of flexibility for free, such as using update() in order to merge configurations. I wouldn't insist on that, however, I could remove that.
Sure, I'll add tests for that. Usually I just want to be sure that a feature is wanted before I make the effort to write tests :)

So, what do you think, @AntonDnepr , leaving as dict ok?

@Tim-Erwin thank you for explaining. As I said I'm not really experienced in this topic, so I was curious about this.
As for me it would be nice to have this feature, but we need to summon @seemethere here

Ok, I added some documentation. I think I've change everything you asked me to. If there's nothing more to change, I think we're good to go.

@channelcat , this is marked for release tomorrow. Any thoughts on this? Would love to have this merged.

@Tim-Erwin I'm going to cut a release for 0.2.0 today, I'll move this to the next release.

I'll just keep resolving conflicts :(

@seemethere , why is that removed from the milestone? This is super easy and backwards compatible and not in a performance critical path and the code is (as mentioned before) borrowed from Flask to quite some extent, so it can be considered tested in production environments. There is documentation and tests and nobody seems to have serious problems with it. If something is missing or not conforming to Sanic standards, I'd be happy to change or add missing parts. Please let me know how to get this done.

Rolling into 0.3.1

Thanks


[now-client] Use ignore module to handle file ignoring logic

This implements ignore handling using ignore module, in the same way CLI stable does it

Codecov Report

Merging #3092 into canary will decrease coverage by 1.59%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           canary   #3092     +/-   ##
========================================
- Coverage   11.33%   9.74%   -1.6%
========================================
  Files         268     268
  Lines       10064   10308    +244
  Branches     1314    1221     -93
========================================
- Hits         1141    1004    -137
- Misses       8830    9261    +431
+ Partials       93      43     -50

Impacted Files
Coverage Δ

src/util/dev/parse-listen.ts
15% <0%> (-70%)
:arrow_down:

src/util/dev/static-builder.ts
35.71% <0%> (-64.29%)
:arrow_down:

src/util/once.ts
18.18% <0%> (-63.64%)
:arrow_down:

src/util/dev/builder.ts
25% <0%> (-47.52%)
:arrow_down:

src/util/dev/server.ts
26.67% <0%> (-34.35%)
:arrow_down:

src/util/dev/errors.ts
50% <0%> (-10%)
:arrow_down:

src/util/dev/builder-cache.ts
71.42% <0%> (-5.85%)
:arrow_down:

src/util/dev/validate.ts
55% <0%> (-5%)
:arrow_down:

src/util/output/create-output.ts
30.76% <0%> (-0.49%)
:arrow_down:

src/commands/deploy/latest.js
0% <0%> (ø)
:arrow_up:

... and 9 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 7911d58...c18348c. Read the comment docs.

This is uploading the .git directory 😮

Thanks, 9ea69845bf6acfdf68b714a379269efb99c2e33d fixed it for me!
Let's add a test for this behavior so we don't regress again 👍


Failed to load API definition

Hi
I am getting "Failed to load API definition" error in the browser when trying to access API endpoint http://SERVER_IP:8088/swagger/v1
Swagger UI is enabled in config.py [FAB_API_SWAGGER_UI = True]

In the browse console, I can see the following two errors:
GET http://SERVER_IP:8088/api/v1/_openapi 404 (Not Found)
and
DevTools failed to load source map: Could not load content for http://SERVER_IP:8088/static/appbuilder/css/bootstrap.min.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
In the superset console:
WARNING:superset.views.base:404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
Shall i have to enable any more feature flags to get it working or need to customise superset using flask app builder ?
If i need to extend superset using FAB for swagger REST API then where can i found the documentation ?
Environment:
Python 3.8.1
Superset 1.4.2

I'n hoping that there may have been a bug back when 1.4 was out that's since been resolved, but I was just able to test this on a completely vanilla build of master where the FAB_API_SWAGGER_UI feature flag is on by default, accessing http://localhost:8088/swagger/v1. Since I'm unable to reproduce, and this issue hasn't had any traction, I'll mark it as fixed. If you can reproduce this in newer versions, I'm more than happy to re-open it.


The driver is non loaded after update.

Describe the bug
I just update from version v1.0.20230508beta to the last beta, rebooted and the driver is not loaded.
I then tried to start the driver manually with "start-serialbattery.sh"  and here is the output:
UTC-2023.05.28-12:44:58` Starting dbus-serialbattery.py on
INFO:SerialBattery:
INFO:SerialBattery:Starting dbus-serialbattery
INFO:SerialBattery:dbus-serialbattery v1.0.0 (20230508)
INFO:SerialBattery:Testing Daly
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:Unexpected err=AttributeError('__enter__'), type(err)=<class 'AttributeError'>
INFO:SerialBattery:Testing Daly
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:Unexpected err=AttributeError('__enter__'), type(err)=<class 'AttributeError'>
INFO:SerialBattery:Testing Daly
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:Unexpected err=AttributeError('__enter__'), type(err)=<class 'AttributeError'>
INFO:SerialBattery:Testing Daly
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:Unexpected err=AttributeError('__enter__'), type(err)=<class 'AttributeError'>
INFO:SerialBattery:Testing Daly
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:Unexpected err=AttributeError('__enter__'), type(err)=<class 'AttributeError'>
INFO:SerialBattery:Testing Daly
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:[Errno 21] could not open port /dev/: [Errno 21] Is a directory: '/dev/'
ERROR:SerialBattery:Unexpected err=AttributeError('__enter__'), type(err)=<class 'AttributeError'>
ERROR:SerialBattery:ERROR >>> No battery connection at /dev/
rm: '/var/lock/serial-starter' is a directory

How to reproduce
Steps to reproduce the behavior:

wget -O /tmp/install.sh https://raw.githubusercontent.com/Louisvdw/dbus-serialbattery/master/etc/dbus-serialbattery/install.sh
bash /tmp/install.sh
choose option 3
choose option master
reboot

Expected behavior
The driver loaded and showed in the console
Driver version
v1.0.20230508beta
Venus OS device type
Raspberry Pi
Venus OS version
v3.00-42
BMS type
Daly Smart BMS
Cell count
16
Connection type
Serial USB adapter to RS485
Config file
config.ini:
[DEFAULT]

; If you want to add custom settings, then check the settings you want to change in "config.default.ini"
; and add them below to persist future driver updates.
; --------- Battery Current limits ---------
MAX_BATTERY_CHARGE_CURRENT    = 140.0
MAX_BATTERY_DISCHARGE_CURRENT = 280.0

; Set steps to reduce battery current
; The current will be changed linear between those steps if LINEAR_LIMITATION_ENABLE is set to True
CELL_VOLTAGES_WHILE_CHARGING = 3.56,  3.48,  3.45,  3.30
MAX_CHARGE_CURRENT_CV_FRACTION =  0,  0.02,   0.05,     1

CELL_VOLTAGES_WHILE_DISCHARGING =   2.80,  2.90,  3.05,  3.10
MAX_DISCHARGE_CURRENT_CV_FRACTION =    0,   0.1,   0.5,     1

; Set Steps to reduce battery current. The current will be changed linear between those steps
TEMPERATURE_LIMITS_WHILE_CHARGING = 0,   2,   5,   7,  10,  15,  20,  35,  40,  55
MAX_CHARGE_CURRENT_T_FRACTION =     0, 0.1, 0.3, 0.5, 0.8,   1,   1,   1, 0.6,   0

TEMPERATURE_LIMITS_WHILE_DISCHARGING = -20,   0,   5,   10,   15,   45,  55
MAX_DISCHARGE_CURRENT_T_FRACTION =       0,  .2,  .3,   .6,    1,    1,   0

; --------- SOC limitation (affecting CCL/DCL) ---------
; Description: Maximal charge / discharge current will be increased / decreased depending on State of Charge,
;              see CC_SOC_LIMIT1 etc.
; Example: The SoC limit will be monitored to control the currents.
; Charge current control management enable (True/False).
CCCM_SOC_ENABLE = False
; Discharge current control management enable (True/False).
DCCM_SOC_ENABLE = False

; --------- Additional settings ---------
; Specify only one BMS type to load else leave empty to try to load all availabe
; LltJbd, Ant, Daly, Daly, Jkbms, Lifepower, Renogy, Renogy, Ecs
BMS_TYPE = Daly

; -- Daly settings
; Battery capacity (amps) if the BMS does not support reading it
BATTERY_CAPACITY = 280
; Invert Battery Current. Default non-inverted. Set to -1 to invert
INVERT_CURRENT_MEASUREMENT = -1

Relevant log output
/var/log/dbus-serialbattery.ttyUSB0/current has no log

root@raspberrypi4:/data/etc/dbus-serialbattery# tail -f /var/log/serial-starter/current
@40000000647349f915464fdc INFO: loading config file /data/conf/serial-starter.d/dbus-serialbattery.conf
@40000000647349fb0d84cecc INFO: Create daemontools service dbus-cgwacs.ttyUSB0
@4000000064734a01170d2174 INFO: Start service dbus-cgwacs.ttyUSB0 once
@4000000064734b6e15800164 *** CCGX booted (0) ***
@4000000064734b6e2fb5c0b4 *** starting serial-starter ***
@4000000064734b6f10f0b544 serstart starting
@4000000064734b6f1133d8c4 INFO: loading config file /etc/venus/serial-starter.conf
@4000000064734b700aebb914 INFO: loading config file /data/conf/serial-starter.d/dbus-serialbattery.conf
@4000000064734b713ac53ffc INFO: Create daemontools service dbus-cgwacs.ttyUSB0
@4000000064734b780c6f578c INFO: Start service dbus-cgwacs.ttyUSB0 once

Any other information that may be helpful
The previous installation has been done from scratch for both venus os and the serial driver and all worked well.

Please install from dev branch. The master is not updated yet and contains a small error.

Reinstalled from dev branch.
Same result.

Please post the output of this commands:
cat /data/rc.local
ls -la /service
ls -l /data/etc/dbus-serialbattery

here you are.
cat /data/rc.local
#!/bin/bash
bash /data/etc/dbus-serialbattery/reinstall-local.sh
ls -la /service
drwxr-xr-x   30 root     root           700 May 28 17:10 .
drwxr-xr-x   21 root     root          4096 May 14 09:22 ..
drwxr-xr-x    4 root     root           100 May 28 17:10 dbus-adc
drwxr-xr-x    4 root     root           120 May 28 17:10 dbus-ble-sensors
lrwxrwxrwx    1 root     root            42 May 28 17:10 dbus-cgwacs.ttyUSB0 -> /var/volatile/services/dbus-cgwacs.ttyUSB0
drwxr-xr-x    4 root     root           100 May 28 17:10 dbus-digitalinputs
drwxr-xr-x    4 root     root           100 May 28 17:10 dbus-fronius
drwxr-xr-x    4 root     root           100 May 28 17:10 dbus-generator-starter
drwxr-xr-x    4 root     root           100 May 28 17:10 dbus-modbus-client
drwxr-xr-x    4 root     root           120 May 28 17:10 dbus-pump
drwxr-xr-x    4 root     root           100 May 28 17:10 dbus-qwacs
drwxr-xr-x    4 root     root           100 May 28 17:10 dbus-shelly
drwxr-xr-x    4 root     root           100 May 28 17:10 dbus-systemcalc-py
drwxr-xr-x    4 root     root           120 May 28 17:10 dbus-tempsensor-relay
drwxr-xr-x    4 root     root           100 May 28 17:10 dbus-vebus-to-pvinverter
drwxr-xr-x    4 root     root           100 May 28 17:10 gui
drwxr-xr-x    4 root     root           100 May 28 17:10 hub4control
drwxr-xr-x    4 root     root           100 May 28 17:10 llmnrd
drwxr-xr-x    4 root     root           100 May 28 17:10 localsettings
drwxr-xr-x    4 root     root           100 May 28 17:10 netmon
drwxr-xr-x    4 root     root           100 May 28 17:10 nginx
drwxr-xr-x    4 root     root           120 May 28 17:10 node-red-venus
lrwxrwxrwx    1 root     root            20 May 28 17:10 openssh -> /run/service/openssh
drwxr-xr-x    4 root     root           120 May 28 17:10 ppp
drwxr-xr-x    4 root     root           100 May 28 17:10 serial-starter
drwxr-xr-x    4 root     root           100 May 28 17:10 service-advertiser
drwxr-xr-x    4 root     root           120 May 28 17:10 signalk-server
drwxr-xr-x    4 root     root           100 May 28 17:10 simple-upnpd
lrwxrwxrwx    1 root     root            23 May 28 17:10 ssh-tunnel -> /run/service/ssh-tunnel
drwxr-xr-x    4 root     root           100 May 28 17:10 venus-access
drwxr-xr-x    4 root     root           100 May 28 17:10 venus-html5-logger
drwxr-xr-x    4 root     root           100 May 28 17:10 venus-platform
lrwxrwxrwx    1 root     root            27 May 28 17:10 vesmart-server -> /run/service/vesmart-server
drwxr-xr-x    4 root     root           100 May 28 17:10 vrmlogger
lrwxrwxrwx    1 root     root            25 May 28 17:10 websockify-c -> /run/service/websockify-c
ls -l /data/etc/dbus-serialbattery
-rw-r--r--    1 root     root          1075 May 28 16:59 LICENSE
-rw-r--r--    1 root     root           204 May 28 16:59 README.md
-rwxr-xr-x    1 root     root         36746 May 28 16:59 battery.py
drwxr-xr-x    2 root     root          4096 May 28 16:59 bms
-rw-r--r--    1 root     root         11654 May 28 16:59 config.default.ini
-rw-r--r--    1 root     root          1938 May 13 17:50 config.ini
-rwxr-xr-x    1 root     root          5247 May 28 16:59 dbus-serialbattery.py
-rwxr-xr-x    1 root     root         26814 May 28 16:59 dbushelper.py
-rwxr-xr-x    1 root     root          1354 May 28 16:59 disable.sh
-rwxr-xr-x    1 root     root          3990 May 28 16:59 install-qml.sh
-rwxr-xr-x    1 root     root          4889 May 28 16:59 install.sh
-rwxr-xr-x    1 root     root        137100 May 28 16:59 minimalmodbus.py
drwxr-xr-x    2 root     root          4096 May 28 16:59 qml
-rwxr-xr-x    1 root     root          9146 May 28 16:59 reinstall-local.sh
-rwxr-xr-x    1 root     root           827 May 28 16:59 restart-driver.sh
-rwxr-xr-x    1 root     root          1185 May 28 16:59 restore-gui.sh
drwxr-xr-x    3 root     root          4096 May 28 16:59 service
-rwxr-xr-x    1 root     root           282 May 28 16:59 start-serialbattery.sh
-rwxr-xr-x    1 root     root          1269 May 28 16:59 uninstall.sh
-rwxr-xr-x    1 root     root         20902 May 28 16:59 utils.py

You did already reboot the system, right?
Can you write me on Discord?

Ok,
can you tell me your discord username?
My user is cokyc#7625
thx.
Il giorno lun 29 mag 2023 alle ore 12:30 Manuel @.***>
ha scritto:

You did already reboot the system, right?
Can you write me on Discord?
—
Reply to this email directly, view it on GitHub
https://github.com/Louisvdw/dbus-serialbattery/issues/675#issuecomment-1566935392,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOTPXKYIE5I7ERTK3WA2O3TXIR3EXANCNFSM6AAAAAAYR2XZVI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Somehow the serial starter is starting dbus-cgwacs against ttyUSB0 and blocking other drivers from starting.
@4000000064734b6e15800164 *** CCGX booted (0) ***
@4000000064734b6e2fb5c0b4 *** starting serial-starter ***
@4000000064734b6f10f0b544 serstart starting
@4000000064734b6f1133d8c4 INFO: loading config file /etc/venus/serial-starter.conf
@4000000064734b700aebb914 INFO: loading config file /data/conf/serial-starter.d/dbus-serialbattery.conf
@4000000064734b713ac53ffc INFO: Create daemontools service dbus-cgwacs.ttyUSB0
@4000000064734b780c6f578c INFO: Start service dbus-cgwacs.ttyUSB0 once

@Louisvdw maybe you know how to solve this?

At the moment there is not a permanent way that we can solve this. The built in drivers is always tested before the serialbattery driver and if any of them get a responce that think is correct that driver will attached to the device.
There is a ways to get around this. VenusOS's serial-starter remembers what driver was last successful for each port, so it will rescan that driver first, and if that fail it will go through it normal list. You can trick your port to start with the serialbattery driver. If something change and it rescan it will however override your trick.
@cokyc you can try:
In SSH you can run
echo "sbattery" > /data/var/lib/serial-starter/ttyUSB#
where # is your USB port number.
So if I want for force it for port 1 it would be
echo "sbattery" > /data/var/lib/serial-starter/ttyUSB1
After this reboot your GX or just plug in your battery connection again.

Thanks Louis.
Unfortunately it doesn't work. Only if I disconnect and then reconnect the USB cable does the driver start.
But if I restart the rpi, the driver doesn't start.
here is the serial-starter log if it can help
400000006477c2c61c422b44 *** CCGX booted (0) ***
@400000006477c2c700211a9c *** starting serial-starter ***
@400000006477c2c71bdd00d4 serstart starting
@400000006477c2c71c555d54 INFO: loading config file /etc/venus/serial-starter.conf
@400000006477c2c80eacc854 INFO: loading config file /data/conf/serial-starter.d/dbus-serialbattery.conf
@400000006477c2ca0b85842c INFO: Create daemontools service dbus-serialbattery.ttyUSB0
@400000006477c2e42e36d55c INFO: Start service dbus-serialbattery.ttyUSB0 once
@400000006477c2e738fa9dd4 INFO: Create daemontools service dbus-cgwacs.ttyUSB0
@400000006477c2ee0090c48c INFO: Start service dbus-cgwacs.ttyUSB0 once

If there is a work around then perhaps we can try it for those that need it. Most users should not require it.
@transistorgit do you want to try and assist cokyc to see if he can implement it on his side and then we can write up the procedure?

See https://github.com/Louisvdw/dbus-serialbattery/discussions/481#discussioncomment-5276084, https://github.com/Louisvdw/dbus-serialbattery/discussions/481#discussioncomment-5480101 and https://github.com/Louisvdw/dbus-serialbattery/issues/636#issuecomment-1547327584.
Is this like @transistorgit would do it?

no, that's "the usual" way, that is not working here. Problem is, that you can distinguish the serial converters only by type (most (not all) manufacturers are too stingy to give it unique IDs). As you often have the same converter types, you can't build up a decent system that survives replugging, changing broken converters etc.
what I suggest is to map the USB port device path to fixed device names. We did that on a commercial project and it worked well.
On my venus raspi 3b+:
root@venus:~# udevadm info -q path /dev/ttyUSB1 /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2.2/1-1.2.2:1.0/ttyUSB1/tty/ttyUSB1
The middle part with the numbers and dashed is the path over the system's internal and external USB hubs. You can set an udev rule like "if a device is plugged into the physical port "..../1-1/1-1.2/1-1.2.2/1-1.2.2", give it the device name "/dev/ttyUSB_upper_left" or "/dev/Gridmeter_Port". And label your ports accordingly with a sticker.
So no matter which type of converter is used, it will always get the same device name when plugged into the same port.
I will have to go into it to generate a detailed writeup, though. I did it quite a while ago.
The additional challenge here is, that we don't have a nice fixed hardware but a lot different device types that the people use as venus platform. So we have to develop some teach-in setup procedure: plug in one device at a time, probe that, store the USB path, configure udev rule and then do the next... don't know if the users would like that.
what do you think, would it be worth the effort? how many people need this?

I think that would help the users a lot and solve also:

VRM ID change
MQTT battery ID change
Node-RED ID change
Make Custom Name persistant, since the ID does not change

I know what transistorgit is suggesting.
I use this technique on an RPI as bridge for an ET340 meter and an SDM230 (simulated) using 2 pieces of usb to rs485 adapter of the same type.
Both adapters have the same identification, so the usual way doesn't work.
I have seen the usb path that each adapter (ls  /dev/serial/by-path) have and then I have passed the dev path (es. /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0-port0) instead of the usual /dev/ttyUSBx in the command line.
And yes the position of the usb port has to be fixed.
Are we sure that the udev rules take control of the custom usb first so when serial-starter starts the other victron drivers (in the standard way) drop the busy port and assign the next usb number?
However, I saw that this happens when the rpi has only one usb adapter plugged in (the one for the BMS).
If I connect also the MK3 cable to the inverter all the drivers are loaded correctly.

I added some infos from Louisvdw in the documentation.

The problem was solved following the new documentation and "resetting" the saved values of the serial starter by executing:
rm /data/var/lib/serial-starter/*

regarding udev rules @mr-manuel  and I discussed some possible solutions but found all too complex, too inflexible or too difficult for the user. So for now, we propose that the drivers should improved so that the recognise the device correctly and don't attach to unknown devices. mr-manuel also implemented an additional second-level check in the dbus-serialbattery.py file.
We can't address the problem, that cgwacs grabs a port beforehand, that would only be feasible with udev rules or changes in victron code, though