feat: Nmp 36 docker update backend

Description
docker compose up --watch now runs API in a container with hot reloading.
Type of changes
Please delete options that are not relevant.

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

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have already been accepted and merged

Further comments

Thanks for the PR!
Deployments, as required, will be available below:

Frontend
Backend

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are deployed in:

Merge Workflow

View the comments on https://github.com/bcgov/nr-sustainment-capstone-2024/pull/41 for whats related to your issues

Also, there is an error when I attempt to update a file using this
backend/src/controllers/health-api-controller.ts: Cannot open: File exists
tar: Exiting with failure status due to previous errors
time="2024-05-14T16:25:11-07:00" level=warning msg="Error handling changed files for service backend: 1 error occurred:\n\t* copying files to c2f686decb8045b076b929c6e323e7dbf5b3f57f48145aeb825e6ee787031694: exit code 2\n\n"

@LocalNewsTV I haven't seen that error before.
Do you have any more information about it?


B010 not required by ruff, but is required by flake8 bugbear.

# If # noqa: B010 is not set.
$ flake8 test_B010.py
test_B010.py:7:5: B010 Do not call setattr with a constant attribute value, it is not any safer than normal property access.

$ ruff test_B010.py

$ ruff --extend-select RUF100 test_B010.py
test_B010.py:7:75: RUF100 Unused `noqa` directive for: B010
Found 1 error(s).
1 potentially fixable with the --fix option.

$ cat test_B010.py
def test():
    def local_func(self):
        return self

    setattr(local_func, "__comment_section__", "Local function comment")  # noqa: B010
    return local_func

Thanks! Will fix.

This actually looks right to me -- are you enabling the B checks? They're not enabled by default (only E and F).

This actually looks right to me -- are you enabling the B checks? They're not enabled by default (only E and F).

Ah, I didn't know this. The warning message gave me the impression that it was enabled.

Yeah, I can improve the message there.

Tracking here: https://github.com/charliermarsh/ruff/issues/1364.


Stopped working November 2024

I upgraded to version 71c9bed and everything stopped working. However, when I try to re-install I get an HTTP 500 error, so it appears the Admiralty service has stopped?

I used git to rollback to f500223 and it's working again. So it's definitely a bug in the later versions

Hi all - I'm sorry to hear that you're running into issues with the new version. Unfortunately, I haven't been able to replicate this error. I have a feeling that this newer version of the integration might require a newer version of Home Assistant too, as I've only been testing against the latest (2024.11.3 as of writing). Can you please confirm if an update resolves the issue?

I'm on 2024.11.1, so will upgrade.
I was wondering if it has something to do with the base Python version that my Raspberry Pi is running, but will give 11.3 a whirl.

Hmm 2024.11.1 feels like it should be new enough already :/ Perhaps you're on to something with the underlying Raspberry Pi Python version. I may need to find lower versions of the dependent packages to make it more backward compatible but I'm afraid I am not sure when I will be able to get a chance to look into that

Brilliant! Yes, working fine on 2024.11.3.
Not sure if there is anyway you can include the HA version as a pre-req to upgrading

oh wow, that is a surprise :o but good to hear! Perhaps I can update the readme to mention the minimum HA version

So this is an error being thrown up by the package manager, uv, that Home Assistant uses. There is a conflict between the pinned version of aiohttp that HA states in its requirements (3.11.9 for HA 2024.12.1) and the upstream ukhotides package used here (which requires 3.10.11). This is probably made worse by HA 2024.12 transitioning to Python 3.13 which I think makes aiohttp < 3.11 u usable. I think this can be addressed by changing the dependency in the upstream package to support aiohttp = ">= 3.10.11".

I have just updated to HS 2024.12 and have same problem with it not loading.
`Logger: homeassistant.util.package
Source: util/package.py:152
First occurred: 11:17:41 PM (3 occurrences)
Last logged: 11:17:43 PM
Unable to install package ukhotides==1.1.1: × No solution found when resolving dependencies: ╰─▶ Because ukhotides==1.1.1 depends on aiohttp==3.10.11 and aiohttp==3.11.9, we can conclude that ukhotides==1.1.1 cannot be used. And because you require ukhotides==1.1.1, we can conclude that your requirements are unsatisfiable.`

Updated HA Core to 2024.12.0 and the integration broke as described above. Rolled back to 2024.11.3 and now it's working again.

Hi all - there is a new version of ukho_tides (1.1.2) now available which should hopefully resolve this issue. Thanks to @TomBrien for implementing the fix

Now I'm posting a comment .. chill Winston .. it all gets fixed quickly ...
Thanks to all the efforts, and not the mud slingers.

Thanks for the swift update.


ssl updated for plugin tvmaze

if the tvmaze plugin would get an ssl update it would be great
https://www.tvmaze.com/api

I just did this and it seem to work just fine, at least with !tv trigger
Change line 384 from http:// to https://
set data [GetFromApi "http://api.tvmaze.com/singlesearch/shows?embed%5b%5d=previousepisode&embed%5b%5d=nextepisode&q=" $show]
To
set data [GetFromApi "https://api.tvmaze.com/singlesearch/shows?embed%5b%5d=previousepisode&embed%5b%5d=nextepisode&q=" $show]
Change line 488 from http:// to https://
set data [GetFromApi "http://api.tvmaze.com/shows/${info(show_id)}/episodebynumber?season=${season}&number=${epnumber}" ""]
To
set data [GetFromApi "https://api.tvmaze.com/shows/${info(show_id)}/episodebynumber?season=${season}&number=${epnumber}" ""]
Insert above line 523
if {[string length [info commands ::http::quoteString]]} {
with new line
http::register https 443 tls::socket
Insert below line 163
if {[catch {package require http}]} { 		${ns}::Error "\"http\" package not found, unloading script." 		return -code -1 }
with
if {[catch {package require tls}]} {
		${ns}::Error "\"tls\" package not found, unloading script."
		return -code -1
}

I am no expert in Tcl so I may have missed something but I don't think I have.

Yup. works correctly.
tcl-tls libs are needed in order to work correctly.

good work thank you :)

Added with latest commit, thanks for your effort.


Use Hash::needsRehash in HasAttributes::castAttributeAsHashedString instead of Hash::isHashed

Implementation of hashedcast fix. The fix is based on Hash::needsRehash which will check if the hash was generated with the same configurations as the default hasher. (https://www.php.net/manual/en/function.password-needs-rehash.php)
It will causes a breaking change, if the developer currently creates the User with hashed cast and modifying the configuration, for example :
User::create([
    'password' => Hash::make($password, ['rounds' => 14])
]);

With this new implementation, the password will be hashed twice. The probability is, IMHO, quite low and the fix is quite easy as it only requires to drop the hashed cast. It should not be a problem as the developer already hashes the password by hand.
Unfortunately, this implementation also requires changes in the laravel/laravel project.
Indeed, the User declares hasehd cast  and UserFactory declares
'password' => '$2y$12$Z/vhVO3e.UXKaG11EWgxc.EL7uej3Pi1M0Pq0orF5cbFGtyVh0V3C', // password

To speed up tests, in phpunit.xml, environment variable BCRYPT_ROUNDS is overrided to 4.
As model factories can be used in tests (rounds 4 by default) and seeders (rounds 12 by default), we cannot define a pre-hashed value because of a double hashing in tests.
Therefore, there only viable solution I can think of is to drop the pre-hashed value and define
'password' => Hash::make('password'),

This way, the hash will always be generated with the correct config and won't be double hashed.
Another solution would be to defined
'password' => 'password',

and let the cast do its job.
It won't slow down too much the tests as the BCRYPT_ROUNDS is at its minimum.
Unfortunately, this change needs to be made on every project using hashed cast on user's password (and the other models/attributes using the cast).
@valorin You proposed to block if the rounds if more than X above the config value. I don't think it will fix that UserFactory issue  because of the difference between the config in the pre-hashed  value (12) and the config (4) during the tests.
I hope we could have a better idea to solve initial issue, at this time I don't...
@taylorotwell @valorin I wait for your reviews before targeting laravel/framework

I was thinking that rather than using needsRehash to check if the hash config is different, it should extract the number rounds and compare them against the number of rounds set in the hasher itself - not the app config but the Laravel default (i.e. 12, even if the app has them set to 4). That's easy to do for bcrypt, although Argon has a few different options which make it messier. This could be done with a new method on the hasher itself, but we're venturing into the realms of complexity.
We'd need to duplicate the $rounds setting in BcryptHasher so when it's set on the app level (and the cost options in Argon, etc), we still have the original value, and then add a new method to check the hash config is equal or less than the original values + buffer. For BC support, this method could be added into AbstractHasher and just passes back to needsRehash().
It feels like a lot of extra complexity, but I'm worried that if we don't support a range of hash configs, it will break stuff - as you've pointed out with the User Factory. Consider if the app changes it's rounds from 10 -> 12, any existing hashes being passed around and set on user models will get hashed again - it feels like a very strange use case, but not completely outside possibility. But this is only an issue if we're targeting 10.x - if we make it a breaking change and target 11.x, it can be documented and we're all good.
So I think we either need to bump this to 11.x as a breaking change or add the complexity to handle it in a flexible way.

Here is my new attempt to solve the problem in a non-breaking way.
I let @taylorotwell fix the naming, I know you will find a much better one than mine.
About the implementation
I believe that fixing it in a breaking way using Hash::needsRehash() and modifying the laravel skeleton is the way to go to have the issue properly secured.
That's why I decided to hard-code magic values in bcrypt and argon hashers. Theses values allows the developers to increase hash complexity in ways it should not impact their application. The maximum computation time the values can allow is about 2.5 seconds.
It corresponds to rounds: 16 for bcrypt. For argon, it was a bit harder to determine. Duration increases with memory_cost and decreases with threads. I think that the ratio memory/threads should not be greater than 4 times PASSWORD_ARGON2_DEFAULT_MEMORY_COST and the threads should not be greater than 16 (if not limited, we could increase a lot memory and thread keeping the ratio below the threshold).
@valorin what's your point of view about this implementation ?

Nice, that's basically was I was thinking! Good work solving the Argon question too.
My only concern is that the values are hardcoded away from the class default - so they could potentially be missed and not updated, but that's probably years off.

I don't think your concerns are not a real problem as this should be a temporary fix for Laravel 10 which will get security fixes only until February 2025.


Reordering animation

Can we add animation support for reordering items when dragging? animateItemPlacement() is not working for me.

Same here

I decided to not support animations yet as it does not work very well at the moment due the handling of scroll position in a LazyList.
As soon this:
https://issuetracker.google.com/issues/209652366
is available in compose i'll support animations.

https://github.com/aclassen/ComposeReorderable/releases/tag/0.9.0


[Icon Request] Support for Stata do-files

[x] I'm sure this issue is not a duplicate.

[ ] I'm submitting an icon request:

Type: extension
Icon Name: stata
Sample original Icon:
Extensions: stata
Filenames: do, ado
Language ids: stata

Language Extensions: https://marketplace.visualstudio.com/items?itemName=kylebarron.stata-enhanced

More info: .do  files contain executable commands. A .ado file is the source of user-defined command. (Supplement of #1253).

Use https://marketplace.visualstudio.com/items?itemName=mdob2k.stata-language

@JimiC Thanks!


ci: buildkit: exit on errors

Whenever we have an error in the script, exit immediately and avoid
confusing unrelated messages about disk space and such.

lgtm ... but the title should be "exit" and not "exist"

not sure why I keep mistyping this today

Looks fine, but it should be "buildkite", not "buildkit"

not my day


exp/services/recoverysigner: add tests for the KMS client

We use these mocks to test to mock out the call to the kms client. However, we don't currently have a way to test the kms client in cmd/keyset.go. It's fairly important to test the tool as it's critical to make sure we can use the kms client without any problem when encryption-kms-key-uri is provided. Without the took working properly, we cannot start the recovery signer in a secure way.
Similarly, we don't have a way to exercise the code path when a valid kms key uri is provided here.

Here's an idea for what we could do using the local-kms tool:
https://github.com/stellar/go/compare/recoverysigner-unique-signing-keys...recoverysigner-unique-signing-keys-kms-tests

Closing all recoverysigner issues


Bug Fix - Chat screen: New message(s) notification

https://github.com/vector-im/vector-ios/issues/532
MXRoom Changes:

Define 'localUnreadEventCount' property: The number of unread events wrote in the store.
Add API [acknowledgeEvent:]: If the event was not acknowledged yet, this method acknowlegdes it by sending a receipt event. This will indicate to the homeserver that the user has read up to this event.

LGTM


ThreadPool growthPolicy not honored under high throughput / concurrency

Environment Details

Helidon Version: 3.x
Both Helidon SE & Helidon MP (common/configurable)
JDK version: 11
OS: Windows

Problem Description
Using a ThreadPool with a different value for core threads and max threads, and an "always grow" growthPolicy (growThreshold = 0 ; growthRate = 100):
When submitting at once more tasks than the "core threads" value, we expect the number of worker threads to grow to the number of submitted tasks (up to the value set for "max threads").
But this is not the observed behavior:
This can yield a number of worker threads lower than the number of submitted tasks.
Here is a test to reproduce (works using ThreadPoolTest static methods).
	@Test
	@Timeout(10)
	public void testGrowWithHighThroughput() {
		// Wait for 4 tasks to be executing concurrently
		int concurrency = 4;
		Phaser concurrencyPhaser = new Phaser(concurrency);
		int numTasks = concurrency * 3;

		// +1 for the test thread that is a party
		Phaser globalPhaser = new Phaser(numTasks + 1);

		Runnable r = () -> {
			globalPhaser.arrive();
			concurrencyPhaser.arriveAndAwaitAdvance();
		};
		ThreadPool threadPool = newPool(1, concurrency, 0, 100);

		// Launch all tasks, "concurrency" tasks should get a dedicated worker (by
		// growing), the other ones should be queued.
		// Once "concurrency" tasks arrive at concurrencyPhaser, they are unlocked, and
		// queued ones can execute. Until all tasks are executed.
		for (int i = 0; i < numTasks; i++) {
			threadPool.submit(r);
		}
		globalPhaser.arriveAndAwaitAdvance();
		assertEquals(concurrency, threadPool.getLargestPoolSize());
	}

The issue resides in DynamicPoolWorkQueue.offer(Runnable) where we rely on pool.getActiveThreads() which is not accurate.
When a first task requiring a new worker is submitted, the worker gets created, but isn't immediately counted in pool.getActiveThreads() (see ThreadPoolExecutor).
So it's considered an idle thread when another subsequent task is submitted.
As a result, a single worker gets created for multiple "concurrent" submits.
A possible solution is to count "inflight submits" (underOffer):
    private final AtomicInteger underOffer = new AtomicInteger(0);

    @Override
    public boolean offer(Runnable task) {

      // Are we maxed out?

      final int currentSize = pool.getPoolSize();
      if (currentSize >= maxPoolSize) {

        // Yes, so enqueue if we can
        Event.add(Event.Type.MAX, pool, this);
        return super.offer(task);

      } else {
        int underOfferValue = underOffer.incrementAndGet();
        try {
          int virtualSize = underOfferValue + size();
          if (pool.getActiveCount() + virtualSize <= currentSize) {

            // No, but we've got idle threads so enqueue if we can
            Event.add(Event.Type.IDLE, pool, this);
            return super.offer(task);

          } else {

            // Ok, we might want to add a thread so ask our policy
            if (growthPolicy.test(pool)) {

              // Add a thread. Note that this can still result in a rejection due to a race
              // condition in which the pool has not yet grown from a previous false return (and so
              // our maxPoolSize check above is not accurate); in this case, the rejection handler
              // will just add it to the queue.

              if (LOGGER.isTraceEnabled()) {
                LOGGER.trace(
                    "Adding a thread, pool size = {}, queue size = {}", pool.getPoolSize(), size());
              }
              return false;

            } else {
              // Enqueue if we can
              return super.offer(task);
            }
          }
        } finally {
          underOffer.decrementAndGet();
        }
      }
    }

Resolved using @Chewbizz proposal. Thanks.


[HeiseBridge] Check for article

Related #1611
See also: #1767
Possibly the returnServerError function now intercepts something that failed in 1611. Maybe the PR is already done with it. But security checks for variables normally do not harm ;-)

Hi, @ayacoo ! Sorry for the long delay. In mid october I have fixed Travis CI for automatic PR checks. Could you please rebase PR and fix lint issues if they appear?

Something is messed up with your PR. It should include only your changes. Here is how rebase is done.
$ git remote -v
origin	https://github.com/em92/rss-bridge.git (fetch)
origin	https://github.com/em92/rss-bridge.git (push)
upstream	https://github.com/RSS-Bridge/rss-bridge.git (fetch)
upstream	https://github.com/RSS-Bridge/rss-bridge.git (push)

"origin" is my personal fork. "upstream" - main repository.
As for now, I suggest to checkout from upstream master branch, make changes to your bridge again and force-push commit to this branch.

Mh interesting. I think a git pull in between was the mistake, the settings themselves are correct. I try it 1-2 times ;-)

gj @ayacoo

Thanks for your patience :-)


Support non standard HTTP status codes

Description

So I found PR #334 that was closed, and I didn't wanted to "necro" it.
As mentioned in the comments there rfc7231 should be respected, but regardless that PR got declined?
In provided RFC it's mentioned:
 The status-code element is a three-digit integer code giving the
 result of the attempt to understand and satisfy the request.

 HTTP status codes are extensible.  HTTP clients are not required to
 understand the meaning of all registered status codes, though such
 understanding is obviously desirable.

RFC defines de-facto standard status codes and which are registered with IANA source. A side from those codes servers CAN return other status codes as well, but they must be 3 digits long, meaning that status codes 6xx, 7xx, 8xx, 9xx are also valid.
Checking PSR7, there is no clear definition that status codes >= 600 || <= 999 can't be supported, but rather just links to the previously mentioned RFC and IANA.
This is not respecting mentioned RFC fully, and is supporting only de-facto standard status codes while ignoring non standard, but RFC supported status codes.
Example

Just by googling a bit for status codes that are in "non supported range", you'll stumble upon multiple major service providers that uses them. Also some banking systems use those status codes as well to handle some edge cases while providing a reason phrase as well.
Additional context

By being one of the default packages used by major frameworks, and a lot of other packages as dependency, you make a big impact on how we develop our apps for the web. Having this limitation is really bad an having to do a workaround while having this package installed is just ..
By providing actual context in the description section, I strongly believe that mentioned PR should be re-opened and merged.

@GrahamCampbell can I get your input on this? Thanks

Thanks for the question. What's the use case here? I know the RFC exists, but in practice, Guzzle and cURL tends to follow what the browsers do, which unfortunately is not what the RFC says in many cases.

cURL can handle status codes >= 600 & <= 999 while Guzzle can't handle those and throws exception.
There are systems in place which utilize these response status codes (which are valid by the provided RFC) but not "standard" by IANA. One of those is one banking system for which I did integration in Laravel (which uses Guzzle by default). That system returned >= 600 status codes depending of error type, but Guzzle was unable to handle those so I had to fallback to the cURL for it.
This system is one of many out there that utilizes such response codes, but whoever uses Laravel or Guzzle itself would not be able to make an integration. Guzzle should not be the breaking point in this, but it should rather support it all the way up to 999 status code and let developer handle those edge cases with 600+ status codes.
Aside of that, this package (guzzle/psr7) doesn't fully follow PSR7 standard because of it (doesn't respect mentioned RFC).
As a solution, I'd propose to re-open and merge #334 which fixes this issue.
Let me know what you think. Thanks

The PR cannot be re-opened (because the upstream branch is deleted), but I will re-consider this for the next major version.


with_collection fails validation without specifying with_collection_parameter

What did you do?
Generated a component named Project
What did you expect to happen?
Render a collection using Project::Component.with_collection(@projects))
What actually happened?
Error message:
The initializer for Project::Component doesn't accept the parameter `component`, which is required in order to render it as a collection.
To fix this issue, update the initializer to accept `component`.
See https://viewcomponent.org/guide/collections.html for more information on rendering collections.

Additional context
https://github.com/viewcomponent/view_component/blob/main/lib/view_component/base.rb#L535 validates the component parameter by reflecting on the component class name (using name.demodulize.underscore.chomp("_component").to_sym). Because the generated component is called Project::Component it thinks the component param is component instead of project.
A workaround is adding with_collection_parameter :project to Project::Component but I was wondering if there was a better solution.
Environment
Ruby Version: 3.2.2
Framework Version (Rails, whatever): <IP_ADDRESS>
View Component Contrib Version: 0.1.3

I think, we should with_collection_parameter :<component_name> for every class inherited from ViewComponentContrib::Base if it follows the <Name>::Component pattern.

Yes, that is something that could easily be added to the component.rb.tt generator template. When I created this issue I was following the How-to guide on Collections but have since moved on. It doesn't seem particularly useful now, but it was a blocker when getting started. For reference, it's the difference of
-    - projects.each do |project|
-      = component 'project/card', project:
+    = render(Project::Card::Component.with_collection(projects))

and
 class Project::Card::Component < ApplicationViewComponent
+  with_collection_parameter :project

which is not worth it in my opinion.
The issue I ran into could be solved by ViewComponent not insisting on the Component suffix, but that has already been decided against.
It may be better to address this in the README saying something to the effect that naming opinions differ and suggest editing the generator template as a workaround.


Change the syntax of traits from 'is foo(val)' to '@Foo(val)', and let them precede the thing they annotate

Following Python and Java's lead. Even TypeScript and ES.next, and (modulo a slight difference in syntax) C#.
Not sure I can fully motivate why I want to make this change, but (a) it feels a little bit more robust in some way, and (b) it's becoming clear that we can have use for traits on a number of things besides subs/macros:

Classes
Class properties

An example of the former: @Abstract; instead of making it a keyword. An example of the latter: @Readonly. Maybe @Lazy too.

It just struck me that one issue with this change is that it delays how soon we can know which type of statement (or class member, etc) we're parsing. Basically, it goes against the grain of Perl 6's idea of having a "declarative prefix" in each rule after which you know what rule you're parsing.

On second thought, it's not quite that hopeless. If we parse traits alongside statements in the statementlist rule, it works out fine. Have to mark up some Qtypes as "traitable" (maybe with... a trait?) and check for that, though.

I can't find it right now, but somewhere I had quite a complicated is parsed that actually used the parameters of the macro for something. (I think it was to do with declarations and scopes.) I'll link it here if I find it.
Anyway, that'd be problematic if we reverse the order of traits and parameters. At least, we'd have to find some other way to achieve the same effect.
I'd like to find that is parsed example again so I can mull over how to solve that with traits sitting on top.

Another small argument in favor of this syntax change: I find it somewhat easier to read this syntax:
foo(@Defined param) {}

Than this syntax:
foo(param is defined) {}

Working on this in a branch. Realizing we'll probably need an issue where we also nail down the semantics of decorators.
They're interesting beasts. The ones for precedence and associativity will be driving in this, and they are mostly "metadata decorators" in the sense that they want to end up being attached to the declaration somehow, so that the parser can query them when it needs the information. There are more "business rules" connected to them than I remembered, for example (but not exhaustive):

Can't have multiple prec decorators, or multiple assoc decorators.
Can't have an assoc decorator if the prec decorator used is equiv.

It's an interesting question how much of that needs to be code, and how much can be captured declaratively somehow in the declaration of the decorators themselves.

Simple question: how should the Qtree look for statements with decorators? (Hint: I don't know.)

It's an interesting question how much of that needs to be code, and how much can be captured declaratively somehow in the declaration of the decorators themselves.

I think the former can be easily captured using a @unique decorator, or some such. (And it makes sense to me to do so.) Yay, decorators on decorators — that means we're just as cool as Java, does it not?
The latter sounds like a "business rule" to me, and should most likely be handled by whatever thing consumes those parser-targeting decorators. (That is, they should be handled by the parser.)
By the way, the solution I've struck upon with the 007 parser in Perl 6 is to carry that information from where the decorators are parsed to where the statement they're decorating is parsed, by using a dynamic variable. This, in some sense, feels like a sane solution. I could also imagine it being handled by using some sort of "parser state" — as long as the stack-like aspect of it all is still captured. (A previous comment hints at decorators occurring inside decorators via declarations. The dynamic variable handles this well, by storing its data essentially "in the call stack". A "parser state" solution would need to handle it as well.)
In passing, I note that I'm suddenly writing decorators with lowerCamelCase, like in Python, not with UpperCamelCase, like in Java. I have no idea why.

Decorators can be

Functions, in which case they act on the runtime value as it's created at runtime.
Macros, in which case they act on the code structure as it's parsed at compile time.
Enum values, in which case they act as "marker decorators", and can be queried (in some unspecified way) by asking for all instances of a particular decorator on a declaration site.


Option in TSConfig to include hidden files

Suggestion

🔍 Search Terms

hidden, dot, include, tsconfig.
✅ Viability Checklist

My suggestion meets these guidelines:

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

Add an option in TSConfig to include hidden files (and hidden directories) in include and exclude options.
{
    "hidden": true,
    "include": ["**/*"],
}

📃 Motivating Example

Proposal for wildcard documentation:

include and exclude support wildcard characters to make glob patterns:

* matches zero or more characters (excluding directory separators and hidden file if hidden is set to false)
? matches any one character (excluding directory separators)
**/ matches any directory nested to any level (excluding hidden directory if hidden is set to false)

💻 Use Cases

I want to scan all files in my project, even hidden files and files in a hidden directory. I use this TSConfig:
{
    "include": [
        "**/*",
        "**/.*",
        "**/.*/**/*",
        "**/.*/**/.*"
    ]
}

🛍 Other libraries

dot in node-glob: Include .dot files in normal matches and globstar matches. Note that an explicit dot in a portion of the pattern will always match dot files.
dot in globby and fast-glob: Allow patterns to match entries that begin with a period (.).

Use case: .storybook folder

Thans for workaround.
After updating to version @5, I began to get errors in the IDE in storybook files.

Even in TS 5.0, .storybook or any dot folders need to be explicitly included in config.

This is particularly problematic with typescript eslint:
Parsing error: ESLint was configured to run on /packages/eslint-config/.prettierrc.jsusingparserOptions.project`: /users/sp/my/balsamic/tsconfig.json
However, that TSConfig does not include this file. Either:

Change ESLint's list of included files to not include this file
Change that TSConfig to include this file
Create a new TSConfig that includes this file and include it in your parserOptions.project
See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file
`

I would not name the option hidden, but includeDot.

Adding '.storybook/**/*' to the config includes array works.

Today got bit by the fact that hidden files are ignored because it was refusing to look at .eslintrc.js

In the Storybook case (using typescript-eslint), the following worked for me:
.tsconfig
  "include": [
    ".storybook/**/*"
  ],

.eslintrc
  ignorePatterns: [
    '!.storybook',
  ],

For the record, this is a duplicate of #36922. (Though this issue has significantly more context).


MusicXML - Not found error?

Hi! I'm hitting 404 not found errors on most MusicXML downloads. Any idea why?

The company that runs MuseScore goes crazy, and closed every potential way they think a score file could be downloaded without a Pro account.

Oh no!  Don't let it get to you! We appreciate all
that you do.
On Sat, Sep 19, 2020, 12:57 AM Xmader<EMAIL_ADDRESS>wrote:

The company that runs MuseScore goes crazy, and closed every potential way
they think a score file could be downloaded without a Pro account.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Xmader/musescore-downloader/issues/24#issuecomment-695164844,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIJQMHCDCP5L7MNSH5DCRVDSGQ2ZZANCNFSM4RSP6B2A
.

Yeah, Keep up the good work!
On Mon, Sep 21, 2020 at 5:34 AM kolt54321<EMAIL_ADDRESS>wrote:

Oh no!  Don't let it get to you! We appreciate all
that you do.
On Sat, Sep 19, 2020, 12:57 AM Xmader<EMAIL_ADDRESS>wrote:

The company that runs MuseScore goes crazy, and closed every potential
way
they think a score file could be downloaded without a Pro account.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/Xmader/musescore-downloader/issues/24#issuecomment-695164844
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AIJQMHCDCP5L7MNSH5DCRVDSGQ2ZZANCNFSM4RSP6B2A
.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Xmader/musescore-downloader/issues/24#issuecomment-695854111,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKXY5S57RCMTJLYXH57OODLSG2KAXANCNFSM4RSP6B2A
.


x/errgroup: does not respect a context with any sort of timeout on it

I had assumed that a context with a timeout provided to errgroup would have canceled the whole group when the timeout had elapsed but having a look at the code, there is no logic for it to do that:
https://github.com/golang/sync/blob/master/errgroup/errgroup.go

I'd be happy to PR this in.

When using an Errgroup the functions are pretty much assumed to return when the context is canceled, so they will return when the context times out.  I don't see that anything special has to be done.

Yep, I'm pretty sure errgroup is fine here. If you're observing otherwise in your use case, most likely one of your Go funcs is not correctly respecting the context.

@zachgersh As far as the errgroup is concerned, you are correct, it will only care if an error appears. But if you have provided a WithDeadline or WithTimeout context as its parent, then the context code will handle the cancellation of the children.

@fraenkel - thanks! That is what I am passing. Feel like I should write a test for this. It hangs indefinitely due to the implementation right now.

A concrete example of what you're trying to do would be helpful. If the functions you pass to (*errgroup).Go may block, they are expected to close over the relevant context.Context variable and use it to remain responsive to timeouts and cancellation.
errgroup doesn't do anything special to the goroutines themselves: it only manipulates the Context and waits for them to notice, same as any other API using the context package.

This sounds like errgroup is not at fault here, and there's just some difficulty using it. GitHub issues aren't really for support requests; follow-up can go to the golang-nuts mailing list.


KAFKA-5062. Kafka brokers can accept malformed requests which allocat…

…e gigabytes of memory

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/5419/
Test FAILed (JDK 7 and Scala 2.11).

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/5404/
Test FAILed (JDK 8 and Scala 2.12).

@cmccabe - we have reproduced this issue but not published its results on the wide mailing list as it makes a DOS attack on Kafka feasible.
Happy to discuss separately
cc @rajinisivaram @ijuma @mimaison

Just a quick question. Does the patch actually tighten up any of the validation or is it just a better implementation of the existing logic? From a quick look at the code, it seems to me the patch is the latter?

Yes, I was wondering the same. We check the api keys, etc. in RequestChannel today. Also, it would be good to include tests if this is indeed fixing a bug.

bq. Just a quick question. Does the patch actually tighten up any of the validation or is it just a better implementation of the existing logic? From a quick look at the code, it seems to me the patch is the latter?
The validation is exactly the same, but we refrain from allocating a buffer until the api key and api version have been verified.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/5731/
Test FAILed (JDK 8 and Scala 2.12).

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/5745/
Test FAILed (JDK 7 and Scala 2.11).


Some Issue fixes

[+] Added install.md to help users install Volt.
[#] Fixed some engine traces failing.
 (some traces the engine uses to determent if you can unduck failed)
[#] Fixed CheckCollision checking collisions even if collisions are disabled(IsCollisionEnabled = false)
[#] JoltPhysicsObject::GetName() now returns a proper name instead of "NoName"
In Gmod If you used tostring(Entity(1):GetPhysicsObject()) it returned NoName instead of player_stand or player_crouch.
[#] Fixed a crash
Related issues:
fixes #128
fixes #164
fixes #102
fixes #137
fixes #85
fixes #125 (Read the install.md)
Over the next few days, I want to fix more issues.

The reason the portal back exists right now is because with it enabled, walking up static props ends up with the player getting stuck sometimes.

I will test a bit around with it.

Can you split these fixes out into separate MRs?

Every fix or some specific fixes?

Please all of the fixes, or at least into separate commits.

Please all of the fixes, or at least into separate commits.
Will be done. Gimme a few min.

Should be done. Should I make a separate PR for each future fix, or is it okay if they have their separate commit?


how can i move to get an encounter if i have to stay connected to wifi?

i have made a mewtwo encounter script but how can i get an encouner without the ability to move away from my wifi? and will it work if i would just disconect while tyhe script is still on and get an encounter?

never mind i fount a way!


Weird invite button problem

Sometimes when i click on invite button app sends name of item to buyer instead off inviting him to party.

really weird, i will try to find the cause.

Additionaly, when you have opened chat, insted of inviting someone to party,  just writes the name of buyer in local chat

When you press a button, Mercury sends "enter - /command / enter" sequence. If you open chat or put something in-focus where you can type - IT WILL NOT WORK.

It's pretty clear for me, but can be confusing for new users

Maybe the solution for this is to display a warning when clicking "enter" when the popup with new trade is displayed ( and disable the invite btn for example ?)

Mercury doesn't know about your chat focus state. You can press "enter" during a loading screen or when pricing items or whatever in other words it's not possible for us to track it in a legit way.

Maybe it should be documented somewhere (ofc the truth is that users won't read that anywhay)

in next version will be fixed.


Add npmrc parameter to TypeSpec-Project-Generate

The devops public npm feed which should be unauthenticated still returns 401 on npm install.  The new parameter allows a user to supply a path to a preauthenticated npmrc file to be copied to the temporary typespec directory rather than generating a new unauthenticated npmrc file.

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


Make xtrace optional

xtrace output is useful in some cases, but in general would be better if not enabled. This is on by default and it seems there is no way to disable it for xc. A -x or -v flag would be useful for enabling this output when desired.

Thanks for looking at xc, I would be open to creating a flag to disable this. But I think this is a common feature of other task runners I've seen, to log out what's about to happen.
But open to be persuaded otherwise if there's a compelling case to have it off by default.

Unless I'm trying to work out something that's going wrong I find the verbose output to be disruptive, personally. I've been tinkering with it for a while. I'll open a PR shortly and we can see what you think. I started with a global flag, but after thinking a bit it seems like something worth setting at the task level. Maybe with a global disable?
Once I have the PR open, we can see what works best.


Fixed compose buttons being duplicated when using add_compose_button multiple times

I you try to add two buttons using add_compose_button you will get three, if you try to add three buttons, you will get 6 and so on...

Hey there and thanks for the PR.
The change looks reasonable to. Thanks for the fix!
Could also bump the version and add your fix to the change log?

@josteink Sure, just a sec

@josteink Done! 😄

Thanks. Great! Consider it merged!
I'll try to get a new version out to npm js later today 🙂

@josteink Thanks a bunch!

Now published on npmjs as 1.0.19!
https://www.npmjs.com/package/gmail-js


Voting UI

https://github.com/raphaelmerx/imigrasi-nextjs/assets/2998545/9f2ca5ca-1986-4ed9-9b91-591fe837786d

@raphaelmerx it says deployment failed. Hopefully it doesn't deploy automatically from any branch?

No it wouldn't deploy to the prod URL, only to a side URL. In this instance it got a build failure: Type error: Module '"@/utils"' has no exported member 'supabaseAdmin'.


How to disable audio completely?

Hi, in my application I use RTMP to stream the video and webRTC for the audio only.
Using this approach I faced a lor of problems of hardware resources conflicts, particularly the microphone. I can disable the use of camera on webRTC but I can't find a way to completely disable the audio component on your library: removing rtmpCamera2.prepareAudio() makes the application crash, and using rtmpCamera2.disableAudio() doesn't really free the microphone and deallocate the resource.
I need exactly what is also discussed on issue https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/45. That issue is marked as closed, but it doesen't seem that the library is still the same and I can't understand how to do the same thing with the new library. I implemented the library with gradle and I'm using the latest version 1.9.4.
As a workaround I used to start the RTMP video streaming only after the webRTC audio call has completely started, but I recently found out that even this method works only on certain devices. First i join the call. Then, after WebRTC onPublishStarted event, i start the video stream. This causes the webRTC module to go onError and to leave the call. After WebRTC onPublishStopped event i stop the video stream too.
This is a sinthetic version of the events log, but I attached the complete one too (log.txt).
You can see the dinamyc between the two libraries following the tags: RtmpView: WebRTC for webRTC related events, RtmpView: RTMP for RTMP related events (your library).
...
2020-10-21 11:45:33.044 4391-4391/com.eagleview.smartcollaudo.overlay I/RtmpView: WebRTC: initConference()
2020-10-21 11:45:33.046 4391-4391/com.eagleview.smartcollaudo.overlay I/RtmpView: WebRTC: join()
...
2020-10-21 11:45:33.817 4391-4391/com.eagleview.smartcollaudo.overlay I/RtmpView: WebRTC: onPublishStarted()
2020-10-21 11:45:33.817 4391-4391/com.eagleview.smartcollaudo.overlay I/RtmpView: RTMP: initStream()
2020-10-21 11:45:33.828 4391-4391/com.eagleview.smartcollaudo.overlay I/RtmpView: RTMP: start()
...
2020-10-21 11:45:36.129 4391-4666/com.eagleview.smartcollaudo.overlay I/RtmpView: RTMP: onConnectionSuccessRtmp()
2020-10-21 11:45:36.129 4391-4391/com.eagleview.smartcollaudo.overlay I/RtmpView: WebRTC: onError(String description) AudioRecord.startRecording failed - incorrect state: 1
2020-10-21 11:45:36.129 4391-4391/com.eagleview.smartcollaudo.overlay I/RtmpView: WebRTC: leave()
...
2020-10-21 11:45:36.152 4391-4391/com.eagleview.smartcollaudo.overlay I/RtmpView: WebRTC: onPublishFinished()
2020-10-21 11:45:36.153 4391-4391/com.eagleview.smartcollaudo.overlay I/RtmpView: RTMP: stop()
...
2020-10-21 11:45:36.168 4391-4689/com.eagleview.smartcollaudo.overlay I/RtmpView: RTMP: onDisconnectRtmp()

Any help appreciated!

Hello,
Disable audio completely is not implemented but you can modify library to do it and I think this should be easy. The implementation is something similar to this but in your base used. In this case Camera2Base:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/pull/581/files

Thank you! Modifing the library was my last resort because I didn't want to miss the updates.
Do you plan to implement it as a choice in the future?

Hello,
Disable audio completely is not implemented but you can modify library to do it and I think this should be easy. The implementation is something similar to this but in your base used. In this case Camera2Base:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/pull/581/files

Thank you, it works like a charm! I also added a parameter on the constructor so I can choose directly during the intitialization of the camera if I need the audio or not.
public RtmpCamera2(OpenGlView openGlView, boolean audioOn, ConnectCheckerRtmp connectChecker) {
    super(openGlView);
    super.audioInitialized = audioOn;
    srsFlvMuxer = new SrsFlvMuxer(connectChecker);
  }

Great work and thanks again!

Also if you don't want lose library update you can:

Copy all Camera2Base to another class with different name (for example, Camera2BaseCustom).
Modify Camera2BaseCustom class as you want.
Copy RtmpCamera2 to other class with different name and change extends to Camera2BaseCustom.

After that, you can use library with gradle.


docs(recordings)📝: Update recording links and add new entries in recordings documentation

Add new recording entries for 2024-10-27 and 2024-10-20.
Update existing recording links to include resource keys for 2023 and 2022 sessions.

🚀 Deployed on https://deploy-preview-59--cbcgb-com-sgbs-training.netlify.app


Create Hanami::DB::Repo

[x] Use Hanami::SliceConfigurable to find the "db.rom" registration for the given slice's container and inject it as a dependency.
[x] Configure the struct_namespace to be app_or_slice::Structs (dynamically define the module if needed)
[x] If a matching relation can be found, configure it as the repo's root relation

Fixed by https://github.com/hanami/db/pull/6, https://github.com/hanami/db/pull/8, https://github.com/hanami/hanami/pull/1410, https://github.com/hanami/hanami/pull/1412


Remove address field from sign up

MA-2462
Reviewers
If you've been tagged for review, please check your corresponding box once you've given the :+1:.

 Last update d0e02ef...1691b3e


No DataPoints for CloudFoundry: AppLantency

We had PAS 2.3 version-  with Prometheus-24.1.0
After upgrading PAS 2.4 with Prometheus -25.0.0. No data were popping up in Cloud foundry App Latency.
We tried to rename deployment:cf-xx (By referring with other on going issues)   But it also didn't work. Can some one help one this

Hi @san4ever ,
this might be related to the issue discussed here => https://github.com/bosh-prometheus/prometheus-boshrelease/issues/318

Here is a snippet of our prometheus manifest.yml

Tried the below combination   with cf-xx deployment-name. It also didn't work. Can some one help on this.
logging:
url: https://log-stream.((system_domain))
use_legacy_firehose: false

@san4ever , did you also ensure that the app you checking for values is actually running and gets visited otherwise you'll see no datapoints as well

Yeah.. even for up and running app it is showing "no data points"
We have upgraded to 25.0.0 in our PROD foundation as well.. in that as well data is not populating up

@san4ever could you paste another dashboard screenshot here after you switched to cf-xxx?

Hi @benjaminguttmann-avtq
Shared the dashboard screenshot

Closing. Fixed with #423


[desktop_webview_window] Title bar is too big

This is a screenshot of the example running in Ubuntu:

There shouldn't be this much space around the top bar. Is there any way to fix/work around this?

For anyone wondering, I found a workaround.
https://github.com/lolocomotive/flutter-plugins/commit/b7b5b2af431ae23e6d9bb0b6c21a3503bf58b6e7
It is pretty ugly though and I think that to fix it properly, the flutter engine itself would have to be modified.
I'm not really sure since I don't have a lot of experience with GTK.
Since this is an ugly workaround and not a fix I'm only commenting here and not making a pull request.

thanks for the report. already fixed in 7b3235fb79033dd7174b87fe654c1a9cf089d0b7
I'll release a new version a bit later


Bad memory behavior in ExceedMemoryAllocationCount

Valgrind is very unhappy about this test:
[ RUN      ] VkLayerTest.ExceedMemoryAllocationCount
==69840== Invalid write of size 8
==69840==    at 0x4E4A11F: loader_phys_dev_ext_gpa (loader.c:3922)
==69840==    by 0x4E4EDDC: trampolineGetProcAddr (gpa_helper.h:175)
==69840==    by 0x4E4EDDC: vkGetInstanceProcAddr (trampoline.c:64)
==69840==    by 0x46DD84: VkLayerTest_ExceedMemoryAllocationCount_Test::TestBody() (layer_validation_tests.cpp:3048)
==69840==    by 0x50AC292: HandleSehExceptionsInMethodIfSupported<testing::Test, void> (gtest.cc:2078)
==69840==    by 0x50AC292: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2114)
==69840==    by 0x50A33F6: testing::Test::Run() (gtest.cc:2151)
==69840==    by 0x50A349D: testing::TestInfo::Run() (gtest.cc:2326)
==69840==    by 0x50A35A4: testing::TestCase::Run() (gtest.cc:2444)
==69840==    by 0x50A3857: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4311)
==69840==    by 0x50A3B13: HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (gtest.cc:2078)
==69840==    by 0x50A3B13: HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (gtest.cc:2114)
==69840==    by 0x50A3B13: testing::UnitTest::Run() (gtest.cc:3925)
==69840==    by 0x441813: RUN_ALL_TESTS (gtest.h:2297)
==69840==    by 0x441813: main (layer_validation_tests.cpp:24849)
==69840==  Address 0xa06cec8 is 664 bytes inside an unallocated block of size 643,472 in arena "client"
==69840==
==69840== Invalid read of size 8
==69840==    at 0x4E4A128: loader_phys_dev_ext_gpa (loader.c:3924)
==69840==    by 0x4E4EDDC: trampolineGetProcAddr (gpa_helper.h:175)
==69840==    by 0x4E4EDDC: vkGetInstanceProcAddr (trampoline.c:64)
==69840==    by 0x46DD84: VkLayerTest_ExceedMemoryAllocationCount_Test::TestBody() (layer_validation_tests.cpp:3048)
==69840==    by 0x50AC292: HandleSehExceptionsInMethodIfSupported<testing::Test, void> (gtest.cc:2078)
==69840==    by 0x50AC292: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2114)
==69840==    by 0x50A33F6: testing::Test::Run() (gtest.cc:2151)
==69840==    by 0x50A349D: testing::TestInfo::Run() (gtest.cc:2326)
==69840==    by 0x50A35A4: testing::TestCase::Run() (gtest.cc:2444)
==69840==    by 0x50A3857: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4311)
==69840==    by 0x50A3B13: HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (gtest.cc:2078)
==69840==    by 0x50A3B13: HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (gtest.cc:2114)
==69840==    by 0x50A3B13: testing::UnitTest::Run() (gtest.cc:3925)
==69840==    by 0x441813: RUN_ALL_TESTS (gtest.h:2297)
==69840==    by 0x441813: main (layer_validation_tests.cpp:24849)
==69840==  Address 0xa06cec8 is 664 bytes inside an unallocated block of size 643,472 in arena "client"

... snip ...

Possible that this was a driver issue. The machine I saw it on was running nvidia-367.55; after updating it to nvidia-381.22, valgrind is clean.

@chrisforbes, I think there is an issue -- this tests loads a layer containing an extension, and the loader has been relying on some extremely sketchy assumptions which break down in this corner-case.  It dies every time in some 32-bit environments and is indeterminately failing on even 64-bit builds.  Anyway, it is a loader issue and @lenny-lunarg is looking at it.

Alright then, reopened :)

To elaborate on what @mark-lunarg said, we found a loader issue in this test, where unknown physical device extensions rely on the compiler performing tail call optimizations, and the compiler wasn't performing that optimization, even when set to perform all optimizations. This was definitely the problem on Windows 32-bit, and it wouldn't surprise me if your problem is the same. But I'll look into the behavior on Linux once I finish fixing the Windows behavior.

That looks like the same valgrind error I was getting during initial development on Linux, but it was accompanied by an access violation, which  @MarkY-LunarG fixed.  Apparently fixing the access violation did not fix the write/read that valgrind was upset with.

@MarkY-LunarG fixed this today with commit d660c139f540f669a964a4466f709a7cd777333e. The problem was a memory allocation of the wrong size.


operation with 'null' value throws

swagger: '2.0'
info:
  version: 0.0.0
  title: Simple API
paths:
  /:
    get: null

Uncaught (in promise) TypeError: Cannot read property 'parameters' of null
    at http://localhost:9000/bower_components/sway/browser/sway.js:1682:24

Basically, we were wrapping a Promise within a Promise and the error thrown was not able to be caught.  We now will catch/reject all errors like this and reject it so you can handle it properly.  As discussed offline, we did not add extra checks in the sources to handle null and undefined being values for iterable objects (definitions, operations, paths, ...) because that would just allow someone to author bad Swagger documents.  At least with this approach they will know the err of their ways and can fix it.  We should handle invalid types for all types other than null and undefined so this should be all that is necessary.

:+1:


Non-Image Attachments in Web Chat Control

In my bot, I attach some csv files when sending a response back to the user. In the Direct Line API response, this shows up in the "attachments" array with the contentType of "text/csv". However, in the web chat control, this attachment doesn't show up at all.
Is it possible to at least get the URL of attachments to show up in the bot's response in the Web Chat Control?

This is a known limitation if the current version of the web chat control. We're planning to release a new version in the future.

@dandriscoll what's the timeline on CSV uploading?

We're actively working on this but I don't have a timeline to announce yet. Please stay tuned.

@dandriscoll I noticed that you guys do offer a link to download the CSV on response. I'm going to try and see if I can stream the data into the bot. If it works, I'll send a PR your way as well

I actually fixed this problem by streaming it with https.


Mod feature/post sticky and spoiler

I'm not completely sure I did this correctly (new to OSS contributing) so please let me know if I missed anything.
I just switched a project of mine to use the new Kotlin JRAW (which is fantastic) and I was missing the functionality for mod announcements and the official supported Reddit spoiler tag.
I added both along with some minor spelling edits and the associated Spek IT's.
Review whenever you have time/availability, thanks!

Made the requested changes. I ended up moving both functions to SubmissionReference since both features are specific to posts, not comments. I really appreciate the review/suggestions, thanks a bunch. Let me know if you see anything else!

Just a few more things and we should be good to go!

LGTM, thank you!


autosave

please add an autosave function that autosaves the scratch every 1 or 2 minutes, I have lost approximately an hour of work twice due to acidentally closing or otherwise moving away from the webpage, only to find that it has not saved

The current idea for how to do this will be to keep the current progress in local storage.
Separately, it appears the warning that you have unsaved changes isn't always appearing. So far all we know is that it's chrome


Call to Undefined Method on Laravel 7

PHP : 7.2.19
Composer : 1.9.0
qr-code : 3.9.6
Framework : Laravel 7.0
OS : Windows 10
Installed with Composer, everything is OK, no error. But when i use the library using builder or without builder, i got Undefined type on Visual Studio Code & Call to Undefined method on Laravel error page for all qr-code dependecies. Did i do something wrong or i following wrong docs?
When i run composer dump-autoload, it seems endroid/qr-code is not found/loaded by composer.
Screenshot from VSCode

read wrong version of docs.


Path should cast Pathname to String

Delegating #to_s to a Pathname instance won't cause the value to be a
String as expected.
Call #to_s on the Pathname to ensure we get a String back.
Closes #133

Thanks @adam12! Hey, would you mind making a matching PR for hanami/view (against the master branch) – this is where the bulk of future dry-view work will be happening :)

Thanks @adam12! Hey, would you mind making a matching PR for hanami/view (against the master branch) – this is where the bulk of future dry-view work will be happening :)

Looks like you fixed it there 3 months ago :joy:


ipopt-binary: Get binaries from GitHub

To reduce the possible point of failures and the infrastructure to maintain, transfer the ipopt reference binaries to GitHub.
All the binaries used by ports are stored in https://github.com/robotology/robotology-vcpkg-ports/releases/tag/storage .

Hi @mbrunettini, just a note: typically if somebody ask you to review the PR, the requested action is to "approve" or "comment" the PR, not to approve the PR, see for example: https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/approving-a-pull-request-with-required-reviews .


RepositoryRef.repositoryUri doesn't get correct repository name when it's a/b

I have my ecr def like this:
    //ecr
    const myecr = new ecr.Repository(this, 'Myecr', {
      repositoryName: 'myecr/nginxlight'
    });

then I created a task def:
    fargateTaskdef.addContainer('Mycontainer', {
      image: ContainerImage.fromEcrRepository(myecr)
    }).addPortMappings({ containerPort: 80, hostPort: 80});

and granted permission to pull
    myecr.grant(fargateTaskdef.taskRole, 'ecr:*');

Task failed:

Status reason | CannotPullContainerError: API error (404): pull access denied for<PHONE_NUMBER>70.dkr.ecr.us-east-1.amazonaws.com/myecr, repository does not exist or may require 'docker login'

Expect:
If cdk allows create ecr like a/b, it should also allow task definition get the correct name.

You are correct. Related issue: https://github.com/awslabs/aws-cdk/issues/1232
This was fixed recently and will be released shortly.
Thanks for reporting.


unknown dtype for tensor (BF16?)

Describe the bug
My Q8_0 quant of Athene-70B loads fine. I have another quant that is identical except the output and embedding tensors are BF16:
$ RUST_BACKTRACE=full ./mistralrs_server --interactive-mode --num-device-layers 13 --pa-ctxt-len 8192 gguf -m PATH -f Athene-70B-Q8_0-BF16.gguf
2024-08-01T17:08:17.446889Z  INFO mistralrs_server: avx: true, neon: false, simd128: false, f16c: true
2024-08-01T17:08:17.446907Z  INFO mistralrs_server: Sampling method: penalties -> temperature -> topk -> topp -> minp -> multinomial
2024-08-01T17:08:17.446917Z  INFO mistralrs_server: Model kind is: quantized from gguf (no adapters)
2024-08-01T17:08:17.446981Z  INFO mistralrs_core::pipeline::paths: Loading `Athene-70B-Q8_0-BF16.gguf` locally at `/PATH/Athene-70B-Q8_0-BF16.gguf`
2024-08-01T17:08:17.447033Z  WARN mistralrs_core::pipeline::gguf: Device mapping and PagedAttention are incompatible, disabling PagedAttention.
Error: path: "/PATH/Athene-70B-Q8_0-BF16.gguf" unknown dtype for tensor 30
   0: candle_core::error::Error::bt
   1: candle_core::quantized::GgmlDType::from_u32
   2: <mistralrs_core::pipeline::gguf::GGUFLoader as mistralrs_core::pipeline::Loader>::load_model_from_path
   3: <mistralrs_core::pipeline::gguf::GGUFLoader as mistralrs_core::pipeline::Loader>::load_model_from_hf
   4: mistralrs_server::main::{{closure}}
   5: mistralrs_server::main
   6: std::sys_common::backtrace::__rust_begin_short_backtrace
   7: std::rt::lang_start::{{closure}}
   8: std::rt::lang_start_internal
   9: main
  10: __libc_start_call_main
             at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  11: __libc_start_main_impl
             at ./csu/../csu/libc-start.c:392:3
  12: _start

Stack backtrace:
   0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
   1: <mistralrs_core::pipeline::gguf::GGUFLoader as mistralrs_core::pipeline::Loader>::load_model_from_path
   2: <mistralrs_core::pipeline::gguf::GGUFLoader as mistralrs_core::pipeline::Loader>::load_model_from_hf
   3: mistralrs_server::main::{{closure}}
   4: mistralrs_server::main
   5: std::sys_common::backtrace::__rust_begin_short_backtrace
   6: std::rt::lang_start::{{closure}}
   7: std::rt::lang_start_internal
   8: main
   9: __libc_start_call_main
             at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  10: __libc_start_main_impl
             at ./csu/../csu/libc-start.c:392:3
  11: _start

Latest commit or version
0.2.4

@oldgithubman yes, this is the problem. Please see huggingface/candle#2387. This will enable support for BF16.

@oldgithubman given that the Candle PR hasn't been merged, I have mirrored my changes onto our Candle fork so we can proceed. Please see #691, which should enable this to work.
To test:
git pull
git switch gguf_bf16
<test command here>

@oldgithubman thanks, that should be fixed now if you git pull again and retry!

@oldgithubman can you please run with RUST_BACKTRACE=1?

Ah ok thanks, I'll take a look.

@oldgithubman I just updated the branch to correctly setup the QMatMul (#691).

@oldgithubman thanks for confirming! I just merged #691, so this feature is available on master and will be in 0.2.6 in a few days.

@oldgithubman closing this issue as it works, please feel free to reopen!


Rocket.Chat.Electron deletes file extension in Save As dialog

My Setup

Operating System: Windows 10

App Version: 2.17.3

Installation type: exe

[x] I have tested with the latest version

[x] I can simulate the issue easily

Description
When user try to download any file from RC.Electron client Save As dialog windows appeas and filename there without extension.
And if user do not add proper extension to file it will be saved without any extension.
But if user try to download file in RC web version (google chrome) - file just downloads with proper name and extension. So, it is RC.Electron bug.
Current Behavior
Press download icon (cloud and arrow down) in RC.Electron client

Save As dialog delete file extension

And Chrome just download file after pressing download icon

Expected Behavior
File saved with it's extension. Maybe even without Save As dialog winodow.

Can confirm, I have noticed this only with .txt files though

Can confirm, I have noticed this only with .txt files though

I see that with every file with every extension.
Here is examples with png and gif

Can't replicate on Linux, could it be a Windows specific issue (if it still exists?)

Issue still persist in 2.17.11

One more detail.
On Windows 10 2004 Save As dialog works perfect and file extensions remain with same 2.17.11 version.

Unfortunately 3.0.1 not fixed this yet...

Windows 10 1809

Same files on same RC desktop app version 3.0.1 but on Windows 10 2004 saving perfect

Definitely fixed


trian with angle bboxs

hi @OceanPang
I want to train libra-fast- RCNN bboxs with Angle. What should I do?
thank you

Hi @andrew-begain, sorry for the late reply. Currently, we didn't support training with Angle, you can just add one another regression term along with delta_x, delta_y, delta_w, delta_h. You can refer to some related works in text detection.


Custom domains documentation

Content must go through a pre-merge checklist.
Pre-Merge Content Checklist
This documentation has been checked to ensure that:

[ ] The title, template, and date` are all set
[ ] Does this PR have a new menu item (anywhere in templates/*.hbs files) that points to a document .md that is set to publish in the future? If so please only publish the .md and .hbs changes in real-time (otherwise there will be a menu item pointing to a .md file that does not exist)
[ ] File does not use CRLF, but uses plain LF (hint: use cat -ve <filename> | grep '^M' | wc -l and expect 0 as a result)
[ ] Has passed bart check
[ ] Has been manually tested by running in Spin/Bartholomew (hint: use PREVIEW_MODE=1 and run npm run styles to update styling)
[ ] Headings are using Title Case
[ ] Code blocks have the programming language set to properly highlight syntax and the proper copy directive
[ ] Have tested with npm run test and resolved all errors
[ ] Relates to an existing (potentially outdated) blog article? If so please add URL in blog to point to this content.

Screenshots will need to be updated once UI is complete

Reading the meeting notes from today and perhaps we should mention
We are allowing - in our custom domains, but we aren’t allowing , or / or CAPITAL LETTERS

@tpmccallum those are just part of the general rules for legit domain names I think - it's not that we won't allow those characters, you won't be able to register a domain with those characters.  E.g. https://www.dynadot.com/community/blog/domain-name-rules.html though it's not a great explanation...!

This is really great @macolso
I am going to have one more preview/read LGTM at this stage.

I did notice that there is a conflict in the menu. @Kenzie, did you just want to resolve this manually in the GH UI?

Just looks like a return line character that splits what is already there.

Re-ran bart check and npm run test over this; all passed!


Add moonface

Had this since @AndrewFReda and I discussed it on 10/13/17. Not sure if it actually works...

how is this not "ralph moon me"


Length Of Last Word (Python)

Pull Request Template
Description
Given a string s, we have to find the length of the last word. We will first strip the string and use split() function and return the value.
Put check marks:
Have you made changes in README file ?

[x] Added problem & solution under correct topic.
[x] Specified Space & Time complexity.
[x] Specified difficulty level, tag & Note(if any).

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[x] Test A
[x] Test B

Make sure all below guidelines are followed else PR will get Reject:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code so that it is easy to understand
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

@GouravRusiya30 any problem with this?


Improve add_basemap for supporting xyzservices provider object

Any chance we could support passing the provider object as m.add_basemap(xyz.BasemapAT.basemap)? That allows passing basemaps requiring tokens for example.

_From @martinfleis https://twitter.com/martinfleis/status/1423263789579972611_

@martinfleis This feature has been implemented. Users can pass an xyzservices provider object to the add_basemap() function. It supports three plotting backends, i.e., ipyleaflet, folium, and heremap @sackh
https://leafmap.org/notebooks/02_using_basemaps/
import os
import leafmap
import xyzservices.providers as xyz

basemap = xyz.HEREv3.basicMap
basemap['apiKey'] = os.environ["HEREMAPS_API_KEY"]

m = leafmap.Map()
m.add_basemap(basemap)
m


Add discussions tab?

Hello! Very interesting work. I remember this being presented at MICCAI in 2020 and I have had the printed paper on my desk ever since.
However, I never got the time to play around with these ideas, especially usage of self-supervised learning. Luckily, seems like I will be doing so soon. I will be integrating your ideas into my own framework and designs, and if I have any issues or similar using the code directly, I hope I can ask you questions? One of the issues I immediantly had was which stain normalization method you used and if it was rapid. I have implemented my own GPU-accelerated Macenko method, both in Torch/TF. However, the method seem to have numerical instabilities, as well as not being perfect in some scenarios.
Perhaps a Discussions tab is more optimal for these types of things (see how to add one here)? I would suggest making one for this repo. It is an integrated tab in GitHub, quite new feature really and just what I felt was needed.

Hi! I am glad to know you enjoyed the paper! I'm also happy to see that people are developing GPU-accelerated normalization approaches for histology. It will greatly help. Also, good luck with that as I know the optimization process can be tricky. Of course, I am always open to discussing ideas / collaborating especially when it fits my Ph.D. research topic so do not hesitate to contact me and we can organize something (christian.abbet@epfl.ch).
I never heard about this GitHub "discussion" feature. I enabled it, so let's see how it goes.

@christianabbet heard rumours that optimization can be tricky. I will let you know if I get any issues, or if I have any questions. I have co-developed a package for GPU-accelerated stain normalization called torchstain. Its fully open and can be used as you please. Supports torch, tensorflow, and numpy backends. Still some work that remains there, and more to come, but seems to work great on my use cases.
And yeah, I will let you know if there are any natural collaborations that could be made :] Thanks!
Will post future questions in the Discussion tab.


com.lilittlecat.chatgpt.offical.exception.BizException: timeout

I use raspberry Pi, with telegram bot, some requests are getting timeout request. Please, add possibility to specify timeouts settings for http client

@flynet Hello, to set a timeout parameter for the request, you can pass an OkHttpClient object with the desired timeout values when constructing the ChatGPT object. For example, you can create an OkHttpClient object with a 10-second timeout for connection, read, and write operations, like this:
OkHttpClient client = new OkHttpClient.Builder()
                .connectTimeout(10, TimeUnit.SECONDS)
                .readTimeout(10, TimeUnit.SECONDS)
                .writeTimeout(10, TimeUnit.SECONDS)
                .build(); // set as needed, default is 10s
ChatGPT chatGPT = new ChatGPT("YOUR_API_KEY", client);

You can adjust the timeout values as needed. For more information, please refer to the following documentation: https://square.github.io/okhttp/4.x/okhttp/okhttp3/-ok-http-client/#properties


Segmentation of the people parts

Hello! I´ve been using your work recently and its very good! However, I´m stuck trying to do the segmentation of the different body parts in the mesh of the results.
So far, I tried to use the SMPL format and this labeler: https://github.com/ZhengZerong/SmplLabeling, but I do not find some information in the results as, in example, the J regressor.
There is a way with the current code to do this? If I didn´t explain myself well enough, do not hesitate to ask me.
Thank you in advance.

Hi, are you trying to get the body part index of each vertice of SMPL model?

Yes, that would do the trick. But I don´t understand how to accomplish that with the j3d_smpl24 numpy array.

I think that you might be looking for
https://github.com/gulvarol/surreal/blob/master/datageneration/pkl/segm_per_v_overlap.pkl
Don't forget to cite their paper if you use it.

Thanks! I think I do understand now. Thank you for the help!


ProgrammingGuideClassesAndStructsFinalizers

Summary
I was about to fix physical location names under dotnet\docs\docs\csharp\programming-guide\classes-and-structs with finalizer instead of destructor. But then I found that I am unable to fix references (links) in other repositories simply because they do not contain them although pages do.
For instance https://docs.microsoft.com/en-us/dotnet/api/system.idisposable.dispose?view=net-5.0 contains https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/destructors. This is beyond my knowledge.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: Uzivatel919 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for this @Uzivatel919
First, you'll need to address the merge conflicts before this goes further. That way we can see the build results.
I skimmed the changes, and the text changes are great.
The file name changes may be more work than the benefit. (At any rate, that's what I thought when the ECMA committee formally adopted a preference for "finalizer". One option is to revert the file name changes.
The other option is to add a redirect in the redirection file.  Note that entries are sorted alphabetically by source path. That minimizes merge conflicts when multiple authors have PRs open to move files.
I'll watch for updates and merge this when it's ready.

Added redirect, conflict solved.


cannot copy compiled binary: no such file or directory

Hi there, I love the concept of Gaia and am trying out the demos in your tutorials but am getting this error:
cannot copy compiled binary: open /data/pipelines/gaia-pipeline/go-example_golang: no such file or directory
I'm not that familiar with Go but it appears the repos are being cloned and the code compiled in ./tmp/golang/src/495c7f71-d409-4933-a175-534fe8c066df/gaia-pipeline//go-example_golang but not copied to the correct place however if I manually copy to ./pipelines, I get a Success message.
I guess that's weird too since the error message implies ./data/pipelines - will take a look at the source but am no coder.

I'm on a MacBook Pro running 10.13.6 and Docker 18.06.1-ce
Cheers, Phil

First off, hi @Phil-Taylor-IW! Welcome, and thanks for reporting this issue. I'll look into it as soon as I can! :)

So, could you tell me a little bit more what exactly were you trying to do?
For me, I was pressing, create pipeline and I'm using the example repository (https://github.com/gaia-pipeline/go-example).
This is the result of me creating the pipeline:

And then running the pipeline which also worked fine:

I'm also on a mac.

That's all I was doing, I ran the container, logged in, created a user and added my Github creds but didn't have any code so created a new pipeline just as you did there. Let me kill my repo and start again from scratch.

Cool - that seemed to do it! I must have had some bad config hanging about. Thanks for that!

Yay! :)

Totally loving the gaia concept. Is anyone working on a Ballerina SDK? That would be of great interest.
From: Gergely Brautigam<EMAIL_ADDRESS>Reply-To: gaia-pipeline/gaia<EMAIL_ADDRESS>Date: Friday, 31 August 2018 at 6:48 PM
To: gaia-pipeline/gaia<EMAIL_ADDRESS>Cc: Phil Taylor<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Subject: Re: [gaia-pipeline/gaia] cannot copy compiled binary: no such file or directory (#99)
Yay! :)
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/gaia-pipeline/gaia/issues/99#issuecomment-417569052, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AodqaMQuXaySV2I3sGMH3XkHFsEICuTrks5uWNw2gaJpZM4WULl0.

@Phil-Taylor-IW I don't think so, no. There are quiet many features that we need to implement first, like distributed execution which is on my plate right now. Also, other things that you see in the issues section. :) But we are always happy if people jump in on the fun though. :)

I saw Rust mentioned and wasn’t suggesting you do it ;-)
I’m not a coder but am trying to sell the idea internally.
Win-win.
From: Gergely Brautigam<EMAIL_ADDRESS>Reply-To: gaia-pipeline/gaia<EMAIL_ADDRESS>Date: Friday, 31 August 2018 at 7:00 PM
To: gaia-pipeline/gaia<EMAIL_ADDRESS>Cc: Phil Taylor<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [gaia-pipeline/gaia] cannot copy compiled binary: no such file or directory (#99)
@Phil-Taylor-IWhttps://github.com/Phil-Taylor-IW I don't think so, no. There are quiet many features that we need to implement first, like distributed execution which is on my plate right now. Also, other things that you see in the issues section. :) But we are always happy if people jump in on the fun though. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/gaia-pipeline/gaia/issues/99#issuecomment-417571574, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AodqaCx9vWbbuCoo2R2KBQbiuPmLSeErks5uWN8TgaJpZM4WULl0.

@Phil-Taylor-IW Yeah, as an issue for a reminder that it would be cool to have. :) Although, apparently the gRPC for rust isn't maintained. :/ So I'm not sure if I ever get a chance to do it.
Otherwise, yeah, if you wish Gaia would do something that you would like to see, feel free to create an issue so we never forget about it. :)

Actually I don't care about Rust but work for an integration company and would like to see a Ballerina SDK. It looks like it has gRPC support so I will create an Issue for this soon thanks.


Repo tools

Added invoke tasks for easier development.

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


localgsmnlpbackend doesn't give location

I cannot get location with localgsmnlpbackend. My phone is Oneplus one and i've tried different Lollipop based roms (Exodus,AICP,Blisspop,SlimLP) without success. Stock settings, no GAPPS.
Privacy guard show that localgsmnlpbackend has asked location several hundred times (and always allowed), but I localgsmnlpbackend never show up on "settings --> location: recent location requests" -list.
Wifi Backend however shows up on that list and also gives me location with Osmand or SatSat.
Where's the problem?

Can you get me a screen shot showing the configuration settings for local-GSM-backend?
Debug logging is normally off on the backend but I can get you an APK with it enabled so that we can use logcat to see what is happening if it is not obvious in the settings.

A build of version 0.9.3 with debug logging enabled is at https://www.dropbox.com/s/vmj70d6janarj2y/Local-GSM-Backend_0_9_3.apk?dl=0
It is signed by me so you will have to remove any version signed by others (like F-Droid) to install. Once installed, you can use something like:
adb logcat | grep gsm-backend
On a Unix computer to display the log entries it generates. There is probably some equivalent way to do that on Windows but I don't know what it is.

Something strange today: after installing your debug backend, I first didn't get gsm based location, then after moving to another town, I suddenly got a location. But then, after reboot, I no longer get gsm location despite being at same place.
Here is the logcat, I'm not sure if it shows the events before the reboot, when things worked for a moment.
D/gsm-backend-service( 6212): Starting location backend
D/gsm-backend-service( 6212): Binder OPEN called
D/gsm-backend-service( 6212): Starting reporter thread
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-database( 6212): Attempting to open database.
D/gsm-backend-database( 6212): DB Cursor empty for: mcc=244, mnc=5, lac=21800, cid=350209
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onServiceStateChanged:  null position
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onCellLocationChanged:  null position
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onCellInfoChanged:  null position
D/gsm-backend-service( 6212): Binder CLOSE called
D/gsm-backend-service( 6212): Starting location backend
D/gsm-backend-service( 6212): Binder OPEN called
D/gsm-backend-service( 6212): Starting reporter thread
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-database( 6212): Attempting to open database.
D/gsm-backend-database( 6212): DB Cursor empty for: mcc=244, mnc=5, lac=21800, cid=350209
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onServiceStateChanged:  null position
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onCellLocationChanged:  null position
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onCellInfoChanged:  null position
D/gsm-backend-service( 6212): Binder CLOSE called
D/gsm-backend-service( 6212): Starting location backend
D/gsm-backend-service( 6212): Binder OPEN called
D/gsm-backend-service( 6212): Starting reporter thread
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-database( 6212): Attempting to open database.
D/gsm-backend-database( 6212): DB Cursor empty for: mcc=244, mnc=5, lac=21800, cid=350209
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onServiceStateChanged:  null position
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onCellLocationChanged:  null position
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onCellInfoChanged:  null position
D/gsm-backend-service( 6212): Binder CLOSE called
D/gsm-backend-service( 6212): Starting location backend
D/gsm-backend-service( 6212): Binder OPEN called
D/gsm-backend-service( 6212): Starting reporter thread
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-database( 6212): Attempting to open database.
D/gsm-backend-database( 6212): DB Cursor empty for: mcc=244, mnc=5, lac=21800, cid=350209
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onServiceStateChanged:  null position
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onCellLocationChanged:  null position
D/gsm-backend-telephonyHelper( 6212): getAllCellInfoWrapper() returned nothing, trying legacyGetCellTowers().
D/gsm-backend-telephonyHelper( 6212): getNeighboringCellInfo() returned null or empty set.
D/gsm-backend-telephonyHelper( 6212): getTowerLocations(): No tower information.
D/gsm-backend-service( 6212): onCellInfoChanged:  null position
D/gsm-backend-service( 6212): Binder CLOSE called

Looks like your phone, like mine, does not report adjacent cells so it can only use the location of the cell tower it is connected to which is mcc=244, mnc=5, lac=21800, cid=350209
However that tower is not in your database. Querying the Open Cell ID database, I see it is missing from there. And looking at the latest database from Mozilla, I see it is missing from there too.
I suspect your spotty operation is because only a few towers in your area are mapped and the local GSM backend will only return a location if the tower you are connected to exists in the database.
It seems that the cell towers in your area are not well mapped. I suggest that you use either an app from OpenCellID at http://wiki.opencellid.org/wiki/Data_sources and/or the Mozilla app at https://location.services.mozilla.com/apps to contribute to those projects. Once you have contributed those cell tower locations to one or more of those projects you should be able to download a new database to your phone and have this backend work.


Cannot parse "bin" attribute in a manifest. This should not happen. Please open an issue about it with steps to reproduce

 $ scoop-search google

2023/12/11 10:43:39 Cannot parse "bin" attribute in a manifest. This should not happen. Please open an issue about it with steps to reproduce

Could you please attack a list of buckets you have installed? Thanks

$ scoop bucket list

Name
Source
Updated
Manifests

apps
https://github.com/kkzzhizhou/scoop-apps
2023/12/10 12:43:44
12946

extras
https://github.com/ScoopInstaller/Extras
2023/12/11 08:31:53
1889

java
https://github.com/ScoopInstaller/Java
2023/12/10 20:24:58
267

main
https://github.com/ScoopInstaller/Main
2023/12/11 08:32:37
1266

okibcn
https://github.com/okibcn/ScoopMaster
2023/12/11 10:26:33
45622

I also encountered the same problem. Before it was normal, suddenly it reported this error!
bucket list:

Sorry for the delay, I finally have some time to look at it today. I suspect either a malformed manifest (which should be preferably fixed downstream) or scoop changed how the manifest looks like.

How should I solve this problem?
What steps should I take to solve this problem?
I have no clue!

Unfortunately I don't produce any diagnostics so the only way to debug this is to run a locally compiled version of scoop-search that will print out the path to the malformed manifest.
This error appears because it tries to parse a manifest file but fails to do so because it expects a field that is not there. I will take a look at it today in the evening. I will also change the error message to be more informative.

The problem is in the ScoopMaster repo. They have some malformed manifest there. Adding this repo as a bucket takes forever, so I will leave it overnight and check tomorrow which is the offending manifest.

Well actually, screw it. I cannot fight against all incorrectly written manifests. I released v1.3.2 that silently ignores incorrect manifests. It should work for you now.

yeah, it worked. Thank you very much!


Fix flower dependencies

Coverage remained the same at 89.021% when pulling d41bcf86de114ca71c78b1a0b98bf687f917cae9 on johngian:fix-dependencies into 70bee2fa8439c85b3637e672c903f331b0f0e494 on mozilla:master.


fix topsoil function

The current topsoil function is incorrect and at the best the one defined in APP4 will only suits specific soil depth levels.
The function should return the values for the top 10 cm of soil. So depending on the depth_bnds we should be able to interpolate this value.
AUS2200 top level is exactly 10cm so it cannot be used as an example

I guess we could loop on the maximum boundary of depth_bnds, if that's less than 10cm than you can accumulate the all layer, if it's more than you calculate a proportion of what's in the first 10cm respect to the total thickness

of course cable doesn't provide the depth_bnds base don this: https://github.com/ACCESS-Hive/APP4/issues/13

Need to double check this is correct but I added function

still need to update mappings and this should be also used for tsl and any other variable which is defined on "sdepth1"

mappings updated


Added: Stats

Personally I don't see it as a duplication of the existing downloader stats, since a spider might not have all of its requests sent through Crawlera.

[Current coverage][cc-pull] is 91.86% (diff: 77.77%)

Merging [#22][cc-pull] into [master][cc-base-branch] will decrease coverage by 1.11%

@@             master        #22   diff @@
==========================================
  Files             2          2
  Lines           114        123     +9
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            106        113     +7
- Misses            8         10     +2
  Partials          0          0

Powered by Codecov. Last update [19c5362...74a51e3][cc-compare]
[cc-base-branch]: https://codecov.io/gh/scrapy-plugins/scrapy-crawlera/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/scrapy-plugins/scrapy-crawlera/compare/19c53622bbbc9f181126a8ac027cd751b60afb5f...74a51e3239a5730da6f8afff5a37b7075be00a14?src=pr
[cc-pull]: https://codecov.io/gh/scrapy-plugins/scrapy-crawlera/pull/22?src=pr

@starrify , I agree this is important debug information. Thanks!
I see that you've chosen stat names similarly to downloader stats, .e.g
 'downloader/request_count': 2,
 'downloader/request_method_count/GET': 2,
 'downloader/response_bytes': 1916,
 'downloader/response_count': 2,
 'downloader/response_status_count/200': 1,
 'downloader/response_status_count/404': 1,

I don't know what others think but my preference goes to something close to what scheduler/... stats are, that stats are counts anyway (virtually all the time) so no special need to have "count" in the name, i.e.
'crawlera/request': 32
'crawlera/request/method/GET': 18,
'crawlera/response/banned': 16,
'crawlera/response': 18,
'crawlera/response/status/200': 14,
'crawlera/response/error': 24,
'crawlera/response_error/noslaves': 10,

In particular, you are using 'crawlera/response_count', but 'crawlera/response_error' and 'crawlera/response_error_count/<error>', so that would appear inconsistent IMHO.

@redapple Thanks a lot for the advice 😄 👍 The PR has been updated.

LGTM

LGTM 👍 , should we make it pass codecov or just merge? @redapple ?