What are yt-dlp's error codes?

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2022.06.29 (update instructions) or later (specify commit)
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
I have to download multiple videos from youtube (a list of approximately 30 URLs) and I have written a script reading these youtube URLs from a text file and launching the yt-dlp in a loop for each download. But I know, sometimes downloads of video files, when being performed with this utility, fail, but being repeated after some time this download succeeds. All I need is a way the yt-dlp utility could notify the calling script of an error that took place during download or processing downloaded files and the requested video not being downloaded and saved to my hard drive. If a mistake of that kind occured the calling script could write a message to a text log, and after the script had terminated (with successful and failed downloads) I could analyze the logfile manually and start the unlucky downloads repeatedly.
What's the method of the yt-dlp utility to notify the calling script or binary program about the errors that took place during the video download? How my script can differ successful downloads from failed ones? Of course one could redirect, parse and analyze the screen output of the utility, but it's a complicated task and this output is ineligible for machine analysis. And I can't sit all the time and watch the output of multiple yt-dlp copies - the fetch will take many hours. Could anybody help me resolve my problem? Has it any acceptable solution?
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

The exit code is 0 if there was no error

OK! And if an error occured while an attempt to download a file, what would be the error code of the program?

Here are the current exit codes:
  0 = Everything is successful
100 = yt-dlp must restart for update to complete
101 = Download cancelled by --max-downloads etc
  2 = Error in user-provided options
  1 = Any other error

Since 1 represents a broad range of errors, we may split this into multiple error codes in the future. The other error codes are guaranteed to continue as-is in future versions.
For deciding whether to retry, you just need to check that the error is not in 0,2,101

Thank you very much for your answers, pukkandan!
Actually I 've got all the information I needed.
Due to my question, I have a small feature request. Where can I publish it if it's interesting to you?

If it is tightly related to this question, you can just ask here. Otherwise, you can open a new issue with the "feature request" template

It seems the yt-dlp utility doesn't have a manpage. Counter to it, its mother utility, youtube-dl has a manpage. I think, it's a serious flaw. Such a complicated multifunctional utility should have a good thorough man.

On the other hand, some useful convenient documentation is available through "yt-dlp --help" call. It's good and this option must be preserved. A good thorough manpage and "yt-dlp --help" option could supplement each other. "yt-dlp --help" could contain a circumcised version of man, while "man yt-dlp" could have the full detailed description of the program and all of its options and keys.
Yet another variant is possible. The manpage and the --help option output could be precise copies of each other? they coud show in facsimile the same text. Still two ways of showing quite the same text. In this case ther is no need of creating two different documentations, one complete and thorough and the other brief. You'll have to maintain the single text, and it will be much easier. And this text will be shown by two different commands. Still I'm sure, a good manpage is necessary for such a useful program.

Before asking you a question about error information returned to the calling script by yt-dlp I looked into the youtube-dl and yt-dlp documentation for the exit codes, returned by these utilities. I searched for the information in

man youtube-dl
youtube-dl --help
yt-dlp --help
but nothing appropriate was found there. The failure of video download reported as a nonzero exit code, returned to the calling script, is an obvious decision. Amost all Unix/Linux utilities behave this way. However this aspect was not reflected in the documentation, neither youtube-dl nor yt-dlp. The guides of both programs contain no section dedicated to exit codes of these programs. It's a serious omission, in respect that all Unix/Linux command line utilities mans have a section, describing exit codes of corresponding utilities. By habit, this section is called "Exit Satatus". It's a very important section for script writers, without knowledge of these codes it's impossible to write reliable scripts capable of processing and correcting erroneous situations. Here is an example of such a section from another famous file fetcher, Wget:
EXIT STATUS
Wget may return one of several error codes if it encounters problems.
   0   No problems occurred.

   1   Generic error code.

   2   Parse error---for instance, when parsing command-line options, the
       .wgetrc or .netrc...

   3   File I/O error.

   4   Network failure.

   5   SSL verification failure.

   6   Username/password authentication failure.

   7   Protocol errors.

   8   Server issued an error response.

   With the exceptions of 0 and 1, the lower-numbered exit codes take
   precedence over higher-numbered ones, when multiple types of errors are
   encountered.

   In versions of Wget prior to 1.12, Wget's exit status tended to be
   unhelpful and inconsistent. Recursive downloads would virtually always
   return 0 (success), regardless of any issues encountered, and non-
   recursive fetches only returned the status corresponding to the most
   recently-attempted download.

I think, something like that the yt-dlp must have. All exit codes must be listed and a detailed explanation what each code does mean must be given.
Otherwise there is no sense in producing error codes by your Python utility, no one knows, no one is aware of, and thus no one may take advantage of. It's a sort of a secret exit code, one can learn only after getting deeply familiar with your Python source. I'm sure, a good thorough "Exit Status" section must be created in your documentation.
You've expressed a thought, it would be good to split the existing small number of error codes, each representing a wide range of errors, into a large number of exit codes. I think it's a good idea. The more detailed information of errors, that have happened, is, the better is for programmer or a script writer. More chances to analyze and understand them. The single rule must be, if the files were finally downloaded successfully and without mistakes, and they were successfully merged, the exit code must be equal to 0. This is a sign, that no repeated download of this video is needed.

I have some considerations on making a log file.

On the one hand, a script can analyze the exit code of the terminated yt-dlp utility, and according to this exit code returned it can form and output a message to the text file. In this case all text message generation will be implemented in the calling script. On the othwer hand, we can entrust this task to the utility itself.
We cannot simply redirect the yt-dlp output to the text file in the manner like
yt-dlp > log.txt 2>&1
as yt-dlp output contains lot's of terminal control sequences. When printing log.txt on a terminal via cat, there is an illusion we are having a correct text, but if we open this file in any text editor what it actually is.
Thus I have a suggestion. We could implement several options which force the yt-dlp program to create such logs. Yere is a sketch of these options.
I.
-l
--logfile
Make a simple brief log and write it to the file.
Create a file  if nonexistent or open an existing file and truncate it to zero length. In the termianal stage of the program execution before exiting write a simple brief notification of the video fetching operation, performed by the program. In case of success the notificayion may contain the text like this:
Video by the URL <video_URL> was downloaded successfully.
The resulting file is <file_name>.
In case of error of any kind and download failure the text can be like this:
Video by the URL <video_URL> failed to download.
The server interrupted connection.
No video file was created.
Video by the URL <video_URL> failed to download.
The server returned an error status <http_error_code>.
No video file was created.
Video by the URL <video_URL> not capable of downloading.
Not enough free space on your hard drive (548 MB required, 259 MB free)
No video file was created.
II.
-L
--appendlog
Make a simple brief log and append it to the end of a file.
The same as I, but if the file exists it's not cleared, it's not truncated, however the log message is appended to its end.
In more details, if the file does not exist it is created with zero length and the message is put to it. If the file yet exists, it is opened, it's not truncated, it's contents is preserved and the message is appended to it's end. The message is quite the same as in case I.
III.
-m
--termlog
Duplicate the contents of the terminal output to the file.
Create a file  if nonexistent or open an existing file and truncate it to zero length. In the termianal stage of the program execution before exiting write the same message into it as was printed to the terminal, but without all these terminal control sequences. No ncurses, no colours, just plain text, which repeats precisely the terrminal output of the program.
IV.
-M
--appendterm
Duplicate the contents of the terminal output and append it to the end of a file.
The same as I, but if the file exists it's not cleared, it's not truncated, however the log message is appended to its end.
In more details, if the file does not exist it is created with zero length and the message is put to it. If the file yet exists, it is opened, it's not truncated, it's contents is preserved and the message is appended to it's end. The message is quite the same as in case III.
In case of II and IV we need some delimitor string to delimit messages from each other. Various versions are possible, and I don't know which one is better. We can delimit neighbouring messages with one empty string, in C-like notation "\n". We can delimit them with a pair of empty strings, i. e. "\n\n". We can separate them from each other with a string of 80 dashes - "--------------------------------------------------------------------------------". We can devide them with a string of 80 underscores - "". We can add an empty string before these dashes and anotherr one after them. Then we'll get this "\n--------------------------------------------------------------------------------\n" or that "\n\n". We can think out something else, different from the variants mentioned above. Various ways are possible, the main idea is two adjacent log messages must not merge with each other.
I think my designations is not good and well-turned, I've thought them out on the run. You may choose letters other then -l,-L, -m and -M, and words different from --logfile, --appendlog, --termlog and --appendterm, I think they are bad.
On the other hand, it seems to me the idea of log generating by the yt-dlp to be good. It could simplify the task of creating a log and rid the programmer or a script writer from analyzing exit codes of the yt-dlp utility and composing numerous text messages, from all these numerous case ... esac constructs. It could save lot's of time to a bash script writer, since all logging functionality would be concluded in the utility itself and called with a simple key, followed by the name of the text file. After the script had finished its job, the user could open the logfile in any text editor, look it through and decide, whether there were some errors and does he need to refetch some of his files, whose download was unsuccessfull.
Excuse me for being too verbose. I just wanted to state my proposal in an easy to understand way. Anyway, it's a view of a common user of this utility. Perhaps yt-dlp developers will find some of my suggestions to be interesting.

That is a lot of different questions and feature requests. It would have been better to open a separate issue for each

It seems the yt-dlp utility doesn't have a manpage. Counter to it, its mother utility, youtube-dl has a manpage. I think, it's a serious flaw. Such a complicated multifunctional utility should have a good thorough man.

We do have a manpage. It just might not have been registered on your system based on how you installed yt-dlp. If you want to manually register it, the manpage is in yt-dlp.tar.gz (https://github.com/yt-dlp/yt-dlp#release-files)

The failure of video download reported as a nonzero exit code, returned to the calling script, is an obvious decision. Amost all Unix/Linux utilities behave this way. However this aspect was not reflected in the documentation, neither youtube-dl nor yt-dlp. The guides of both programs contain no section dedicated to exit codes of these programs. It's a serious omission, in respect that all Unix/Linux command line utilities mans have a section, describing exit codes of corresponding utilities. By habit, this section is called "Exit Status". It's a very important section for script writers, without knowledge of these codes it's impossible to write reliable scripts capable of processing and correcting erroneous situations. Here is an example of such a section from another famous file fetcher, Wget:

Would you like to create a PR adding this to Readme? (The manpage is autogenerated from readme)

You've expressed a thought, it would be good to split the existing small number of error codes, each representing a wide range of errors, into a large number of exit codes. I think it's a good idea. The more detailed information of errors, that have happened, is, the better is for programmer or a script writer. More chances to analyze and understand them. The single rule must be, if the files were finally downloaded successfully and without mistakes, and they were successfully merged, the exit code must be equal to 0. This is a sign, that no repeated download of this video is needed.

See https://github.com/yt-dlp/yt-dlp/issues/2947

We cannot simply redirect the yt-dlp output to the text file in the manner like
yt-dlp > log.txt 2>&1
as yt-dlp output contains lot's of terminal control sequences. When printing log.txt on a terminal via cat, there is an illusion we are having a correct text, but if we open this file in any text editor we'll see what it actually is.

yt-dlp should detect it is not writing to console and omit the color codes. If that is not working, open a bug report with example and relevant verbose logs (You can also use --no-color as a workaround)

Thus I have a suggestion. We could implement several options which force the yt-dlp program to create such logs. Here is a sketch of these options.
...

I don't understand why you need a new "brief" log. Explain to me why the current logging levels are insufficient

-M
--appendterm
Duplicate the contents of the terminal output and append it to the end of a file.

For a fixed filename, this is the same as shell redirect and there is no point in adding such a feature directly. However, there is merit in such a feature if we are to allow writing the different log levels (progress, verbose, info, warning, error, traceback) to different files. But sadly, this is not trivial to implement and the request can be tracked in https://github.com/yt-dlp/yt-dlp/issues/2668
PS: There is also no need to have separate appending and truncating options. User can always delete the file before running yt-dlp if needed

Use PIP or another package manager

Another question. You wrote:

yt-dlp should detect it is not writing to console and omit the color codes. If that is not working, open a bug report with example and relevant verbose logs (You can also use --no-color as a workaround)

Please try this:
yt-dlp https://www.youtube.com/watch?v=C9O28ne6bG8 > log.txt 2>&1
I tried it on Debian. What I got in the file log.txt was a text with lots of carriage returns. In txt editors like Emacs or vim they are visible as ^M.

huh? Why is carriage return problematic? It should just be treated like newline in text files... Or, use --newline. I thought you were talking about other control characters

huh? Why is carriage return problematic? It should just be treated like newline in text files... Or, use --newline. I thought you were talking about other control characters

Because carriage return in a log is a nonsense. It's used to erase the current line and replace its contents with a new one, but it's never present in any text files including files of program output journals. It's an element of screen visualization like other control sequences and it has nothing to do in a text file.

Did you not read the rest of my comment? or did that not work?

Or, use --newline. I thought you were talking about other control characters

You also never responded to the rest of my questions. So I am closing this. While I entertained your mass of unrelated questions in this one issue, this makes it difficult to track the flow of the conversation over a long term. I suggest you open a new issue for each feature request/question if you need further clarification on them

i m getting this error
ERROR: unable to download video data: HTTP Error 403: Forbidden


Customizing the Dropdown Fieldgroup

We often do modifications on standard NAV tables to provide more information on the dropdown when selecting master data (adding "description 2" field for table Item, adding "Enterprise No.", "Search Name" field for table Customer, ...), using the 'DropDown' fieldgroup.
How can this be achieved using table extentions?
Would it be possible to add the fields to the dropdown using the in-client designer as well?

This is currently not supported. We will add support for it over the next few updates.
There are currently no plans to support field groups in the in-client designer but we will consider it.

any news of this feature?

Agree, this is a very common request. Must be more running into the same issue. Please up-vote.

Yes, we also often modify this part of code. I sign up for vote.

This is a common change made is the any updated on this?

Still waiting for this feature.
For me this is a must-have in table extensions, if the developer could just simply re-create the dropdown fieldgroup for said table.

Please add this feature! We realy need it!

We will be starting to work on this feature in the near future.
We are currently discussing the scope of the feature. Is it sufficient that we allow adding additional fields to an existing field group? We will not allow removing any fields nor adding duplicate fields. Also, at least in the first iteration, not allow changing the order of the fields in the group.

Just some related thoughts.
When reviewing the dropdown feature, maybe also consider sorting on any column without the need for a key, like available in normal list pages. Please also provide a shortcut Edit next to New and Advanced that allows direct navigation to the card page, to get more details on the selected record. And provide the same Edit shortcut via rightclick on any field that has a table relation... this will ease the navigation process a lot.
Another issue we face a lot is that table relations are often not sufficient for a more complex lookup, so the Onlookup is coded. This is gives another experience to the user, another page open instead of the in-page dropdown...

Some additional thoughts (from various key users that are used to do fast data entry)
Suppose you have 2 customers that are named 'Van Terp A' and 'Van Terp B'. When users enter the value 'Van Terp' in the 'Customer No.' field and immediately presses Enter / TAB to the next field, an error occurs ('Van Terp' is not a valid customer no.). They need to have patience for the dropdown list to load first, then select the correct customer and enter / TAB. This takes approx. 1 - 2 secs to load, which is too long for power users.
Can this be enhanced so the error is not shown, but the dropdown is at least shown in case multiple records apply to the search query?

Thanks for the feedback. I should clarify that at this point we are only looking at the programming/extensibility model for field groups. Not at the client behavior of them or optimizing UX.
I will pass on the feedback to the owning team but let's keep this thread focused around AL.

I look forwarded for this new feature. I am following up Fvet input about sorting extended columns as also searching is important to do. I.e., our customer use field "Item No. 2" as old no., and need the ability to search for that number from the sales line look up. To provide that, I had to add "Item No. 2" as an index key.

@StanislawStempin What's the best place to post and follow up these UX / application improvement requests and get the same quick feedback and solution as we get via Github? 👍
MS Collaborate (seems to be limited to bugs for [Ready!] and Dynamics NAV feedback channel is quit silent) or via Dynamics Experience?

Here's what I received from the Client team:
•	Got a great idea or suggestion for Microsoft to add to Business Central? Post it to https://aka.ms/businesscentralideas and get the community to vote it up!
•	Customer impacted by an issue you've encountered? If you are a credited partner, just file a Support Request to Microsoft Support. Or if you are a customer, please engage with your partner.
•	If you've got feedback on pre-release versions of Business Central, discuss on Yammer or report defects to the Collaborate engagement.

It is now possible to extend field groups. See this blog post for more details:
https://blogs.msdn.microsoft.com/nav/2018/08/31/developer-preview-august-2018/


[WFLY-7759] Mixed domain with EAP 6 slaves: data sources operations broken

Jira: https://issues.jboss.org/browse/WFLY-7759

retest this please

Added mixed domain test cases.

I think it is too much to write a new DataSourceTestCase for the test, move it to test00011_ExampleDSConnection() in SimpleMixedDomainTest.java


C export or C codegen?

My projects are normally in c++ or c, not familiar enough with rust, but from what I've read it's apparently possible to export functions that can be called with c. Looking at the codegen cli's output:
impl<'s> ::logos::Logos<'s> for Token {
    type Extras = State;
    type Source = str;
    const ERROR: Self = Token::Unknown;
    fn lex(lex: &mut ::logos::Lexer<'s, Self>) {
        use logos::internal::{CallbackResult, LexerInternal};
        type Lexer<'s> = ::logos::Lexer<'s, Token>;
        fn _end<'s>(lex: &mut Lexer<'s>) {
            lex.end()
        }
        //etc
    }
}

I'm not familiar enough with rust's syntax to know what exactly is happening, but I suspect it can be converted to c, or a wrapper around fn lex could be exported.
#[no_mangle]
pub extern "C" fn lex_string(lex_context: ?, str: *mut u8, sz: usize) {
	//call logo's lex
}

I'm replying late because I think it is an interesting topic. Perhaps it's still useful? :smile_cat:
The following requires that you hard-code a particular token type. It builds, but there may be safety errors, so please audit before you use!
//! The following assumes you have a token type called `token_t` that you impl `logos::Token` for and that is repr(C).
use std::{
    ffi::{c_int, c_void},
    slice, str,
};

// mock up the logos stuff we need
#[allow(non_camel_case_types)]
#[repr(C)]
pub struct token_t;
struct Lexer<T>(std::marker::PhantomData<T>);
impl<T> Lexer<T> {
    fn new(#[allow(unused_variables)] input: &str) -> Self {
        Lexer(std::marker::PhantomData)
    }
}
impl<T> Iterator for Lexer<T> {
    type Item = T;
    fn next(&mut self) -> Option<Self::Item> {
        todo!()
    }
}

/// Create a lexer from an input string
///
/// # Safety
///   - The caller is responsible for keeping `input` alive and constant until `my_lexer_free(*mut my_lexer_t)` is called.
///   - `input` must be a valid utf-8 byte sequence with size `input_sz`.
///   - the returned type is not thread-safe
#[no_mangle]
pub unsafe extern "C" fn my_lexer_create(input: *const u8, input_sz: usize) -> *mut c_void {
    let input: &'static [u8] = slice::from_raw_parts(input, input_sz);
    let input = str::from_utf8_unchecked(input);
    let lexer: Lexer<token_t> = Lexer::new(input);
    Box::into_raw(Box::new(lexer)) as *mut _
}

#[no_mangle]
pub unsafe extern "C" fn my_lexer_free(lexer: *mut c_void) {
    let lexer: Box<Lexer<token_t>> = Box::from_raw(lexer as *mut _);
    // This would happen anyway at the end of the scope
    drop(lexer)
}

/// Returns true if there was another element.
///
/// There are other ways you could represent `Option<token_t>` in C if you prefer.
#[no_mangle]
pub unsafe extern "C" fn my_lexer_next(lexer: *mut c_void, token: *mut token_t) -> c_int {
    let lexer: &'static mut Lexer<token_t> = &mut *(lexer as *mut _);
    match lexer.next() {
        Some(t) => {
            *token = t;
            1
        }
        None => 0,
    }
}

Link to playground

Been a while, I might revisit playing around with this library again if I can make sense of the rust, just because it's so nice. I think I tried a rough version of the language I was going to parse and found I was doing better with a handwritten lexer. I can't remember. But in any case, just for simple things I'd definitely love to use this over writing something by hand.
I take it that:
#[repr(C)]
pub struct token_t;

the #[repr(C)] forces a struct layout like we'd expect in C so that we can use it later in the wrappers?

So repr(C) means "lay this out how you would lay the equivalent struct out in C, for example the fields in
#[repr(C)]
pub struct MyType {
    id: u32,
    rest: *mut u8,
}

and
struct my_type_t {
    uint32_t id;
    char *rest;
}

will have the same alignment, position, with the same padding between them... you can reinterpret one as the other. If you have
pub extern "C" fn foo() -> MyType { .. }

in Rust you can
my_type_t foo();
/* .. */
my_type_t bar = foo();

You can use cbindgen to generate the header files for you.

I would've just written everything by hand, thanks for the tip.


Facebook browser not known

How to reproduce
browser = Browser.new("Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Mobile/14D27 [FBAN/FBIOS;FBAV/<IP_ADDRESS>.52;FBBV/55555555;FBDV/iPhone9,3;FBMD/iPhone;FBSN/iOS;FBSV/10.2.1;FBSS/2;FBCR/AT&T;FBID/phone;FBLC/en_US;FBOP/5;FBRV/0]")
browser.known?
=> false
browser.name.to_s
=> "Generic Browser"
What do you expect
browser.known?
=> true
browser.name.to_s
=> "Facebook"
Software:

Rails version: <IP_ADDRESS>
Browser gem version: 2.3.0

Is this the user agent when Facebook opens up a page on a web view?

Here is another example; user agent from an external link opened from iOS Facebook app (uses Facebook browser):

Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 [FBAN/FBIOS;FBAV/<IP_ADDRESS>.90;FBBV/66877072;FBDV/iPhone9,3;FBMD/iPhone;FBSN/iOS;FBSV/10.3.3;FBSS/2;FBCR/AT&T;FBID/phone;FBLC/en_US;FBOP/5;FBRV/0]


benchmark: remove huniq

FYI huniq is 10x the speed of sort + uniq, and we used to have logs that would create a huge amount of errors in benches, to the point of crashing the piped command (which is under pipefail).

Oof.  Yeah, I wanted to try it out.  Mostly as a bandaid until I figure out how to safely install things on the new runners but will probably just spend the time figuring out the permissions problem instead :)


CORE-5040 Config DB/Kafka reconciliation integration

aligns uses of  Configuration.version that got changed to an int.
abstracts out applying defaults to Config to be used by both ConfigWriterProcessor and ConfigPublishServiceImpl.
moves applying config defaults inside ConfigPublishServiceImpl.put to be used by default by anyone publishing config to Kafka.
adds Config reconciler that runs once at start up to reconciler configurations.
removes Reconciliation and RPC boot configurations. These are now added to the DB and are getting reconciled the first time Config reconciliation runs.

Relies on #397.

Yes Crypto Config DB/Kafka reconciliation integration is going to be done under CORE-5086.


code release date

@VladimirYugay Great work. This looks promissing. Do you have any plan to release code or any ETA date?

Hey there, thanks for your interest!
Yes, we do plan to release it. The code is ready to be released, but we didn't get the green light to publish it from the organization that funds our lab yet. We update the README for the ETA.

Thank you very much for your reply. Can't wait to test it. :)

Really looking forward for the code too.

Code release!


Refactor graph data structure

We're going to need to refactor the graph data structure into something more strongly typed. We need something that is easily workable in two directions: from starting state to accepting state(s), and from an accepting state to the starting state. This is so we can input indices and retrieve index+PLURAL, as well as input index+PLURAL and retrieve indexes and indices. Note that multiple outputs can be achieved in both cases, up or down the graph using the foma terminology.
With the current data structure, the reverse operation on the graph is very expensive. If we change our data structure though, we won't have to reverse anything; all we'll have to do is change if we start at our start state or accepting state, and whether we're following the graph normally or in reverse.
This'll look something like this (I'm unsure about if this visitor stuff is needed but I put it in because I think it might be):
class DirectedEdge:
    def __init__(self):
        self.id: int
        self.source_node: Node
        self.target_node: Node
        self.input_symbol: str
        self.output_symbol: str
        self._last_visited_by: int
        self._times_visited: int

    def visit(self, visitor: DirectedNode):
        if visitor.id == self._last_visited_by:
            self._times_visited += 1
            return

        self._last_visited_by = visitor.id
        self._times_visited = 1

    def visits_by(self, visitor: DirectedNode):
        return self._times_visited if visitor.id == self._last_visited_by else 0

class DirectedNode:
    def __init__(self):
        self.id: int
        self.is_accepting_state: bool
        self.transitions_in: list[DirectedEdge]
        self.transitions_out: list[DirectedEdge]

class DirectedGraph:
    def __init__(self):
        self.start_state: DirectedNode
        self.accepting_states: list[DirectedNode]
        self.multichar_symbols: set[str]

Something like this I think. The instance variables _last_visited_by will be a unique ID for that current walk of the traversal algorithm, and for each time that walk walks that edge, you add to the times visited. We'll then cap times visited. This can then be used to stop infinite looping. We'll then read the .att file into this structure, and change our algorithm to walk this graph.

Closed by 0e0c3acca341f77b569ad682b60cf63ba0cd8381


Project Debugging Issue

Theme Feature Debugging - FETCH ERROR EXAMPLE
I attempted to recreate a basic problem that I had surprisingly frequently encountered during the development of my feature due to previous my lack of experience debugging: difficulty with managing endpoints and Fetch API (trouble establishing connection between backend and frontend).
I simulated the issue described above by doing the following: below is what the port should be for fetching the endpoint in the backend that allows my theme changing/settings changing feature to work.

Here is me changing it to an incorrect port, just 800 rather than 8008 in this case. This is to break the functionality of the feature and simulate/replicate similar issues I faced during the real development of my feature.

Below shows split screen testing loading source for an API Fetch.

Below demonstrates the breakpoint at fetch in action following the input for the "Save Settings" button, which involved calling to the backend with the port (previously 8008, now 800 for testing/making error).

Observing the stop/breakpoint in the backend for the endpoint in the backend following "Save Settings" button input on the frontend. User Data of current active User can be seen on the left-hand side.

Using the breakpoint we put on fetch and the errors we get alongside both in the frontend console (bottom of screen capture) and on the site itself (red text above bottom half of split screen), we can pinpoint the problem more directly as being with fetch.

We resolve this problem by inspecting the breakpoint (fetch) while debugging more closely and concluding that the problem is due to an incorrect port to the backend, which should be 8008, not 800. Below is the same "Save Settings" button input action following adjusting the port back to 8008.

Great frontend example!!!  Missing step to debug all the way to the backend.

Well-organized discussion, and written examples of frontend debugging that correlate with screenshots. Could include more related to backend endpoint, nonetheless exceptionally well done. 1.85/2


"Keep updated" for BetterBibTeX JSON

Hi,
(There's no error report available for this)
There is no option to have "Keep updated" for BetterBibTeX JSON. I wondered if that option could be added?
Best,
Lyndon

AFSDBCNP-euc
(I've picked a reference to which this applies and generated an error report, in case it helps)

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>79 ("auto-update for BBT-JSON, fixes #1203")
Install in Zotero by downloading test build <IP_ADDRESS>79, opening the Zotero "Tools" menu, selecting "Add-ons", open the gear menu in the top right, and select "Install Add-on From File...".

try 4079

That works. Thank you!


New lab: part 2 of client-side constraints

I thought it'd be nice to add another client-side restrictions lab, this time focusing on commented-out functionality and "hidden"  endpoints. Including walkthrough with screenshots and clear instructions.

Happy holidays 👍

Ping @blabla1337

Ping @blabla1337

@blabla1337 any news on integrating this new lab?

@blabla1337 any news on integrating this new lab?


New package: SUSE.SUSE.15SP5 version <IP_ADDRESS> (240801)

Created by 🥟 Dumplings.
Microsoft Reviewers: Open in CodeFlow

My VMs cannot enable WSL, so I can't verify:

[Policy] Reaet Feedback


[HackADoc] Adding two articles related to Azure Storage Blob Snapshots

[HackADoc] Adding two articles and their media for Azure Storage Blob Snapshots

storage-create-blob-snapshot.md
storage-blob-snapshots-billing.md

Giving these the benefit of the doubt, although we generally don't address billing in docs. Please be sure to link to pricing.

Sure. The billing article actually does not mention any price points but explains how charges are accrued for blob snapshots. "Understanding How Snapshots Accrue Charges" is the title of the article.


Remove Quotas checks and alerts from DO Analysis

Context
See https://github.com/CartoDB/bigmetadata/issues/230
Expected result
As per the above, user should be able to freely run DO analyses without incurring in credits consumption or getting any alert to that effect. Note that this might return in the future and in the backend we are leaving that possibility open.
cc @kevin-reilly @noguerol @xavijam @nobuti

Closed by #12573.


[libra framework] Remove 0xF1A95 and use 0xA550C18 as config address

This PR removes the 0xF1A95 address and account from the system. Configs are now stored under the 0xA550C18 address.
Closes #4576

:umbrella: The latest upstream changes (presumably 95c426b72f15effb97908de8b3dd58846ac3085c) made this pull request unmergeable. Please resolve the merge conflicts.

@bors-libra r=sblackshear

:pushpin: Commit 265f29e has been approved by sblackshear

:hourglass: Testing commit 265f29e5026f19695d86761d2ce4195304cc2f0a with merge 25a7f7640317381622142c0a649f781596208e4b...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: sblackshear
Pushing 25a7f7640317381622142c0a649f781596208e4b to master...

[move-prover] Move Prover test (language/move-prover/cargo test) on commit 265f29e did fail. See details.

This was actually breaking the verification in an unexpected way. I've disabled verification for this property in another PR and will look at re-enabling it.


[DO NOT MERGE] feat(functions): add firebase analytics sample

Do not merge until this is tested against Firebase Analytics.
(It's not possible to test this without having an Android application handy, so that's why I omitted the DeployTest.)

@schandel can you confirm that this sample works? Thanks!

Tested sample, looks like the function is being triggered on a conversion event being logged, but the call to hello_analytics is failing. Will follow-up on email to investigate.

The function name (as used in the sample) is firebaseAnalytics. I'm presuming that you used hello_analytics in your console-deployed function, though?

Hm... I actually didn't define a hello_analytics target function name. Maybe that's a default that the CF Analytics integration expects? I just granted you edit access to the test project to check it out.

Update: got it working, thanks Sumit!

RE the lack of DeploymentTests - I was debating whether or not to document this in the repo, but there is no way to trigger these functions without using a mobile app, as the Firebase "web" SDK events do not trigger these functions!
(@schandel is aware of this; IDK if the Firebase team will attempt to change it or not. cc @samtstern as FYI.)
Emulators work for this too, but do we really want to add a mobile emulator to our toolchain (especially for a single sample)? 🙃

@schandel @samtstern I added y'all as code owners for this sample, since we (Cloud DPE) don't have the ability to test it ourselves (due to the "must have an app" requirement).
Does that sound OK to you?


x/net/http2: add support for ALTSVC frame

ALTSVC frame with http2

Needs more info:

Client side, server side, or both?
What kind of API, if any, would you want to see?
RFC 7838 describes it as “a non-critical extension”: why should it be a priority? (What's your underlying use-case?)

CC: @bradfitz @tombergan


Card not working in Tabview in Nativescript-vue

I tried this plugin with a Tabview in {N}+Vue and it did not work.

    <TabView :selectedIndex="tab">
        <TabViewItem title="Assigned Requests">

            <CardView class="card" elevation="40" radius="10" ios:shadowRadius="3">
                <StackLayout class="card-layout">

                </StackLayout>
            </CardView>

        </TabViewItem>
        <TabViewItem title="Accepted Requests">

        </TabViewItem>
    </TabView>

</Page>

It works well without a tabview.

A bug? Please look into this @bradmartin

Never mind! I wrapped the card with StackLayout in the Tabview and it worked. I guess the card has to be in a container Layout.


Error accessing the maps on sacsos.org

http://sacsos.org/locations?category=Hot Meals for instance, can't load the map.  Perhaps a google maps Api key problem?

Its working now.
On Wed, Feb 5, 2020, 7:11 PM Kevin Fries<EMAIL_ADDRESS>wrote:

http://sacsos.org/locations?category=Hot Meals for instance, can't load
the map. Perhaps a google maps Api key problem?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/code4sac/SacSOS-Ohana-api/issues/1?email_source=notifications&email_token=ADUQVRTHT773REYZAMEJK4TRBN5VLA5CNFSM4KQVXHW2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4ILMMJLA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADUQVRTF7O2SU2BPZ36CP6LRBN5VLANCNFSM4KQVXHWQ
.


OverlayScrollbars now fixed, plz rebuild demo

@danny007in approved my PR, so if you merge and build, the demo should work again.
Currently, none of the submenus work because of it.

Will do next time I'm on desktop.


PDF export has wrong MIME type

Lunar version: 1.0.0-beta.2
Laravel Version: 11.23.5
PHP Version: 8.3
Database Driver & Version:

Expected Behaviour:
Exported pdf file should have MIME type "application/pdf".
Actual Behaviour:
MIME type is "application/octet-stream". This results in validation errors on other web forms.
Steps To Reproduce:
Go on "Orders". Select an order. Download order as PDF. Check MIME type with online tools.

Could you clarify what you mean by...

This results in validation errors on other web forms.

Thanks

If the file needs to be uploaded on another website, where the form validates the file type with mime_content_type(), it results in "application/octet-stream" which can fail the validation.

So do you have this automated somehow?

No, I found that by chance. I used the file to test a form of a website I work on and thought that the form broke but instead it uses the said method and fails to validate the file. I haven't tested it with other forms on other sites, but if they do check the MIME type and don't rely only on checking the file extension (which is not a safe way), it will fail there too. In any case the MIME type should match with the file suffix to prevent any possible errors.

I believe that mime type is used to force the download of the PDF.

I mean the current set-up using "application/octet-stream" is intended, as we wanted the PDF to download in a browser, not open in the browser.
Happy to have a discussion here to determine if any changes are required.

There is a way to preserve the correct application/pdf MIME Type while still having the browser download the file.
Here's how it is managed in barryvdh/laravel-dompdf:
    /**
     * Make the PDF downloadable by the user
     */
    public function download(string $filename = 'document.pdf'): Response
    {
        $output = $this->output();
        $fallback = $this->fallbackName($filename);

        return new Response($output, 200, [
            'Content-Type' => 'application/pdf',
            'Content-Disposition' => HeaderUtils::makeDisposition('attachment', $filename, $fallback),
            'Content-Length' => strlen($output),
        ]);
    }

    /**
     * Return a response with the PDF to show in the browser
     */
    public function stream(string $filename = 'document.pdf'): Response
    {
        $output = $this->output();
        $fallback = $this->fallbackName($filename);

        return new Response($output, 200, [
            'Content-Type' => 'application/pdf',
            'Content-Disposition' => HeaderUtils::makeDisposition('inline', $filename, $fallback),
        ]);
    }

I tried to look at Lunar's source code for the PDF generation, but can't seem to find where the 'application/octet-stream' Content-Type is defined. If you can point me in the right direction I'd be happy to look at that issue.


[WIP] Support ListExpression '@[]' in PowerShell

PR Summary
Another attempt to address #5643
This design is to add the ListExpression '@[]' to PowerShell, which is similar to ArrayExpression '@()' but always returns a List<object>.
Please review with #5761 as a comparison, where list is supported as a ListLiteralExpression, similar to ArrayLiteralExpression.
A blocking issue
@[] has a SubExpression like '@()' and '$()'. However, unlike the closing parenthesis character ')', the closing bracket character ']' doesn't always force to start a new token, and it can be included in a generic token, meaning that ']' can appear in a command name, argument, or function name. This makes it impossible for @[dir] to determine the ending of the list expression because dir] will be treated as a single generic token.
This PR adds the property InListSubExpression to Tokenizer, and makes ']' a force-to-start-new-token character when _tokenizer.InListSubExpression is set. This approach solves the most common UX problem but is by no way perfect, for example, comparing to @(funcHas[]inName) or @(dir has[]inpath), @[funcHas[]inName] and @[dir has[]inpath] won't work because the first ']' will force the command name to end.
I couldn't find a less hacky solution without breaking changes (make '[' and ']' always not included by GenericToken). So I started to think what if we support list in PowerShell like the ArrayLiteralExpression instead of @(). In that case, a list can only contain Expression elements and hence command name, arguments, and function names won't be a problem for the ending bracket. #5761 was also submitted to support list as a ListLiteralExpression.
Example
# an empty list
> $l = @[]
> $l.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     List`1                                   System.Object

# one element list, the element is a type
> $l = @[[string]]
> $l.Count
1
> $l[0]

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object

# multi-element list
> $l = @[$pid,2,$home,4]
> $l.Count
4
> $l.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     List`1                                   System.Object

# arbitrary statements in @[], like @()
> $l = @[dir]
> $l.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     List`1                                   System.Object

> $l.Count
30

PR Checklist
Note: Please mark anything not applicable to this PR NA.

[x] PR has a meaningful title

[x] Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] User facing Documentation needed

[x] Issue filed - Issue link:

[x] Change is not breaking
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affectes feature tests

[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

You could consider 2 character tokens.
For example, F# uses this syntax for an array literal:
[| 1; 2 |]

There are other possibilities that probably aren't breaking changes, e.g. [< 1, 2 >].
The key here is to use a second character that can't be in a command name.

@lzybkr that's a good idea! I didn't think in that way. It would be great if we can have @[] because it resembles the existing @() and $(), but I'm fine to have new token pairs for List support.
I will start prototype with [<>], and wait for more discussion at the same time.


Add advance block feature for pallet-contracts

Is there an existing issue?

[X] I have searched the existing issues

Experiencing problems? Have you tried our Stack Exchange first?

[X] This is not a support question.

Motivation
No response
Request
Add a root extrinsic to pallet-contracts that allows to fast forward the block number. The actual block number (as maintained by frame-system) should not be affected and work as expected. Only the block number exposed to smart contracts should be able to fast forward.
This will require to add some extra storage to pallet-contracts to keep track of the difference of blocks reported to the smart contract and the actual block number.
Solution
No response
Are you willing to help with this request?
Yes!

This has been implemented and is part of branch 1-add-advance-block-feature-for-pallet-contracts-1, which should be kept separately.


Tool doesn't appear

Am I doing something wrong?
compose.yml file is;
services:
mpc-bridge:
build:
context: .
container_name: mpc-bridge
ports:
- "8000:8000"
restart: unless-stopped
.env file is
MCP_BRIDGE__INFERENCE_SERVER__BASE_URL=https://api.openai.com/v1/chat
MCP_BRIDGE__INFERENCE_SERVER__API_KEY=sk-proj-*****************
MCP_BRIDGE__MCP_SERVERS__FETCH__COMMAND=uvx
MCP_BRIDGE__MCP_SERVERS__FETCH__ARGS=[mcp-server-fetch]

The .env file is for if you are not using docker. This was really unclear in the docs, sorry for this.
https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/
I will attach my compose file for now, and will update the docs shortly
services:
  mpc-bridge:
    build:
      context: .
    container_name: mpc-bridge
    ports:
      - "8880:8000"
    environment:
      - MCP_BRIDGE__inference_server__BASE_URL=http://mybaseurl/v1 # replace with your base url
      - MCP_BRIDGE__INFERENCE_SERVER__API_KEY=mytoken # replace with your token
      - MCP_BRIDGE__MCP_SERVERS__FETCH__COMMAND=uvx
      - MCP_BRIDGE__MCP_SERVERS__FETCH__ARGS=["mcp-server-fetch"]
    restart: unless-stopped

or add the env file to docker compose yml config
https://docs.docker.com/reference/compose-file/services/#env_file

ah I presume thats why I've had to do this:
 settings = Settings(
    inference_server=InferenceServer(
        base_url="https://api.openai.com/v1",
        api_key="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"
    )
)


handle no connection

if they go offline and the device can detect it we'll show them they're offline
https://capacitorjs.com/docs/apis/network

I don't like this. It's very jarring. It's one thing if it's during the setup, but if there's a little disconnection while on the home screen, the whole screen converts and flashes back when the connection resumes. This is not a good experience for a blip in connection issues. You can do a little disconnection icon at the top or something.


marker icon should have option to only get PNG, JPEG or GIF formats

static map does not support svg images

done in #28


Update a contribution section in README.md

Codecov Report

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

@@           Coverage Diff           @@
##           master     #122   +/-   ##
=======================================
  Coverage   17.72%   17.72%
=======================================
  Files           3        3
  Lines         158      158
=======================================
  Hits           28       28
  Misses        128      128
  Partials        2        2

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 394c3bc...585b6b6. Read the comment docs.


Annoying bug

Every time when file saving, plugin opens new empty nimlime file, I disabled ALL settings, but no, it is still opens

I'm sorry but I can't reproduce this on a clean install. Are you using the stable version right from Package Control, or the unstable code directly from the repository?

Windows 10
Sublime Text 3,
NimLime 1.2.8 from Package Control
seems as if plugin don't read user settings
(sorry for my english)

Some more questions:

Can you give me a printout of your PATH variable?
What other plugins do you have installed?
Does the error occur consistantly, after uninstalling and reinstalling NimLime?

reinstall don't help
plugins:
AdvancedNewFile
AutoFileName
Calculate
Color Highlighter
ColorPicker
CSS Color Converter
Emmet
FileDiffs
Markdown Preview
MarkdownEditing
Nettuts+ Fetch
NimLime
Package Control
Pretty JSON
PyV8
SideBarEnhancements

PATH:
C:\Program Files\ConEmu\ConEmu\Scripts
C:\Program Files\ConEmu
C:\Program Files\ConEmu\ConEmu
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\Program Files\Sublime Text 3
C:\ProgramData\chocolatey\bin
C:\Program Files\nodejs\
C:\Program Files\Microsoft SQL Server\120\Tools\Binn\
C:\Program Files\Microsoft SQL Server\130\Tools\Binn\
C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\
C:\Program Files\Git\cmd
C:\Users\User\AppData\Local\Programs\Python\Python35\Scripts\
C:\Users\User\AppData\Local\Programs\Python\Python35\
C:\Program Files (x86)\Git\bin
C:\Program Files (x86)\Git\libexec\git-core
C:\Program Files (x86)\MSBuild\12.0\Bin
C:\Users\User\cmdutils
C:\Users\User\AppData\Roaming\npm
C:\Users\User\vcbuild\vcbuildFixForNode
C:\Program Files\mingw-w64\x86_64-4.9.1-win32-sjlj-rt_v3-rev3\mingw64\bin
C:\Nim\dist\babel
C:\Nim\bin
C:\Program Files (x86)\GnuWin32\bin

something useful
Traceback (most recent call last):
  File "D:\workapp\sublime text 3\sublime_plugin.py", line 568, in run_
    return self.run(edit, **args)
  File "D:\workapp\SUBLIM~1\Data\INSTAL~1\NIMLIM~1.SUB\nimlime_core\commands\output_helper.py", line 15, in run
ValueError: need more than 1 value to unpack

@roose Still haven't found the problem, as I can't replicate it on my machine. Do you have the same problem using the development version from the repository?

我恰恰恰 Sublime Text 3 Build 3114
file nimlime_core/commands/output_helper.py
    def run(self, *pargs, **kwargs):
	        edit_obj, action, args = pargs
	        if action == 'insert':

file NimLime/nimlime_core/utils/mixins.py
        output_view.run_command(
	            'nimlime_output',
	            dict(action='insert', args=(output_view.size(), content))

This is fixed by a recent commit on the master branch, if you use that. Otherwise, I should be pushing out a new stable version to Package Control this weekend.

NimLime 1.2.11 all ok, thanks )

I'm getting this error with v1.12.16, tried reinstalling but the issue persists.
Before save:

After Save (One more floating window pops up showing me errors, screen capture can't capture it because it vanishes on any key press)

To get highlight back to normal, have to open the file once again.
Nimlime tab shows this:


Disable MSVC warning C4702 in SC_wrapper.h

Under MSVC the sc_core::sc_in<T>::end_of_elaboration() method throws a compilation warning, which is hoisted to an error:

C:\tmp\linux-shared-files\git_test\pass-0\systemc-3.0.1\src\sysc\communication\sc_signal_ports.h(298,1): error C2220: the following warning is treated as an error
C:\tmp\linux-shared-files\git_test\pass-0\systemc-3.0.1\src\sysc\communication\sc_signal_ports.h(298,1): warning C4702: unreachable code

This was observed whilst compiling a pipeline control test module used in another project.
As this is a latent problem, it is being back-fit to this project.

Need to keep SC_wrapper.h consistent between this repository and the private repository pass-0.
Fix is already in pass-0.


[BUG] Fix payout transaction failure on the nomination page

Overview
Identify and resolve the issue that causes the payout transaction for multiple eras to fail on the nomination page.

Ensure there's a limit to batched calls so we send multiple batches when clicking to submit all as well as consolidate all the records and list all the era we're eligible for claiming.


✏ Refactor ShowCarousel to handle loading data

ShowCarousel does not handle displaying loader components for its own data.
Currently, each location that ShowCarousel is called, has its own handling of rendering loaders. This functionality should be handled internally by the component itself.
This would look like updating ShowCarousel component props to accept a boolean to display loader or carousel.

Closed by #629


rio chart

Issue: https://github.com/rancher/rio/issues/339
Few questions to address still with this PR:

Is NS label rio.cattle.io/is-system=true necessary ?
Right now the config only specifies features if they are disabled. Should we put all features in config whether they are true or false ? Guessing this doesn't matter.

Helm chart for Rio was moved to new format and is located here


Update Community page with projects and orgs built on Envoy Proxy

Envoy has a dynamic community of projects built on it and companies offering products and support. This is built upon the work of @trjordan https://github.com/envoyproxy/envoyproxy.github.io/pull/31
We propose listing the projects and orgs in accordance to the CNCF Website Guidelines:
https://www.cncf.io/projects/website-guidelines/

Hey @mattklein123 and @richarddli let me know if you see any issues with this.
I've added a handful of projects/orgs to start so it should be good enough to merge. We can make a formal call on the users/dev mailing list for other folks to add them.


Release 0.22.5

To get https://github.com/ponylang/ponyc/pull/2745 fix out. I'm going to wait til 0.22.4 for OSX has been released before starting this.

TravisCI and Appveyor are green.

Blessing 7619b4348387ccb6d3b00a35d57b5551945ceb6b

Homebrew PR opened: https://github.com/Homebrew/homebrew-core/pull/28669

Release notes PR opened: https://github.com/ponylang/ponylang.github.io/pull/298

Windows packages are available in bintray

Gentoo ebuild updated.

TravisCI did not kick off for... unknown reason.

A little manual intervention and TravisCI is running again.

Thanks @stefantalpalaru

Deb package available in bintray.

Docker image is available.

Pony playground is updated to 0.22.5

COPR build failed

Waiting on homebrew.

Homebrew done

Finished this. Forgot to close it.


Device not present

Running Venus OS v3.50~13 (this is a beta of the new Gui, but I am viewing the old console) on a Raspberry Pi 3.
This is a test build, so nothing else connected at the moment.
Large image - Node Red enabled.
Installed the device driver, everything seemed correct, changed the config.ini to use the IP address of the Raspberry Pi.
The MQTT driver is not showing in the 'Devices' section.
Opening Node Red I cannot find a battery in the relevant node.
Log shows    *** starting dbus-mqtt-battery ***
WARNING: root:Waiting since 60 seconds for receiving first data....
But as I cannot locate the battery monitor in Node Red I cannot create any input.
Any suggestions?

Probably you understood wrong how the driver works. The driver fetches the data from the MQTT broker and topic you defined in the config.ini. You can use Node-RED to post the correct JSON data to the topic.

Manuel,
Yes, I was expecting to see the Virtual Driver in Node-Red as I was going to manipulate the MQTT payload before sending it through.
What I was hoping to do is show the voltages of the two starter batteries and the generator battery on my Cerbo GX, currently it only monitors my domestic battery.
The other battery voltages are published using MQTT, and I was going to send dummy data for the SOC and Current values as I don't calculate them, adding this in Node-Red, that is why I was looking for the device in the Node-Red objects.
I will create some data to see if that will make the device appear, and if so republish the data via MQTT to your device driver.
I was using an alternative I found, but this only supports a single virtual battery, and I actually need three (or 4 if I include the bow-thruster batteries).
Many thanks for explaining how it works.
David

On 15/08/2024 18:04 BST Manuel @.***> wrote:
Probably you understood wrong how the driver works. The driver fetches the data from the MQTT broker and topic you defined in the config.ini. You can use Node-RED to post the correct JSON data to the topic.
—
Reply to this email directly, view it on GitHub https://github.com/mr-manuel/venus-os_dbus-mqtt-battery/issues/26#issuecomment-2291727958, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF2RLKHUMOQAGDPF2RB6YV3ZRTNQFAVCNFSM6AAAAABMSBNHHGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJRG4ZDOOJVHA.
You are receiving this because you authored the thread.Message ID: @.***>


[AutoPR compute/resource-manager] updated Reimage API documentation in compute json for ephemeral os disks

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4644

(message created by the CI based on PR content)

Codecov Report

Merging #3915 into restapi_auto_compute/resource-manager will increase coverage by 0.59%.
The diff coverage is 100%.

@@                            Coverage Diff                            @@
##           restapi_auto_compute/resource-manager    #3915      +/-   ##
=========================================================================
+ Coverage                                  55.71%    56.3%   +0.59%
=========================================================================
  Files                                       9193     9165      -28
  Lines                                     187941   183867    -4074
=========================================================================
- Hits                                      104713   103535    -1178
+ Misses                                     83228    80332    -2896

Impacted Files
Coverage Δ

...e/azure/mgmt/compute/v2018_06_01/models/os_disk.py
29.41% <ø> (ø)
:arrow_up:

...10_01/models/virtual_machine_reimage_parameters.py
66.66% <ø> (ø)
:arrow_up:

...8_06_01/models/virtual_machine_extension_update.py
33.33% <ø> (+2.56%)
:arrow_up:

...mpute/v2018_10_01/models/diff_disk_settings_py3.py
66.66% <ø> (ø)
:arrow_up:

...01/models/virtual_machine_scale_set_os_disk_py3.py
31.25% <ø> (ø)
:arrow_up:

...1/models/virtual_machine_reimage_parameters_py3.py
66.66% <ø> (ø)
:arrow_up:

...irtual_machine_scale_set_reimage_parameters_py3.py
66.66% <ø> (ø)
:arrow_up:

...18_10_01/operations/virtual_machines_operations.py
51.53% <ø> (ø)
:arrow_up:

..._10_01/models/virtual_machine_scale_set_os_disk.py
100% <ø> (ø)
:arrow_up:

...ls/virtual_machine_scale_set_reimage_parameters.py
66.66% <ø> (ø)
:arrow_up:

... and 217 more

Continue to review full report at Codecov.

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

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/3668


Thanks for your report!
With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.
If you think we should keep this issue open, please let me know.

I have the same problem and I solved it as follows:
Command:
$ rancher exec -it --user=root grafana / grafana id

Results:
uid=0(root) gid=0(root) groups=0(root)

Options in rancher exec are not exactly the same as those of docker, contrary to what is mentioned in the Rancher-Cli documentation.
you must add a = between the --user option and the username.


Type inference not strict enough

TypeScript Version:  3.5.2

Search Terms: type inference
Code
// Let me start with what works as expected, to contrast it with unexpected behavior later.

interface Types {
    key1: string;
    key2: number;
}

class C<Key extends keyof Types> {
    constructor(public key: Key, public value?: Types[Key]) {}
}

// This does not typecheck because false is not assignable to Types[Key],
// where Key is inferred as the type of "key1". So far, so good.
const c1 = new C("key1", false);

// These do typecheck:
const c2 = new C("key1", "foo");
const c3: C<any> = new C("key1", "foo");
const c4: C<"key1"> = new C("key1", "foo");

// Type variable correctly inferred and applied to type of instance, so doesn't typecheck:
const c5: C<"key2"> = new C("key1", "foo");

// Now for the unexpected behavior…

type Mapped = {
    [K in keyof Types]?: C<K>;
};

const m: Mapped = {};

function f(key: keyof Types) {
    // Why doesn't this typecheck? key has a certain type Key,
    // from which the generic type of the new instance should be derived,
    // i.e. C<Key>. This, in turn, should be assignable to m[key].
    m[key] = new C(key);

    // Why do I need this cast?
    m[key] = new C(key) as C<any>; // ok
}

Expected behavior: The line m[key] = new C(key); should typecheck.
Actual behavior: This line doesn't typecheck (error TS2322).
Playground Link:
Related Issues:

Consider if you had written
function f(key1: keyof Types, key2: keyof Types) {
    m[key1] = new C(key2);
}

This assignment is clearly unsafe - there's no guarantee that key1 and key2 have the same value.
TypeScript tracks types, not values, so the example in the OP is effectively identical. key in one position is as different from key in another position as key1 and key2 are. It's as if you had written
declare function obscure(k: keyof Types): keyof Types;
function f(key: keyof Types) {
    m[obscure(key)] = new C(obscure(key));
}

Is f safe? It entirely, entirely depends on the implementation of obscure, even though obscure appears to be an identity function.
Relating through the identity of key isn't safe either:
function f(key: keyof Types) {
    const tmp = new C(key);
    key = obscure(key);
    m[key] = tmp;
}

So you'd need some new concept of "A provably-identical reference to the exact same value at some point in time", which is very difficult to reason about.

Thanks for clarifying, Ryan. That explains why it works with string-literal keys but not with variable keys.
And I think you put it well with the "provably-identical reference".
However, I don't think the value of key: keyof Types, i.e. string at runtime, could be changed in a line such as m[key] = new C(key);. So in such cases, the compiler would be able to know, right?
Side question: why is a value of type C<any> assignable to m[key] here?

You could imagine adding dozens of special cases for "this is provably going to be the same thing", yes.

So ultimately the limiting factor here is that TS doesn't care about runtime types (or has no concept of them). This is a huge shortcoming, which I know probably cannot be removed from a language based on JS, right?
I'm currently working on a problem where I'd really need to check types at runtime. I know it can be done using object instances but this seems quite redundant when working with interfaces otherwise. I'm learning that TS is just a compile-time layer (with its own merits though).


Add metadata of user-defined code to exceptions

As discussed on Podlodka Presentation, traceback have multiple Dishka internal calls between user incorrect code and traceback of exception, for example, dependency loop found. Quite useful to grab a metadata of user code, such as filename and position, and place that information close to ASCII image of dependency loop.

current traceback example:
Traceback (most recent call last):
  File "/home/tishka17/src/dishka/tmp/cycle_2comp.py", line 36, in <module>
    c = make_container(Provider1(), Provider2())
  File "/home/tishka17/src/dishka/src/dishka/container.py", line 184, in make_container
    ).build()
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 365, in build
    GraphValidator(registries).validate()
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 195, in validate
    raise e from None
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 189, in validate
    self._validate_factory(factory, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 170, in _validate_factory
    self._validate_key(dep, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 158, in _validate_key
    self._validate_factory(factory, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 170, in _validate_factory
    self._validate_key(dep, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 158, in _validate_key
    self._validate_factory(factory, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 170, in _validate_factory
    self._validate_key(dep, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 158, in _validate_key
    self._validate_factory(factory, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 170, in _validate_factory
    self._validate_key(dep, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 158, in _validate_key
    self._validate_factory(factory, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 170, in _validate_factory
    self._validate_key(dep, registry_index)
  File "/home/tishka17/src/dishka/src/dishka/registry.py", line 153, in _validate_key
    raise CycleDependenciesError(factories)
dishka.exceptions.CycleDependenciesError: Cycle dependencies detected.
         ~~~ component='', Scope.APP ~~~
    → →  <class '__main__.A'>
   ↑   ↓ <class 'int'>        Provider1.a1
   ↑   ↓ <class 'float'>      Provider1.a2
   ↑   ↓ <class 'bool'>       Provider1.a3
    ← ←  <class 'complex'>    Provider1.a4

Second line of traceback contains the information, which is good to be placed close to Cycle ASCII diagram. For example, it may be like that:
In file "/home/tishka17/src/dishka/tmp/cycle_2comp.py", line 36,
dishka.exceptions.CycleDependenciesError: Cycle dependencies detected.
         ~~~ component='', Scope.APP ~~~
    → →  <class '__main__.A'>
   ↑   ↓ <class 'int'>        Provider1.a1
   ↑   ↓ <class 'float'>      Provider1.a2
   ↑   ↓ <class 'bool'>       Provider1.a3
    ← ←  <class 'complex'>    Provider1.a4

Or, alternatively:
dishka.exceptions.CycleDependenciesError: Cycle dependencies detected.
         ~~~ component='', Scope.APP ~~~
    → →  <class '__main__.A'>
   ↑   ↓ <class 'int'>        Provider1.a1
   ↑   ↓ <class 'float'>      Provider1.a2
   ↑   ↓ <class 'bool'>       Provider1.a3
    ← ←  <class 'complex'>    Provider1.a4
Problem is located down to the file "/home/tishka17/src/dishka/tmp/cycle_2comp.py", line 36,
    c = make_container(Provider1(), Provider2())


How to check if a "like" media exists?

Guys,
is there any method to verify if a media exists before I perform the like action?
I use to store some medias ut sometimes I get this error:
{"message": "Sorry, this media has been deleted", "like_error_key": "like_media_does_not_exist", "status": "fail"}

I have just seen there is a new function called "info" inside Media repository


Follow intent URL

Describe the Feature
It would be nice if Bluesky could add a new intent (/intent/follow?actor=pfrazee.com) that would open up the profile of said actor and prompt you if you want to do a follow.
It should prompt for a sign in/register account first and then a follow prompt, if the user is not authenticated.
Attachments
Twitter: https://x.com/intent/follow?screen_name=bluesky

Describe Alternatives
N/A
Additional Context
N/A

+1, would like to see this too!


Configurability of reconciler replicas, worker-count and verbose

Description
Changes proposed in this pull request:

Add possibility to configure verbose level of mothership and component reconcilers (default false)
Add possibility to configure worker-cont option of mothership and component reconcilers (default 50)
Increase mothership scrape timeout to 30s

Related issue(s)

/hold

/retest

/retest

/retest


Signl4 Logo Correction

Required items, please complete
Change(s):

Repackaged the solution

Reason for Change(s):

Logo was not visible

Thanks a lot.


Updated to beta web3

This PR updates TypeChain to support the web3 1.0 API.
This code now returns strings in place of BigNumber's to keep compatibility with web3's API.

@krzkaczor I've merged next and retargeted. I've left the version as 1.0.0 but it's up to you if you want to go down that route.

@linusnorton thanks! I will figure out something regarding the version.

Hello all. Very interesting project. Any news on this PR? I don't mind making the requested changes and creating a new PR out of them. Please let me know.

@jpeletier Hey! I am willing to merge it of course! Someone has to just fix comments. It would be cool if you could work on this @jpeletier


[quickwin] wallet loading

What problem does this new feature solve?
Wallet loading Quick wins
Describe the solution you'd like
Updates
• Only one main Retry action
• Universal link as a secondary option, in a link
• Other options exposed underneath
https://www.figma.com/file/jjt28S7DTuKxVAYLdb8vmn/Web3Modal?type=design&node-id=4230-68596&t=gsyisLKthX9yo8GY-4

Implemented in v3


Refactor build pipeline

Hey, curious why moving away from gatsby? No worries if this proves a easier path for what you want but do you have any feedback on what we could make easier?

Hey @KyleAMathews 👋  There were couple factors, the one is that I really want to have complete control over the api for querying data, so gatsby's automatic schema creation while great was making this overly complicated because I had to create a master node that would then query several child nodes to gather data, and it turned out getting complicated fast.
The second is that there are some custom things I want to do with landr, like picking theme's and automatically installing and downloading them and having the freedom to do what ever I like helps me sleep better at night.
Another thing was that the core functions build/serve were a mixture of convention vs configuration in that it was tricky to run my cli in CWD, and then build the site in another arbitrary folder, I got around by doing some process.chdir tricks but it wasn't ideal.
Another thing which is probably the most tangible in terms of what you can improve is that I found the dev exp when contributing to gatsby pretty tough going. It took me quite a while to get everything set up and occasionally things would break unexpectedly, also there didn't seem to be consistent style to the code I assume this is because of the fast migration from v0 - v1.
I still think gatsby is the best static site generator out there today, so all of this feedback is meant with the best intentions. Let me know if you anything needs clarifications :)

Appreciate the feedback! Yeah theming is a big deal which Gatsby doesn't yet have a great story on. Hope to improve that over coming ~6 months.
Would love to work with you at some point at making Gatsby work for y'all. I think building more specialized website tools on top of Gatsby would be an incredibly powerful thing and would love to make it trivial.


Merge K sorted Linked List in C,C++,Python

The problem is to implement a function that merges k sorted linked lists into a single sorted linked list.
I would like to implement a function merge_k_lists that takes an array of k sorted linked lists as input and merges them into a single sorted linked list. The function should return the head of the merged linked list.
Solutions

One of a solution is to use a priority queue (min-heap) to efficiently select the smallest element from the k linked lists at each step and append it to the merged linked list. This approach ensures that the overall time complexity is optimized.
Another alternative solution is to use a divide-and-conquer strategy. The function can repeatedly merge pairs of linked lists until only one remains. This approach reduces the problem to merging two sorted linked lists, which can be achieved using a simple merge algorithm.

Additional context
Consider handling edge cases such as an empty array of linked lists or linked lists with no nodes. Discuss the time and space complexity of the chosen approach, as well as any trade-offs associated with the implementation.
@Kumar-laxmi
Please review the proposed implementation and provide feedback or suggestions for improvement.

Would like to add java code for the same.

Assigned!
@hlw-aryan : C, C++, Java and Python

@hlw-aryan What is your status on this issue?

I'm around 80% done, and I'll soon post a pull request.
@Kumar-laxmi


⚠ AGEG website (redirect) has degraded performance

In a6c727c, AGEG website (redirect) (https://ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 4716 ms

Resolved: AGEG website (redirect) performance has improved in f47d5f5.


ci: attempt fix (again eek)

#766  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Only show header icon on mouse move

Although it's a small thing, I find the eye icon a little distracting when everything else is hidden by Zen mode.
These changes hide the icon when the mouse is not being moved (i.e. when one is simply typing).

It looks great, I'll add in the next release (today). Sorry for the late reply. I've had to take a small break haha


recent versions not available on FDroid

The most recent version available on FDroid is 1.4.14. However, there are several newer versions on GitHub, including a bugfix for #103.

Duplicate of https://github.com/n76/Local-GSM-Backend/issues/102
Closing as duplicate, but if the latest does not show up on F-Droid will re-open.


novops: init at v0.12.0

Description of changes
Novops is a secret and config manager for development and CI environment. It loads secrets and configs as files and environment variable in current environment. Secrets are securely loaded (as tmpfs files or directly in process memory) and only kept for as long as they are needed.
Novops works on x86_64 / aarch64 and Linux / Darwin, though I was not able to test specifically aarch64 Nix build (non-Nix build works).
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Looking good - can you please rebase to just two commits:
novops: init at 0.12.0
maintainers: add pbeucher

in other ecosystems we've done a lot to avoid committing huge cargofiles such as pkgs/by-name/no/novops/Cargo.lock . I am not familiar with Is there any way to avoid that (like substitute paths in the lockfile instead) ? Maybe we can wait for https://github.com/jmgilman/vaultrs/pull/58 to get merged (maintainer self requested review last week).

Indeed this lockfile should be temporary, it contains a depency on direct-link to Github repo for vaultrs which forced me to include it here. There's a new maintainer on vaultrs so hopefully it'll get merged soon

Waiting for next release of https://github.com/jmgilman/vaultrs to remove custom lock file and rebase, then this PR will be ready to be merged :)

Rebased and removed cargo.lock following vaultrs release, all good :)

Result of nixpkgs-review pr 290658 run on x86_64-linux 1

1 package built:

novops

I quite like this tool. Merging once CI passes ;)


Feature/calculate years needed to buy apartment

calculate years needed to buy apartment

Well done Jinan! Could you please re-check the test cases? or we can discuss it in a meeting if you like.


Test Issue created at Mon, 12 Jul 2021 12:19:16 GMT

Test issue body  Mon, 12 Jul 2021 12:19:16 GMT

Comment on issue at Mon, 12 Jul 2021 12:19:19 GMT


Update end2end.yml

DO NOT REVIEW

We shouldn't do this. The block of code being removed updates the version of the component (flyteadmin, flytepropeller, etc) in the sandbox. This doesn't work in the single-binary case. We'll have to rethink how this is going to work once we transition functional tests to run on the new sandbox.

yup, I think we can do something like
git clone git@github.com:flyteorg/flyte.git
go mod edit flyteadmin....
make build_native_flyte # it will rebuild the image
# https://github.com/flyteorg/flyte/blob/9bef5ffc16f5aafc4ff07a64bce86d0b55dddd8a/Makefile#L101
flytectl demo start --image <new_image_name>


VIAME-Dive JSON file vs folder named .JSON [BUG]

Describe the bug
Notice in I believe both windows and linux if you download everything from server it could include a folder named resuly_{timestampt}.json.  This prevents it from loading properly in VIAME-Dive
To Reproduce
Steps to reproduce the behavior:

Download data from the web version which contains a json file.  Make sure you download everything
There should be a folder in there if with the name of result_{timestamp}.json
This should prevent the viewer from loading properly.

Expected behavior
should properly ignore directories even if they are named with a .json inside of them.
Desktop (please complete the following information):

OS: I believe windows and linux

Additional context
I think this should be a simple fix.

I noticed this, then fixed it, then got distracted and stashed the changes last week, and I've lost the stash.
I'll fix it again.

I noticed it before (like probably in my initial windows testing) but just deleted the folder and continued my testing and forgot to log/fix the issue.  So I figured I create an issue just to remind myself.


ActiveCampaign only returns 20 forms

We face an issue where the ActiveCampaign Form Picker only returns 20 forms, even though there 42 forms created.
Searching does not work since it just filters in the already returned forms.

Hi @AndersBrohus ,
I have released version 2.0.4 of the package with support for pagination.
Thank you for bringing this to our attention,
Adrian

Thanks alot @acoumb :)


Support default GCP auth mechanism for BigQuery

Is your feature request related to a problem? Please describe.
When using GCP runtimes to run soda scan, there's quite some workaround to be done to authenticate as there's no support of default auth gcp mechanism on Soda side.
Soda is expecting a json service account file path or value here and create a Credentials object used to auth against BigQuery.
In GCP runtime environment, the Credentials object can be automatically retrieved as the following :
import google.auth

credentials, project = google.auth.default()

AFAIK, there's no way to serialize this one as a .json , so the workaround is to store a .json key of the corresponding default service account used in these services to secret manager and retrieve it at runtime to be able to pass it for Soda.
Besides, this mechanism lookup automatically if GOOGLE_APPLICATION_CREDENTIALS is set and retrieve the json path
so it could simplify code on Soda and avoid having a custom env like BIG_QUERY_ACCESS like it is today and would be more standard for local development too.
Documentation about the default auth mechanism here
Describe the solution you'd like
Soda should be able to do a default auth mechanism with the above snippet and use standard env GOOGLE_APPLICATION_CREDENTIALS.
I'm happy to help for a PR - but I think some part of the BigQuery integration code is not public 🤔 ?

I was confused as I couldn't find the current env used for Soda on BigQuery Connection but I think the docs is not up to date, it refers  BIG_QUERY_ACCESS here  but in the code it's BIGQUERY_ACCOUNT_INFO. So should be pretty straight forward to implement this.

You can now (soda sql  >= 2.1.2) provide use_context_auth and project_id to your warehouse.yaml. This will use context authentication https://docs.soda.io/soda/warehouse_types.html#gcp-big-query


How to exit app?

I ran some of your demos.
I don't know how to exit.
Normally Control+C or Control+D exits app.

https://electronjs.org/docs/api/accelerator


coreg extremely slow

Coreg in the development version is unusably slow for me - it takes more than 5 minutes to load headshape points, and any further operation which requires them to redraw takes similar amounts of time. It runs fine however on branch maint/0.18.
This is on Ubuntu 18.04 and mayavi 4.7.0.dev0

Can you try #6732

Yep, works great. Thanks!


Rephrase definition for cameraInterval

cameraInterval is currently defined as:

Time specified between shutter triggers when activity in the sensor will not trigger the shutter. Expressed in seconds.

Can this be rephrased to:

Predefined duration after a trigger when activity detected by the camera sensor is ignored. Expressed in seconds.

Is that clearer? Does that convey the information correctly? @yliefting

Yes, that's better. I find 'cameraInterval' still a bit vague but alternatives like 'quietPeriod', 'triggerCooldown' are similarly ambiguous. Let's keep 'cameraInterval' with the new explanation.

I agree that the term cameraInterval doesn't immediately bring to mind what it is. Interval is maybe used as a synonym for "pause, delay", so maybe cameraDelay is better?

I am fine with cameraDelay and a new definition.

Note that the word trigger and sensor aren't mentioned anywhere else in Camtrap DP. I've already rephrased detected by the camera sensor sensor to detected by the camera, but what about trigger. Is it fine to reference as such:

Predefined duration after a trigger when activity detected by the camera is ignored. Expressed in seconds.

Or should we use after a capture. Note that capture is referenced in captureMethod:

Method used to capture the media file.

Decided to keep it at:

Predefined duration after a trigger when activity detected by the camera is ignored. Expressed in seconds.


Fix TODOs

Update video link secrets-manager/docs/_pages/0220-init-container.md. Marked as TODO in file and uncomment link code.
Update link in secrets-manager/docs/_pages/0180-use-cases.md
Update new issue link in docs/_pages/0140-production.md

1st fixed by #161. Removed video links for now, will added to appropriate place as and when produced.


Build wheel for Python 3.12

Hi, it is me again. Would it be possible for you to build wheels for Python 3.12? I cannot install this from source on my machine running Ubuntu 24.

Should be supported as of https://github.com/nmwsharp/potpourri3d/releases/tag/v1.1.0  Thanks!


Fix docker-compose on Docker for Mac

This PR fixes issues encountered when running via docker-compose on Docker for Mac.
The following changes were made:

Use Spotify's kafka image due to Confluent's images not supporting Docker for Mac
Use dind. This works more reliably than trying to mount the host's docker socket and what not.
Tweak gocql's timeout. Scylla appears to be kind of slow on Docker for Mac.

Verified it works with docker-machine as well 👍


http://xapi.jisc.ac.uk/externalURL rather than http://xapi.jisc.ac.uk/vle/externalURL

I'm pretty sure this is a documentation error:
In the vocab, externalURL doesn't follow the pattern of the rest and is
http://xapi.jisc.ac.uk/externalURL
rather than
http://xapi.jisc.ac.uk/externalURL

Could it be because externalURL isn't a VLE 'thing' and could be an external URL in any platform?
Happy to change this, but I'll leave it for discussion on Monday, as I think its a quick check and fix.

yes, i did wonder if it was because it wasn't a vle thing, but then the same applies to other elements.

As a general principle, I favour semantics and names which are general rather than application-specific.
an external URL feels "not a VLE thing" but a VLE course area "is a VLE thing". Arguably, a quiz in a VLE is no different to that in a simple e-assessment tool, but not all e-assessment tools are just vle-like.
I note that Bb have used the documented URI, without "vle" in the name.
I conclude: the current doc URIs represent a judgement call which is not wrong and should be left as it stands.

I think it was done by mistake, rather than judgement, as we've not been consistent. I don't feel strongly either way though.


use binary gpg signatures instead of ASCII armored ones (.asc -> .sig)

makes the signatures downloadable by default
instead of showing them in the browser

I already gpg --dearmor'ed all the .asc files and uploaded the .sig files.

Anyone?

Is one format more widely used than the other?

makes the signatures downloadable by default instead of showing them in the browser

If this was the only motivation, we could've done the same with .htaccess (though not sure if those work on wherever the downloads are hosted).

The use case for ASCII armoring is embedding in text which we don't do and the download page already names them sig. This should go into stable though.

See #1078

If this was the only motivation, we could've done the same with .htaccess (though not sure if those work on wherever the downloads are hosted).

I'd have to delete and reupload all the signatures to S3 in order to change the content-type.


Gasoline Cost Prediction ML Model

Is your feature request related to a problem? Please describe.
The gasoline cost prediction ML model that uses LSTM and ARIMA algorithms to analyze historical data and other factors to forecast future gasoline prices.
Describe the solution you'd like
dataset:
UK Petrol Prices.csv
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I would like to work on this issue

@smty2018 - you can go ahead! We are assigning you 21 days for this project, after which it will be assigned to someone else if not completed. All the best!
Name the file as: algorithm_dataset.ipynb and link it in the readme of the labeled directory as algorithm - dataset.
@nayan2167 - we follow a first-come-first-serve policy, hence, cannot assign you this issue.


Update flyway-core, ... to 10.17.2

About this PR
📦 Updates

org.flywaydb:flyway-core
org.flywaydb:flyway-database-postgresql

from 10.17.0 to 10.17.2
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.flywaydb" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.flywaydb" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #76.


Workaround tox 2.3.0 regression.

See:
https://bitbucket.org/hpk42/tox/issues/294/tox-23-regression.

@dhermes @jgeewax This one is pretty urgent:  all our tests break with tox 2.3.0.  I intend to merge as soon as Travis is green.

I have a better fix.

ISTM the issue is the use of {[testenv]setenv}. This is very similar to the issue you linked to.

diff --git a/tox.ini b/tox.ini
index e92ace7..0b3b727 100644
--- a/tox.ini
+++ b/tox.ini
@@ -54,7 +54,7 @@ passenv = {[testenv:system-tests]passenv} SPHINX_RELEASE READTHEDOCS LOCAL_RTD

 [testenv:docs-rtd]
 setenv =
-    {[testenv]setenv}
+    PYTHONPATH = {toxinidir}/_testing
     LOCAL_RTD = True
 basepython = {[testenv:docs]basepython}
 commands =

Just ran tox -e py27 with this change and it passed with no issues.

Ditto on py26,py33,py34,cover and lint.

@dhermes I'm not sure what you mean:  do you want to push a different PR?  Or do you think I should update this one?

Just update this one and feel free to merge if you can get Travis to pass


Isolate ModuleCache for SwiftPM tests

To workaround the ModuleCache issues that we've been seeing on Swift CI
rdar://problem/51596389

@swift-ci smoke test


esp-wifi: Reduce logging level for normal timer operations.

When building with log level Debug, the logs quickly get polluted by the following log lines. I believe, since they are normal operations, they should be degraded to trace level:
*Note: I may be forgetting others, but these are the general ones I'm seeing
https://github.com/esp-rs/esp-hal/blob/d3f03042f317f6e80c42c407015a0b452723c106/esp-wifi/src/compat/timer_compat.rs#L56-L59
https://github.com/esp-rs/esp-hal/blob/d3f03042f317f6e80c42c407015a0b452723c106/esp-wifi/src/compat/timer_compat.rs#L76
https://github.com/esp-rs/esp-hal/blob/d3f03042f317f6e80c42c407015a0b452723c106/esp-wifi/src/compat/timer_compat.rs#L109-L112
https://github.com/esp-rs/esp-hal/blob/d3f03042f317f6e80c42c407015a0b452723c106/esp-wifi/src/tasks.rs#L27
Example of the current logging:
DEBUG - timer_disarm 3fccf5e0
DEBUG - timer_disarm 3fccf5e0
DEBUG - timer_setfn 3fcce364 0x420f6b3c 0x0
0x420f6b3c - ieee80211_timer_process
    at ??:??
DEBUG - timer_setfn 3fcce378 0x420f6b3c 0x1
0x420f6b3c - ieee80211_timer_process
    at ??:??
DEBUG - timer_disarm 3fccf5e0
DEBUG - timer_disarm 3fccdb00 not found
DEBUG - timer_done 3fccdb00 not found
DEBUG - timer_setfn 3fccdb00 0x420e4260 0x0
DEBUG - timer_arm_us 3fccdb00 current: 1012271 ticks: 103000 repeat: false
DEBUG - timer_disarm 3fccf5e0
DEBUG - timer_disarm 3fccf5e0
DEBUG - timer_disarm 3fccf5e0
INFO - [AP] Wifi started
DEBUG - timer is due.... 3fccdb00
DEBUG - timer_disarm 3fccdb00
DEBUG - timer_arm_us 3fccdb00 current: 1135202 ticks: 83000 repeat: false
DEBUG - timer is due.... 3fccdb00
DEBUG - timer_disarm 3fccdb00
DEBUG - timer_arm_us 3fccdb00 current: 1235627 ticks: 85000 repeat: false
DEBUG - timer is due.... 3fccdb00
DEBUG - timer_disarm 3fccdb00
DEBUG - timer_arm_us 3fccdb00 current: 1334635 ticks: 88000 repeat: false
DEBUG - timer is due.... 3fccdb00

Good point. In the mean time if you are using defmt, you should be able to use more targeted filters like DEMFT_LOG="trace,esp-wifi=info.