Error handling still problematic

This issue had been raised before.
A lot of boilerplate code is needed to implement error handling, but the main problem is how Slim handles and overrides this internally, and then the order of defining middlewares and error handling in a complex application, you should not have to read the docs for this, cause if you miss it or do it wrong then your error handling will not work correctly.
Imagine a typical scenario where you need to handle and log ALL types of errors gracefully with your own views loggers etc, including fatal errors, this means in some cases your error handling needs to be "active" even before Slim boots, now reading the docs and tutorials it becomes an absolute verbose mess.
I've been working with Slim for a few years and error handling remains a pain point.
Can I suggest that you either remove error handling completely from the core and only throw, and the developer can wrap the application with error handlers any way he/she sees fit.
Or at least supply a configuration option to disable Slim's error handling completely.
Its really a trivial matter and should not be this complicated.

Thanks for the reply Odan,
Any type of error (even fatal) can occur inside a try-catch (try-catch throwable does not know the future), i.e. in a controller or middleware, as you said, Slim will not handle fatal errors and other "traditional" errors, and that is exactly the problem, if it cannot handle ALL errors then rather remove error handling, because.
Now you need to do gymnastics to implement supplementary error handlers, (I will handle these, Slim will handle those....)  and configure it accordingly or maybe not...  swtich addErrorMiddleware and setDefaultErrorHandler on/off and get different results (I've been using these methods for a long time).
Wouldn't it be nice to have just one, simple, clean, standard, unified way to handle errors in Slim?

You've raised some excellent points. It's clear that you've run into the complexities and limitations of Slim's current error-handling system. (I've had the same issues with it)
Note that that Slim's ErrorMiddleware operates within an HTTP-specific context. It's designed to work seamlessly with HTTP request and response objects, making it well-suited for errors that occur during the request-handling process.
However, "traditional" PHP errors, including fatal errors, can occur even before Slim starts running - perhaps during the bootstrap process or other early initialization steps. These errors don't necessarily have an HTTP context, and therefore using a middleware-based approach for handling them doesn't make much sense.
Your suggestion to have a single, unified system to handle all types of errors is very interesting, but due to the "nature" of PHP itself (and not Slim) this is quite "complex". I think it would make technically more sense to let the developers decide of and how they want to handle a "Throwable" and old-school Errors.

Yep, I'm using a decoupled error handler for all 4 major types, was hoping Slim 5 could address the above - but not a deal breaker, Slim is still amazing.

Error handling feels like the hardest part of Slim and we've had a few runs at it with different approaches in versions 2, 3 and 4. I'm confident that we can further improve.
I'm happy to look at a proposal for another take with a clear list of benefits, along with ideas on how someone would migrate from 4's error handling to the new one.
My preference would be for an iterative improvement for 5 to minimise the update pain.

I could imagine for Slim v5 the possibility of moving the ErrorMiddleware into a dedicated Slim package. This would help migration to v5 by allowing users to install this Middleware separately if required. For custom error-handling strategies, developers could then implement their own or install other Error- and Exception handler middleware(s).
Everyone would benefit by including only necessary middleware, potentially reducing the core framework's size and enhancing flexibility.

Sharing some practical workarounds. Here is our approach for setting up the app relying on our own out-of-band error reporting. Hopefully this anecdote may help any design decisions on Slim v5 with respect to error handling.
public/index.php
<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
use App\Controllers;

require __DIR__ . '/../vendor/autoload.php';

// ℹ We use this container for useful things inside the route implementations
$container = require __DIR__ . '/../config/bootstrap.php';
AppFactory::setContainer($container);
$app = AppFactory::create();

// Route documentation: https://www.slimframework.com/docs/v4/objects/routing.html
$app->get('/', function (Request $request, Response $response, $args) {
    $response->getBody()->write("Hello world!");
    return $response;
});
// Route definitions...
$app->post('/api/xyz-webhook', Controllers\XYZWebhookController::class);

// Normal run
$app->run();

config/bootstrap.php
<?php

require __DIR__ . '/../vendor/autoload.php';

// Application configuration secrets ///////////////////////////////////////////////////////////////////////////////////
$dotenv = \Dotenv\Dotenv::createImmutable(__DIR__ . '/..');
$dotenv->load();

// Setup error handling (email to Will) ////////////////////////////////////////////////////////////////////////////////
error_reporting(-1);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
ini_set('log_errors', TRUE);
ini_set('html_errors', 'On');

function emailProductionIssueToWill($issueText)
{
  $mail = new \PHPMailer\PHPMailer\PHPMailer(true);
  $mail->isSMTP();                                      // Set mailer to use SMTP
  $mail->Host = $_ENV['SMTP_HOST'];                     // Specify main and backup SMTP servers
  $mail->SMTPAuth = true;                               // Enable SMTP authentication
  $mail->Username = $_ENV['SMTP_USER'];                 // SMTP username
  $mail->Password = $_ENV['SMTP_PASS'];                 // SMTP password
  $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
  $mail->Port = $_ENV['SMTP_PORT'];                     // TCP port to connect to
  $mail->CharSet = 'utf-8';                             // https://stackoverflow.com/a/39365798/300224
  $mail->From = $_ENV['SMTP_FROM'];
  $mail->FromName = $_ENV['SMTP_FROM_NAME'];
  $mail->addAddress($_ENV['SMTP_TO'], 'Will');
  $mail->Subject = 'PRODUCTION ISSUE';
  $mail->Body = $issueText;
  $mail->addCustomHeader('X-MC-Tags', 'production_issue');
  $result = $mail->send();
  if (!$result) {
    echo 'Error mail error';
  }
}

set_error_handler(function ($number, $message, $file, $line, $vars = null) {
  emailProductionIssueToWill("$file:$line\n$message");
  // https://www.php.net/manual/en/function.set-error-handler.php
  // ... it is your responsibility to die() if necessary. If the error-handler function returns, script execution will continue with the next statement after the one that caused an error.
  echo 'PAGE ERROR, logged';
  exit(1);
}, E_ALL);

set_exception_handler(function ($exception) {
  // If exception is type VisitorVisibleException, show the message to the visitor.
  if ($exception instanceof VisitorVisibleException) {
    echo '
ERROR: ' . $exception->getMessage() . '
';
  }
  emailProductionIssueToWill($exception->getFile() . ':' . $exception->getLine() . "\n" . $exception->getMessage());
});

// Setup container /////////////////////////////////////////////////////////////////////////////////////////////////////
$container = new App\Container(
  getDatabase: function (App\Container $container): App\Database {
    return new App\Database($_ENV['DB_DSN'], $_ENV['DB_USER'], $_ENV['DB_PASS']);
  },
  getCache: function (App\Container $container): App\Cache {
    return new App\Cache($container->getDatabase());
  },
  getLogger: function (App\Container $container): App\Logger {
    return new App\Logger($container->getDatabase());
  },
  getShopify: function (App\Container $container): App\Shopify {
    return new App\Shopify($_ENV['SHOPIFY_SHOP'], $_ENV['SHOPIFY_ADMIN_API_ACCESS_TOKEN']);
  }
);

// Return globals //////////////////////////////////////////////////////////////////////////////////////////////////////
return $container;

Discussion
This approach works well to inject a container with lazy load dependencies/features. This is also how the application secrets are loaded into those features.
The error handling is done out-of-band in the bootstrap file. This means it directly uses the secrets. We have errors getting sent to email and a messaging service.
But this approach fails from missing useful phpslim integration. For example, if there is a 404 routing error, we won't know what is the URL.
<?php
try {
    $app->run();
} catch (HttpNotFoundException $e) {
    // Rethrow Exception with message: Not found: URL
    throw new Exception( /* HOW TO GET URL HERE??? */);
}

@fulldecent As long it's a Slim http specific exception, you can use the $exception->getRequest() method.
$uri = $exception->getRequest()->getUri();

use Slim\Exception\HttpException;
// ...

if ($exception instanceof HttpException) {
    $uri = $exception->getRequest()->getUri();
}

I'm just using Symfony Error Handler. I set it up on my public/index.php right before anything else Slim related.
Works well and also get the nice debug page. Only thing I added was a small piece of code to show errors as JSON when the request was XHR.


no-redundant-clsx does not work with backtick strings (template literals)

The no-redundant-clsx rule fails to report className=clsx(`foo`). It is correctly detected after changing it to className=clsx('foo').
I think backtick strings also break other rules, but I haven't tested extensively.

I created a PR with a basic fix. Let me know if it looks ok, it definitely needs to be tested more as I haven't written eslint rules before. My quick test for className={clsx(`foo`)} worked

thanks for merging that in! sounds good, I can try to take a closer look later this week or next

Added 0.0.4 to CHANGELOG.md


Enabling reading binary data under /var/lib/prometheus

Proposal
Prometheus is used as monitoring tool for  scraping application metrics , we want to store these metrics in object storage in readable format  in JSON form so how can we do it ? but  we see this data is stored in binary format under /var/lib/prometheus

Have you considered implementing a remote write adapter? Try looking at https://github.com/prometheus/prometheus/tree/main/documentation/examples/remote_storage/example_write_adapter
Beware that storing time series data such as Prometheus' in JSON will be a lot less efficient than the binary format. If you merely want to store data in object storage (e.g. S3), take a look at Thanos.
(this should probably be moved to a discussion too...)

Hello from the bug scrub.
Moving to a discussion as suggested...


fix(curriculum): better user understanding in Step-93

Instead of top -left, -right, it's better to show user to change top-left, top-right border radius.
Here's the current one:

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

Yes Ma'am 🫡😅

Hi @CERTIFIED2003 Congrats on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We are happy to accept these changes and look forward to future contributions. 📝

Thankyou so much @Sembauke 🥹
I will be contributing in future too.


[KFKESQ-12] Allow the configuration properties of consumer/producer

Kafka's internal consumer and producer can now be configured using a kafkaesque.properties file in spring-kafka's fashion, this has been implemented with extensibility in mind, and OWNER seems to fit the bill quite elegantly. Please check and let me know what you think  @rcardin
P.S: it's been a busy week but I finally got to sit down and work on it sorry for the delay :sweat_smile:
Fixes #19

Hey, man. Quite a busy week here too. I plan to review your PR during the weekend.

Hey @rcardin, I've worked on a second iteration of the PR based on the code review comments, I didn't pay much attention to the license issue at first (since I'm not too familiar with how it works), but I guess the alternative lib used now is compatible with MIT license, other than that the refactored code might seem a little more verbose, please check and let me know what you are thinking :smile:

Hey, man. Sorry for the delay; crazy times at work. I'll try to review your last commits this week.

No problem. I made some changes in the main branch. So, we will need to merge it into this branch before accepting the PR

I saw your changes. If it's ok for you, I'll clone your repo and make some changes, which we can discuss later. What's your feeling about this?

@rcardin sure yeah, it's totally fine !

@farajist, I made some refactorings. Don't set a public scope for methods you don't want others to use.
By the way, there is a problem with the implementations of the KafkaesqueProducerConfig and KafkaesqueConsumerConfig. It would help if you allowed a developer not to set all the properties as you have implemented now; the application crashes.
Can you fix it? Please, try to do this using a TDD approach.

Thanks for the update @rcardin, I checked the refactoring that you did, amazing work ! interfaces are minimal and the KafkaesqueConfigLoader -> TypesafeKafkaesqueConfigLoader abstraction is on point. I was relying on basic testing for the config loading feature, but it would be helpful to have a sub-project for code examples to do integration testing and quickly reproduce issue, I will try and reproduce the crash scenario in order to limit the scope of configuration. Thanks !

Ok, thanks. In the meanwhile, I'll continue to change the DSL part to let configure the path of the file.

@farajist, do you have some time to proceed? If you don't, please, let me know. I'll finish the missing parts independently.

Hi @rcardin, sorry for the delay, I was busy these last days since I relocated (a different time zone), I will try to work get the changes done this weekend if possible, otherwise I will let you know, thanks and sorry for the delayed feedback :)

As I mentioned in one of the comments


Add MLJ support for dimensionality reduction methods

https://docs.rapids.ai/api/cuml/stable/api.html#dimensionality-reduction-and-manifold-learning

https://github.com/tylerjthomas9/RAPIDS.jl/commit/54be03f65c5943854ac5467cfc251a7f672e319d


Supported Data Source List

The supported data source list for scans appears to be incorrect.
[Enter feedback here]

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

ID: 0a701383-9762-d874-e191-bf7ec0f1871a
Version Independent ID: 782d7f98-294b-0c2d-1c11-a7018870e229
Content: Frequently asked questions (FAQ) - Azure Purview
Content Source: articles/purview/frequently-asked-questions.md
Service: purview
Sub-service: purview-data-catalog
GitHub Login: @SunetraVirdi
Microsoft Alias: suvirdi

@chuckheinzelman  Thanks for your feedback! We will investigate and update as appropriate.

@chuckheinzelman  Thanks for your feedback! We will investigate and update as appropriate.

@chuckheinzelman Could you please help me with the incorrect details in the document?

@chuckheinzelman Could you please help me with the incorrect details in the document?

@chuckheinzelman  Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.

@chuckheinzelman  Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.

Please look at the list of supported sources and compare it against what is actually available in the tool.  For example, Azure Files is not available, and none of the sources listed as "end of 2020" are currently available.

Please look at the list of supported sources and compare it against what is actually available in the tool.  For example, Azure Files is not available, and none of the sources listed as "end of 2020" are currently available.

@chuckheinzelman Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@SunetraVirdi and @yaronyg Could you please review the content and update it as appropriate?

@chuckheinzelman Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@SunetraVirdi and @yaronyg Could you please review the content and update it as appropriate?

@ChandraKavya - I believe this one is for you.

@ChandraKavya - I believe this one is for you.


Support for Windows Stemcells

The upload-product-and-stemcell assumes all stemcells use the same product name or plug. The Runtime for Windows tile uses "Stemcells for PCF (Windows)" which is a different plug. Use the metadata to determine if the windows stemcell is required and set the plug accordingly.

Thanks for the PR! I think we'll implement a different solution, however.


[ENHANCEMENT]: Pie visualization config panel features v1

Implementation of Pie config panel features as mentioned in #787
Features to implement:
Panel options
Use common panel options.
Data configurations
Use common data configurations for Pie chart.
Graph styles
Type (mode) selector (filter buttons)

Pie
Donut

Legend size (number field)
Label size (number field)
Legend placement (filter buttons)

bottom
right

Completed.


WIP: Add homebrew virtualenv

Today's Homebrew formula does not install the Azure CLI into a virtual environment. This has caused a good number of issues, especially when people have existing system Python installations in use.

Looks like draft PRs don't kick CI. For that reason I'm creating this PR to work out of.

Closed in favor of https://github.com/Azure/azure-cli/pull/8744


XCODE 9.1

Hi
Having some issues with the main workspace in Xcode 9.1
The frameworks won't build out of that.
Did work in 9.0
/olle

<Group       location = "group:Framework"       name = "Framework">       <FileRef          location = "group:/Users/devin/Dropbox/Devin/Code/Xcode/SwiftOSC/Framework/macOS/macOS.xcodeproj">       </FileRef>       <FileRef          location = "group:/Users/devin/Dropbox/Devin/Code/Xcode/SwiftOSC/Framework/iOS/iOS.xcodeproj">       </FileRef>    </Group>

That bizarre. Let me see what I can do.

On Nov 12, 2017, at 1:10 AM, Olle Soprani<EMAIL_ADDRESS>wrote:

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/devinroth/SwiftOSC/issues/14#issuecomment-343723287, or mute the thread https://github.com/notifications/unsubscribe-auth/AMaIEXeP8OnsVo9mdzb1b_bWTaUf3Wi-ks5s1rXxgaJpZM4Qaz45.

Hi, grate project btw.
There is two issues here, frameworks don't show up as build targets in the workspace, and the workspace has hardcoded paths.
/olle

The two issues were related.
Try now.

On Nov 12, 2017, at 1:20 AM, Olle Soprani<EMAIL_ADDRESS>wrote:
Hi, grate project btw.
There is two issues here, frameworks don't show up as build targets in the workspace, and the workspace has hardcoded paths.
/olle
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/devinroth/SwiftOSC/issues/14#issuecomment-343723772, or mute the thread https://github.com/notifications/unsubscribe-auth/AMaIEfMikDo7Y00-TRxotmXFVW_S9e9Qks5s1rhpgaJpZM4Qaz45.

Grate!


feat: added label overrides on AddressReview

Signed-off-by: Haris Spahija<EMAIL_ADDRESS>Part of: #409
Impact: minor
Type: feature
Component
AddressCapture now has label overrides for when i18next will be implemented (see #409)
Breaking changes
addressNamePlaceholder should be renamed to addressNamePlaceholderText for consistency. It is important to state what the placeholder is, in this case we only support strings. Not adding text might confuse people that they can add images as placeholders.
Added props
The following props are added to this component
addressEnteredLabelText: PropTypes.string,
addressSuggestionLabelText: PropTypes.string,

Added default props
addressEnteredLabelText: "Entered Address"
addressSuggestionLabelText: "Suggested Address"

Testing

Add a new prop from added props list to <AddressReview />
Add the value "test" to any new prop
Label options should display "test" when test is given as a value to the prop. When a prop is not added, it should default to the values given in default props.

🚀 Preview deployed
Built with commit 8d8467fbae11c46c425a09c5c08be4fed8969779
https://deploy-preview-445--stoic-hodgkin-c0179e.netlify.com

:tada: This PR is included in version 0.68.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat (langchain): support configurable fields and alternatives for guard and validator runnables

Description

A configurable_fields method. This lets you configure particular fields of a runnable.
This is related to the .bind method on runnables, but allows you to specify parameters for a given step in a chain at runtime rather than specifying them beforehand.
A configurable_alternatives method. With this method, you can list out alternatives for any particular runnable that can be set during runtime, and swap them for those specified alternatives.

https://python.langchain.com/v0.2/docs/how_to/configure/
Expected Interface
base_guard = Guard().use_many(
    CompetitorCheck(competitors=["delta", "american airlines", "united"], on_fail="fix"),
    ToxicLanguage(on_fail="remove"),
).to_runnable()

configurable_guard = base_guard.configurable_alternatives(
    ConfigurableField(id="guard"),
    default_key="content",
    regex=Guard().use(
        RegexMatch(regex=r'\b[A-Z]{3}\b', on_fail="exception")
    ).to_runnable(),
)

# Define the LCEL chain components
prompt = ChatPromptTemplate.from_template("Answer this question {question}")
output_parser = StrOutputParser()

chain = prompt | model | output_parser | configurable_guard

# Use the default guard (CompetitorCheck and ToxicLanguage)
result_content = chain.invoke({"question": "What are the top five airlines for domestic travel in the US?"})
print("Content Check Result:", result_content)

# Use the RegexMatch guard
result_regex = chain.with_config(configurable={"guard": "regex"}).invoke(
    {"question": "List three major airport codes in the US."}
)
print("Regex Check Result:", result_regex)

@kaushikb11 I want to work on this issue.


Spring failing to run because of unknow property

After adding the hypersistence-utils to my project spring started to failing when starting. The error says:
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property 'update' found for type 'Authority' 	at app//org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:90)
But there is no property with that name in my entity (can be seen here) and seens to be spring trying to read the update method from HibernateRepository as an operation with a property with the same name in this entity.
Removing the HibernateRepository all tests run successfully.
I'm using:

spring boot 3.0.1
Kotlin 1.8
Hibernate 6.1

Any clue on what could be the issue?

Make sure you added io.hypersistence.utils.spring.repository to the @EnableJpaRepositories.
@Configuration
@EnableJpaRepositories(
    basePackages = {
        "io.hypersistence.utils.spring.repository",
        "your.repository.package",
        ...
    }
)
public class JpaConfiguration {
    ...
}

Check out the existing integration tests for a reference.

Yes, the config is there and before asking here I saw the same problema reported here
But even using like this, the error appears. If I just remove the hibernate repository from my default repository here, everything works fine and the application starts (tests run).
The desired outcome here is: tests run but fail with the save method throwing a UnsupportedOperationException, this means I need now to replace all save methods by the update/persist ones

It's better to use the BaseJpaRepository instead of the HibernateRepository. Check out this article for more details.

At the end, found out what is the problem, kind weird must say but understandable ahaha
The fact that I use a base repository to "hide" the implementations is the reason. Moving the extends for the HibernateRepository (and it worked the same for the BaseJpaRepository) to my entity repository rather than my custom default repo solved the issue.
The reason I could found for that problem is something around spring not being able to pick the correct implementation for the repository since it will search a class with the same name but with Impl as a sufix. Thats why he was complaining on method names not being related to a declared property inside the class.
The bad thing (not really a problem, but IMO is bad) here is: now, if I want to use the HibernateRepository or the BaseJpaRepository I need to add it to every entity repository I have.
Code with the fix for the error will be on my repo soon and them I can link the files here for a better understanding.

The bad thing (not really a problem, but IMO is bad) here is: now, if I want to use the HibernateRepository or the BaseJpaRepository I need to add it to every entity repository I have.

There's nothing bad, actually. Again, you shouldn't be using HibernateRepository, as that's just a work-around. You should be using BaseJpaRepository instead.
Now, using BaseJpaRepository is the same as using JpaRepository:

where you'd previously extend JpaRepository, you now extend BaseJpaRepository
where you'd previously set the @EnableJpaRepositories to locate the base packages, you now have to add the repositoryBaseClass

That's it.

Yeah, I mean bad because I have to do the implementation it in every repo I have and not in a single place (my custom repo) like I was doing before. But not a big issue.

You don't have to implement anything. All you need to do is replace JpaRepository with BaseJpaRepository and add an repositoryBaseClass attribute to an existing @EnableJpaRepositories.

The fact that I use a base repository to "hide" the implementations is the reason. Moving the extends for the HibernateRepository (and it worked the same for the BaseJpaRepository) to my entity repository rather than my custom default repo solved the issue.

The issue is closed, then.


Cannot find module

I get this error when running my Bot, it says Cannot find module './errors', I've uninstalled and reinstalled discord-modals and it is still giving me this error.

When you uninstalled discord-modals, is it still getting an error?


SET DATA/DELIMITED read uses single precision

Reported by ansley b manke on 3 May 2013 16:58 UTC
Martin Schmidt reports this.  Data representing time in days since year 0000. If it's read using set data/ez, the accuracy is fine. If it's read into a numeric variable using set data/ez/delimited then precision is lost.

yes? let dates = {734654.0000,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>}
yes? list/nohead/norow/file=dates.txt/prec=10/clobber dates
 LISTing to file dates.txt
yes? sp cat dates.txt
<PHONE_NUMBER>
<PHONE_NUMBER>
<PHONE_NUMBER>
<PHONE_NUMBER>
<PHONE_NUMBER>
yes? can var/all
yes? set data/ez dates.txt
yes? list/prec=10 v1
             VARIABLE : V1
             FILENAME : dates.txt
             SUBSET   : 5 points (X)
 1   / 1:<PHONE_NUMBER>
 2   / 2:<PHONE_NUMBER>
 3   / 3:<PHONE_NUMBER>
 4   / 4:<PHONE_NUMBER>
 5   / 5:<PHONE_NUMBER>
yes? can dat/all
yes? set data/ez/format=deli/del=" " dates.txt
yes? list/prec=10 v1
             VARIABLE : V1
             FILENAME : dates.txt
             SUBSET   : 5 points (X)
 1   / 1:<PHONE_NUMBER>
 2   / 2:<PHONE_NUMBER>
 3   / 3:<PHONE_NUMBER>
 4   / 4:<PHONE_NUMBER>
 5   / 5:<PHONE_NUMBER>

Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2066

Comment by ansley.b.manke on 3 May 2013 23:30 UTC
This is fixed. In ez_delimited_read.c, we have sscanf directives, which were using a %f format to read numeric data. These needed a %lf instead to read it as double-precision floats.
I changed this so that longitudes, latitudes, numeric data and the seconds portion of times hh:mm:ss.f  are read with their full precision.  Also added a benchmark test.


[ESPC2][NimBLE]Keep the MTU value agreed with the client after the connection parameters are updated (IDFGH-10373)

Is your feature request related to a problem?
The ESPC2 module acts as the BLE server and the APP as the client. Currently, after the APP establishes a connection with the ESPC2 module, the BLE_GAP_EVENT_CONN_UPDATE event is triggered 2 or 3 times, resulting in the MTU agreement request sent by the APP being reset again after the connection is established. I now need a way to not reset the MTU value agreed with the client after the connection parameters are updated.
Describe the solution you'd like.
Keep the MTU value agreed with the client after the connection parameters are updated
Describe alternatives you've considered.
No response
Additional context.
No response

MTU exchange / update and BLE_GAP_EVENT_CONN_UPDATE event are two separate events.
CONN_UPDATE event is sent when connection parameters are updated. In your use case if this event is seen multiple times , it implies that connection parameters have been updated multiple times. Can you share a debug log and we can check if remote is performing multiple connection updates.
Also, can you point out why MTU is getting updated in your case when connection update event is received ? Ideally, MTU value should be set when the first channel is created OR an explicit MTU exchange handshake happens. So, it would be good to know where Connection Update is changing MTU value.

MTU exchange / update and BLE_GAP_EVENT_CONN_UPDATE event are two separate events.
CONN_UPDATE event is sent when connection parameters are updated. In your use case if this event is seen multiple times , it implies that connection parameters have been updated multiple times. Can you share a debug log and we can check if remote is performing multiple connection updates.
Also, can you point out why MTU is getting updated in your case when connection update event is received ? Ideally, MTU value should be set when the first channel is created OR an explicit MTU exchange handshake happens. So, it would be good to know where Connection Update is changing MTU value.

Hi, this is my debug log, Figure 1 shows that after connection establiished, three connection updated events were triggered, and Figure 2 shows that the client sent an MTU request before the last connection updated event was triggered. In the ios App test, only one connection updated event was triggered after the connection was established, and then the MTU was exchanged, and the data sending and receiving test was normal.

Hi @BurnerK ,
LE Connection update event is posted either when LE connection update command was issued by host OR if the connection parameters are updated following a request from peer device.
In the first snapshot , we do see 2 connection update events showing change in connection intervals, but that log is not sufficient to gauge if the request was initiated by host or remote.  The second snapshot does show MTU update event , but the following update event too is not associated by any command from host ( atleast log doesn't show host sending it).
Please let us know if you can get one debug enabled log .

If you are NOT on master branch, please apply attached patch. This patch gives extra information.   This patch has to be applied in the $IDF_PATH/components/bt/host/nimble/nimble path.
0001-Add-debug-code-to-print-HCI-events-information.txt

Once patch is applied, please enable debug logs as below and share the console log to debug this more.

To enable debug logs:
idf.py menuconfig
Component config → Bluetooth → NimBLE Options → NimBLE Host log verbosity → Debug logs
Component config → Log output → Default log verbosity → Debug
Thanks,
Rahul

Hi @BurnerK ,
Can you please double confirm that the patch provided in comment here  has been applied.  Please share a log with the patch applied to get better information.
With the patch applied and debug logs enabled,  we should see prints like below  to indicate events .
D (12309) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e
D (12309) NimBLE: subevent: 0x3
D (12309) NimBLE:
I (12309) NimBLE: connection updated; status=0
I (12309) NimBLE: handle=1 our_ota_addr_type=0 our_ota_addr=
I checked the logs you shared. From logs, can see that we have NOT sent any connection update command . This points that remote is issuing all those connection update commands.

Hi @BurnerK ,
Can you please double confirm that the patch provided in comment here has been applied. Please share a log with the patch applied to get better information.
With the patch applied and debug logs enabled, we should see prints like below to indicate events .
D (12309) NimBLE: ble_hs_event_rx_hci_ev; opcode=0x3e D (12309) NimBLE: subevent: 0x3 D (12309) NimBLE:
I (12309) NimBLE: connection updated; status=0 I (12309) NimBLE: handle=1 our_ota_addr_type=0 our_ota_addr=
I checked the logs you shared. From logs, can see that we have NOT sent any connection update command . This points that remote is issuing all those connection update commands.

ok. I have put the patch file in [$IDF_PATH/components/bt/host/nimble/nimble path], but still no message like NimBLE: subevent: 0x3 appears. Am I using it in the wrong way?
I now know it is the connection parameter update command sent by the remote, but I want the MTU value not to be reset when the parameter is updated, can I achieve that? Or I can only solve this problem by modifying the MTU sending timing of the remote client?

Hi @BurnerK

ok. I have put the patch file in [$IDF_PATH/components/bt/host/nimble/nimble path], but still no message like NimBLE: subevent: 0x3 appears. Am I using it in the wrong way?

Looks like the change is not gone in. May be you can open the patch file and copy those few lines manually in your codebase. It just prints the events information when packet is received.

I now know it is the connection parameter update command sent by the remote, but I want the MTU value not to be reset when the parameter is updated, can I achieve that? Or I can only solve this problem by modifying the MTU sending timing of the remote client ?

Connection update and MTU exchange are mutually exclusive.  MTU updation has no dependancy on connection parameters getting updated. So, again, MTU exchange can be done by client ( in this case the remote ) .
The print in your log shows that remote has modified the MTU and set to 247.

eyb_ble: mtu update event; conn_handle=1 cid=4 mtu=247

If you don't want remote to re-negotiate the MTU, may be you can set the initial mtu itself to 247 by calling the ble_att_set_preferred_mtu in your code during init process. Please try if this helps.

Hi @BurnerK  , any updates ?

Closing issue. Please feel free to reopen in case of further queries.


Add GBIF FAQ

This FAQ can aggregate a variety of existing FAQs:

Data Trends FAQ
Indexing FAQ
Data use FAQ
IPT FAQ & VertNet IPT FAQ
Checklist publishing FAQ
Occurrence publishing FAQ
Sampling-event publishing FAQ
Metadata-only publishing FAQ
Ebbe Nielsen FAQ
BID FAQ
GBIF Community Site FAQ
R FAQ

Here is some inspiration for what other FAQs we could add:

Users & Publishers FAQ, e.g. EurOBIS FAQ & BOLD Users FAQ
API FAQ, e.g. Mendeley API FAQ
Internationalized FAQs, e.g. GBIF Spain FAQ
Indicators FAQ, e.g. Natureserve FAQ
General FAQ, e.g. EURISCO FAQ
Licensing/Endorsement FAQ, e.g. Bouchout Declaration FAQ
Link to external tools FAQ, e.g. Scratchpads FAQ

@ahahn-gbif @jlegind @dschigel @mdoering @burkeker @timrobertson100

+100. Thanks for the sources and sources of inspiration.

@jlegind @kcopas @ahahn-gbif
The DataOne FAQ powered by AskBot inspired by Stack Overflow is something we could consider using at GBIF. Here is a description of how DataOne uses it: https://ask.dataone.org/help/
I like that each user profile keeps track of their questions asked, answers given, and badges awarded. Here is an example profile: https://ask.dataone.org/users/10/bwilson/ This could help make the GBIF Helpdesk more collaborative in nature whereby external contributors receive credit for their contributions. I also like that you can search through the FAQs and track the number of times each FAQ has been viewed, which can help pinpoint the major areas of confusion.

I am only involved in the sci related helpdesk matters, and there search and archive or earlier discussion would help.

More work to do, but consolidated page is underway here:
GBIF FAQ

Talking to @kcopas it was decided not to go forward with the AskBot solution as it didn't seem to bring enough value at this point.
In conversation with @dnoesgaard and @kcopas we have created an FAQ that isn't just an article. This to make it easier to search and so we can use the answers else where on the site (e.g. https://github.com/gbif/portal16/issues/524).
It is available on https://www.gbif.org/faq2 - but it needs content and in that process testing of whether it fits our needs. In agreement with the  communication team it was agreed to keep it simple until it had been tested and our needs was clarified.
See content type here

Just to build on @MortenHofft 's comments, we do have content on the current FAQ page and will use that to test the new content type in the coming weeks (maybe a bit of a deep-dive next week by @dnoesgaard ?).

I've added entries for the first few q&a's (under the Auto-generated dataset citations headline). We do have to reconsider how we phrase these, as the new implementation doesn't have the same hierarchical structure that is used in the /faq article. With that being said, it's absolutely doable. And the extra effort in phrasing the questions as independent entries makes them reusable across the site.
Have a look and see what you think: https://www.gbif.org/faq2
I'll go ahead and add some more...

Looks good to me @dnoesgaard, but some of these questions seem off somehow. Maybe it is just the atomic format where context is lost that makes it seem so. E.g.:

How do I provide feedback to data trend charts?
Please use the feedback button at the top right of each page or contact us by email.

or https://www.gbif.org/faq2?question=can-i-reuse-data-trend-charts-in-my-national-reports
I'm not sure what to do about it. I see that it is valid QA. What do you think? It feels like more than just a question about styling.

Just for the record - we are all onboard the FAQ train - @MortenHofft, polite reminder to add ability to include span code for help item in contentful content :)

it is added - see example in your test article https://app.contentful.com/spaces/qz96qz790wh9/entries/68InWjV248ugSukqMMmKkC

The FAQ is available on the site here https://www.gbif.org/faq

I can't seem to get the span code to work - has it been deployed to test, uat, prod?

nope - we haven't done a release since yesterday. But I'm having seconds thoughts. Do you think it is a good idea to add that to the articles. it seems that it creates a dependency between a website implementation and the articles that could get messy going forward. how about just linking to the FAQ page instead? How had you imagined using this?

Yes, this would create dependencies, but isn't that the case for all uses of the help items, not just articles? If anyone changes the slugs, they would break regardless of where they are used.
Anyway, this is one of those things that we'd have to use for a bit before we'd see the true benefit. I don't like the idea of simply linking to the FAQ.

There are 2 dependencies here.
The first is that content items will contain links to FAQs based on the FAQ "slug" which effectively becomes it's unique ID.  That seems unavoidable and something we need to just be careful about, especially when deleting FAQ items.  Deletions may result in dead links that can't easily be found.  The same is true for every href link in a paragraph as it is not an explicitly modelled relationship of course.
The second dependency I think @MortenHofft is concerned about is adding HTML conventions that control rendering (style and user interactions) specific to current GBIF.org code which may change.  An example could be an embedded FAQ.  This is possible but it does tightly couple embedded content to a rendering control.  Having just come out of a painful export from Drupal I'd also like to avoid this and stick to vanilla markdown - we will surely migrate this content from Contentful one day.  I'd can think of 3 options to achieve FAQ style popups from paragraphed text which I'd suggest are cleaner than embedding HTML:

Overload the title convention for links [see more](/faq/hit-me "/faq/hit-me").  This is standard Markdown but we could intercept that, and if there is a title with an /faq/* title render as the popup icon.  The downside is we've reduced the ability to have hover titles in the future, but it is unlikely we'd have them start with /faq.

We have add a param inline to the URL and detect that at rendering time.  This way [show more](/faq/markdown-cheat) would be a standard link while [show more](/faq/markdown-cheat?inline) would be detected and rendered as a popup icon.

We introduce a markdown extension and do something like [show more | mode=popup](/faq/no-more-standard-markdown?).  The downside to this is we have custom markdown.

I don't know the implementation implications of any of these.  I also can't comment on the sensibilities of having popups everywhere although I could imagine pages like "how to publish clean data" might be one place - it isn't something I recall seeing much on sites I use regularly though.

As mentioned it is the dependency between an website implementation and the articles that I find unfortunate (when it can be avoided). LInking a specific UI preference with article content is likely to be annoying in a later version. I therefore like better the of having plain links to the FAQ.
And if needed as popups (as Daniel says he would like to at least try), then parsing the URL.
example in markdown is this relative [FAQ link](/faq?question=how-is-the-dataset-citation-text-auto-generated&inline=true)

New ideas, bugs etc can be captured in other issues. The FAQ has been implemented in dialog with comms. Extensions might come in the future and be captured in new issues.


improve shell detector with customized terminal.integrated.defaultProfile/profiles

terminal.name can returns '' when terminal activation callback is called and will change to correct value later. however the user can use overrideName to set the value of terminal.creationOptions.name to the shell profile name.
terminal.integrated.shell is deprecated but takes precedence over terminal.integrated.defaultProfile.

here are my setup on windows 11. currently detectors will all fail and fallback to powershell.exe in UserEnvironmentShellDetector.
  "terminal.integrated.defaultProfile.windows": "msvc-gitbash",
  "terminal.integrated.profiles.windows": {
    "msvc-gitbash": {
      "overrideName": true,
      "path": "path\\to\\script.bat"
    }
  }

@echo off
call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" > NUL
"C:\Program Files\Git\bin\sh.exe" -i -l

Thanks for the PR. However this shell detector is no longer used and is basically dead code: https://github.com/microsoft/vscode-python/issues/16023. We plan to remove all other detectors other than the VSCode one, hence closing this.


proposal: time: Add functions for finding greatest or least time.Time supplied

Proposal Details
While attempting to port over from Ruby code to Go, I ran into an issue where I needed to set a variable of type time.Time to the maximum of three different times. The maximum here would apply to the farthest in the future time. In Ruby this involves putting the three times in an array and calling the max method on the array.
my_time = [someTime, someTime2, DateTime.now].max

This doesn't work in Go currently because the slices.Max method only works on slices where of type cmp.Ordered which time.Time is not.
All time.Time's can be converted to an int64 Unix representation which would satisfy the cmp.Ordered requirement for using slices.Max and slices.Min. However, this wouldn't work for times before 0 Unix time.
I'd instead purpose adding Min and Max functions for the time package. They'd work by just using the Before and After methods that already exist in the package
func Max(x Time, y ...Time) Time {
	maxTime := x
	for _, val := range y {
		if val.After(maxTime) {
			maxTime = val
		}
	}
	return maxTime
}

func Min(x Time, y ...Time) Time {
	minTime := x
	for _, val := range y {
		if val.Before(minTime) {
			minTime = val
		}
	}
	return minTime
}

// Usage
thatTime := time.Max(someTime, someTime2, time.Now())

The function signature is just like the min and max built-in functions where at least one parameter is required, that way we can just return that value if no others are passed in. The first parameter would also just get used as our base for finding the min or max of the times. This also prevents us from unintentionally returning the time.Time zero value in the Min function

This sounds quite specialized, how often is this operation used outside of your specific example?
https://go.dev/doc/faq#x_in_std

oldest := slices.MinFunc([]time.Time{now, someTime, someTime2}, time.Time.Compare)

https://go.dev/play/p/rVGx_3me6NQ

Thanks @earthboundkid, I came here looking for golang equivalents to greatest and least function in PostgreSQL which accept any data type.

Note that the conversion from a time.Time to an offset from the Unix epoch can return a negative number, so Unix timestamp zero is not the lower bound.
The documentation for each of the methods that return Unix-epoch-relative offsets says, at the time of writing:

Time.Unix "is valid for billions of years into the past or future" [relative to zero]
Time.UnixMicro: Year -290307 through 294246
Time.UnixMilli: "292 million years before or after 1970"
Time.UnixNano: Year 1678 through 2262

The nanosecond-grain result does have a somewhat constrained range if you want to talk about all years where humans might have done something, but the others seem like they ought to be sufficient for most cases unless you actually need to be able to distinguish timestamps that differ only in nanoseconds.
Does the ability for these functions to represent timestamps before Unix epoch make that a viable solution after all, or do you need to compare timestamps even outside of these wide ranges? :thinking:
(I personally don't feel opposed to having comparison functions that are valid for all time.Time values, FWIW, but the argument for it in the proposal suggested that these Unix timestamp functions can only return positive timestamps, which doesn't seem to be true.)


Verifier app UI

Do we want the file identity-enabler/verifier-mobile-app/public/assets/DataMatrix.png to be merged as well?


fix: capture devnet cli errors

Looks good! Could set -o pipefail also have fixed it?

could it?? 😅


Added some hints about troubleshooting missing fonts

Great! I appreciate you responding to filed bugs - both in terms of the bug itself as well as submitting patches to fix them or prevent them in the future =)


mysql auth plugin sample

first of all, thank you @erylee to create great app.
you broker is the most stable I've tried so far.
can you please give some configuration sample using mysql auth plugin.
it's very useful if it can be implemented.
thank you

@goldalworming I am tagging 0.7.0 release with plugin samples. I will write a simple emqttd_auth_mysql plugin this weekend.

ok, I'm waiting for it. thanks a lot.

hi, @goldalworming, please checkout 'plugins' branch. I commit a demo emqttd_auth_mysql plugin.
If you want to authenticate with your own database and users table,  you could:

configure database parameters in 'etc/plugins.config'

 {emysql, [
    {pool_size, 4},
    {host, "localhost"},
    {port, 3306},
    {username, ""},
    {password, ""},
    {database, "mqtt"},
    {encoding, utf8}
 ]},
 {emqttd_auth_mysql, [
    {user_table, mqtt_users}
 ]}

modify plugins/emqttd_auth_mysql/src/emqttd_auth_mysql.erl to hash your password if not plaintext is stored.

ok, I'll try it.
thank you

I got these problem while compiling
ERROR: generate failed while processing /home/lmvm/mqtt/emqttd-plugins/rel: {'EXIT',{{badmatch,{error,"goldrush: Application version clash. Multiple directories contain version "0.1.6"."}},
[{rebar_reltool,generate,2,
[{file,"src/rebar_reltool.erl"},{line,53}]},
{rebar_core,run_modules,4,[{file,"src/rebar_core.erl"},{line,490}]},
{rebar_core,execute,6,[{file,"src/rebar_core.erl"},{line,415}]},
{rebar_core,maybe_execute,8,
[{file,"src/rebar_core.erl"},{line,299}]},
{rebar_core,process_dir1,7,[{file,"src/rebar_core.erl"},{line,258}]},
{rebar_core,process_commands,2,
[{file,"src/rebar_core.erl"},{line,90}]},
{rebar,main,1,[{file,"src/rebar.erl"},{line,58}]},
{escript,run,2,[{file,"escript.erl"},{line,752}]}]}}
make: *** [rel] Error 1
I don't understand how to debug it

I read your https://github.com/emqtt/emqttd/wiki/FAQ
but I don't understand what to do if error appear

ok, I've successfully add plugin to your binary download
now, unauthenticated user could be blocked but I still cannot connect using python paho set password
client.username_pw_set("alice", "secret");
client.connect("localhost", 1884, 60)
client.loop_forever()
nb: I've already add username password in mysql

start emqttd console:

./bin/emqttd console

check mysql:

emysql:select(UserTab, {{username, Username}, {password, Password}}.

it return nothing
(emqttd@<IP_ADDRESS>)1> emysql:select('mqtt_user', {{username, 'alice'}, {password, 'secret'}}
(emqttd@<IP_ADDRESS>)1> emysql:select('mqtt_user', {{username, 'alice'}, {password, 'secret'}}.

2: syntax error before: '.'
(emqttd@<IP_ADDRESS>)1> emysql:select('mqtt_user', {{username, 'alice'}, {password, 'secret'}}
(emqttd@<IP_ADDRESS>)1>

emysql:select('mqtt_user', {{username, 'alice'}, {password, 'secret'}}.

must be ended with "."

got this * 1: syntax error before: '.'

(emqttd@<IP_ADDRESS>)1> emysql:select('mqtt_user', {{username, 'alice'}, {password, 'secret'}}).
** exception error: undefined function emysql:select/2

@goldalworming, I fixed the mysql query issue that 'where' condition of select is wrong:
emysql:select(UserTab, {'and', {username, Username}, {password, Password}}).

Please checkout 'plugins' branch and build to test.

I'm not successfully build the plugin due to goldrush error
add mysql auth plugin to compiled (0.7.1) version just make any connection successfully connected with/without password

git clone -b plugins https://github.com/emqtt/emqttd.git && make && make dist

I always got this error
==> emqttd (compile)
==> rel (generate)
ERROR: generate failed while processing /home/lmvm/mqtt/emqttd/rel: {'EXIT',{{badmatch,{error,"goldrush: Application version clash. Multiple directories contain version "0.1.6"."}},
[{rebar_reltool,generate,2,
[{file,"src/rebar_reltool.erl"},{line,53}]},
{rebar_core,run_modules,4,[{file,"src/rebar_core.erl"},{line,490}]},
{rebar_core,execute,6,[{file,"src/rebar_core.erl"},{line,415}]},
{rebar_core,maybe_execute,8,
[{file,"src/rebar_core.erl"},{line,299}]},
{rebar_core,process_dir1,7,[{file,"src/rebar_core.erl"},{line,258}]},
{rebar_core,process_commands,2,
[{file,"src/rebar_core.erl"},{line,90}]},
{rebar,main,1,[{file,"src/rebar.erl"},{line,58}]},
{escript,run,2,[{file,"escript.erl"},{line,752}]}]}}
make: *** [rel] Error 1

find . -name goldrush

在 2015年5月6日，下午4:33，arief nur andono<EMAIL_ADDRESS>写道：
goldrush

lmvm@lm17 ~/mqtt/emqttd $ find . -name goldrush
./deps/goldrush

then what to do to remove goldrush error?


⚠ Jenkins Plugins Artifactory has degraded performance

In 5871ede, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1225 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 5e5032b after 12 minutes.


Consider changing the Javadoc policy to allow omitting unnecessary param and return tags.

This is related to the discussion in https://github.com/census-instrumentation/opencensus-java/pull/485#discussion_r130210392.   Javadocs written with the current style (https://github.com/census-instrumentation/opencensus-java/blob/master/CONTRIBUTING.md#javadoc) can sometimes clutter the documentation and hide the most relevant points.

Thanks for raising this. You captured my concern succinctly!


Youtube rate API does not increase like/dislike counter

I'm trying to like a video on user's behalf but got stuck in increment of like counter.
Like/Dislike counter is not updating. When a video is rated by api request, I get 200 response which means success according to docs. Also, video is available in user's Liked playlist and the like icon is blue on video but the like/dislike counter does not increase. I've waited for 2 days but the counter is still same. You can see the counter in picture attached.

Unfortunately, there was no answer at that time. I don't know if there is any now.
And yes, I think you are right, this is a design decision by API team to stop spamming.

I'm going to close this issue. Give us a holler if you need anything else.

Is it still pending. Or any solution found so far?


convert_parameters.py

Missing the convert_parameters.py. Using the files in tools/?

It is in './tools' folder.


GPIO 20 is not supported but actually used by some chips

Environment

Development Kit: Adafruit ESP32 Feather V2
Module or chip used: ESP32-PICO-V3-02 (revision 3)
IDF version: don't know
Build System: west 0.14.0, Zephyr SDK 0.15.2
Compiler version: xtensa-espressif_esp32_zephyr-elf-gcc (Zephyr SDK 0.15.2) 12.1.0
Operating System: Linux
Using an IDE?: Yes, VS Code
Power Supply: USB

Problem Description
The Adafruit board uses GPIO 20 for SCL (I2C), but this pin does not exist in the pinctl and thus cannot be configured in the device tree.
Expected Behavior
GPIO 20 can be configured as SCL for I2C0 and the bus is then functional. This does work using the Arduino libraries & sample code provided by Espressif / Adafruit and also using the fix/workaround shown below.
Actual Behavior
Compiler error, I2C0_SCL_GPIO20 is undefined.
Steps to reproduce / Code to reproduce this issue
Compile any zephyr demo (e.g. hello_world or the wifi test), but add the following device tree overlay:
&i2c0_default {
    group1 {
        pinmux = <I2C0_SDA_GPIO22>, <I2C0_SCL_GPIO20>;
        bias-pull-up;
        drive-open-drain;
        output-high;
    };
};

&i2c0 {
    sda-gpios = <&gpio0 22 GPIO_OPEN_DRAIN>;
    scl-gpios = <&gpio0 20 GPIO_OPEN_DRAIN>;
};

Possible Fix / Workaround
Applying the following fix to zephyr/esp_shared/pincfgs/esp32.yml fixes the issue:
-    gpio: [[0, 19], [21, 23], [25, 27], [32, 33]]
+    gpio: [[0, 23], [25, 27], [32, 33]]

@Flauer741, thanks for point this.


Issue #15 Get the status for all orders in a stock

https://github.com/rust-los-angeles/stockfighter-sdk-rs/issues/15

@hjr3 Can you merge?

:+1:


removing phx-change events from input types

I've been auditing how well we align with LiveView itself. In LiveView the input types don't support phx-change events outside of use within a form element. I'm going to double check with Chris but I suspect the motivation is to allow applications to still be functional when dead rendering. Despite this not being a limitation for LiveView Native, in the interest of aligning as closely with LiveView's own behavior I think we should enforce this in our clients.
So the ask here is:

within a <LiveForm> we should be aligning with the phx-change behavior described here: https://hexdocs.pm/phoenix_live_view/form-bindings.html
remove all phx-change event handling form all SwiftUI inputs

Considering the intent of the LiveView phx-change event is for form contexts only I am debating if the following events: phx-change, phx-submit, phx-feedback-for, phx-feedback-group, phx-disable-with, phx-trigger-action, phx-auto-recover (whichever ones in the list we have decided to support) should actually be defined within LiveForm and not this lib.

I'm going to mark this as a blocker for v0.3.0. I want to make sure we get this behavior correct before release so we don't permit behavior that we have to walk back later.

Added to the sprint

Let's wait on this until I've had an opportunity to discuss with Chris

I got an answer from @chrismccord on this. There won't be support for phx-change events on inputs outside of a form context. We should match this behavior. That means we remove the direct phx-change events on the input and only support them from within <LiveForm>.
We should match the same behavior as the bindings in LV itself. Which means we can have a phx-change event on the <LiveForm> which will serialize all child inputs or we could have a phx-change event on an input that is within  <LiveForm> that will serialize just that single input.
Inputs should also change their key to match what the name attribute value is.
@carson-katri we can discuss this more in-depth.

A few concerns with removing phx-change outside of forms:

Some modifiers have phx-change behavior. Currently, this is done by using an attribute and phx-change on the owning element. Most of these modifiers do not make sense to require a form. For example, modifiers that control modal presentations send a change event when the user dismisses them. It doesn't make sense to require this to be a form.

# stylesheet
"sheet" do
  sheet(isPresented: attr("sheet-open"), content: :content)
end

<Group class="sheet" sheet-open={@open} phx-change="sheet-changed">
  ...
</Group>

def handle_event("sheet-changed", is_open, socket), do: {:noreply, assign(socket, :open, is_open)}

Some elements have change tracked values that aren't "form elements". For example, DisclosureGroup (a collapsible section View) can send its isExpanded state through a change event.

<DisclosureGroup isExpanded={@open} phx-change="expansion-changed">
  ...
</DisclosureGroup>

def handle_event("expansion-changed", is_open, socket), do: {:noreply, assign(socket, :open, is_open)}

let's retain those phx-change events for now and just pull back on the input related phx-change events


Uhid keyboard simulating problem

Please read the prerequisites to run scrcpy.
Also read the FAQ and check if your issue already exists.
Environment

OS: Windows 10 PRO 19045.5131
Scrcpy version: scrcpy-win64-v3.0
Installation method: Windows release
Device model: Samsung S22 ultra
Android version: 14

Describe the bug
After adding the --keyboard=uhid argument and starting scrcpy.exe, my PC keyboard only works well with the numbers, -/+, backspace and so on. I cannot type any single English character to my phone, I have changed the input method from Samsung to iFly, but the problem stayed the same.
The terminal didn't output exceptions.

Environment
OS: Windows 10
Scrcpy version: scrcpy-win64-v3.0.2
Installation method: Windows release
Device model: Samsung A15
Android version: 14
Describe the bug
After adding the --keyboard=uhid argument and starting scrcpy.exe, my PC keyboard only works well with the numbers, -/+, backspace and so on. I cannot type any single English character to my phone, I have changed the input method from Samsung to iFly, but the problem stayed the same.
The terminal didn't output exceptions.
If there is a solution, please let me know.

https://github.com/Genymobile/scrcpy/blob/master/doc/keyboard.md#physical-keyboard-simulation
Press Alt+k to select the physical keyboard layout.

https://github.com/Genymobile/scrcpy/blob/master/doc/keyboard.md#physical-keyboard-simulation
Press Alt+k to select the physical keyboard layout.

I did, it poped up a page, then I chose the default layout, but didn't work. only number and a few character work.

What is your keyboard layout on the computer and on the device? Do you use any IME on the computer?

What is your keyboard layout on the computer and on the device? Do you use any IME on the computer?

computer is the default Microsoft input method, my phone carries Samsung input method, what is "IME" means here?

Environment OS: Windows 10 Scrcpy version: scrcpy-win64-v3.0.2 Installation method: Windows release Device model: Samsung A15 Android version: 14 Describe the bug After adding the --keyboard=uhid argument and starting scrcpy.exe, my PC keyboard only works well with the numbers, -/+, backspace and so on. I cannot type any single English character to my phone, I have changed the input method from Samsung to iFly, but the problem stayed the same.
The terminal didn't output exceptions.
If there is a solution, please let me know.

after I installed a domestic input method on my phone, this problem was solved.

Environment OS: Windows 10 Scrcpy version: scrcpy-win64-v3.0.2 Installation method: Windows release Device model: Samsung A15 Android version: 14 Describe the bug After adding the --keyboard=uhid argument and starting scrcpy.exe, my PC keyboard only works well with the numbers, -/+, backspace and so on. I cannot type any single English character to my phone, I have changed the input method from Samsung to iFly, but the problem stayed the same.
The terminal didn't output exceptions.
If there is a solution, please let me know.

the input method is called iflytek, mostly used in China

Environment OS: Windows 10 Scrcpy version: scrcpy-win64-v3.0.2 Installation method: Windows release Device model: Samsung A15 Android version: 14 Describe the bug After adding the --keyboard=uhid argument and starting scrcpy.exe, my PC keyboard only works well with the numbers, -/+, backspace and so on. I cannot type any single English character to my phone, I have changed the input method from Samsung to iFly, but the problem stayed the same.
The terminal didn't output exceptions.
If there is a solution, please let me know.

after I installed a domestic input method on my phone, this problem was solved.

sometimes it worked, sometimes don't, haven't got a clue


Find field overlaps content in v4.2.1

When I invoke the find function (⌘F) it appears lower on the screen than usual, overlapping with the page content. This only happens in edit mode, not preview mode.
macOS 12.1
Obsidian v0.13.14
Minimal Theme v4.2.1
Minimal Theme Settings v4.2.0.
Here's a screencast of the problem:

BTW, I love the new focus mode. Nice!

I have noticed this too, it seems to be related to a change in a recent version of Obsidian. Shouldn't be too hard to fix.

Please try updating to the latest version. I believe this is fixed now!

I'm already using the latest version of everything.

I just pushed an update, it doesn't have a new version number but if you click Update in Obsidian it should be fixed!

Yep! It's fixed!


PDF preview in rendered markdown

Hi,
The PDF preview in rendered markdown is tiny on the Windows desktop app.
 No custom CSS loaded, just the theme.

When using the default app a pdf preview looks like this

Is there any way to change this behaviour? Maybe through userstyle.css?

The workaround for this is to edit userstyle.css while targeting the .media-player-media-pdf and changing the min-height element to something like 45rem.
Example below
.media-player.media-pdf {
    min-height: 49rem;
}

Thanks for providing a workaround!


sort excluded countries alphabetically

example

related trello card
https://trello.com/c/eGUYgsXc/1046-tariff16-issue-with-countries-load-order

 [TARIFF16] Issue with countries load order


MQTT support

I found this on Tindie and I am extremely interested.
Would it be possible to add MQTT support? That way it could be easily connected to Home Assistant.
It could work  or example something like this: when screen information refreshes, check if mqtt is configured, if yes then publish message to it.

Hello @P1-Ro & thank you for reaching out regarding this.
Generally MQTT support is implemented but not jet fully validated.
I would appreciate your support regarding this a lot.
Currently its enabled via a special firmware or via your own build by enabling it here: https://github.com/davidkreidler/OpenCO2_Sensor/blob/main/OpenCO2_Sensor.ino#L40C10-L40C10
Please then also comment out "#define airgradient" and use esp board version 2.0.13
How to install it:

Download "OpenCO2_Sensor.ino.bin" from https://drive.google.com/file/d/1W8UEv53j-Czv9JsQuHC9AA_DrWFvl-n6/view?usp=sharing
Enable WiFi via the Menu on the OpenCO2 Sensor. Then connect a client to the new WiFi Network "OpenCO2 Sensor".
Navigate in your Webbrowser to http://<IP_ADDRESS> (It also opens automatically on modern smartphones)
Under Update select the OpenCO2_Sensor.ino.bin file and click Update. The Sensor will restart.

Connect again to the "OpenCO2 Sensor" network and insert your home network credentials and MQTT settings under "Configure WiFi".

Super stoked about that. I'll let you know when I have time for it :)

Currently playing around with the MQTT enabled firmware, but already run into a problem:
The device was previously joined to a WiFi (so it does not open its own AP and show up under <IP_ADDRESS> any more), but I can ping it's home wifi IP.
How do I get the WiFiManager configuration web form now to enter the MQTT data? It does not seem to listen on port 80.


CFPB-branded Keycloak Theme

Keycloak allows for full rebranding of all pages and email through their FreeMarker-based theme system.

Account - Account management
Admin - Admin console
Email - Emails
Login - Login forms
Welcome - Welcome page

I think the priority should be:

Account and Login: All users will see the pages, obviously.
Email: - The default email theme is pretty bare-bones, with almost no styling.  This may be good enough for the initial version.
1.Welcome or Admin: I don't think the end user will ever see these pages, and I'm fine keeping the default Keycloak theme for the Admin pages.

Let's evaluate what it will take to create CFPB/FFIEC-branded pages that match (as closely as makes sense) the hmda-platform-ui pages.

The details around Keycloak themes are at:

https://keycloak.gitbooks.io/server-developer-guide/content/topics/themes.html

Keycloak itself uses PatternFly as its UI framework.  It was created by Red Hat, appears to be a Bootstrap wrapper, and likely used to keep styles consistent across their products.
It is unclear at this point if we want to play within this framework, or go completely from scratch using https://standards.usa.gov/.

I'm going to close this one out as we've decided to hold off on implementing the account theme for MVP.  See https://github.com/cfpb/hmda-platform-auth/issues/42#issuecomment-267153993.


How do I read the pubspec.yaml version number in my project and modify it

How do I read the pubspec.yaml version number in my project and modify it

Provided your current directly is within the project hierarchy.
  final pubspec = PubSpec.load();
  pubspec.version.set('1.2.1');
  pubspec.save();

On Tue, Feb 20, 2024 at 6:13 PM laterdayi @.***> wrote:

How do I read the pubspec.yaml version number in my project and modify it
—
Reply to this email directly, view it on GitHub
https://github.com/onepub-dev/pubspec_manager/issues/7, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG32OHNJRB74D4K67EGEDTYUREIZAVCNFSM6AAAAABDQTISHGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2DGNRYHAYTENA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

How to add a custom field, such as appName: *

Provided your current directly is within the project hierarchy. final pubspec = PubSpec.load(); pubspec.version.set('1.2.1'); pubspec.save();
…
On Tue, Feb 20, 2024 at 6:13 PM laterdayi @.> wrote: How do I read the pubspec.yaml version number in my project and modify it — Reply to this email directly, view it on GitHub <#7>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAG32OHNJRB74D4K67EGEDTYUREIZAVCNFSM6AAAAABDQTISHGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2DGNRYHAYTENA . You are receiving this because you are subscribed to this thread.Message ID: @.>

Thanks for your help. I can't find this API through pub.dev, but I know it has this function by checking the API

https://pub.dev/documentation/pubspec_manager/latest/pubspec_manager/PubSpec-class.html
As I lock down the APi I will provide some additional examples.
On Tue, Feb 20, 2024 at 6:22 PM laterdayi @.***> wrote:

Provided your current directly is within the project hierarchy. final
pubspec = PubSpec.load(); pubspec.version.set('1.2.1'); pubspec.save();
… <#m_-5355920190200480088_>
On Tue, Feb 20, 2024 at 6:13 PM laterdayi @.> wrote: How do I read the
pubspec.yaml version number in my project and modify it — Reply to this
email directly, view it on GitHub <#7
https://github.com/onepub-dev/pubspec_manager/issues/7>, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG32OHNJRB74D4K67EGEDTYUREIZAVCNFSM6AAAAABDQTISHGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2DGNRYHAYTENA
https://github.com/notifications/unsubscribe-auth/AAG32OHNJRB74D4K67EGEDTYUREIZAVCNFSM6AAAAABDQTISHGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2DGNRYHAYTENA
. You are receiving this because you are subscribed to this thread.Message
ID: @.>
Thanks for your help. I can't find this API through pub.dev, but I know
it has this function by checking the API
—
Reply to this email directly, view it on GitHub
https://github.com/onepub-dev/pubspec_manager/issues/7#issuecomment-1953616219,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG32OEDANWRGAEUL5IM3XTYURFKTAVCNFSM6AAAAABDQTISHGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJTGYYTMMRRHE
.
You are receiving this because you commented.Message ID:
@.***>

https://pub.dev/documentation/pubspec_manager/latest/pubspec_manager/PubSpec-class.html As I lock down the APi I will provide some additional examples.
…
On Tue, Feb 20, 2024 at 6:22 PM laterdayi @.> wrote: Provided your current directly is within the project hierarchy. final pubspec = PubSpec.load(); pubspec.version.set('1.2.1'); pubspec.save(); … <#m_-5355920190200480088_> On Tue, Feb 20, 2024 at 6:13 PM laterdayi @.> wrote: How do I read the pubspec.yaml version number in my project and modify it — Reply to this email directly, view it on GitHub <#7 <#7>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAG32OHNJRB74D4K67EGEDTYUREIZAVCNFSM6AAAAABDQTISHGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2DGNRYHAYTENA https://github.com/notifications/unsubscribe-auth/AAG32OHNJRB74D4K67EGEDTYUREIZAVCNFSM6AAAAABDQTISHGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2DGNRYHAYTENA . You are receiving this because you are subscribed to this thread.Message ID: @.> Thanks for your help. I can't find this API through pub.dev, but I know it has this function by checking the API — Reply to this email directly, view it on GitHub <#7 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAG32OEDANWRGAEUL5IM3XTYURFKTAVCNFSM6AAAAABDQTISHGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJTGYYTMMRRHE . You are receiving this because you commented.Message ID: @.**>

This is an excellent plugin, I wonder when the api will be locked & released officially, there are many projects that need to use it

Expect support for customizable fields to be added or modified

There are still a few issues to resolve and I'm still playing about with
the api.
I've rolled it into a few internal projects to get some experience using
the api.
If you have any feedback on the api I would appreciate it.
No firm eta as yet but probably in the next 30 days as I have some internal
issues for which I need to get this locked down.
Brett
On Tue, Feb 20, 2024 at 6:34 PM laterdayi @.***> wrote:

Expect support for customizable fields to be added or modified
—
Reply to this email directly, view it on GitHub
https://github.com/onepub-dev/pubspec_manager/issues/7#issuecomment-1953629854,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG32OGYI5X2TK64PL25O4TYURGX7AVCNFSM6AAAAABDQTISHGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJTGYZDSOBVGQ
.
You are receiving this because you commented.Message ID:
@.***>

Ok, I'll bring it up if I run into problems, I've used it on internal projects


Dart: install executables into $HOME, not the working directory

This help keep the working directory clean, which is great for tools that are looking for Dart sources, etc.
CC @a14n @devoncarew @sethladd

@BanzaiMan do I bother you about this?

Looks good to me.

Thanks!

Thanks! Deployed.

Validated the output. Thanks, @BanzaiMan


Remove the api_key parameter

api_key must not be required in localhost
require 'qdrant'

client = Qdrant::Client.new(
  url: "your-qdrant-url"
)```

@Jhonnyr97 I think we can just add a comment to the README with:
client = Qdrant::Client.new(
  url: "your-qdrant-url",
  api_key: "your-qdrant-api-key" # Optional for localhost
)

Thoughts?

The api_key: is actually not required: https://github.com/patterns-ai-core/qdrant-ruby/blob/main/lib/qdrant/client.rb#L16


docs: update the magic docs to highlight signer creation is async

PR-Codex overview
Detailed summary
This PR focuses on updating the magicSigner import and usage in the code. The notable changes include:

Renamed the import from magicSigner to createMagicSigner
Updated the owner assignment to use await createMagicSigner() instead of magicSigner
Added an async function createMagicSigner that authenticates the user and creates a WalletClientSigner object using the magic SDK and magicClient

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

needs to be async because the method to auth with magic is async. if you don't auth first then you get errors when connecting the account and using it. to make it simpler, I think we should just recommend that people auth first before connecting


How to install and use master version?

I need the getImageSourceSync but it is not yet available in latest release.
I tried to yarn add https://github.com/oblador/react-native-vector-icons.git but I then have metro bundling errors:
the package `<path-to-my-project>/node_modules/react-native-vector-icons/package.json` was successfully found. However, this package itself specifies a `main` module field that could not be resolved (`<path-to-my-project>/node_modules/react-native-vector-icons/dist/index.js`

OK, I've finally cloned it and ran npm run build. That's probably the way to go but it ended bad with:
fs.js:646
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open 'glyphmaps/AntDesign.json'
    at Object.fs.openSync (fs.js:646:18)
    at Object.fs.readFileSync (fs.js:551:33)
    at Object.<anonymous> (/Users/thomasfetiveau/wksp_lib/react/react-native-vector-icons/bin/generate-flow.js:18:8)

Still, it generated a dist/index.js file so I'll try to use it anyway...


Create Add the site - jollyvids.com

The Website's name is MasalaDesi. It's current URL is - https://jollyvids.com. Earlier this site's URL was - https://masaladesi.club. Now they changed the Website's URL to https://jollyvids.com because of they informed that their website's old domain was blocked by several Internet Service Providers (ISPs). Please include this website in your service's directory and in your chrome extention as well.

Hi @Manup5u , thanks for submitting a new entry. If you want to ask us to add a website, please file an issue. If you want us to review your addition, then you need to edit the sites.json instead. Read our contributing guidelines for help and let us know


fix(dynamic): fix possible dependency conflict

Description
Fix possible dependency conflict with the resolutions added by the export-dynamic-plugins command.
Which issue(s) does this PR fix

#790

picked to 1.0.x


⚠ Samsung has degraded performance

In 26cd0e8, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2452 ms

Resolved: Samsung performance has improved in 1b4ef5d.


Update for latest DLC patch

It doesn't work right now

Same here. For me this mod currently does not automatically keep sprinting active at all. It used to work for me before the dlc though.

It seems that installing HookGenPatcher by RiskofThunder seems to enable RTAutoSprintEx to work. I tried it since the author pushed a commit with the unreleased update 2.1.1 to fix this it is just a matter of updating the mod release from the current 2.1.0 to include this dependency for people who don't have the HookGenPatcher already insalled.

It works mostly for me now, but it doesn't let me change the sprint fov anymore, it just uses the default no matter what it's set to

Yup, a known issue. The DLC completely changed how the camera system works and I wasn't able to find where the sprint FOV change is being done anymore.

https://github.com/dma14/RoR2_AddFoVSettings this person seems to have found a way to do it.

Needs another fix for the new SoTS DLC update, it seems.


Link on author names

Hi, I’m still working on my academic webpage...
In the list of publications, I would like to add a link on the authors’ names (so visitors can reach the webpages of my co-authors). Looking into the code I see a links_allowed variable that seems to be designed for this, but I can’t find how to use it in the docs.
Thanks :)

Ok I see it’s no so simple then. I’ll figure it out don’t worry. Closing the issue. Thank you!


Created Windows Installer + Nightly Builds

Created two scripts, a powershell script and nsis script, that work to compile the StableSwarmUI visual studio project into an exe and package it into an installer using NSIS. Also created a GitHub workflow to create a new nightly release every night, but the release portions of the workflow can be adjusted if you only wish to have a new build every week or so. (Can be deleted if unnecessary)
The installer comes with an uninstaller, registers it with Control Panel, and shares the same icon and Licensing as the original project.
Please let me know if I need to make any changes before it can be merged.

I would drop the binary files in the commit.

I've updated it so it does not have the application or the installer. Running the Powershell script should generate both.

How would updating work with this setup? ie how does an end user who installed with this update to a newer version of Swarm?

oh btw, I recommend testing carefully - run an install and go through things like generating some images, using custom comfy workflows, etc.
A particular point I'm worried about is, if you open up the C# in Visual Studio and track down usages of Extension.FilePath -- that by default is set by looking for the Extension source code folder and working with it.
All of swarm is built under the assumption you're doing a source install (how you do with eg python programs) and not like an independent .exe program install, and so likely many things that end up needing alternate handling for this case.

Yeah, I'll make sure to comb through the C# code and run models before pushing code. I'll let you know once I incorporate all of these changes so it can be reviewed.


Fix/codeql action

Fixing the CodeQL action to ignore non-required (testing) files using codeql-config.yml. Checkout HEAD^2 has also been removed as it is no longer required and generates warnings. Errors are generated in the security tab if significant quantities of files are not scanned by CodeQL, so this should produce good findings.

Thanks for this, @vaughnw128


Swift 2.0

This is a great example. Any way you would be willing to update it to work with Swift 2.0? I am running into a number of errors.

I just did this and put a Pull Request for it, should get you where you want to go: https://github.com/bowst/barcode_scanner_demo/pull/3


Question about switches

I've been trying to get all the different switches to work in my MangaRack.txt file...
How do I utilise the --source command for a file called MangaList.txt?
I've tried -s E:\Manga\MangaList.txt -s MangaList.txt
Do I need to put the output in front of EACH URL for EACH Manga series?
ie.
--output E:\Manga URL
--output E:\Manga URL
--output E:\Manga URL
. . . etc

or can I state the address for all URL's in a text file so i don't have to repeat the directory each time?
ie.
--output E:\Manga
URL
URL
. . . etc

is there anywhere I can go to learn this stuff by myself? Any help in this is greatly appreciated, I've got a big library and I'm considering splitting it up across multiple directories.

Hi, I learned by trying too. You can add the switch at the start of each url, but this is useful only for certian switches (i.e. start by chapter/volume).
It's easier to add the switches to the bat file which starts the operation. This can be done in "cascade".
In my case I have a bat file which check for updates and then starts other batches for each alphabet letter.
Like this:
call npm update -g mangarack
call H:#ARCHIVIO\BIBLIOTECA\MANGA#MANGA-\Download#.bat
call H:#ARCHIVIO\BIBLIOTECA\MANGA#MANGA-\Download~KissManga.bat
call H:#ARCHIVIO\BIBLIOTECA\MANGA#MANGA-\Download~MangaFox.bat
call H:#ARCHIVIO\BIBLIOTECA\MANGA#MANGA-\Download~Manhwa.bat
call H:#ARCHIVIO\BIBLIOTECA\MANGA#MANGA-\DownloadA.bat
call H:#ARCHIVIO\BIBLIOTECA\MANGA#MANGA-\DownloadB.bat
These batches are like this:
call %AppData%\npm\mangarack --generalize --source H:#ARCHIVIO\BIBLIOTECA\MANGA#MANGA-\Liste\A.txt --output H:#ARCHIVIO\BIBLIOTECA\MANGA#MANGA\A
each list (by letter) is like:
//ONGOING
url1
-chapter xx url2
url3
//COMPLETE
#url4
This way I have different folders for each letter, I'm able to update only a certian list and to keep things separate and clean.
I'm sure there would be better ways to do it, but these are my two cents. Hope it can help :)

I believe that you are using the Windows .bat helper file. Open it and you will see the following line:
call %AppData%\npm\mangarack

This means that MangaRack runs without arguments, and thus uses a source file for batch-mode. Each line in the source file is handled as if it was a command line argument, which is why you can use switches on each line (e.g. -v 2 http://...). But, the line from the file is actually executed as a joined line of the real command line arguments and the ones from the file. Imagine you have this in your .bat file:
call %AppData%\npm\mangarack --output F:\Manga

And this in your batch file:
-c 100 http://mangafox.me/manga/fairy_tail/
-c 150 http://mangafox.me/manga/skip_beat/

Then this is executed as:
--output F:\Manga -c 100 http://mangafox.me/manga/fairy_tail/
--output F:\Manga -c 150 http://mangafox.me/manga/skip_beat/

You can see that the arguments from the .bat file are prepended to each line from the source file. So if you want to affect everything in your source file, that's the way to go. Then, as @XellossMetallium mentioned, you can also chain multiple mangarack invocations for different settings with different batch files.
Very powerful stuff right there. Does this help you? :-)

Closing this for now. Feel free to open if there are further questions.


Post Snappy messages to Jembi

@gsvr ready for review

@imsickofmaps I pushed some fixes, have a look if you're happy with them.

:+1:


compile without theme

can you compile lime rat without theme for me?

No sorry. And there no need to remove the theme.


update

What is changed, added or deleted? (Required)

Which TiDB version(s) do your changes apply to? (Required)

[ ] master (the latest development version)
[ ] v4.0 (TiDB 4.0 versions)
[ ] v3.1 (TiDB 3.1 versions)
[ ] v3.0 (TiDB 3.0 versions)
[ ] v2.1 (TiDB 2.1 versions)

What is the related PR or file link(s)?

This PR is translated from:
Other reference link(s):

Do your changes match any of the following descriptions?

[ ] Delete files
[ ] Change aliases
[ ] Have version specific changes
[ ] Might cause conflicts

update


Use buble to transform index.js before publish

I found even in node 5.0.0, transforming into ES2015 was also needed. So I modified package.json.

Thanks for the PR, is it possible to do this on certain versions of node? i.e. only compile when node < 6. Otherwise compiling when not needed can cause performance and/or side effects.

The "main" field in package.json can't specify a folder as the module entry, which means I can't use require('webpack-cdn-plugin/es2015') when node < 6.
I also searched for the regular way to publish a module written in es6. But it cannot solve our problem.
Maybe we can use npm dist-tag to publish a new tag with es2105?

Maybe we can use dist.js when node > 6?
require(semver.gt('6.0.0', process.version) ? './dist' : './src')


Update Site settings “info”

Automatically generated by Netlify CMS

👷 Deploy Preview for frolicking-cocada-6174a7 processing.

Name
Link

🔨 Latest commit
bfd915a9bfb48cd8f0e58dea89e148de8650eab3

🔍 Latest deploy log
https://app.netlify.com/sites/frolicking-cocada-6174a7/deploys/648aa667feffc80008c0ba2b


B2C_1A_signup_signin keeps complaining that the idp app needs admin consent

hi genius,
I followed the document to set up a multi-tenants login, everything seemed fine except i got this when testing the signupsignin policy:

the application xxx-b2c-identity-provider-multitenants is registered in our organization AD,  and I AM a global administrator, and I have already granted the admin consent:

please help

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

ID: 171f21f0-1c8c-42f9-dbb8-2da1ebc70892
Version Independent ID: fe1d0a08-231e-5094-2406-1b548cb1174e
Content: Set up sign-in for multi-tenant Azure AD by custom policies - Azure AD B2C
Content Source: articles/active-directory-b2c/identity-provider-azure-ad-multi-tenant-custom.md
Service: active-directory
Sub-service: b2c
GitHub Login: @msmimart
Microsoft Alias: mimart

@rick-hayek  Closing this as duplicate for https://github.com/MicrosoftDocs/azure-docs/issues/58876

sorry yesterday github seemed to be down for a while, i thought the first thread was not created successfully. ok to close


Incorrect encoding of (unicode) headers in Python 3

The policy setting affects the way the headers are encoded, and as a result some emails are not displayed correctly in (at least) Gmail.
Consider this example:
msg = MIMEMultipart('alternative')
msg['Subject'] = Header("Добавить в рассыку dev@ Имя Фамилия", 'utf8').encode()
msg['From'] = Header('Имя Фамилия (Whatever)', 'utf8').encode() + '<EMAIL_ADDRESS>msg['To'] =<EMAIL_ADDRESS>
msg.attach(MIMEText('text', 'plain'))
msg.attach(MIMEText('html', 'html'))
from email import policy
msg.policy = policy.SMTP
msg.as_bytes()

The resulting 'Subject' header is encoded as such:
'Subject: =?utf-8?b?0JTQvtCx0LDQstC40YLRjA==?= =?utf-8?q?=D0=B2?=\r\n =?utf-8?b?0YDQsNGB0YHRi9C60YM=?= dev@ =?utf-8?b?0JjQvNGP?=\r\n =?utf-8?b?0KTQsNC80LjQu9C40Y8=?=\r\n'
You can see that the subject was split on every space and each chunk was encoded separately. As a result, Gmail displays the subjects without spaces whatsoever.
With no policy set:
'Subject: \n =?utf8?b?0JTQvtCx0LDQstC40YLRjCDQsiDRgNCw0YHRgdGL0LrRgyBkZXZAINCY0LzRjyA=?=\n =?utf8?b?0KTQsNC80LjQu9C40Y8=?=\n'
In this case, Gmail displays the subject as expected.
I don't know whether this is a bug or not, but I reckon there should be a way to customize the email policy  in flask-mail.
For now I'm monkey-patching the flask_mail module:
import flask_mail; flask_mail.message_policy = None

The issue might be related to https://github.com/mattupstate/flask-mail/issues/88

I met same problem. Isn't it bug?

This is very annoying and should be recognized as a bug, or at least documented in some way.

I have the same problem. And I solved the problem using  @roganov 's method. Thank you

We use Python's email.header. If they're producing incorrect values, that will need to be reported to them.