Markdown to this?

Would be great to have a preprocessor that took markdown (perhaps with custom annotations) as input and output this beautiful and useful format

Pandoc offers templates to build on, so creating a Tufte pandoc template should be straightforward.

@langford turns out there is already a Tufte template for Pandoc, see my comment here for details on converting Markdown/Multi-Markdown into Tufte styling: https://github.com/daveliepmann/tufte-css/issues/30#issuecomment-128718117

@xHN35RQ after looking into it a bit, pandoc templates seem like the wrong avenue for this functionality: a template is given a $body$ string and pretty much expects to just put text before and after it, and doesn't seem intended to actually manipulate the generated-from-markdown text. You would use pandoc custom writers which you can write (hallelujah) in Lua. I've written a barebones custom writer that just implements sidenotes and adds the article tag: see gist. I hope to expand this as I continue writing tufte-css to include all provided features—ideally without having to modify anything about pandoc markdown or its readers.
(For completeness I might mention pandoc filters is something that might eventually be needed to fully produce tufte-css-enabled HTML from pandoc markdown, but probably only for very tricky things. Filters manipulate the AST, before an AST is given to a custom writer. The right place to do tufte-css-style sidenotes was in the custom writer, not as a filter.)

@fasiha good work. You've made a promising start here. :+1:

I don't think there's a readily-available equivalent to tufte-css sections in Markdown, i.e., a grouping of paragraphs and headings. But I think I like the idea of sections, I think having an extra level of document organization will be helpful down the road.
Any suggestions from the community how one could indicate sections in Markdown?

@fasiha What about a filter that takes heading elements and all the paragraph elements up to the next heading element? Then wrap these in
 (or some custom
) tags and apply the desired css to this?

Thank you for weighing in @vyp. From my reading of the tufte-css front-page, section can capture more than one heading, or paragraphs with no heading. That is, it's not just a heading-and-contents container. In my document, I'm just embedding
 as raw HTML in the Markdown for now—for this, I think I can accept raw HTML.

@fasiha Ah sorry you are correct. Because a section is defined as a "logical grouping of text and headings", it's impossible to determine what exactly a section is in a document without human input (i.e. us actually marking up the sections as semantic information, just like how we mark up with emphasis with asterisks or underscores). And yes, I'm not aware of any pre-existing syntax for these "sections" in any markdown flavour, so good catch.
Using raw
 tags is the best possible thing to do in this case (other than defining your own markdown-like syntax for it and writing a parser for it).

Another way to go would be to use the fact that tufte says it uses h2 for "section headings", so perhaps a "section" can be defined as a h2 tag and everything up to the next h2 tag and so on. But I'm not sure if this is what the author of tufte intended.

H2 elements are not reliable sources of section demarcation. For instance, some documents use "newthought" spans instead. I am sure other variations will emerge in the wild.

On 8 Ağu 2015, at 23:49, vyp<EMAIL_ADDRESS>wrote:
@fasiha Ah sorry you are correct. Because a section is defined as a "logical grouping of text and headings", it's impossible to determine what exactly a section is in a document without human input (i.e. us actually marking up the sections as semantic information, just like how we mark up with emphasis with asterisks or underscores). And yes, I'm not aware of any pre-existing syntax for these "sections" in any markdown flavour, so good catch.
Using raw  tags is the best possible thing to do in this case (other than defining your own markdown-like syntax for it and writing a parser for it).
Another way to go would be to use the fact that tufte says it uses h2 for "section headings", so perhaps a "section" can be defined as a h2 tag and everything up to the next h2 tag and so on. But I'm not sure if this is what the author of tufte intended.
—
Reply to this email directly or view it on GitHub.

I guess if anyone wants to avoid using
 tags in their markdown, some syntax similar to
's may not be difficult to implement. The syntax for
's is basically "three or more hyphens, asterisks, or underscores on a line by themselves". So for example you could arbitrarily define a "section" demarcation as "three or more equals signs" (or whatever you prefer), and then use a pandoc filter to wrap everything between each couple of these paragraphs with only equals signs.
I only chose "a line of equals signs" because I guess this is what dividing sections with plain text would look like? And because pandoc markdown will parse this as only a paragraph, meaning your filter can just check every paragraph if it only has equals signs or not, and if it's only made up of equals sign, assume that this is part a section demarcation.

Hi all (and thanks to @daveliepmann for pointing me to this thread). You might be interested in my glasseye package in which I've used the Tufte.css (so thanks to everyone for that) and in which I've aimed to integrate markdown, d3 and the Tufte layout. At the moment it's very much a prototype with lots of corner cutting. When I have a moment I'd like to clean up the code and rationalise the design a bit (at that point I'll be trawling through your comments on the css). But I wanted to see if it was worth doing first and I think it is. Anyway would love any feedback.

Would reStructuredText be more amenable than Markdown to the sort of annotations that are needed here?

@coppeliaMLA Thanks for mentioning glasseye, it's incredible work.
@rbcarson I'm not OP, but if the question's directed at everyone here and you want my opinion, I'm personally not that familiar with restructuredtext so I cannot really say. But you may be right, the basic markdown syntax created by Gruber, Swartz and co I think was inspired from how people wrote (plain text) emails 'back then'. So it only started off as complex (or as 'able') as the average email message could get, not a research paper or some other form of writing that uses a lot of sidenotes or otherwise follows or makes sense with Tufte's style.
So over the years, there's only so much other type of syntax you can cram into "markdown" because the whole point of it is that it's supposed to be readable in plain text form. How do you convey sidenotes visually in plain text? Nevertheless, I feel pandoc's extended markdown has done a really good job in this regard.
So I think restructuredtext has something called directives or something, which allows you build syntax (or something?) for a particular type of data? If that's somewhat the case, yes, I would think restructuredtext is probably more amenable here. But as I said, I don't have much experience with it, so I cannot help you any further.

restructuredText would be useless for my purposes, which are projects already documented in markdown
--
Michael Langford
Sent from my phone, please forgive typos
404-647-4643

On Aug 17, 2015, at 4:24 AM, vyp<EMAIL_ADDRESS>wrote:
@coppeliaMLA Thanks for mentioning glasseye, it's incredible work.
@rbcarson I'm not OP, but if the question's directed at everyone here and you want my opinion, I'm personally not that familiar with restructuredtext so I cannot really say. But you may be right, the basic markdown syntax created by Gruber, Swartz and co I think was inspired from how people wrote (plain text) emails 'back then'. So it only started off as complex (or as 'able') as the average email message could get, not a research paper or some other form of writing that uses a lot of sidenotes or otherwise follows or makes sense with Tufte's style.
So over the years, there's only so much other type of syntax you can cram into "markdown" because the whole point of it is that it's supposed to be readable in plain text form. How do you convey sidenotes visually in plain text? Nevertheless, I feel pandoc's extended markdown has done a really good job in this regard.
So I think restructuredtext has something called directives or something, which allows you build syntax (or something?) for a particular type of data? If that's somewhat the case, yes, I would think restructuredtext is probably more amenable here. But as I said, I don't have much experience with it, so I cannot help you any further.
—
Reply to this email directly or view it on GitHub.

@coppeliaMLA very interesting!: use pandoc to output HTML with special tags, and then as a second stage, use another program to expand the special tags to Javascript and HTML. My approach has been to make a Pandoc custom writer that consumes the special tags, effectively doing glasseye.py in Lua, but it looks like glasseye is basically working just fine. I'll try to glasseye-ify my documents and let you know on its repo about any issues. Things that are hard to do in a Pandoc writer might be easier to do post-processing, and vice versa, but the only way to find out is to write a bunch of documents :)

@fasiha thanks. Your way does sound more efficient and I think possibly I might head that direction in the end. I went for python as it allowed me to create a quick prototype. But as you say experimenting on lots of docs will hone the best method. I'm planning on using it for as much of my day to day work as possible to see where it gets me. Would be great if you could give it a try. Love to hear how it goes!

See #58

For what it's worth: I just put together tufte-pandoc-css to solve the problem of writing side notes in Markdown. It's just a showcase of how to use a custom Pandoc filter I wrote called pandoc-sidenote.
To see it in action:

A re-implementation tufte-css/index.html in Pandoc-flavored Markdown
A demo of some other Pandoc features, like syntax highlighted code blocks.

@jez Cool! I'll see if I can find a project to give this a whirl with.

Just found this thread through Google
You guys may want to take a look at xmark: that converts markdown to Tufte-CSS vía XSLT.

@vieiro wow this is nice. Great work 👍🏻


I can see how DMN table was evaluated

Is your feature request related to a problem? Please describe.
I deployed a process with a business rule task with DMN implementation. I also deployed the required DMN. After executing the preceding tasks, DMN task get automatically evaluated, and I can see its output in variables, but have no insight into how it got to that result.
Describe the solution you'd like
Possibly "Show state transitions"-button for executed business rule task could, when activated, show a link which would pop up a dmn-js based visualization for the executed table highlighting the chosen row.

🤩


Way to disable logout functionality

Hi, is there a way to disable the logout functionality on a facebook button. In other words, after a user is connected via facebook, currently the button switches to "logout". I want to leave it as is so the user can use that button again to adjust their scopes/permissions.

In such case, what will indicate the user is logged in? you can use the underlying component for such custom behavior or, you can hide the button and show something else that will pop the Facebook popup again. I'm unsure of what happens if you call login once you are already logged in.

Closing since there's no activity. Reopen if still relevant.


Adds http readme and updates other file names to reflect this addition

Resolves #5

@lucymonie should I merge this PR?

Sure, if you think it's okay as it is


Stop automatically locking issues

Please consider changing github-actions bot policy so old issues stop always getting automatically locked. This a duplicate of this issue which got closed due to lack of examples and is ironically now locked. Everything ChuckJonas said is spot on and has been a big pain point for me as well.

Locking is used sparingly to stop heated discussions

This hasn't been my experience.
Some examples:

https://github.com/microsoft/vscode/issues/149262
https://github.com/microsoft/vscode/issues/99361
https://github.com/microsoft/vscode/issues/162446
https://github.com/microsoft/vscode/issues/162267
https://github.com/microsoft/vscode/issues/162416
https://github.com/microsoft/vscode/issues/162388
https://github.com/microsoft/vscode/issues/16221

It has seemed to me that the team respects new requests that get created specifically to reopen a previously locked issue of to restart discussion on it. Such a request shouldn't get closed offhand as a duplicate

Here are some examples of issues where both the duplicate and original are closed and locked for voting and discussion

https://github.com/microsoft/vscode/issues/149262
https://github.com/microsoft/vscode/issues/162266
https://github.com/microsoft/vscode/issues/132567
https://github.com/microsoft/vscode/issues/135586
https://github.com/microsoft/vscode/issues/157848

No plans to change this process right now.


feat(error): keep raw message if keepErrorRawMessage flag is set

Codecov Report

Merging #525 into master will increase coverage by 0.03%.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master     #525      +/-   ##
==========================================
+ Coverage   66.92%   66.95%   +0.03%
==========================================
  Files          36       36
  Lines        2975     2981       +6
==========================================
+ Hits         1991     1996       +5
- Misses        984      985       +1

Impacted Files
Coverage Δ

src/request.js
90.8% <100%> (+0.44%)
:arrow_up:

src/init.js
80.7% <50%> (-1.12%)
:arrow_down:

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 9f2ec36...57729d1. Read the comment docs.


Refactor connection tags

Summary

Currently connection tags (file Taggable.hpp) are written in very OOP style with a lot of classes to follow OOP practices. It could be simplified. Also probably taggable could be a wrapper above log class doing logging with tag. Such design would guaranty that we didn't forget to put a tag somewhere.

Current tags implementation may have an undefined behaviour if parent tag lives less than a child one. I'm adding bug label here.


How to use Tesseract in a multi-threaded environment?

Current Behavior
`#include
#include
#include
#include
#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>
#pragma comment(lib, "tesseract54.lib")
std::mutex io_mutex;
void performOCR(const std::string& imagePath, int threadId) {
tesseract::TessBaseAPI* api = new tesseract::TessBaseAPI();
if (api->Init(NULL, "chi_sim")) {
std::lock_guardstd::mutex lock(io_mutex);
std::cerr << "Could not initialize tesseract for thread " << threadId << std::endl;
delete api;
return;
}
Pix* image = pixRead(imagePath.c_str());
if (!image) {
    std::lock_guard<std::mutex> lock(io_mutex);
    std::cerr << "Could not open input image for thread " << threadId << std::endl;
    delete api;
    return;
}

api->SetImage(image);
char* outText = api->GetUTF8Text();

{
    std::lock_guard<std::mutex> lock(io_mutex);
    std::cout << "Thread " << threadId << " OCR output: " << std::endl << outText << std::endl;
}

delete[] outText;
pixDestroy(&image);
api->End();
delete api;

}
int main() {
const int numThreads = 5;
const std::string imagePath = "H:\1.png";
std::vector<std::thread> threads;
for (int i = 0; i < numThreads; ++i) {
    threads.emplace_back(performOCR, imagePath, i);
}

for (auto& th : threads) {
    th.join();
}

return 0;

}
`
this is sample code.
I am integrating Tesseract OCR into a multithreaded application to perform real-time text recognition from dynamically changing screens. However, I'm encountering several issues related to multithreading:
Exception Handling: Intermittently, the application crashes with access violations or segmentation faults when attempting to interact with Tesseract API functions from multiple threads simultaneously.
Thread Synchronization: Despite using mutexes to synchronize access to Tesseract API calls, I observe occasional data corruption or deadlock situations, particularly when multiple threads concurrently attempt to initialize or interact with Tesseract instances.
Resource Management: There are concerns regarding memory management and resource leaks when multiple OCR tasks are spawned and terminated rapidly in response to screen changes. This includes potential issues with cleanup of Tesseract resources after OCR tasks complete.
Performance Impact: The performance of Tesseract OCR appears to degrade under heavy multithreaded load, leading to increased latency in text recognition or failure to accurately capture screen content changes.
Debugging Output: Debugging the application reveals sporadic errors related to memory access violations or invalid API state transitions, especially when multiple OCR tasks are active concurrently.
I have attempted to implement thread-safe practices such as mutexes and careful resource allocation, but these issues persist. I am seeking guidance on best practices for integrating Tesseract OCR effectively in a multithreaded environment, ensuring stable performance and reliable text recognition across dynamic screen updates.
Expected Behavior
In the multithreaded application integrating Tesseract OCR, the following expected behaviors are anticipated:
Thread Safety: Tesseract OCR operations should be robustly thread-safe, allowing multiple threads to concurrently capture screen content, process bitmap data, and perform text recognition without encountering crashes or resource conflicts.
Real-Time Text Recognition: The application should accurately extract text from dynamically changing screen content in real-time, leveraging Tesseract's capabilities to handle varied fonts, sizes, and languages commonly encountered in screen-based applications.
Performance Optimization: Efficient utilization of system resources to ensure minimal latency in OCR processing, even under heavy concurrent workload scenarios. This includes optimizing memory usage and processing efficiency to maintain responsive performance.
Error Handling: Effective error detection and recovery mechanisms should be in place to gracefully handle exceptional conditions such as image data corruption, API initialization failures, or temporary unavailability of OCR resources.
Scalability: The application should scale seamlessly with the number of concurrent OCR tasks, supporting parallel processing of screen regions and ensuring that OCR results are consistently accurate and reliable.
Resource Management: Proper cleanup and release of resources after OCR tasks complete, ensuring that memory leaks or resource exhaustion issues are minimized, even during rapid task creation and termination cycles.
By achieving these expected behaviors, the integration of Tesseract OCR into a multithreaded environment should enable robust, responsive, and reliable text recognition capabilities across diverse screen-based applications.
Suggested Fix
Suggested Fix:
To address the challenges observed with Tesseract OCR in a multithreaded environment, the following approaches are recommended:
Thread-Safe Initialization: Ensure that Tesseract API initialization (TessBaseAPI::Init) and resource allocation are performed in a thread-safe manner. Consider using mutex locks or synchronization mechanisms to prevent concurrent access issues during initialization.
Scoped API Usage: Utilize Tesseract API functions (SetImage, GetUTF8Text, etc.) within scoped regions to limit their visibility and prevent simultaneous access from multiple threads. This helps in managing concurrent OCR tasks more effectively.
Resource Isolation: Implement strategies to isolate OCR resources per thread or task. For example, allocate separate instances of TessBaseAPI or other necessary objects for each thread to avoid contention over shared resources.
Error Handling and Recovery: Enhance error handling routines to gracefully manage exceptions and recover from OCR failures. Implement retry mechanisms or fallback strategies to retry OCR operations upon transient errors or resource unavailability.
Performance Optimization: Optimize OCR processing by reducing unnecessary resource allocations and minimizing data copying between threads. Utilize efficient memory management techniques and leverage asynchronous processing where applicable to enhance overall system performance.
Testing and Validation: Conduct rigorous testing in diverse multithreaded scenarios to validate the reliability and stability of Tesseract OCR integration. Use stress testing to simulate high concurrent loads and identify potential bottlenecks or performance degradation points.
By implementing these suggested fixes, the application should enhance its robustness and performance when utilizing Tesseract OCR in a multithreaded environment, ensuring smooth operation and accurate text recognition across varying workload conditions.
tesseract -v
No response
Operating System
Windows 11
Other Operating System
No response
uname -a
No response
Compiler
Visual C++ 2022   00482-10000-00261-AA603
C++14
CPU
AMD Ryzen r5 5600g
Virtualization / Containers
No response
Other Information
No response

Please fix the sample code in your report. It should be possible to understand and use it without wasting time on guessing.
Did you know that the Tesseract development is entirely driven by a small number of volunteers? Feel free to fix any issue when you think it's necessary.

https://tesseract-ocr.github.io/tessdoc/ReleaseNotes.html#v301

Thread-safety! Moved all critical global and static variables to members of the appropriate class. Tesseract is now thread-safe (multiple instances can be used in parallel in multiple threads.) with the minor exception that some control parameters are still global and affect all threads.

https://github.com/tesseract-ocr/tesseract/blob/577e8a8b93a94ded139d66e41ee08d345b3c67ab/src/tesseract.cpp#L675-L678
https://github.com/tesseract-ocr/tesseract/blob/215b023c43f67a52fe4c9f783988503529f5c6dd/src/dict/dict.cpp#L172-L177
Currently, the API does not expose this static variable.


Fixed #20468 -- Added loaddata --exclude option.

Original patch by Alex Morozov.
https://code.djangoproject.com/ticket/20468

merged in ae2a7da86bf841d42be86dea3effb0261187c950, thanks!


Slab Frame Block with Concrete crash server

Path followed for crash:

Placed bottom half slab frame block
Right clicked with magenta concrete on slab frame block
Server crashed

Here is the crash report:
crash-2021-08-27_15.19.22-server.txt

Fixed with 0.4.0


Add areaCode function to Phone module

add areaCode function that returns a string like "+48"

Hi I'm new to github and would like to work on this.

ok, assigned

this can be cloesd now #522


mail works with mime-types 3.0

mime-types 3.0 was released today and the unit for mail pass with mime-types
version 3. This is expected as there were only deprecated methods removed.
This will enable other applications to upgrade.

Shakes fist RUBINIUS!!!!. @halostatue Hi, nice meeting you last week :)

Would you mind adding a gemfile for 3.0 for the Travis appraisals (and updating the .travis.yml to include it)? Thanks e.g. https://github.com/mikel/mail/blob/master/gemfiles/mime_types_2.latest.gemfile

I’ve done a few more than just the 3.0 appraisal. I added your missing versions from 2.4…2.6 including a variation for columnar loading, plus I added 2.99 (the last 2.x version for those stuck on 1.9.x). No clue if Travis is going to like this one or not, but it’s much more comprehensive than it used to be.

This is going to fail the build, but I’m not sure why the builds that have failed are failing (“appraisal ~> 1.0 not available for this machine”, for example).

OK. Some of these appear to be intermittent rubygems.org failures; what is clear is that we need to also include jruby-<IP_ADDRESS> as part of this because it’s the only jruby that includes Ruby 2.0 support. This will, however, make your matrix go even wider.

I reran the false negatives. Looks like the gemfiles/*.gemfile need to have ruby-debug removed?

For some reason the install phase doesn't seem to be run in some cases. Maybe you can try to be more explicit:
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,8 +28,6 @@ gemfile:

 sudo: false

-bundler_args: --path vendor/bundle
-
 script: bundle exec rake

 env:
@@ -38,6 +36,9 @@ env:
 before_install:
   - bundle config --local without local_development

+install:
+  - bundle install --path vendor/bundle
+
 matrix:
   exclude:
     - rvm: 1.8.7

@deivid-rodriguez @halostatue I'm re-running CI.  Let's see what happens

Oh, I see the error now. The gemfile specified in the failing cases, gemfiles/mime_types_2.99.latest.gemfile, does not exist, so the install phase can't run. @halostatue can probably fix that very easily.

It's probably a typo and he meant gemfiles/mime_types_2.latest.gemfile instead of gemfiles/mime_types_2.99.latest.gemfile

I actually meant both. Modified and pushed.

And pushed again. This should cause it to be fixed. One note—there is nothing in your matrix to test JRuby 9k.

You're almost there, only one failure to go. :)


Update linting tools to latest versions

Cool. I like the "must use field names when initializing structs" rule.

@LK4D4 :heart_eyes_cat:
LGTM 🐹

LGTM


Testing CI - Do Not Merge

test-focus K8sIstioTest

test-focus K8sIstioTest

test-focus K8sIstioTest

test-focus K8sIstioTest

retest-4.9

test-focus K8sIstioTest

test-focus K8sBandwidthTest

test-focus K8sIstioTest

test-focus K8sIstioTest


[Feature] Contextual Toolbar

I'm implementing a UIToolbar that sits at the bottom of my tab strip that changes its items based upon which child page is displayed.
If I created a pull request to add this to the repository, would it get accepted?

Hey Anthony,
You could send us your implementation and we could add it to the documentation as an example. XLPagerTabStrip wasn't originally intended to support this.

My current implementation actually has an issue that would be solved by #38.
I'm going to try and make a PR that closes #38 and after that, I'll send you an example of my implementation for the toolbar!
Thanks!

I've made PR #53 which will close #38 and allow me to finish my toolbar implementation. Then I will be happy to send you a demo of the implementation.


[SPARK-14914][CORE] Fix Resource not closed after using, mostly for unit tests

What changes were proposed in this pull request?
Close FileStreams, ZipFiles etc to release the resources after using. Not closing the resources will cause IO Exception to be raised while deleting temp files.
How was this patch tested?
Existing tests
Closes #12693

Test build #67491 has started for PR 15618 at commit f3713d1.

Test build #67491 has finished for PR 15618 at commit f3713d1.

This patch fails from timeout after a configured wait of `250m`.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67491/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Test build #67507 has started for PR 15618 at commit f3713d1.

Test build #67507 has finished for PR 15618 at commit f3713d1.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67507/
Test FAILed.

retest this please

Test build #67516 has started for PR 15618 at commit f3713d1.

Let me take a look into this deeper of some tests constantly fail.

Test build #67516 has finished for PR 15618 at commit f3713d1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67516/
Test PASSed.

Merged build finished. Test PASSed.

Utils.tryWithSafeFinally
Utils.tryWithResource, etc

They also handle exception suppression, etc.

Thanks @mridulm and @felixcheung. Let me try to address your comments.

cc @fuzhouch too (we talk about this via emails).

I just took a look for Utils.tryWithSafeFinally and Utils.tryWithResource. It seems both Utils.tryWithSafeFinally and Utils.tryWithResource closes it in finally` if I understand this correctly. Could I just leave as it is?

@HyukjinKwon So the idea is that you acquire resources required and dont need to track it by wrapping them in Utils.tryWithResource (similar to memory management in jvm).
As an example:
main/scala/org/apache/spark/rdd/ReliableCheckpointRDD.scala change will simply acquire the fileInputStream in the try and release it in the finally automatically - without needing to manage it via catch/rethrow, etc (ex: what if close() throws exception ?).
Even core/src/test/scala/org/apache/spark/FileSuite.scala, core/src/test/scala/org/apache/spark/deploy/history/FsHistoryProviderSuite.scala, etc change can be modelled the same way.
You get the idea :-)
This is essentially analogous to try-with-resources in java.
Which is not to say it applies every where ofcourse : drawback is that unlike in java, you need to explicitly specify the finally action, which can be pita imo compared to java's idiom.
Since you are anyway going through the pain of making all these changes to fix up code, might be a good idea to change it such that future tests will follow the same pattern.
Thoughts ?

It makes sense to use the Utils methods where possible, sure.

Thank you for a good reference and explanation @mridulm . I will try to handle it. (It seems I misunderstood the comments.)

I don't mean putting the finally here on this line since we do use it in the success case.
 I think there are several ways we could structure it that could work.
But I agree perhaps the difference is not significant at this point.

Test build #67654 has started for PR 15618 at commit 863ea7f.

Could I please ask to take a look if the additional changes make sense?

Test build #67654 has finished for PR 15618 at commit 863ea7f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67654/
Test PASSed.

Merged build finished. Test PASSed.

Test build #67738 has started for PR 15618 at commit 3949dbe.

Test build #67738 has finished for PR 15618 at commit 3949dbe.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67738/
Test FAILed.

retest this please

Test build #67743 has started for PR 15618 at commit 3949dbe.

Test build #67743 has finished for PR 15618 at commit 3949dbe.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67743/
Test FAILed.

retest this please

Test build #67749 has started for PR 15618 at commit 3949dbe.

Test build #67750 has started for PR 15618 at commit 3949dbe.

Test build #67749 has finished for PR 15618 at commit 3949dbe.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67749/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Test build #67753 has started for PR 15618 at commit 3949dbe.

Test build #67750 has finished for PR 15618 at commit 3949dbe.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67750/
Test PASSed.

Test build #67753 has finished for PR 15618 at commit 3949dbe.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67753/
Test PASSed.

I tried to initialize it in start(). Could you take a look  at https://github.com/apache/spark/pull/15618/commits/49cb4e7f259ba0a236b0a977e69719cfc165c265 ?
(If it does not looks nice, I will definitely revert the change back)

Test build #67784 has started for PR 15618 at commit 49cb4e7.

Test build #67784 has finished for PR 15618 at commit 49cb4e7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67784/
Test PASSed.

Test build #67903 has started for PR 15618 at commit 1521572.

Test build #67903 has finished for PR 15618 at commit 1521572.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67903/
Test FAILed.

retest this please

Ll

Oh wait, it seems the failed test is related. Will take a look.

Test build #67928 has started for PR 15618 at commit 1521572.

Test build #67928 has finished for PR 15618 at commit 1521572.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67928/
Test FAILed.

Test build #68231 has started for PR 15618 at commit a9a5f06.

Hm.. @srowen @tdas and @mridulm . I just got rid of the changes in ReceiverTracker.scala here for now. It seems we can't make this null in stop() and create an instance in start() because this instance is being accessed after gracefully stopped. It seems the blocks should be able to be retrieved after stopped.
One way I am thinking is, initiate this ReceivedBlockTracker instance at start() in ReceiverTracker and add null checks in each method using ReceivedBlockTracker instance in ReceiverTracker. However, I am not sure whether it is worth adding such checks and that this is right or cleanest way as I am not familiar with this streaming part.
Could I please ask anyone who is familiar with this to make a followup if it is fine?

Test build #68231 has finished for PR 15618 at commit a9a5f06.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68231/
Test PASSed.

Merged build finished. Test PASSed.

Test build #68273 has started for PR 15618 at commit d680a2f.

Test build #68273 has finished for PR 15618 at commit d680a2f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68273/
Test PASSed.

LGTM, merging it into master.
Thx @HyukjinKwon

I'm going to merge to 2.1 as well to match https://github.com/apache/spark/pull/15320

Scratch that; it doesn't merge cleanly. Let's leave it.


THRIFT-3886 PHP cross test client returns 0 even when failing

PHP tests are mostly not asserting that the returned result is as
expected, nor do they return an error for unknown protocols.
Add more assertions in the style of the existing code, and check that the
tested protocol is supported.
This requires some fixes so tests will actually run for the accelerated
binary protocol.
Fixing the tests uncovers some brokenness in compact protocol and the extension, will submit fixes as separate patches.

I think the tests should pass on current master if re-run... It would be nice to have this merged so future pull requests can include tests.

I've tried rebasing, but the integration tests seem to fail on an unrelated issue about Haskell.


Add Leaflet Geoapify Address Search plugin

A new Leaflet Geoapify Address Search plugin added to the geocoding category

Seems fine, but is buggy (see https://github.com/geoapify/leaflet-address-search-plugin/issues/1 ). I'm reluctant to merge.

Seems fine, but is buggy (see geoapify/leaflet-address-search-plugin#1 ). I'm reluctant to merge.
The issue is solved and the new version of the plugin is published.

Into the list it goes, then.


[Connection Issue]: Google Home failsafe timer expired after csrRequest

Version
3.0.0-alpha.54
Matter Controller
Google Home
Things you tried
Just set up the add-on trying to migrate from a working matterbridge setup.
Created a small test bridge (8 devices), then adding to Google Home using manual pairing code.
Setup gets to "generating credentials" then fails.
Things I've tried:
I suspected IPv6 being an issue as I do not have this setup on my router, however link local IPv6 seems to be functioning (I see both phone and HA have link local addresses and based on logs below they can talk to each other via IPv6)
The network has vlan setups but not on the home assistant host (HAOS) nor any of my Google Home devices nor my phone. All are on the same network.
I've checked router firewall and nothing set up to drop anything within the LAN network.
Relevant log output
[ 2024-12-13T19:54:42.369Z ] [ INFO  ] [ Matter / PaseServer                                ]: Received pairing request from udp://fe80::1cb2:2dff:fede:eb6f%enp1s0:43003.
[ 2024-12-13T19:54:42.442Z ] [ INFO  ] [ Matter / PaseServer                                ]: Session 28259 created with udp://fe80::1cb2:2dff:fede:eb6f%enp1s0:43003.
[ 2024-12-13T19:54:42.447Z ] [ INFO  ] [ Matter / InsecureSession                           ]: End insecure session insecure/17156128846728524823
[ 2024-12-13T19:54:42.525Z ] [ INFO  ] [ Matter / Behavior                                  ]: Invoke ee4d2c65a79f44c187f347833542902a.generalCommissioning.armFailSafe online#5eacae1@0 expiryLengthSeconds: 120 breadcrumb: 1
[ 2024-12-13T19:54:42.759Z ] [ INFO  ] [ Matter / Behavior                                  ]: Invoke ee4d2c65a79f44c187f347833542902a.operationalCredentials.certificateChainRequest online#5eacaed@0 certificateType: 1
[ 2024-12-13T19:54:44.608Z ] [ INFO  ] [ Matter / Behavior                                  ]: Invoke ee4d2c65a79f44c187f347833542902a.generalCommissioning.armFailSafe online#5eacaf2@0 expiryLengthSeconds: 120 breadcrumb: 1
[ 2024-12-13T19:54:44.647Z ] [ INFO  ] [ Matter / Behavior                                  ]: Invoke ee4d2c65a79f44c187f347833542902a.generalCommissioning.setRegulatoryConfig online#5eacaf7@0 newRegulatoryConfig: 2 countryCode: AU breadcrumb: 1
[ 2024-12-13T19:54:44.659Z ] [ INFO  ] [ Matter / Behavior                                  ]: Invoke ee4d2c65a79f44c187f347833542902a.operationalCredentials.certificateChainRequest online#5eacaf9@0 certificateType: 2
[ 2024-12-13T19:54:44.670Z ] [ INFO  ] [ Matter / Behavior                                  ]: Invoke ee4d2c65a79f44c187f347833542902a.operationalCredentials.attestationRequest online#5eacafb@0 attestationNonce: 695aac409aae863900000193c196793b01f871483855fd2f436032fdb0d39c30
[ 2024-12-13T19:54:44.691Z ] [ INFO  ] [ Matter / Behavior                                  ]: Invoke ee4d2c65a79f44c187f347833542902a.operationalCredentials.csrRequest online#5eacafd@0 csrNonce: 429c9b1e7acb204b00000193c196793b01f87148389ad037470dec404a196df1 isForUpdateNoc: false
[ 2024-12-13T19:54:45.356Z ] [ INFO  ] [ Matter / Behavior                                  ]: Invoke ee4d2c65a79f44c187f347833542902a.generalCommissioning.armFailSafe online#5eacb00@0 expiryLengthSeconds: 1 breadcrumb: 1
[ 2024-12-13T19:54:46.358Z ] [ INFO  ] [ Matter / FailsafeContext                           ]: Failsafe timer expired, Reset fabric builder.
[ 2024-12-13T19:54:46.361Z ] [ INFO  ] [ Matter / SecureSession                             ]: Register Session secure/28259 to close when exchange is ended.

What deployment method do you use?
Home Assistant AddOn
Did you already check the following?

[X] Does your network include any VLAN setup?
[X] Do you have any special firewall rules / services in place?
[X] Is IPv6 enabled in your LOCAL network?
[ ] If you are using the docker deployment: Is IPv6 enabled within your docker daemon config?
[ ] If you are using the docker deployment: Do you run the container with host network?

Documentation & Issues

[X] I have reviewed the documentation and the linked troubleshooting guide.
[X] I have searched the issues for a similar problem.

Do you have matterbridge still running on the same host? I'd assume the port to be used twice / blocked by the other bridge.
Additionally (local) IPv6 is mandatory for matter. Even when some devices/vendors may accept IPv4 it can break at any time without any notice.

Matterbridge has been installed.
Looking at the logs, there doesn't seem to be any connection issues with IPv6 given the request from phone to bridge was using IPv6 and the fact that it got fairly far along the credentials exchange. My understanding is that link-local IPv6 works fine as long as everything is on the same network segment which is the case here.

When Google Home stops after csr Request then you need to add the details of the device to your devloper account on google console as described in https://github.com/project-chip/matter.js/blob/main/docs/ECOSYSTEMS.md#google-home-ecosystem ... usually needed on older Android or when using Google Home app on ios


Read survey data from back end

Currently the survey is read from the following file:
https://github.com/canada-ca/aia-eia-js/blob/master/src/survey.json
We need to read the data from some sort of api, that should  be feeding data from some tool such as Google Docs or Airtable.

Probably good enough for MVP.
Confirmed with the AIA team that they won't be making changes to the assessment tool on the fly.

Useful documentation for this feature:
https://surveyjs.io/Examples/Library/?id=questiontype-dropdownrestfull

https://surveyjs.io/Documentation/Library/#choicesByUrl

We're OK with maintaining the questions via JSON; no need for a Google Docs or other GUI. Questions change infrequently.


Export from_str_header and csv_heade macros

Hi,
another small improvement would be to export the two macros from_str_header and csv_header.
Then someone can easily use them to create custom headers like this:
use ezk_sip_types::{csv_header, Name};
use bytesstr::BytesStr;

csv_header! {
    /// P-Access-Network-Info header
    PAccessNetworkInfo,
    BytesStr,
    Name::custom("P-Access-Network-Info", &["p-access-network-info"])
}

What do you think about this?

Hey,
Before these macros can be made public we must ensure they don't use any relative import paths. The csv_header! macro uses ConstNamed Name HeaderParse ParseCtx ExtendValues PrintCtx OneOrMore etc. from the current module, requiring a bunch of imports.
The macros would need to be changed to address this. e.g. every Name is changed to $crate::Name, ConstNamed to $crate::header::ConstNamed etc.

Thanks for your answer! That's right, I missed that. I'll try to make the changes and then you can look over it again?

I think that fits now. What do you think? @kbalt

The macro changes look good, but you've introduced a lot of formatting changes to imports and where clauses which don't seem related to this topic, do you mind reverting them and then squashing your commits?

I removed the formatting, Should be ready now, please check again. :)

Thanks!

Are you planning to create a new release which includes the changes from this PR, https://github.com/kbalt/ezk/pull/21 and https://github.com/kbalt/ezk/pull/20?


Sieve Of Eratosthenes [Java]

This issue is about Sieve Of Eratosthenes [Java] (https://github.com/iiitv/algos/blob/master/sieve_of_eratosthenes/SieveOfEratosthenes.java).

[x] Issue Title is in form Algo/DS Name [Language].
[x] I searched or browsed the repo’s other issues to ensure this is not a duplicate.
[x] This Algo/DS is worth adding to this repository.
[x] Assign this issue to me (I want to work on this).

[x] I ensure that I am not already assigned to 2 or more issues.

[x] I will send my PR only after I'm assigned to this issue by any maintainer.
[x] I understand that I will be unassigned from this issue if I fail to send a PR for this within a week.

I think the code can be improved in 2 ways:

Making it more OOP so that there's a class with a method isPrime(int) and internally uses a sieve.
We can use the principle of not mixing levels of indirection to have code that's really simple to understand, with methods that are mostly written like prose and methods that hide the implementation details behind methods and with good names that explain better the low level details of the algorithm.

The contributors most likely able to help are:
@singhpratyush


Documentation work.

Using GLFW_TRUE where applicable.

@linkmauve I'm not very familiar with merge process here; do I have the freedom to directly merge pull requests into the master branch?

For non-code fixes just go ahead and merge. For more complex stuff, we should figure out something that works for us.

Alright :)


Auth token expiration uses different setting from Auth0 compared with auth0-js SDK

Description
I have this code in my app to allow me to verify what I'm getting back from Auth0:
getAccessTokenSilently().then(token => console.log(token))

Using jwt.io to decode the displayed token shows that it expires in 24 hours. In checking the token settings, it looks like this SDK is getting the Token Expiration value whereas auth0-js got the Token Expiration for Browser Flows value:

I'm raising this as an issue because it is a change in behaviour between the two SDKs which was unexpected on my part.
Environment

Please provide the following:

Version of this library used: 1.0.0
Version of the platform or framework used, if applicable: Gatsby 2.24.27, React 16.12.0

Hi @pcolmer - thanks for raising this
This SDK uses the authorization code flow (with PKCE) and auth0-js uses the Implicit flow
Since the Implicit flow is considered less secure than the code flow, Auth0 suggests a lower token expiration. Now that you're using the authorization code flow you get the regular token expiration.
Check out this blog post for more info https://auth0.com/blog/oauth2-implicit-grant-and-spa/

Thanks for the clarification, @adamjmcgrath. That makes sense - it just caught me out because I was trying to validate the behaviour of my website when the token expires and the expiration wasn't changing :)

Hi @adamjmcgrath. I realise that I now have a follow-up question.
Having read https://auth0.com/docs/tokens/refresh-tokens/refresh-token-rotation, should I reconfigure the app to use refresh token rotation or is that not supported/recommended for this SDK?

Hi @pcolmer
You can use refresh tokens with this SDK by setting useRefreshTokens to true. It's generally used with cacheLocation set to localstorage to work around Intelligent Tracking Prevention (ITP) restrictions on Safari and Brave browsers. If you enable refresh tokens in this SDK, you absolutely should set your Refresh Token Behaviour to "Rotating".
You can read more about securing SPAs in the world of ITP here https://auth0.com/blog/securing-single-page-applications-with-refresh-token-rotation/

Thanks, @adamjmcgrath, for the confirmation.


Month dropdown does not work

Using the arrows to change the months works great, but selecting the month via the dropdown doesn't change anything.
Had the issue on newest version on firefox V106.0.1

Is it happening in Chrome too?

Yes, it also happens in Chrome.

It should be fixed now


Update CALC_E_* to no longer use macros

Problem Statement
One of the goals for this project appears to be converting legacy C style code to modern C++.  Avoiding macros unless completely necessary has been a C++ best practice for quite some time.
Proposal
With more modern features such as constexpr values, you should be able to replace all CALC_E_* macros with constexpr values.  Preferably, you could replace them with an enum class, but that is riskier and would require much more code refactoring.
Goals
Modernize the code base and make it easier to maintain.

This is your friendly Microsoft Issue Bot. I've seen this issue come in and have gone to tell a human about it.

Hi I'd like to attempt this. Is that okay?

Thanks for your interest, @Grommers00.  Go for it!

Okay awesome. I think I have a recommended solution.
Source of the Issue located here
I recommend we change the variables to read like this

As errors can go for the full length of the program.
I do not recommend this approach

As it can be wasteful to memory, and may cause additional unforeseen problems. (e.g. if Errors themselves crashed out.)
As for testing for this particular fix, I was able to run the program with no errors (A ton of unrelated warnings though!). However, I am unsure on how to directly test this particular issue out.
https://github.com/Grommers00/calculator/tree/E_CODE_Update/src/CalcManager
Is the current location of the branch I would like to push.
Is this acceptable?


ML auto scouting

Match scouting using ML
detection and MOT to calculate average speed, defensive plays, game piece manipulation, interference with own alliance, and robot positions for events without relying on zebra tags**
Additional context
Custom per game on the detection side and would need a lot of compute power but would guarantee in depth scouting data for events without lots of match scouts pushing data to scout machine and help set us apart from TBA or statbotics by a massive margin.

People interested in data labeling should contact us to help build this system.


New version: Microsoft.OneDrive.Internal.Slow version 23.156.0726.0003

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/115162&drop=dogfoodAlpha

@wingetbot run


Configuration of global resources throws when we use export default more than once.

I'm submitting a bug report

Library Version:

"aurelia-fetch-client": "^1.0.0",
"aurelia-framework": "^1.0.6",
"aurelia-router": "^1.0.6",
"aurelia-cli": "^0.20.2",

Please tell us about your environment:

Operating System: Windows 10
Node Version: 6.9.1
NPM Version: 3.10.8
Browser: all
Language: TypeScript 2.0.10

Current behavior:
If we write two (or more) resources that use export default, and if we register them both as global resources, then Aurelia will throw throw the following error:

Unhandled rejection Error: Attempted to register an Element when one with the same name already exists. Name: default.

Example:
// my-resource-01.ts
export default class MyResource01 {

}

// my-resource-02.ts
export default class MyResource02 {

}

// my-plugin.ts
export default function (config: FrameworkConfiguration) {
    config.globalResources([
        "./my-resource-01",
        "./my-resource-02",
    ]);
}

Expected/desired behavior:

Allow the use of export default in multiple global resources.
This will enable developers to follow the TypeScript module export recommendations , which say that, "If you’re only exporting a single class or function, use export default."

We can't change this as far as I know, due to the way that exports work.....IF you want to use conventions. But, if you use an explicit decorator, it should work since you would be providing the name.

@EisenbergEffect Thank you for answering. What is an explicit decorator?

It depends on what type of resources you are trying to export. You might want @customElement('element-name') or @customAttribute('attribute-name') or `@valueConverter('converterName') for example.


Error CYW43 lib

I have this error when i compile :
error: 'CYW43_CHANNEL_NONE' undeclared (first use in this function); did you mean 'CYW43_LINK_NONET'?
Do you know why ?

this file path for this error is :  pico-sdk/src/rp2_common/pico_cyw43_arch/cyw43_arch.c:93:134
My pico sdk is up to date

That's correct. Are you using SDK 1.5.0?
On Mon, 24 Jul 2023, 12:35 LilianDubois, @.***> wrote:

I have this error when i compile :
error: 'CYW43_CHANNEL_NONE' undeclared (first use in this function); did
you mean 'CYW43_LINK_NONET'?
Do you know why ?
—
Reply to this email directly, view it on GitHub
https://github.com/jondurrant/RPI-PicoW-WolfSSL-Exp/issues/4, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWFSB7IXB4EYQBZQUBKALDXRZMZ5ANCNFSM6AAAAAA2VOJUI4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I am using the latest sdk. On github it's 1.5.1

This compiles and works against SDK 1.5.0 with the versions of Wolfssl and
Freertos I reference from the repo. Others have also successfully compiled
so surprised you had this error.
I'm away this week but can check when I return.
On Mon, 24 Jul 2023, 12:39 Jon Durrant, @.***> wrote:

That's correct. Are you using SDK 1.5.0?
On Mon, 24 Jul 2023, 12:35 LilianDubois, @.***> wrote:

I have this error when i compile :
error: 'CYW43_CHANNEL_NONE' undeclared (first use in this function); did
you mean 'CYW43_LINK_NONET'?
Do you know why ?
—
Reply to this email directly, view it on GitHub
https://github.com/jondurrant/RPI-PicoW-WolfSSL-Exp/issues/4, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWFSB7IXB4EYQBZQUBKALDXRZMZ5ANCNFSM6AAAAAA2VOJUI4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

No problem
I look forward to hearing from you

It compiles perfectly with SDK 1.5.0! Thanks for a job well done!
Now you know you have an error with SDK 1.5.1...

Interestingly nothing in the Release notes to suggest an update!
On Mon, 24 Jul 2023, 12:51 LilianDubois, @.***> wrote:

It compiles perfectly with SDK 1.5.0! Thanks for a job well done!
Now you know you have an error with SDK 1.5.1...
—
Reply to this email directly, view it on GitHub
https://github.com/jondurrant/RPI-PicoW-WolfSSL-Exp/issues/4#issuecomment-1647761818,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWFSB76OMSESICMJWBDWCTXRZOVTANCNFSM6AAAAAA2VOJUI4
.
You are receiving this because you commented.Message ID:
@.***>

I've run a clean build with SDK 1.5.1 and it compiles fine. I can't
reproduce the issue you have seen.
Jon
On Mon, Jul 24, 2023 at 12:53 PM Jon Durrant @.***> wrote:

Interestingly nothing in the Release notes to suggest an update!
On Mon, 24 Jul 2023, 12:51 LilianDubois, @.***> wrote:

It compiles perfectly with SDK 1.5.0! Thanks for a job well done!
Now you know you have an error with SDK 1.5.1...
—
Reply to this email directly, view it on GitHub
https://github.com/jondurrant/RPI-PicoW-WolfSSL-Exp/issues/4#issuecomment-1647761818,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWFSB76OMSESICMJWBDWCTXRZOVTANCNFSM6AAAAAA2VOJUI4
.
You are receiving this because you commented.Message ID:
@.***>


Account keys weight documentation

Problem
Account keys weight documentation is a bit confusing.
It says that an account key weight is an integer between 1-1000:

Weight (integer between 1-1000)

But then in the signing examples, it uses 0 - 1 range for weights.

ACCOUNT
KEY ID
WEIGHT

0x01
1
1.0

Should that be changed to a number between 1 - 1000.

Should be "Between 0 and 1"

I think should be:
Weight (integer between 0-1000)
and

ACCOUNT
KEY ID
WEIGHT

0x01
1
1000

another related PR: https://github.com/onflow/flow-go-sdk/pull/239


Destroy webview after navigating back

If you open a youtube page (but I Think it's with all the pages) and you start playing it so you hear music, if you press back you can hear the music still playing

Fixed here, should be in a hotfix going out this week-ish.


use precise capturing on 1.82+

Fixes https://github.com/maciejhirsz/logos/issues/434 by conditionally adding + use<'s> to the implementation of the callback, but only if on 1.82+
Additionally it adds tests for the MSRV and 1.82 to the CI.

As indicated by the CI, I think the new build dependency requires us to bump the MSRV to 1.74

I don't think this is actually caused by the new build-dependency (it also has semver as a dependency) I think the issue exists because the toolchain was never before tested (see the {{matrix.rust}} addition). I think this might be a problem with rstest.

actually correction, looking at the output of cargo tree --workspace the issue is logos-cli:
https://github.com/maciejhirsz/logos/blob/491842d0adb9689e9fa707e6fb89b97f1a59fe28/logos-cli/Cargo.toml#L11

I don't think this is actually caused by the new build-dependency (it only has semver as a dependency) I think the issue exists because the toolchain was never before tested (see the {{matrix.rust}} addition). I think this might be a problem with rstest.

I see, but I don't get why the msrv_check workflow didn't catch this before...

actually correction, looking at the output of cargo tree --workspace the issue is logos-cli:
https://github.com/maciejhirsz/logos/blob/491842d0adb9689e9fa707e6fb89b97f1a59fe28/logos-cli/Cargo.toml#L11

You are right, I was too quick on my conclusions :-)

We could either raise the MSRV to 1.74, raise the CI to only test 1.74 or downgrade predicates to something that supports 1.70

We could either raise the MSRV to 1.74, raise the CI to only test 1.74 or downgrade predicates to something that supports 1.70

I think the issue is actually the CI doesn't use --locked, so this is probably why the issue wasn't discovered before.
For the sake of simplicity, we can just bump to 1.74 here.

Looks all good @indietyp, thanks!


Pulling additional information with the report

Is there a way to export additional data when pulling the TSV file report on Bookings?

@AlliJM Please mention the document you are referring to. Thanks.

@AlliJM Please mention the document you are referring to. Thanks.

On the home page of the bookings page, the admin has the option to download a TSV file with bookings data. Is there a way to change what gets pulled when that tsv file is downloaded?

@AlliJM Thank you for your feedback. As of April 1 2020, You can export only up to 120 days of recent data as a TSV file. Additional data is not available.
We have a document that explains this in detail -https://docs.microsoft.com/en-us/microsoft-365/bookings/reporting-info?view=o365-worldwide#:~:text=You can now see a,spreadsheet program%2C such as Excel.
Hope this helps!
@yogkumgit  There are no changes required in the document.
Thanks
Sri

@msbemba Thank you very much for the contribution and sharing this explanation. @AlliJM Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Fix "View All Services" button config conditional

Previously, the button would be shown if and only if show_services_button was set to false. This change inverts that conditional.
NOTE: This change will potentially break existing sites.

@joelpet is it better this way?

@joelpet is it better this way?

@JugglerX I guess it's better in the sense that, with this change, the config option would actually do what its name implies – at least the way I read it – rather than the opposite. :)
Deciding whether it's worth the breaking change I'll leave to you, however.


The backslash escape rules as stated above are confusing and conflict with the behaviour of existing Microsoft executables

It is very confusing for a backslash to sometimes be used as an escape behaviour and can easily lead to inconsistent results.
Existing executables, such as the dir command, do not follow these rules.
Example: If the following command is executed, according to these rules, it should fail.
dir "C:\Windows\Downloaded Installations" /s
These rules mean that the dir command should try to find the 'C:\Windows\Downloaded Installations" /s' path which does not exist instead of recursing all sub-folders under C:\Windows\Downloaded Installations.
I think that it would make sense that all executables created by Microsoft should follow the rules set forth by Microsoft.

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

ID: 78e8ccf8-b903-0543-e1df-e4a3d1dd6483
Version Independent ID: 2a44fb40-4e63-380f-8598-e553ec072712
Content: Parsing C++ Command-Line Arguments
Content Source: docs/cpp/parsing-cpp-command-line-arguments.md
Product: visual-cpp
GitHub Login: @mikeblome
Microsoft Alias: mblome

@mdell-seradex The confusing parsing behavior is a product of combining the escaping rules for C-string literals with the escaping rules for command-line processing. If you create your command-line strings in your source code, this interaction is unavoidable. You can skip the C-string escaping part by loading strings as resources, which means you only need to deal with the rules for command-line escaping, which are implemented in Windows. I think that's outside the scope of this document, so I'm closing this issue as not a documentation error. However, if you consider this a product issue worthy of making a suggestion about, I recommend raising it on the C++ Developer Communication site.

I would disagree that the escaping rules for C-string literals has anything to do with this for two reasons.

I don't use C, C++ or C#.  I use VB which does not use a backslash for escaping characters.
Strings sent to a C, C++ or C# application always have all of their backslashes doubled up.  It has nothing to do with whether they follow a double quote or not.

As you suggest, I will raise the concern on the C++ Developer Communication site.
Note that I was directed here by Jeff Schwartz due to his comment at the following posting even though my issue was not with C++, but instead with .NET.  He informed me that they follow the rules stated here.
https://developercommunity.visualstudio.com/content/problem/473717/environmentgetcommandlineargs-and-myapplicationcom.html?childToView=506512#comment-506512

@mdell-seradex Apologies, I see that I was answering a different question than the one you actually asked, based on a question I'd gotten before.
There are still different layers in play, and they play by different rules. I'll warn you up front that these sets of rules are decades old, and will not be changed. The best you can hope for is that some new API gets created with rules that are more consistent. However, even that won't help in every case.
The first set of rules is for escaping in the command processor. These rules are complex, especially when interpreting command or batch files, and understandable documentation is hard to find.
Then there's the command line processing done by Windows when the command processor actually kicks off your process, usually by calling CreateProcessW or a related function. This is where the process environment is created that contains the command line passed to the app. It does some minimal processing, and loads the resulting command line in your process space, where you can read it with GetCommandLine.
At this point, every app, no matter what language it's written in, should see the same string for the command line. However, what any particular programming language does with this command line is entirely at the discretion of the language, and the apps written in it. Whether they have some consistency with other languages' behaviors or not is completely arbitrary.
All I can tell you is what the C and C++ runtimes do, which is something like this. The first function called is usually mainCRTStartup or wmainCRTStartup for a console app, or WinMainCRTStartup or wWinMainCRTStartup for a desktop app. This is the code that sets up the C runtime environment, the stack, the CRT heap, the locale info, any thread-local variables, read-only constants, etc., and creates the argc, argv, and envp parameters that are then passed when the runtime invokes main or its equivalent. There's some command-line interpretation that happens to create the argv and envp parameters, and they're invoked through function pointers you can access and modify, _setargv and _setenvp. The default processing is done by a CRT internal function.
The final result of these processes, combining both the command processor and the language runtime, is what's described by this document. The result will be slightly different if you bypass the command line and create a process directly, since you're stripping off a layer of escapes. It will also be different in any C/C++ app that skips the internal runtime routine that processes argv and substitutes it's own. What you see described here is the default behavior. You can also see the result of each layer of processing, if you're running the app from the command line and in a debugger.
What I can't tell you is if any given app will behave this way. That's up to the app and its language runtime. And nothing added in Windows or our implementation of C++ will change that.

I understand what you are saying. It just seems odd and wrong that Microsoft does not appear to follow its own rules as evidenced by the behaviour of the dir command and many other command prompt commands.
I would think that many of those commands are actually older than the establishment of these rules, but I cannot say for certain.

I find it disappointing that Microsoft essentially abandoned their even older, original, more intuitive behaviour in favour of something that is partially identical to C rules for character escaping which is not more human readable.


Added: Common string padding

Added: File tutorial

@dvdvideo1234, the changes look good, but can be get a much smaller wav file? I'd prefer to avoid binaries in this repository, but if we need to, maybe add a simpler/shorter file on the order of 30-40k or so?

Hello,
I've cut it to 0.9 seconds instead of 16.6 seconds.
Thanks!


Testing labels (processContent and non-JSON)

At https://github.com/whitlockjc/path-loader/blob/master/test/test-loaders-browser.js#L121 , I see "should support non-JSON with options.processContent" as a condition, though the file indicated is actually JSON and there is no inclusion of options.processContent. Similarly at https://github.com/whitlockjc/path-loader/blob/master/test/test-loaders-node.js#L164 (and https://github.com/whitlockjc/path-loader/blob/master/test/test-loaders-node.js#L100 there is a non-JSON file but it also has no options.processContent).

This is a documentation issue.  Originally the idea was to support JSON by default but I decided not to.

And options.processContent was a part of that too?

That's what I'm talking about.  options.processContent is required if you want anything other than text.

I see what I did.  Basically, I ended up implementing this in json-refs and it never landed in this project.  I guess if it's not here now, we probably don't need it.  Thoughts?

I could easily make this possible in path-loader.

At first, I could easily see leaving this up to the caller, json-refs in my case.  On the other, I do not want to hide the raw response being made so I think it should be here.

Actually, this only makes sense for HTTP loading.  Not a big deal but I'm supporting it for HTTP.

Regarding your comment that options.processContent is required if you want anything other than text...
I see that processContent is required in json-refs if you want something other than a JSON object, but I guess you are talking about how you think it should work in path-loader.
Yeah, I support adding it here for HTTP loading. I think maybe that you ought to pass another argument to processContent containing the raw response object, no?

Yup, that's what I'm doing.

Great...

This should be fixed.  In fact, options.processContent takes a callback so you can do things asynchronously.

All documentation was updated as well.  Thanks for catching this.

Regarding taking a callback and the docs, that's awesome, thanks!


Avoid reading attributes/subscribing to attributes/events simultaneously

It seems that the device gets overwhelmed with parallel requests and returning BUSY status codes, from the server logs
2022-06-16 22:32:30 pulver chip.IM[486980] INFO Received status response, status is 0x9c (BUSY)

This happens e.g. when async_added_to_hass is called in parallel for multiple entities. For a Matter Node which exposes multiple devices (like the All Cluster examples) this gets problematic.
Ideally we should synchronize calls on a per Matter Node.

Addressed with #17


proposal: x/pkgsite: new source meta tag

(Edited: now a proposal.)
This issue describes a new HTML meta tag for referring to Go source files in online documentation. It is an official Go proposal, though it doesn't affect the Go language or tools.

For many years, the go-source meta tag has allowed godoc.org and other source-browsing tools to provide links to Go source for import paths that use the go-import meta tag. With the advent of modules, the go-source meta tag in its current form cannot be used, because it does not support versions. While we could just extend go-source to add a parameter to the templates, we could also take this opportunity to improve it in other ways.
We propose a new tag, go-source-v2, with the following properties:

Module versions are supported.
Source files are described relative to modules rather than packages.
Additional information can be provided, so that module-browsing tools like pkg.go.dev can display repo information and render README and similar files.
The anomalies listed at the end of the current spec are resolved.

Structure
For certain common code-hosting sites, like GitHub and Bitbucket, no go-source-v2 tag is necessary. See "Implicit Source Information" below for details.
For a module with path M, the tag should appear in the <head> of the page served by
GETting https://M?go-get=1. The tag should look like
<meta name="go-source-v2" content="home directory file line-suffix raw">

where:

home is the URL of the repo root. If _, then the repo root (third component) of the go-import tag on the same page is used; if there is no go-import tag or the tag’s second component is mod, then no repo is specified. This does not preclude serving source files but it does prevent tools from linking to the repo or providing repo-based signals, like number of stars and forks.
directory is a URL template for linking to a directory of files. It supports two parameters:

{revision} is replaced by an identifier for the (approximate) VCS revision. See "Revision Parameters" below for more.
{dir} is replaced by the directory relative to the module (not repo) root.

file is a URL template for linking to an entire file. In addition to {revision} and {dir}, it also supports {file}, the basename of the file.
line-suffix will be appended to file to obtain a URL for a file at a particular line. It supports only the parameter {line}, the 1-based integer line number.
raw is a URL template for linking to the raw contents of a file. It supports the {revision}, {dir} and {file} parameters as defined above. While file should display a file for people (with line numbers and syntax highlighting, perhaps), raw should serve the raw bytes of the file. It can be used to rewrite links in README files and the like.

After a tool replaces a template’s parameters, it should remove doubled and trailing slashes. This should make go-source’s {/dir} parameter unnecessary. In theory, a site could serve a path differently depending on whether it had a trailing slash, but we are unaware of any code-hosting site that makes this distinction.
Any component of the tag’s contents can be omitted by using an underscore.
Here’s an example of the go-import and go-source-v2 meta tags for the gopkg.in/yaml.v2 module:
<meta name="go-import" content="gopkg.in/yaml.v2 git https://gopkg.in/yaml.v2">

<meta name="go-source-v2" content="
    github.com/go-yaml/yaml
    https://github.com/go-yaml/yaml/tree/{revision}/{dir}
    https://github.com/go-yaml/yaml/blob/{revision}/{dir}/{file}
    #L{line}
    https://github.com/go-yaml/yaml/raw/{revision}/{dir}/{file}
">

Revision Parameters
Tools should derive {revision} from the module version as follows:

For pseudo-versions, use the commit hash (the part after the final hyphen).
For semantic versions, use the version after removing any +incompatible suffix.
Use other version specifiers (like master) as is.

For a nested module, {revision} is not actually the tag name. A nested module N at version v1.2.3 has tag N/v1.2.3, but {revision} will be v1.2.3. The templates must account for this. For instance, if example.com served directories using GitHub-style URLs, and example.com/mod/nest were a nested module under example.com/mod, then its directory template might be https://example.com/mod/tree/nest/{revision}/nest/{dir}. The first occurrence of nest is part of the tag that identifies the version of example.com/mod/nest.
Implicit Source Information
If the https://M?go-get=1 page for module M has a go-import meta tag that refers to a repo whose domain matches one of the following glob patterns, then no go-source-v2 tag is needed:

github.com
bitbucket.org
*.googlesource.com
gitlab.com
gitlab.* (if the site behaves like gitlab.com)

The templates for these sites are well-known, and are provided below.
There is one problem: for a major version greater than 1, the templates for “major branch” and “major subdirectory” conventions differ (See https://research.swtch.com/vgo-module for a discussion of these conventions.) To determine the right template, make a HEAD request for the go.mod file using each template, and select the one that succeeds. For example, for module github.com/a/b/v2 at version v2.3.4, probe both github.com/a/b/blob/v2.3.4/go.mod (the location of the go.mod file using the “major branch” convention) and github.com/a/b/blob/v2.3.4/v2/go.mod (its location using “major subdirectory”).
Standard Patterns
In these patterns, REPO is the repo URL and MS is the suffix of the module path without the repo prefix. These can be determined from the go-import tag and the path of the go-get=1 URL.
github.com:

directory: REPO/tree/{revision}/MS/{dir}
file: REPO/blob/{revision}/MS/{dir}/{file}
line suffix: #L{line}
raw: REPO/raw/{revision}/MS/{dir}/{file}

gitlab.com, gitlab.*:

directory: REPO/tree/{revision}/MS/{dir}
file: REPO/blob/{revision}/MS/{dir}/{file}
line suffix: #L{line}
raw: REPO/raw/{revision}/MS/{dir}/{file}

bitbucket.org:

directory: REPO/src/{revision}/MS/{dir}
file: REPO/src/{revision}/{dir}/MS/{file}
line suffix: #lines-{line}
raw: REPO/raw/{revision}/MS/{dir}/{file}

*.googlesource.com:

directory: REPO/+/{revision}/{dir}
file: REPO/+/{revision}/{dir}/{file}
line suffix: #{line}
raw: not supported

Sites that won’t work
Code-hosting sites running Gitea cannot be accommodated by the source linking scheme described above, or indeed by any scheme that has only the information available from the module zip. Gitea source URLs are different for branches, tags and commit hashes, and for the last only the full hash will work. Since revisions should always be tags, the templates for a Gitea site can use the tag form of the source URL.  But there is no template that will work with the abbreviated hash at the end of a pseudo-version.
While a source-browsing tool could clone the repo and resolve the abbreviated hash locally, that work should be outside the scope of the tool. Instead, we suggest that a gitea.com contributor add URL routes that can work with partial hashes.
The same problem exists for code.dumpstack.io (which appears to be a rebranded gitea).
Whatever software is used for https://blitiri.com.ar/ has the same issues, and one additional one: there doesn’t seem to be any URL for tags.

Go developers are harrassing me

actively going against my Adsense sites
actively attacking my github account
actively deranking my page rank

You want war, you will get war, I promise you that

@jba @julieqiu I wonder if we should file this as a proposal under cmd/go, since this would primarily affect go get, and we want input from people who work on modules.

How would it affect go get?

You're right that it wouldn't need to affect go get's code per se, since it primarily uses the go-import meta tag to locate the VCS, not go-source.
The base documentation for remote import paths, Go meta tags, and how to obtain them via ?go-get=1 is also documented under cmd/go: https://golang.org/cmd/go/#hdr-Remote_import_paths
So I think my original wording wasn't right, but I still think this is very relevant to the folks who work on modules such as @bcmills or @jayconrod. What package to file this under would depend on where this would all be documented, I assume.
I also do think we should make this a proposal, since it seems like a pretty big decision to make without the process :)

Agreed this won't affect the go command.
The revision parameters tricky, but this already addresses the problems that come to mind (nested modules and pseudo-versions), and it seems like this will work for known major providers.

OK @mvdan, as per https://github.com/golang/proposal#readme I added the Proposal label and edited the initial comment to match.

What package to file this under would depend on where this would all be documented, I assume.

The current convention is documented on the gddo repo's wiki. I don't know if the doc needs to live anywhere more prominent or central than that (with s/gddo/pkgsite/ of course).

Closing because we're going a different way. See #40477.

https://github.com/golang/go/issues/38986

Copy of https://github.com/golang/go/issues/40477#issuecomment-665751253:
We identified a few important problems with the go-source-v2 idea, most notably:

The only guarantee for a module is a zip file. There may not even be a publicly browseable source code repository available.
The extra meta tag is only accessible if you go back to the original redirect page. It's not proxyable like all the other module metadata, nor is it preserved if the origin goes away. (Part of why it's not proxyable is that it's only a godoc.org add-on, not something the Go toolchain has ever defined.)
The rules around {revision} are very specific to Git repos and bake in details about pseudo-versions that may change in the future.

This makes us pretty confident that go-source-v2 as proposed in the other issue is not the right long-term solution. It's a little bit more module-friendly in that it knows what a version is, but it's not module-friendly enough. More thought is clearly needed.
And even if we added that go-source-v2 support today, we'd need every go get redirector to be updated before any links would start working. That's a lot to ask for a design that we're not even sure is right, especially when a better design might not require any changes at all. The right answer might be to display the code directly from the zip files, or it might be to put some info in the zip file that helps find a source display, or it might be something else entirely. We don't know.
For now, instead of defining a new tag that will require widespread adoption but still not be completely right, it seems best to get the most common sites working by making changes to pkg.go.dev directly, and then revisit the topic when we've had more time to think about the right path forward.

Gitea now has support for partial commit hashes in version 1.14.0 when it is released.

We changed the "known sites" approach to recognize specific URL schemas in the old version-free go-source tags and automatically adjust them to the versioned equivalents. That approach requires only O(number of hosting softwares) instead of O(number of hosting domains) cases and should scale better.
That change, along with our willingness to add custom patterns to the pkg.go.dev source as necessary to match new sites (see #40477), makes this proposal unnecessary. I retract it.

We changed the "known sites" approach to recognize specific URL schemas in the old version-free go-source tags and automatically adjust them to the versioned equivalents. That approach requires only O(number of hosting softwares) instead of O(number of hosting domains) cases and should scale better.
That change, along with our willingness to add custom patterns to the pkg.go.dev source as necessary to match new sites (see #40477), makes this proposal unnecessary. I retract it.

This proposal has been declined as retracted.
— rsc for the proposal review group


admin dashboard accessible even after development mode is set to false

Any clue why admin as mode is accessible even after development mode is set to false, is it a default behaviour or authentication of admin dashboard is in roadmap ?

@freakk101
Please, follow this doc https://github.com/cezerin/cezerin/blob/master/docs/how-to-deploy-a-cezerin-on-ubuntu-16-04.md#7-turn-off-developer-mode

change mode for dashboard and API
re-build
re-run


Manifest with bs_const weren't being handled correctly. This fixes it

bs_const uses equal signs in the right hand side which ini then adds quotes around the whole thing. It doesn't seem like a fix will be available soon (https://github.com/npm/ini/issues/57) so we remove it before stringifying and add it back in afterwards to get around this.

Looks great!


Give modules a name

Can Modules have a name? It's nicer to use than toString or millModuleSegments.render when doing module introspection.

How about we give modules an optional description instead? Then it can show the current path-based name (which I am unlikely to change) but also show a textual description of what the module is.

I've nothing against a description but I was more interested in being able to do something like
modules.find(_.name == findModule)

rather than
modules.find(_.millModuleSegments.render == findModule)

as I think it reads better. If you're not a fan that's cool.

@ajrnz come to the gitter channel and let's discuss what it is you actually want


Proposal
Use repo.get_dynamic_repo() as the default value instead of repo

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


MAp browser, leaflet interface, code documentation created

New catalog added:
/GUI/source_UI/doc/

Map browser, leaflet interface, code documentation created


Will this be updated?

Just wondering if the mod will be updated or if it's abandoned

If your interested in support for a newer version I can try to update it. What version are you looking for?

1.20.1, the only available equivalent mod needs to be toggled on manually with a keybind and is never on by default so it would be nice to have this for newer versions, thank you!

I've tested and the existing 1.19.3 jar works on 1.20.1. I marked it as supported on modrinth.

Oh that’s awesome! I probably should have tested that but I just assumed the jar would stop the game and send a “this mod requires version x.x.x” error.


Allow embeds/assocs on Repo.insert

The rationale is that update only accepts changesets now anyway.

Duplicate.


image filename is not correct

https://www.ershicimi.com/p/044d2f679d3289d3f615b4acf64db379
the image filename in the page above cann't be saved correctly.

Yeah, I see what the issue is there. Currently, I'm grabbing the image and saving it with its original file name, which according to the URL is something like https://mmbiz.qpic.cn/mmbiz_png/oVibRetUmUanx9eDk5w4Qria3qTxhN0x5sAhVHRWeEZNelsKJtq0fx3Puu5vWoPWGSDYH3xdvUmGHEsW8uzcrkEw/640?wx_fmt=png, the file name part of that is just "640".
I'll need to do a bit more work to make files like this have unique names and a proper extension based on image format. Which might be tricky, but should be possible.

It really a GOOD news! :-)

This should be resolved as of 3.0.0


Download Followers/Following and some details about them

Hi, I'm trying to download all of my followers and followings into a csv file along with custom fields of each account in the list.
I'm using the following code but apparently after a while I get Too many queries in the last time. Need to wait x seconds
Is there any way to reduce the number of requests?
Here's the code:
import csv

import instaloader
from instaloader import Profile

your_username = 'myUsername'
target_profile = 'myUsername'

L = instaloader.Instaloader()
L.load_session_from_file(your_username)
P = Profile.from_username(L.context, target_profile)
print("Getting 'following'")
following = P.get_followees()
newFollowing = sorted(following, key=lambda x: x.userid, reverse=False)
print("Getting 'followers'")
followers = P.get_followers()
newFollowers = sorted(followers, key=lambda x: x.userid, reverse=False)

print("Saving to file...\nFollowing: ", following.count)
with open(target_profile + "_" + str(following.count) + "_following.csv", 'w', newline='') as followingCSV:
    followingWriter = csv.writer(followingCSV, delimiter=',')
    followingWriter.writerow(
        ['User ID', 'Username', 'Fullname', 'Followed by you', 'Blocked you', 'Follows you', 'Profile URL'])
    for f in newFollowing:
        followingWriter.writerow(
            [f.userid, f.username, f.full_name.encode("utf-8"), f.followed_by_viewer,
             f.has_blocked_viewer, f.follows_viewer, f.external_url])
# ---------------------------------------------------------------------------------------------

with open(target_profile + "_" + str(followers.count) + "_followers.csv", 'w', newline='') as followerCSV:
    followerWriter = csv.writer(followerCSV, delimiter=',')
    followerWriter.writerow(
        ['User ID', 'Username', 'Fullname', 'Followed by you', 'Blocked you', 'Follows you', 'Profile URL'])
    for f in newFollowers:
        followerWriter.writerow(
            [f.userid, f.username, f.full_name.encode("utf-8"), f.followed_by_viewer,
             f.has_blocked_viewer, f.follows_viewer, f.external_url])
# ---------------------------------------------------------------------------------------------
print("Saved")

I have around 200 accounts in each list.
Any help please?

Looking at your code, we do not see how the number of requests can be reduced. get_followers() and get_followees() are very efficient and the fetched Profiles do already contain the following fields:

userid
username
full_name
is_verified
followed_by_viewer
requested_by_viewer

However, accessing some of the other fields like has_blocked_viewer, follows_viewer and external_url requires the full metadata to be present which gets fetched by an extra request.

However, accessing some of the other fields like has_blocked_viewer, follows_viewer and external_url requires the full metadata to be present which gets fetched by an extra request.

So if I remove these particular fields, can I avoid getting the Too many queries in the last time. Need to wait x seconds error (in my case at least)?

I'd expect the script to be faster and that message to appear less, if these fields are removed.

Alright I'll give it a go. Thanks for the suggestions.


Supporting the PinePhone's hardware without violating the GPL.

(This will be edited to be more concise; just copying over things for now.)
Discussed in https://github.com/DrewNaylor/Retiled/discussions/16

Originally posted by DrewNaylor June  3, 2021
I really don't want to do this because I don't like the GPL as it's so restrictive and is involved with the same organization as RMS, but there's this .NET 5 library for getting PinePhone hardware stuff that would be really useful and it's GPLv2 licensed: https://github.com/Alumniminium/PinePhoneCore
As a result of changing this to the GPLv2 (would prefer v3+ as it allows Apache Licensed stuff, but the license isn't v2+ as far as I can tell), I'd have to change some of my other projects I'm planning on using to use the Expat License (some call it the "MIT License", but that's inaccurate).
Just trying to see if there's any feedback about this.

Comment posted on the above-linked discussion

Originally posted by DrewNaylor July  6, 2021
Actually, I may be able to keep the main part of the project under the Apache License 2.0 and just make a GPL'd CLI application that uses the PinePhone hardware library to send information back to the Standard Out. The benefit of this is that the GPL won't infect the main code for Retiled, and the CLI program can be easily replaced with something that's not under the GPL as long as the input and output stuff is compatible. It may even be possible to use something like Python instead just to be able to avoid using a GPL'd library in the first place.

Comment posted on the above-linked discussion

Originally posted by DrewNaylor August 12, 2021
Perhaps it would be a good idea to build an MEF plugin that uses the GPL'd PinePhoneCore library to make porting to other phones easier and allow people to delete or replace the plugin if they don't want GPL'd code to be used. I hope that's acceptable to the GPL, considering the plugin would be completely optional and easy to replace.

Comment posted on the above-linked discussion

Originally posted by DrewNaylor August 12, 2021
Actually, what I will probably do is build both a "Basic Hardware Support for PinePhone" plugin and an "Enhanced Hardware Support for PinePhone" plugin. The enhanced one will have to be downloaded and installed separately from Retiled because the plugin will call directly into PinePhoneCore's code, but the basic one can be included in the package because it'll be calling a CLI app that returns requested info via stdout. As a result, the basic plugin's main DLL can be under the Apache License 2.0, with its corresponding CLI app under the GPLv2. I'm pretty sure this is ok because the CLI app and PinePhoneCore run as their own process, separate from Retiled's processes that'll use it. I'm not distributing the enhanced plugin with Retiled, so the user will have to download and install it themselves, but there will be an install script (and uninstall script) to make it easy.

The benefit of the enhanced plugin over the basic one is that it doesn't have to run a separate program just to get info or do stuff like vibrate when pressing the navigation buttons. This may make things faster and reduce battery usage because it won't be constantly starting .NET to get the battery percentage, for example. One potential drawback of the basic plugin is that it won't be able to do things that require being used via events, as it wouldn't be aware of anything that happens beyond what the CLI app says when it runs it. Maybe pipes could alleviate some of that, but I don't think it would be allowed.

There would have to be a way to configure which hardware support plugin the user wants to use, so that the enhanced and basic plugins can be installed and uninstalled without affecting each other. This will be very important whenever hardware support plugins for other devices like the Librem 5 are developed, so the user can install the plugin they need without having to uninstall the basic PinePhone one first.

Actually, perhaps I could develop my own library by using various documentation from Megi, since there's a lot of good stuff there. I can also use ofonocli from Martijn Braam to get modem info for apps in UIs that use it as well as mmcli for ModemManager (this'll eventually be the default for Plasma Mobile, so I should probably focus on it). Here's a page on ofonocli commands: https://sr.ht/~martijnbraam/ofonoctl/
mmcli commands: https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/debugging-3g/modem-debugging-with-mmcli

Even if I do write my own library (which I will, since I can fine-tune it to what I need while avoiding licensing issues), I'll still have to ensure people can install libraries to support other devices. Perhaps a "dummy library" that acts as a bridge interface would work, so that other libraries can just be connected to and provide data back and forth using that bridge. (Not sure how that would be implemented to switch libraries at runtime, though). If I don't do that, then more work will have to be done, resulting in duplicated code. I may have to have general hardware sensors and stuff separate from code that interacts with mmcli, since that would probably be more common across Linux phones than would general hardware stuff. Hopefully most phones can just be supported with different config files rather than a customized hardware support library, as that would be way easier.

As I mentioned above regarding plugins, I'm going to have to have an easy way to support multiple devices. I thought of a name for the ones that only involve running different commands such as when toggling the flashlight: Generic Driver Configuration Architecture, or GDCA. I probably described the idea for these somewhere, but they're just INI config files that specify what command should be run when something wants to for example do flashlight_on.
Not sure if I described this anywhere yet, but I think the file tree can be for example, (repo root)/drivers/pinephone/hardware_v1.2-beta.ini. A better layout probably exists. There also needs to be a way for specific operating systems to have their own config file, maybe with hardware_v1.2-beta_manjaro-plasmamobile.ini for an example file. First we'll look for the most specific file (one containing the environment, OS, and hardware revision), then the hardware revision, then just hardware.ini. Maybe there can also be a way to have files for specific components, if only a few things change between hardware revisions or operating systems. This can be (for example) flashlight.ini, along with the hardware revision and operating system strings and stuff.

Adding to this, rotation axis can be determined via sysfs iio, and what the PinePhone uses is described on the page for it on the postmarketOS Wiki under Components, Sensors: https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone)
Not sure if it's possible or even a good idea to constantly read it, so maybe polling every 60-300 ms will be necessary. This number is subject to change, and it would be a good idea to allow it to be customized by the user in an advanced settings page somewhere. Rotation Lock will turn off polling for rotation, and apps need to have a way to say that they don't want to rotate, or that they want to stay in a specific orientation. Not sure how to handle apps that want to get rotation info with Rotation Lock off.

Qt has window orientation flags apparently, where they're defined here (this is my copy of the repo) : https://github.com/drewnaylor/qtwayland/blob/dev/src/extensions/surface-extension.xml
Learned about that file from this issue: https://github.com/libsdl-org/SDL/issues/1826
Obviously, InvertedLandscapeOrientation is what we'll use for rotating the other way, and also for the compositor to move system UI stuff like the status and navigation bars as necessary. Might look a bit janky at first, but if it works, it's fine until it's polished.
Also in that file are window flags, such as OverridesSystemGestures, StaysOnTop, and BypassWindowManager. Not sure how BypassWindowManager could be used, but OverridesSystemGestures sounds like could be used to turn off the "swipe to hide navigation bar"  feature (then it would just always be on screen, so the user can easily access it), and it would also make the Action Center just have the small bar so it has to be pulled down twice to open.


Add support for armv7l architecture

Closes: #1622
The name was selected to match uname output, like with all the other Lima architetctures.

Needs rebase


Random kind configuration parsing error in CI

Describe the bug
Sometimes, the CI fails due to the following error:
>>>> Starting KIND cluster...
/usr/local/bin/kind create cluster --config kind-1.19.yaml 2>&1 | grep -v "already exists" || true
/usr/local/bin/kind: 3: Syntax error: newline unexpected

I created a bug in the kind repository.

It seems the problem is actually related to an error downloading the binary.


Add support for saveLayer/restore

Adds support for encoding saveLayer and restore in the vector_graphics_codec.
Makes the transform property of nodes in the compiler lazy, and re-arranges how nodes are built in order to make it easier to determine if a saveLayer is required.

Not sure why tests are failing 🤔

In one case it's cause you aren't documenting newly added public members.
In some others it looks like the coverage bot lacks ability to comment which I thought I fixed...

@dnfield can we fix or disable the coverage bot?

Let's just disable it for now - you can comment out those lines from the .yml files

Formatter isn't happy but otherwise this LGTM

(assuming it's passing tests - feel free to just comment out the coverage bit, that's really not essential for now)


Feature/add auto deploy

Coverage increased (+0.0006%) to 99.566% when pulling d1c2834f630dc2756f1d5b7c6820e6cceed427aa on feature/add-auto-deploy into a4d6c04bdd5dacdd535a1dc50020ab33119a3bf4 on develop.


Remove local build of plotnine

After https://github.com/posit-dev/py-shiny/pull/999 was merged into py-shiny, plotnine no longer needed a custom build for shinylive.
However, we are not able right now to use the current release version of plotnine (0.12.4), because it requires matplotlib>=3.6.0, and the version of Pyodide we are currently using includes matplotlib 3.5.2
After updating Pyodide, we will be able to switch to the newer version of plotnine.

I was looking into this for https://py.cafe, and this depends on https://github.com/pyodide/matplotlib-pyodide/pull/52 and https://github.com/pyodide/pyodide/pull/4510