The 'Access-Control-Allow-Origin' header contains multiple values

I'm using AngularJS App on the client side to access Laravel API hosted on IIS 8.5.It works fine when client is hosted on same domain.But when hosted on different domain it gives following error.
XMLHttpRequest cannot load http://example.com/api. The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost, *', but only one is allowed. Origin 'http://localhost' is therefore not

Web.config:
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^(.*)/$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Redirect" url="/{R:1}" redirectType="Permanent" />
                </rule>
                <rule name="Imported Rule 2" stopProcessing="true">
                    <match url="^" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Origin" value="*" />
                <add name="Access-Control-Allow-Headers" value="Origin, Content-Type, Authorization, Accept, X-Request-With" />
                <add name="Access-Control-Allow-Methods" value="GET, POST, PUT,  DELETE, OPTIONS" />
                <add name="Access-Control-Allow-Credentials" value="true" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

Actual Response header:
Request Method:POST
Status Code:200 OK
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Origin, Content-Type, Authorization, Accept, X-Request-With
Access-Control-Allow-Methods:GET, POST, PUT,  DELETE, OPTIONS
Access-Control-Allow-Origin:http://localhost
Access-Control-Allow-Origin:*

Why 'Access-Control-Allow-Origin' echoed twice.
What is the right way to host API on IIS? Do I have to include  headers in web.config file.

Same issue

Actually nothing related to the package.
It was a wrong usage of the middlewares.
This package works like a charm.
Thanks.

Can you update how the middleware usage was wrong,I am facing the same issue and I am using it in this way in my routes.php
      Route::group(['middleware' => 'cors'], function(){
             Route::post('/contactform','ContactController@sendContact');
     });

OOO shit, i'm really late right?
 Within the array $middleware, I put this line:
 \App\Http\Middleware\VerifyTokenOauth::class,
And how the comment is saying:
/**
     * The application's global HTTP middleware stack.
     *
     * @var array
     */

It is global, so I just took away this line from the array and everything worked.
Let us know if it worked or your solution, for sure other people will be interested to know the solution for this "fucking" issue. hahaha.

This is my middleware and I have added the cors to the route middleware.This is how it looks! I have desabled the csrf token validation and kept it live only for api routes with route middleware 'VerifyApi'
      /**
 * The application's global HTTP middleware stack.
 */
protected $middleware = [
	'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
	'Illuminate\Cookie\Middleware\EncryptCookies',
	'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
	'Illuminate\Session\Middleware\StartSession',
	'Illuminate\View\Middleware\ShareErrorsFromSession',
	//'App\Http\Middleware\VerifyCsrfToken',
];

/**
 * The application's route middleware.
 */

protected $routeMiddleware = [
	'auth' => 'App\Http\Middleware\Authenticate',
	'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
	'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
	'loginAuth'=>'App\Http\Middleware\LoginAuthentication',
	'VerifyApi'=>'App\Http\Middleware\VerifyApiRequest',
	'cors'=>'Barryvdh\Cors\Middleware\HandleCors'     //for CORS support
];

}
I have an issue created as I did not get concrete solution from previous threads
https://github.com/barryvdh/laravel-cors/issues/74
Please go through as I am still stuck at this

I got it.

Could you try to simulate the same request in a only php file (non laravel)?
And, try to simulate the request again, in a fresh laravel installation?
This message happens because in some place of your project or configuration you are running the header('allow-origin: *'); more than once.

Yes,you mean at the laravel side right? I already cross checked it. routes.php,index.php and .htaccess files for existing headers but they do not exist. as I am testing it on a kind of staging but demo server,I cannot have a fresh install. This issue does not occur on local as we know. So I am stumped now.I will try other ways and revert if I fix. Thanks for the help @marcelorl

Hmmmmm, so, you mean that the routes.php, index.php and .htaccess have no header() configuration right?
Could you try to simulate the request with a pure php file? A post request for example. Then you will know if it is something related to the server or with your application.
Good luck =/

if I get you right, you mean instead of hitting a route,I place a cors.php and add headers to it allowing access control origin.Then send a request to that cors.php. Right? Ok I did the dirty fix I did not want to and it works, I added the default headers
    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Headers: ACCEPT, CONTENT-TYPE, X-CSRF-TOKEN");
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS, DELETE");

I know this is not safe,but I had make it work for obvious reasons. And I guess,if this works it has to be some issue at tbe app level. Correct me if wrong
Cheers @marcelorl

YEP, that is the point.
This is something with the APP and not with your server at all. But you said that in your localhost it works smoothly right?
Actually I don't recommend you to leave a cors.php file and do the request in there, it was just a test. It would be a lot better you have it in your App.
If you may have this solution just for a while, I think it is ok, until you figure out what is happening.
Another test that could be done -> a fresh install of laravel (with this package, otherwise you will have a default CORS error ¬¬) in your server, then you will know if it is some configuration that you have done and you dont remember.
If, it still does not work, you could considerate to move the website that is pinging in your API to the same host. Thinking in RESTful, the API would be a sub-domain like:
http://sachintaware.com/user/2/edit -> requester
http://api.sachintaware.com/v1/user/2 - API
Maybe I went to far hahaha. Let me know your updates. =)

Ok,right now the website is on S3 so its already a subdomain calling a subdomain.
my application is at staging.example.com and my website is at testsite.example.com/site1.
I currently send a request like staging.example.com/contactform/ which is my route.
Fresh install would kill me right now,I will try and debug and keep install as last option.
Yes the headers are a temp fix as the app is not in production.
Will update you for sure.
Cheers @marcelorl

Hmmmmm I got it.
Np. When you figure out the problem I would love to know what was that.
I think that it's ok you leave the test like that, (for a while), just to do more productive things.
Good luck again =).

same issue

Hi,
I would like to share with you how I fixed the same issue and hopefully it will be included in future releases.
I'm using laravel 5.2 and the problem is that laravel includes in the response headers the "Access-Control-Allow-Origin" and other headers like "Access-Control-Allow-Credentials", etc. but the CORS library doesn't overwrite them so the final response includes duplicated headers.
The fix was creating a middleware with the following lines which removes the laravel default headers before the CORS library sets the right ones:
    public function handle($request, Closure $next)
    {
        header_remove('Access-Control-Allow-Credentials');
        header_remove('Access-Control-Allow-Origin');

        return $next($request);
    }

Then add this middleware to the Kernel.php file, mine looks like this where the HttpHeaders is the middleware I created which contains the above header_remove lines:
    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \App\Http\Middleware\HttpHeaders::class,
        \Barryvdh\Cors\HandleCors::class,
        ..............
    ];

It would be great if the CORS library first removes the headers that is setting before it sets the right ones.
Thanks,
Gabriel

Your server must be adding the headers. I found that my nginx config in my docker container had add_header lines in it. Removing these fixed my problem.

This issue is still present in v0.9.3

If anyone still runs into this issue, here's what happened for me;
I found out that I had set the 'Access-Control-Allow-Origin' in 2 different places. Removing the one that was not in my middleware fixed the issue for me.
Hope this helps someone!
P.S. Here's my middleware php file for CORS:
`<?php
namespace App\Http\Middleware;
use Closure;
class Cors
{
/**
* Handle an incoming request.
*
* @param  \Illuminate\Http\Request  $request
* @param  \Closure  $next
* @return mixed
*/
public function handle($request, Closure $next)
{
header_remove('Access-Control-Allow-Credentials');
header_remove('Access-Control-Allow-Origin');
  return $next($request)
      ->header('Access-Control-Allow-Origin', '*')
      ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
      ->header('Access-Control-Allow-Headers', 'Content-Type, Authorizations, Authorization');
}

}`

I have the same problem here.
I am using Laravel 5.8.0 and the version of  "barryvdh/laravel-cors": "^0.11.3".
The CORS configuration in config.cors.php is :
//...
   'supportsCredentials' => true,
    'allowedOrigins' => ['*'],
    'allowedOriginsPatterns' => [],
    'allowedHeaders' => ['*'],
    'allowedMethods' => ['*'],
    'exposedHeaders' => [],
    'maxAge' => 0,

Kernel.php

// ...
'api' => [
            'throttle:60,1',
            'bindings',
            \Barryvdh\Cors\HandleCors::class,
        ],

// ...
 protected $middleware = [
        \App\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\TrustProxies::class,

        \Barryvdh\Cors\HandleCors::class,
    ];

My angular application ran on the host http://localhost:4200.
The error message is :
supports:1 Access to XMLHttpRequest at 'http://<IP_ADDRESS>:8000/api/sessions/1/supports' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:4200, *', but only one is allowed.

this solution resolve to me
<?php

namespace App\Http\Middleware;

use Closure;

class Cors
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        header('Access-Control-Allow-Origin', '*');
        header('Access-Control-Allow-Methods', '*');
        header('Access-Control-Allow-Headers', '*');

        return $next($request);
    }
}

I have absolutely the same issue. Trying to make spa authentication with vuejs on the front.
vue is on admin.backend.test while laravel is on backend.test.
I am using laravel 7 so cors is baked into the laravel.
Getting this error in browser console:
Reason: Multiple CORS header ‘Access-Control-Allow-Origin’ not allowed
Networks header is this

I've crawled the whole web and all the tutorials. Kinda very disappointed : )

Well it looks like the first header is probably from this package, the second is added elsewhere (eg valet/Apache/nginx with some config file/.htaccess), or using pho headers yourself. Do you need this package at all? When your remove this package, is 1 of those 2 Allow Origin headers still addded?

Thanks! I think Valet is adding the additional header.

@barryvdh  You were so right!
Thanks!

Is that a default config? Or did that come with Valet?

I have never had to change valet config. This is default valet config. It has been always adding access-control-allow-origin *.
I am on mac. I had to go /usr/local/etc/nginx/valet and in valet.config removed all the lines where access-control-allow-origin * been added.
And now everything is working.

I got it.

Could you try to simulate the same request in a only php file (non laravel)?
And, try to simulate the request again, in a fresh laravel installation?
This message happens because in some place of your project or configuration you are running the header('allow-origin: *'); more than once.

That was my problem, I had header('allow-origin: *'); duplicated in bootstrap/app.php while using cors in kernel.php
Thank you so much!

Hello guys!
Not an issue but little addition. Maybe it will save a lot of time for someone.
I had two web-sites with Laravel and Lumen for API and I have encountred same problem after upload them from local environment (locally all was working normally) to dreamhost and I almost gone completely craze because I triple checked everything, until finally found that they have additional .htaccess located not inside web-server documentroot but in user home directory!!!


Change Quiz Option Keys

There are several quiz options that are heavily tied to Canvas (e.g. time_limit, published, etc).
Generalize the keys that can be generalized and put the rest in a Canvas-specific object.

Complete in e632ad74448819183a2ae73c14a7cdf817a7fe29.


Subtitle file with a lot of repeated lines, and very offset timings.

Checklist

[X ] I'm reporting a broken site support issue
[ X] I've verified that I'm running yt-dlp version 2021.08.02
[ X] I've checked that all provided URLs are alive and playable in a browser
[ X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ X] I've searched the bugtracker for similar bug reports including closed ones
[ X] I've read bugs section in FAQ

Verbose log

PASTE VERBOSE LOG HERE

Description

WRITE DESCRIPTION HERE
For some reason, the subtitles (xml is repeating itself several times, and the timing is also way offset. A clip of 27 minutes, ends up subtitle-length of 66 hrs. Video and audio downloads normally.
yt-dlp doesn not give any error messages, so there's nothing to post in that regard.
Link for the manifest is here: https://e.s.sumo.prod.streampilot.tv/isi_mp4_1/2021-06-10/whlucncroxb(1662806_ISMUSP)_v3.ism/whlucncroxb(1662806_ISMUSP)_v3.mpd

As per #247, downloading subtitles found in DASH and ISM manifests is somewhat experimental. If you could find a m3u8 manifest with a WebVTT subtitle stream, it should work much more reliably.
That said, this one probably isn’t our fault. The timing problem seems to be that the program you opened the subtitle in adds the cue timestamp found in the fragment XML to the container timestamp of the segment, expecting the former to be relative to the segment timestamp (where in fact, they are relative to the whole media stream).
According to https://www.w3.org/community/texttracks/2013/09/11/carriage-of-webvtt-and-ttml-in-mp4-files/:

Regarding timing, each TTML document contains the elements to be presented during the sample validity, but the time values used in the document are relative to the start of the track. In other words, 00:00:00 in the XML does not mean the start of the sample in which the document is carried. So in the example below, the document describes rendering between times 00:31:00 and 00:32:00 but the sample may have a start time before the time 00:31:00 and may last after 00:32:00. Authors should be careful, that elements associated with times outside the sample validity will not be rendered.

This is not an authoritative standards document, but I presume it agrees with the actual standard text, so it would appear that this is a bug in your subtitle editor.
But given how poorly TTML-in-MP4 tends to be supported, it might be warranted for us to extract such subtitle streams into stand-alone TTML files.
(The duplication issue stems from the fact that some subtitles appear in multiple DASH segments. When the timestamp issue is resolved, the duplicates should have their timestamps align exactly, reducing this to a mere annoyance. Though sure, it would be nice to merge them too.)

Yeah, I’ve dealt dealt with the TTML-in-MP4 duplication issue before. The solution is to check if the current segment’s start timestamp is equal to the previous segment’s end timestamp (possibly also check if the text is equal just to make sure), and if so, set the previous segment’s end timestamp to the current segment’s end timestamp instead of appending the current segment to the list.

Thanks for your comments and feedback.
I was aware is was a long-shot, but maybe it's something that can/will be implemented in a later version. As for the subtitle editor, I will argue against it being bugged, since the original .xml file (downloaded and merged with yt-dlp (opened in notepad)) also contains several lines with the same text. I've tried looking it up on other websites, to get a better understanding about how the cue's/timestamps work. I was trying to look for a script that could look for copied lines in consecutive fragments, and merge them properly. I'm afraid it's out my league to do anything about it myself, as I lack the coding skills to do so.
Hopefully someone more knowledgeable is able to do something about it in the future.

Wait, yt-dlp doesn’t download an XML file. It downloads an MP4 file with XML fragments in it. Where did you get the XML file from?

Sorry about that, my bad in explaining properly. I renamed the file into .xml as I was reading about it in another forum. You are correct that the original output from yt-dlp is a .mp4 file.

Okay. I don’t know who told you to rename the file, but they didn’t know what they were talking about. Obtaining a proper stand-alone XML subtitle requires a bit more processing that just renaming the MP4 file.
Fortunately, the subtitle editor seems to have called your bluff, and is able to parse the MP4 container and extract the XML fragments. It is correct in showing multiple cues with the same content, since those are present in the original stream. It is incorrect in adjusting the cue timestamps (apparently relative to individual segment boundaries). If you looked at the file in Notepad, you might have noticed that the end= timestamps match the begin= timestamps of their later duplicates:

                BORTKASTET PINGUS

                BORTKASTET PINGUS

If the file were correctly read, it would have the starting and ending timestamps align likewise in the editor.
Is this https://github.com/SubtitleEdit/subtitleedit/? Maybe we could ping @niksedk.

In the meantime, you can try downloading subtitles from https://e.s.sumo.prod.streampilot.tv/isi_mp4_1/2021-06-10/whlucncroxb(1662806_ISMUSP)_v3.ism/whlucncroxb(1662806_ISMUSP)_v3.m3u8, which is WebVTT over HLS. Those are much better supported.

@fstirlitz correct indeed. I have also sent him a feature request/suggestion via mail. I'm new to this with subs contained in a mp4 stream, so i just experimented with various suggestions from other forums. Thanks again for taking the time, much appreciated.

Also, tried getting the vtt earlier, and ended up with this error message:
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 279
[download] Destination: whlucncroxb(1662806_ISMUSP)_v3 [whlucncroxb(1662806_ISMUSP)_v3].no.vtt
[download]   1.4% of ~33.58KiB at Unknown speed ETA Unknown ETAERROR: Parse error at position 184 (near '00:00:22.200 --> 00:')
Traceback (most recent call last):
File "yt_dlp\YoutubeDL.py", line 1179, in wrapper
File "yt_dlp\YoutubeDL.py", line 1217, in __extract_info
File "yt_dlp\YoutubeDL.py", line 1261, in process_ie_result
File "yt_dlp\YoutubeDL.py", line 2280, in process_video_result
File "yt_dlp\YoutubeDL.py", line 2534, in process_info
File "yt_dlp\YoutubeDL.py", line 2417, in dl
File "yt_dlp\downloader\common.py", line 386, in download
File "yt_dlp\downloader\hls.py", line 322, in real_download
File "yt_dlp\downloader\fragment.py", line 421, in download_and_append_fragments
File "yt_dlp\downloader\fragment.py", line 399, in append_fragment
File "yt_dlp\downloader\hls.py", line 257, in pack_fragment
File "yt_dlp\webvtt.py", line 377, in parse_fragment
yt_dlp.webvtt.ParseError: Parse error at position 184 (near '00:00:22.200 --> 00:')

Yes, I just noticed that too. You should file that one separately, though. Best to follow the template fully this time.
I appreciated the report, by the way, even if this is not our bug. If nothing else, it gives us a little more confidence that TTML-over-DASH downloading works correctly, by the fact that this subtitle editor can read the subtitles fine (other than mangling the timestamps); the maintainer and I were somewhat worried about this in #247.
(While we’re at it, there is also https://e.s.sumo.prod.streampilot.tv/isi_mp4_1/2021-06-10/whlucncroxb(1662806_ISMUSP)_v3.ism/Manifest serving TTML over Smooth Streaming, which I am even less sure about. Can you read this one? If not, please also file it, in another issue.)

I will file properly this evening. Thanks again.


Simpler bindings?

Looking at the documentation, would it not be easier to let the host application push its bindings directly like this?
// given these static functions
static void add(WrenVM* vm);  // expects two Num and returns Num
static void sub(WrenVM* vm);  // expects two Num and returns Num
static void odd(WrenVM* vm);  // expects one Num and returns Bool
static void even(WrenVM* vm);  // expects one Num and returns Bool

// export into wren like this
bindStaticFn(vm, "main", "Math", "Num add(Num, Num)", Math::add);
bindStaticFn(vm, "main", "Math", "Num sub(Num, Num)", Math::sub);
bindStaticFn(vm, "main", "Math", "Bool odd(Num)",     Math::odd);
bindStaticFn(vm, "main", "Math", "Bool even(Num)",    Math::even);

It's far less tedious IMO.
Similarly, an API like this could be used to export a class into wren...
bindClass(vm, "main", "File", "create(String)", File::allocate, File::finalize);
bindClassMethod(vm, "main", "File", "write(String)", File::write);
bindClassMethod(vm, "main", "File", "close()", File::close);

The current mechanisms for embedding are really holding me back from adopting wren :(
I want something simple so that changes on the application side are easily reflected on the wren side.
If type safety were optional, more work could be handed to wren by having it deal with slots.  For example, application binds these functions instead...
static double add(double lhs, double rhs);
static double sub(double lhs, double rhs);
static bool odd(double val);
static bool even(double val);

Both API are functional.
The one that you propose has a slight disadvantage that it requires that
the user actively push entries before they are solved, requiring 2 lookup
instead of one.
Current one is solved on demand, which is more flexible, since it can
result in lazy evaluation and provide JIT features of that is a thing in
the future.
But I agree the API you propose is a little bit more pleasant to the eyes.
Maybe we should provide an intermediate solution like the one that is
present in wren-cli (using macro to automatically build lookup tables).

would it not be easier to let the host application push its bindings directly like this?

Couldn't that higher-level API be built easily on top of what we already have (which is quite low-level [I presume on purpose])?  If so then the question is should it really be in core if anyone can easily add it outside core as a layer on top.

It's one of the cases where there's several approaches that fit several use cases, having one specific method baked in isn't as ideal. The VM needs to provides tools that can be shaped to fit the use case at hand, which it does. An example being the multiple language bindings that are around, probably can't use the macro version because of string literals, which makes it a little too specific.
Having an easy to drop in wrapper in a single header or something as a separate helper that people can use is a good idea though, since likely there will be multiple.
Personally, I found the binding to be simple enough to not need any fixing, and the higher level workflows that are more specific can exist higher up.

@brjoha You might take a look at the work I've done to auto-generate the C headers for the my console project: https://github.com/joshgoebel/wren-console/pull/12/files
IE, a Wren script analyzes all the Wren code and auto-rebuilds all the C bindings... then the C functions just have to be written...  so adding new functionality is as simple as adding the Wren code, regen the headers, then jump in an add the necessary C code... with more work I'm sure you could have it write empty C functions in proper places as well if your project were organized well enough...

You might be interested in one of the C++ bindings that have been created for wren.
The oldest (but still good and usable) of these is wrenpp. It's fairly complete and I used it for a while.
Another that looks to be quite interesting is wrenbind17. I don't use it since it seems to be a bit too high level for my tastes, but that may be what you're after.
Finally there is mine own binding, which I've dubbed WrenPlus. It's similar to wrenpp but supports catching C++ exceptions in foreign methods and converting them to wren errors. It's not feature complete since I'm only adding things to it as I specifically need them for my own project. Also, currently the only documentation is the comments in the headers/source. I do plan to move it to its own repo and write a readme for it at some point.
My main point I suppose that wren's barebones binding api is actually a feature, you can write higher level wrappers for it quite nicely.


Manually claim RuuviTags by MAC addresses

User has Ruuvi Tag(s) located remotely.
I wld be good if there was an option to add them by entering the MAC address.

Description:
User will be able to  add sensor with MAC address, we only support adding 1 sensor at the time
Add button

Sensors menu : Add a New Sensor
Open Add a New Sensor in a popup

We should probably adjust in web that if sensor is added with MAC address it should add Ruuvi xxxx as name

QA passed


Remove (or disable) Style/BracesAroundHashParameters

Since Ruby 2.7, the existence of curly braces on the last argument has meaning.
It means, the following codes have different meanings.
foo(x: 1) # x: 1 is a keyword argument
foo({x: 1}) # {x: 1} is a hash

There are the correct pairs of method definitions and method calls.
def foo(x: 1)
end
foo(x: 1)

def foo(hash)
end
foo({x: 1})

For more detail https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/
So I propose removing the cop. I think we should disable the cop by default at least.

Expected behavior
Remove or disable the cop.
Actual behavior
It's available.
Steps to reproduce the problem
nothing
RuboCop version
master

I agree with @pocke. I think this proposal makes sense for future Ruby 3. I think the cop should be removed to smooth the transition from Ruby 2 to Ruby 3.

Yeah, agreed. Let's remove it.

Hi @pocke!
Currently the HashSyntax cop also warns foo(x: 1) invocations if configured with the hash rockets style. I'm guessing these offences should also be removed from the Style/HashSyntax cop, right?

Agree with what @deivid-rodriguez said, it would be awesome if Style/HashSyntax configured with hash_rockets wouldn't complain about keyword arguments, e.g. foo(x: 1).
Also, see https://github.com/rubocop-hq/rubocop/issues/1451


JavaPrinter visitTry semicolon fix

JavaPrinter visitTry does not append a semicolon while iterating resources when the next resource is semicolon terminated.  Fixes #1027

Closing this PR in favor of fixing this in the Java11ParserVisitor. See 8526f5adfe581a22850f7d182997bf8e3f52bdd1


Create cannot-login-from-nomachine.md

remove description about Tatio

I'll close this again. Please try to make the changes for the current version of the branch. I'll fix the other errors what the test found directly there.


Issue with Letsencrypt and Filebeat restarting

Similar to issue #29
I believe this is still an issue. I did as told above, in both unsecure, prima/filebeat:5.3.0 continues to restart. Also in secure, jrcs/letsencrypt-nginx-proxy-companion keeps restarting as well.
 Tried chown filebeat.yml but it still doesn't seem to stay up. Letsencrypt is also busted.
Same versions except I'm running Ubuntu 16.04.

@uschtwill  I understand we are all busy. Id be happy to help debug this. Lets see if I understand these two containers functions correctly.
jrcs/letsencrypt-nginx-proxy-companion is simply a cheap way to provide SSL certs the whole project.
FIlebeat is the actual health checker that sends data from the instances to kibana, prometheus,  correct?
If I misunderstood please enlighten me. Thanks!

Thanks @JasonDraneWork, for sure!

jrcs/letsencrypt-nginx-proxy-companion is simply a cheap way to provide SSL certs the whole project.
Correct. It is a free and automated way to get SSL certs for the exposed components. It is a sidecar container for jwilder's nginx proxy. It's mechanism is triggered by passing environment variables like this on container start events: https://github.com/uschtwill/docker_monitoring_logging_alerting/blob/master/monitoring/docker-compose.secure.yml#L20

Filebeat is the actual health checker that sends data from the instances to kibana, prometheus, correct?
Incorrect. Filebeat doesn't do any healthchecks, rather it forwards host(!) logs to Logstash. Logstash imports them to Elasticsearch. Kibana lets you view them. Prometheus has nothing to do with Filebeat. cadvisor exposes container- and node-exporter host-metrics for Prometheus to scrape.

I got filebeat running by doing chmod 755 on filebeat.yml on top of chown root:root. The problem with letsencrypt for me was that my domain was missing MX records. I looked into letsencrypt-nginx-proxy-companion and it seems that there's 100+n reasons why it can fail so I don't think @uschtwill can do much to remedy that unfortunately.

@0fork

I got filebeat running by doing chmod 755 on filebeat.yml on top of chown root:root
ISnt working for me I still get it restarting after one second. What version of Filebeat are you running?

@0fork  and @uschtwill  I changed the yaml to reflect:
jrcs/letsencrypt-nginx-proxy-companion:stable
lets encrypt will stay up and not constantly restart but I am not about to login with admin and my password I set at the commandline

@JasonDraneWork 5.3.0. I attributed the problem to Docker not being able to read/modify filebeat.yml so depending on your host OS, try to make sure container has full access to it. Personally I'm not a fan of this type of host filesystem dependent trickery with conf files because there's always these types of problems.

Should be fixed. Please test. Closing for now.


Partials might not be e.g. *.html but *.html.hbs

https://github.com/superwolff/metalsmith-layouts/blob/master/lib/helpers/read-partials.js#L34
This assumes a single extension, but a partial might need to be e.g. nav.html.hbs

That's true. But it doesn't really matter how much extensions you have, it'll just remove the last one (if there are any) for simpler partial names. So your partial name will just be nav.html.
I'll close this since this is intended behaviour, but let me know if you have further questions!

@ismay Unfortunately templating engines such as e.g. Handlebars don't support . in partial names.

Perhaps a partialExtension option could be supported?

Yeah that's true. A partialExtension option would be a good idea. And when no partialExtension option's passed it won't remove anything from the partial's name. Do you have time to submit a PR?

@devinus Btw., could you elaborate on why you'd want to use multiple extensions? I don't see a reason for using .html.hbs instead of .hbs.

See https://github.com/superwolff/metalsmith-in-place/pull/33. Multiple extensions for templates seems to be a rails practice. There's no need for multiple extensions with this tool, and not removing all parts of the name following a dot would also prevent problems for files with multiple dots in their name.
Feel free to reopen if there is a valid need for files with multiple extensions that I've overlooked.

What is a *.hbs file? Is it Handlebars wrapping plain text? XML? The reason people use e.g. *.html.hbs is so that asset pipelines and code editors know what the resulting file extension should be (just chop off the hbs extension).

The double extension is a rails convention. There's no need for it with metalsmith as metalsmith doesn't rename or process based on the the last extension, and I don't know of any metalsmith plugins that do.
The editors that I know treat .hbs as an html file with handlebars syntax and correctly highlight both.


Experimental Token Icons Setting

Trying out the new setting for effect on tokens, looks like it's arranging the icons not quite directly around the token.

In 2.1.0 the code only worked right for gridsize = 200px.
In 2.1.1 it should work right for any gridsize - let me know if it doesn't.


fix: attempt to shut down when provider init fails

Fixes #1980.
Simpler version of #2152 that shouldn't break any tests, since it doesn't touch leader election.
Also addresses #2236.
This one just adds communicating failure from run back to Run, tried to shut down gracefully, but forces a shutdown after 5 seconds.
Still wouldn't recommend running two replicas, the code has some potential races.

would be great if a maintainer could look at this eventually

@Revolyssup sorry about the direct ping, are you still working on the ingress or could you direct me to someone who can help?

@acuteaura Sorry for the delay. Due to my time being used up in other things, I could not get to these issues. Thank you for sticking around and submitting a fix. I will review this as soon as tomorrow.

Hey @AlinsRan, could you please take a look at this when you have a chance? Your review would help us keep things moving. Thanks a lot!


⚠ Tyre Pharmacy has degraded performance

In acac516, Tyre Pharmacy (https://tyrepharm.ru/) experienced degraded performance:

HTTP code: 200
Response time: 7096 ms

Resolved: Tyre Pharmacy performance has improved in a7add9b.


keycloak service cannot enable/install

Describe the bug
I cannot install keycloak on Nixos regardless if I use unstable or stable.
Steps To Reproduce
Steps to reproduce the behavior:
  services.keycloak = {
    enable = true;
    frontendUrl = "keycloak.example.com/auth";
    database.passwordFile = "/run/keys/db_password";
  };

Expected behavior
A clear and concise description of what you expected to happen.
There should not be any errors after running sudo nixos-rebuild switch
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.
I've tested this on unstable as well and its the exact same issue, the only difference is the version for keycloak is 15.0.0 instead of 14.0.0 on stable..
Notify maintainers

@talyz
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
these paths will be fetched (0.05 MiB download, 0.28 MiB unpacked):
  /nix/store/wzach25vwapl3sa6f7gylqank3jhhsin-bash-interactive-4.4-p23-dev
copying path '/nix/store/wzach25vwapl3sa6f7gylqank3jhhsin-bash-interactive-4.4-p23-dev' from 'https://cache.nixos.org'...
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.52, NixOS, 21.05.2001.d4590d21006 (Okapi)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.15`
 - channels(miguel): `""`
 - channels(root): `"nixos-21.05.2001.d4590d21006, nixos-unstable-21.11pre305786.aaf9676fbb7"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module: keycloak

The only thing I can think of causing this issue is the password. If it contains special characters, can you try generating a new one without any in it?

Well said. It looks like I thought the password file was there this whole time but it wasn't. After creating the file and setting it, it started. Thanks for the hint! I'll close this out.


Deref implementation for newtypes

First of all, thanks for the great summary of the orphan rule and its surrounding issues, it's been very helpful for me as I tried to understand the overall topic.
One thing the text and linked issues do not seem to mention is using Deref for newtypes to avoid boilerplate. Now I understand that this topic might be controversial, the unofficial rust pattern repo for instance mentions implementing Deref in this case as an anti-pattern, but on the other hand the much more recent second edition of the Rust introductory book now mentions using Deref on newtypes as a practical solution.
So, what is the current consensus on this subject? Is it such a non-starter that it's not even worth mentioning, or was it not included here for some other reason? Because, while I'm definitely a beginner in Rust, to me the whole thing seems pretty tempting: you do not need to write delegate methods pretty much at all, you can implement new traits on the newtype as normal, and you can also use the trait implementations of the wrapped type with the dereference operator (*).

Excellent point, I did not think about Deref at all when I was doing these write ups.
My vague, mostly baseless impression is that using Deref on newtypes is par for the course today (despite the various downsides), but nobody believes that Deref is part of the ideal solution for any of these use cases, so it'll probably start to fade away as features like specialization and delegation get fully implemented and stabilized (assuming they really do solve these problems).
That said, I can't recall anyone ever proposing an "ideal solution" that involved Deref, so I can't rule out the possibility that we've all missed something. And half the point of this repo is to gather concrete use cases so we can actually answer questions like "are there any important use cases specialization and delegation can't solve?" More ideas are always welcome.


applies contraint layout to the login screen

Greetings , kindly i would like to make contributions to your project, and starting with this PR
Thank you Nik

heyy


How to calculate “num of tasks to be execute”

Hi,
If I want to calculate the num of tasks which need to be execute in the future, May I use
celery_task_sent - celery_task_received?

Cause these counters got zero with code:
counter.labels(**_labels).inc(0)
via by https://github.com/danihodovic/celery-exporter/issues/47
“celery_task_sent - celery_task_received” will got negative,It is violate common sense？
such as changed with timeline:
task-send counter: 1 1 0 1 0
task-recv-counter: 0 1 2 2 3
at the last, when “celery_task_sent - celery_task_received”,got -3.
Is it right?

Yes sound about right. Or u can do it by queue celery_queue_length if you do not need task granularity.


Added directions to the README file for getting the app to run locall…

…y and into Teams

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


"json" in output

Is there really an extra "json" in the output here?  It should just be the json file, for piping to jq or whatever.
./bin/astra-cli db get 2c3bc0d6-5e3e-4d77-81c8-d95a35bdc58b -o json
json
{

that is probably just a bug from debugging nothing more, can easily fix that


React for the frontend instead of Vue.js

Expected Behavior
React component-based approach for the frontend is better than using a template-based syntax.
Current Behavior
HTML-based template syntax
Possible Solution
Reusable components by react, especially the treeview folder structure and the image with its metadata for the selected case. React components are easy to implement and can interface with any backed api regardless of the framework used.
Steps to Reproduce
Frontend code written till now is very minimal. We can start writing a React mock up and feed the components dummy data.

Hi @yazan-alomari, thanks for contributing :+1:

Reusable components by react, especially the treeview folder structure and the image with its metadata for the selected case.
In general we're not excited to have Framework X versus Framework Y debates, but to at least address what seems to be the point about reusable components: please see this page on reusable Vue components and then let us know if you still think this issue is a pertinent Vue vs. React consideration.

Closing this issue at the moment as non-actionable but happy to respond to comments here if other points need to be considered.


TypeError: webpack-hot-client: entry Object values must be an Array

Operating System: Windows 7
Node Version: 8.9.4
NPM Version: 5.2.0
webpack Version: ^3.10.0
webpack-dev-server Version: Not using it, rather using koa-webpack
koa-webpack: ^2.0.3

[x] This is a bug
[ ] This is a feature request
[ ] This is a modification request

Code
  // webpack.config.js

module.exports = {
  entry: [
    'babel-polyfill', // Support promise for IE browser (for dev)
    'react-hot-loader/patch',
    'webpack-hot-middleware/client?reload=true',
    './src/client.js'
  ]

Expected Behavior
Should not throw above error since entry is an array.
Actual Behavior
Throws TypeError: webpack-hot-client: entry Object values must be an Array
For Bugs; How can we reproduce the behavior?
Just try using an array in the entry section.
This is a bad check. const type = typeof entry will report object for arrays.
Doing a console.log immediately after that line (I modified local node_modules) produces this which only confirms my assertion:
console.log(entry, type, Array.isArray(entry))

// outputs
[ 'babel-polyfill',
  'react-hot-loader/patch',
  'webpack-hot-middleware/client?reload=true',
  './src/client.js' ] object true

Because of that L#132 gets executed which causes this error.

@shellscape I'm getting this error
`webpack-hot-client: `entry` Object values must be an Array

Unrelated to koa-webpack. Instead i'm using webpack-serve. It seems to not support string values for entries in the config file. Should issue be re-opened, or should a new one be logged?

@EvHaus if you're passing a config to webpack-serve, it'll take care of wrapping the entry for you: https://github.com/webpack-contrib/webpack-serve/blob/master/index.js#L21
If you're passing a compiler to webpack-serve, you'll need to wrap your string entry in an array. This is a requirement, and the only config requirement for webpack-hot-entry.

Hmm. I'm passing a plain JS config like so:
{
   entry: {
       app: './somefile.js'
   }
}

And webpack-serve dies immediately with entry Object values must be an Array

OK, that's the edge case then - an object naming entries. Open an issue in webpack-serve that it's not automatically transforming the config in that situation. The behavior of webpack-hot-client in this case is correct.

@shellscape I'm not sure this is an edge case as it's the recommended "scalable" configuration option https://webpack.js.org/concepts/entry-points/#object-syntax
Would you be open to me moving your work from https://github.com/webpack-contrib/webpack-serve/commit/7ab2f7645cc6ef9e8ce2eb799bd5e1788fe43acc downstream so that webpack-hot-client will work with configs that use object entries?

@amccloud I'm afraid not. webpack-serve is a consumer of webpack-hot-client and consumers of the module should make similar adjustments. There's always webpack-hot-middleware to fall back on if this module doesn't suit your needs, though it comes with some requirements of it's own as it's an older project, although very stable.

@shellscape bummer. Funny that you mention that, i'm migrating from webpack-hot-middleware to webpack-hot-client based on your suggestion for the same problem @donaldpipowitch is reporting.
I just need webpack-dev-middleware to fallback to index.html 🙃

@amccloud man I just played myself, didn't I 😄  That is a bummer for sure.
 You just need to set it up so that 404s pass-through to WDM. Failing that, if you can put together a repo for me to play with, I might be able to figure out your setup to make this work.
This whole array requirement is due to a limitation in webpack whereby we can't inject entries after webpack is instantiated and loads a config unless it thinks it's working with a MultiCompiler. I would really love to get some people rallying for a change there, but I haven't had any takers yet.
If we can't get your repo working with this, we might (heavy emphasis) be able to roll a entryInjection: false option that'll just skip the entry validation and injection, but it would mean you'd have to do that yourself, which is kind of against the point of one of the major features of the module.

 You just need to set it up so that 404s pass-through to WDM. Failing that, if you can put together a repo for me to play with, I might be able to figure out your setup to make this work.

Do you mean something like historyApiFallback?
My goal is to match my development environment to production. In production, all routes use historyApiFallback so that /missing-directory renders /index.html. In development, adding webpackDevMiddleware to my middleware causes /missing-directory to return a 404.
I've also tried the dobule before/after dev middleware setup mentioned https://github.com/webpack/webpack-dev-middleware/pull/44#issuecomment-170462282

This whole array requirement is due to a limitation in webpack whereby we can't inject entries after webpack is instantiated and loads a config unless it thinks it's working with a MultiCompiler. I would really love to get some people rallying for a change there, but I haven't had any takers yet.

I think I may still have a MultiCompiler
entry: {
  'example': ['webpack-hot-middleware', './src/example']
}


Better db schema

WIP. just as an update and maybe some insight / help.

TODO: redefine services sql queries to retrieve data from multiple tables instead of one.

For implementation so far:
Pros:

divided model in multiple tables
lazy loading of csv processing (not putting all csv file into memory at once).

Cons:

inpections_violations table has too many rows
lazy loading of csv loads and processes one line at a time (including 1 row insert at a time to db)

Basically, instead of lazy loading one row of the csv file at a time, it would be ideal to load a couple of them that fit easily into memory and then process multi. This would be better than loading all entries (currently on master) and one at a time (currently on this PR).
I want to discuss the use case of retrieving data from the api for violations (do we care to filter only by a specific violation number? do we want to find all violations for one restaurant?, etc) to make sure we use the best model possible for storing them. Before, we were using 58 columns on a table. Currently on PR, there's one row per each violation per each inspection, which amounts to a lot of rows very quickly.

Thank you @quilesbaker for your wonderful job here 😆
I will rebuild the api endpoints with the new schema!
Now it's on me, I will use this same branch to continue the updates!

@leordev this is looking good. Travis checks have failed. Haven't checked but might be either build or tests failure.

Yeah just noticed the issue is the services test. Some functions are not defined. I'm not sure if to remove them or what. Let me know :)

@leordev should I just remove the failing tests from services?

yes it’s fine you can do that! ;)

On Sep 2, 2016, at 3:40 PM, Joel Quiles Baker<EMAIL_ADDRESS>wrote:
@leordev https://github.com/leordev should I just remove the failing tests from services?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/Code-for-Miami/restaurant-inspections-api/pull/25#issuecomment-244469651, or mute the thread https://github.com/notifications/unsubscribe-auth/AF3MRpT5vkZxhJqt-aMOiNnJB4CpCwxrks5qmHvKgaJpZM4Jj8kC.


Uncaught TypeError: Cannot read property 'onmessage' of null

In the browser with https://github.com/substack/spellcast I'm getting:
Uncaught TypeError: Cannot read property 'onmessage' of null

from this spot in lib/protocol.js:
https://github.com/mafintosh/hypercore/blob/master/lib/protocol.js#L320:
  if (handle.onmessage) handle.onmessage(type, message)

I get the original error when I do replication with { encrypted: false }. When I turn encryption back on, I get: Error: Channel is not open yet from https://github.com/mafintosh/hypercore/blob/master/lib/protocol.js#L294

i think this is fixed now. if not re-open


can't run on chrome os flex, v105stable/108dev.

permission denied in /tmp/

@foss-dragon
See if adding 'symfollow' to the mount options helps, see the below reply for more details:

https://github.com/dnschneid/crouton/issues/4799#issuecomment-1264215295

Hope this helps,
-DennisLfromGA

@foss-dragon
See if adding 'symfollow' to the mount options helps, see the below reply for more details:

https://github.com/dnschneid/crouton/issues/4799#issuecomment-1264215295

Hope this helps,
-DennisLfromGA

this is not working

Can you see if https://github.com/myelin/crouton works for you?  I spent some time on it today and it can create sid, focal, jammy, and kinetic chroots on my brya machine running a personal 108.0.5355.0 build.
Note that startxfce4 currently fails on sid, jammy, and kinetic, but works on focal.

Can you see if https://github.com/myelin/crouton works for you?  I spent some time on it today and it can create sid, focal, jammy, and kinetic chroots on my brya machine running a personal 108.0.5355.0 build.
Note that startxfce4 currently fails on sid, jammy, and kinetic, but works on focal.

oh thanks, i try it tomorrow, can you please dm me in telegram @modesetting, i want ask some questions

oh thanks, i try it tomorrow, can you please dm me in telegram @modesetting, i want ask some questions

Go ahead and ask questions here :)  That way everyone can benefit from the answers.

oh thanks, i try it tomorrow, can you please dm me in telegram @modesetting, i want ask some questions

Go ahead and ask questions here :)  That way everyone can benefit from the answers.

is cursor capture working properly is fp games with sommelier?

Can you see if https://github.com/myelin/crouton works for you?  I spent some time on it today and it can create sid, focal, jammy, and kinetic chroots on my brya machine running a personal 108.0.5355.0 build.
Note that startxfce4 currently fails on sid, jammy, and kinetic, but works on focal.

cant enter chroot: cp: cannot create directory '/var/run/crouton/mnt/stateful_partition/crouton/chroots/focal/var/run/drm' : permission denied

Can you see if https://github.com/myelin/crouton works for you?  I spent some time on it today and it can create sid, focal, jammy, and kinetic chroots on my brya machine running a personal 108.0.5355.0 build.
Note that startxfce4 currently fails on sid, jammy, and kinetic, but works on focal.

cant enter chroot: cp: cannot create directory '/var/run/crouton/mnt/stateful_partition/crouton/chroots/focal/var/run/drm' : permission denied

sorry, my bad, setenforce 0 fixed it

oh thanks, i try it tomorrow, can you please dm me in telegram @modesetting, i want ask some questions

Go ahead and ask questions here :)  That way everyone can benefit from the answers.

is cursor capture working properly is fp games with sommelier?

and, is there any ways to access crouton chroot apps via chrome os apps menu?

Can you see if https://github.com/myelin/crouton works for you? I spent some time on it today and it can create sid, focal, jammy, and kinetic chroots on my brya machine running a personal 108.0.5355.0 build.
Note that startxfce4 currently fails on sid, jammy, and kinetic, but works on focal.

when I try to run your crouton fork, I get mktemp: failed to create directory via template '/usr/local/tmp/crouton.XXX': No such file or directory

@foss-dragon @veevyo what device and chromeos version are you using? Can you go to chrome://version and paste the “Platform” line in here?

Acer 315
chrome ver 106.0.6249.112
Platform: 15054.98.0 (Official Build) stable-channel octopus

acer aspire 5750g v108

Can you paste the full platform line?
That doesn’t look like a Chromebook — are you running ChromeOS Flex?

acer aspire 5750g v108

Can you paste the full platform line?
That doesn’t look like a Chromebook — are you running ChromeOS Flex?

yes

acer aspire 5750g v108

Can you paste the full platform line?
That doesn’t look like a Chromebook — are you running ChromeOS Flex?

please help with sommelier pointer lock in crouton, i wanna some games..

#4799


Add layout guide functionality

completes this issue

Predictably it's now doing more so it's a little less performant, but still within acceptable bounds.


add to info on DODS caching

Reported by Ansley B Manke on 12 Feb 2004 18:51 UTC
Ch2 Sec7.6.  DODS caching
This feature allows caching of frequently accessed DODS served datasets to
produce a quicker response when  requesting remote data. The first time you
access a DODS data set, a file in the users home directory will be created
called .dodsrc.  This file is the DODS client initialization file.  Please see
the DODS Users Guide at
http://www.unidata.ucar.edu/packages/dods/user/guide-html/guide_72.html  for
details of  the paramaters that this file contains.
  In order to turn caching on, change
the line in the newly created ~/.dodsrc file from
USE_CACHE=0
to
USE_CACHE=1
The next time Ferret is run, and a DODS-served dataset is accessed, a file
called .dods_cache will be created, typically in the users home directory.  The
location of the DODS cache directory can be controlled by the line
CACHE_ROOT=/home/twaits/.dods_cache/

in the user's .dodsrc file.  This directory is where all the cached information
is stored. To clear the DODS cache, simply delete the .dods_cache directory and
all of it's contents (for example, rm -rf ~/.dods_cache). This directory will be
recreated and repopulated with caching information the next time data is
accessed via DODS, if caching is turned on. All of the paramater values in the
.dodsrc file can be modified to better suit individual needs, and will be
incorporated the next time Ferret is run and DODS served data is accessed.
Again, see the DODS User guide at see the DODS Users Guide at
http://www.unidata.ucar.edu/packages/dods/user/guide-html/guide_72.html for more
detailed information.
It is often a useful diagnostic exercise to turn caching off and/or clear out
the cache directory when attempts to access datasets in Ferret appear
inconsistent.  For example, if Ferret attempted to access a DODS-served dataset
that was unavailable because the DODS server was down, that information may get
cached and adversely effect the next attempt at retrieving the data.
For more detailed information on using DODS, and on setting up a DODS server,
see the DODS home page (http://unidata.ucar.edu/packages/dods).
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/789

Comment by<EMAIL_ADDRESS>on 29 Nov 2004 23:08 UTC
Done in the master Users Guide document; to be published with the V5.80 release
of Ferret.


Open Source NTR CFW

It would help advance the 3DS hacking scene, and NTR CFW.
There's no reason not to, so why not?
From France, with love. :)

@44670 Also thanks for what you've done so far, we know you can do more! :D

#95

I swear that either you or @Kingy34 is really Margen67.

I swear that either you or @Kingy34 is really @Margen67.

Christ, give it a rest already. It's not even an interesting troll.
NTR's ace, and it's lovely to see a new release. Don't mind these jackoffs.

please stop this, he will do as he pleases so if he doesn't want to do this is fine. It's enough that he came back

NTR CFW is now open source.
https://github.com/44670/NTR

Is there a way to Read/Edit NTR Cheat Plugins?


Select range programmatically

How i can select range date from code?

Hi there,
We checked the code. This can't be done from the code currently. But we can implement it.

@mnayef95
I've achieved this using the following ways.
It may help you until they come up with something like this
if (calendarView.getSelectionManager() instanceof RangeSelectionManager) {
	RangeSelectionManager rangeSelectionManager =
            (RangeSelectionManager) calendarView.getSelectionManager();
    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.DATE, 3);
    rangeSelectionManager.toggleDay(new Day(Calendar.getInstance()));
    rangeSelectionManager.toggleDay(new Day(calendar));
    calendarView.update();
}


LiveReader can get into an infinite loop on corrupt WALs.

Add unit tests for tailing a corrupt WAL, to demonstrate.  The test write two well-formed records to the WAL, but where the length of the two together are greater than 1 page.  This is invalid, but caused the live reader to infinite loop.
I fixed this by making the fill phase of the live reader return the number of bytes, and then always reporting the error that occurs when the we can't read any more.  Furthermore, I moved all of the handling of r.err into the next function, and made other functions return errors, to make the lifecycle of this field clearer.
Finally this triggered an issue with the handling of the zero padding at the end of the pages, so I refactored the readRecord function to be given the whole buffer and made it clearer how it was handling that.  This also opened up another way to catch the first issue, as now readRecord can detect records which might overflow a page.
Signed-off-by: Tom Wilkie<EMAIL_ADDRESS>

Seems to be a platform-specific bug now, passed on everything but linux and all the failures are of the form "wal_test.go:443: expected to have read whole segment, but read 3833856 or 4161536".  This is testing the assumption that reads won't EOF once there is a new segment.  Looking at nextSegment, the code fsyncs and closes the previous segment after starting the new one - so this assumption is invalid.
Thoughts?

"expected to have read whole segment" is fixed; we were returning EOF when we didn't have enough data, and should have been trying to read more.  Still concerned about sequencing of syncs && closes, but I think its okay as we're in the same process.

seems I actually can't push to this branch:
diff --git a/wal/wal.go b/wal/wal.go
index 72f22e8..4fab1c3 100644
--- a/wal/wal.go
+++ b/wal/wal.go
@@ -894,7 +894,7 @@ func NewLiveReader(r io.Reader) *LiveReader {
        return &LiveReader{rdr: r}
 }

-// Reader reads WAL records from an io.Reader. It allows reading of WALs
+// LiveReader reads WAL records from an io.Reader. It allows reading of WALs
 // that are still in the process of being written, and returns records
 // as soon as they can read.
 type LiveReader struct {
@@ -934,10 +934,10 @@ func (r *LiveReader) fillBuffer() (int, error) {
 // has been written.
 func (r *LiveReader) Next() bool {
        for {
-               // If buildRecord returns a non-EOF error, its game up - the WAL is
-               // corrupt. If buildRecord returns an EOF, we try and read more. If
-               // that fails to read anything (n=0 && err=EOF), we return EOF and
-               // the user can try again later.
+               // If buildRecord returns a non-EOF error, its game up - the current segment
+               // is corrupt. If buildRecord returns an EOF, we try and read more. If that
+               // fails to read anything (n=0 && err=EOF), we return EOF and the user can
+               // try again later.
                // If we have a full page, buildRecord is guaranteed to return non-EOF
                // or a record; it has checks the records fit in pages.
                if ok, err := r.buildRecord(); ok {
@@ -1073,7 +1073,7 @@ func readRecord(buf []byte, start, end int, header []byte) ([]byte, int, error)
        length := int(binary.BigEndian.Uint16(header[1:]))
        crc := binary.BigEndian.Uint32(header[3:])
        if start+recordHeaderSize+length > pageSize {
-               return nil, 0, errors.New("record too big for page")
+               return nil, 0, fmt.Errorf("record would overflow current page: %d > %d", start+recordHeaderSize+length, pageSize)
        }
        if start+recordHeaderSize+length > end {
                return nil, 0, io.EOF

@tomwilkie  @gouthamve So after some digging, and then just going back to something I had in the reader in the past, there's nothing actually wrong with the data in the WAL segments that the LiveReader is having issues with.
I still don't know how Repair is getting us in to a state where somewhere within the segment page boundaries get messed up.
So all I did was add shiftBuffer back, change the rec length check to this:
if start+recordHeaderSize+length > pageSize {
	if length > pageSize {
		return nil, 0, fmt.Errorf("record too big for page: %d > %d", start+recordHeaderSize+length, pageSize)
	}
	return nil, 0, io.EOF
}

and then we can read these seemingly broken but already repaired segments just fine.
If we changed the code to swallow errors when replaying segments, what would happen right now (I think, because this is what happens with the data I copied off that prometheus instance yesterday) is that a corruption will be detected in 6142 and so everything after it will be deleted, leaving it as the newest segment. The repair leaves it in a state that the current live reader thinks is broken, and then we're stuck trying to read that segment forever. We replay 6141, try to start tailing 6142 and fail at some point, repeat.

here's nothing actually wrong with the data in the WAL segments that the LiveReader is having issues with.

Unless we can find out why there are records spanning pages, I still think this is a bug.  Its pretty clear to me the intention of the WAL code is for records to not span pages.

So all I did was add shiftBuffer back

I don't follow - shiftBuffer was pretty much a noop, it only shifted when we had consumed a whole page, and as such, never actually shifted anything.

If we changed the code to swallow errors when replaying segments ... corruption will be detected in 6142 and so everything after it will be deleted,

I'm not suggesting in the WAL code we should delete anything; just that we should ignore (log) errors when replaying at startup and move on to next segment.

I couldn't find a reason why this was happening, and it doesn't happen on my local Prometheus.  So I made LiveReader tolerate records spanning pages.  Not happy about it though...
I did unify the interfaces & tests, which is nice.


README.md: add the SFC donate button

Signed-off-by: Ronald G. Minnich<EMAIL_ADDRESS>

I think we have to add a link to point people to the donate page, github doesn't allow forms in their readmes

Fine, rebase it.

Commit 3c0c1cc3172a4e2783f5aaea647f582c2b1b0839 is not signed-off.
Please fix these issues:

Sevki has not signed-off 3c0c1cc.

If you'd like more information on how to sign your commits please visit signed-off-by.me


cursor disappears after exiting nix-tree

Open nix-tree
Press q to exit
Observe no more cursor in my shell

Reproduced using bash in mlterm and xterm.
nix-tree 0.4.0

https://github.com/Atemu/nixpkgs/commit/ae92c8291baa0f7ae78fff81706bcab7c962e4c2
https://github.com/Atemu/nixos-config/commit/8a269a5e4f47204ad1a1e2a0e18a2e471cc440d5

Thanks @Atemu! Turns out it was because we weren't shutting down vty properly since nix-tree-0.3.3, I think.
I fixed it with the commit above and released v0.4.1. Should drop into nixpkgs with the next haskell-packages update.
Let me know if you still have issues!

Thanks for the quick fix, it appears to be working :)


fix(config): physical cpu core counting

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
607

Relevant Lines:
607

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
607

Relevant Lines:
607

💛  - Coveralls


ERROR: cmor target for variable x in table y cannot be found

Upon startup, many log errors are produced indicating that certain variables cannot be found in certain tables. This can occur when a variable in a new version of the tables is renamed or removed. In the first case, we should rename the corresponding variable in varlist.json, in the second case we should remove it.

I get this error: ERROR:jsonloader:Could not find cmor target for variable tas in table Amon
But where is table Amon? Resources/cmip6-cmor-tables is empty, and esources/tables Points to a non-existing directory. I found quite many tables that are distributed with the cmor-3.2.2 library, e.g. cmor-CMOR-3.2.2/TestTables/CMIP6_Amon.json, do I need to copy these tables somewhere?

You need to download the cmip6 tables by typing
$ git submodule update --init --recursive

within your repository clone. I will add this to the README

Fixed in b3fd1d7f539727b65fd4096e8fcbdcb08e1734a9


Adding LRC (https://loopring.org) token. Contract address: https://et…

Contract address: https://etherscan.io/address/0xEF68e7C694F40c8202821eDF525dE3782458639f.
Website: https://loopring.org
Email<EMAIL_ADDRESS>Twitter: https://twitter.com/loopringorg

@jonnyhsy Support email, please. Thank you

@tayvano Added website, support email, and twitter, PTAL, thanks.


Remove backup slot number, 0 or 1, from Velero Backup request name

A VRG writes to one backup slot number, 0 or 1, at a time per s3 profile.  Velero Backup name need not include the backup number.  This patch removes it.
Note that a BackupStorageLocation may result in a Backup request in an object store being recreated in Kube API server.  However, a VRG's Backups and BackupStorageLocations for an s3 store are all deleted prior to a backup starting.

It'd be useful if the Recipe e2e scripts were updated for this change, as well. I believe the only places required are here and here for the Protect step. Specifically, $BACKUP_START_INDEX can be removed from the backup name. Once this is merged, it should be reflected in the Recipe documentation as well (#826), but that can be deferred.

@raghavendra-talur Do we still need this change? We may want to track it in an issue and open a new PR as required.


Minimal python version supported?

The documentation does not mention what is the minimal python version supported.
Could this be added?
Thanks

For what it's worth, the tox.ini file shows that testing is done against Python 2.7, and Python 3.3+:
envlist = py27,py33,py34,py35,py36


Anonymous sign-in does not work as expected. New userid on every restart.

Describe the bug
I know anonymous sign-in from Firebase and expected the following behaviour:
Expected:
On Supabase.instance.client.auth.signInAnonymously(); a new user is created in the user table and I can make authenticated function calls and save data for the user in the db. The same user id is used when the app is restarted.
Actual
On the next restart a new user is created. This means I can not save any user realted data.
See screenshot below of the auth.users table from one day and one device only.
To Reproduce
Steps to reproduce the behavior:
Call Supabase.instance.client.auth.signInAnonymously(); somewhere.
Look at userid.
Restart.
userid is different.
Screenshots

Version (please complete the following information):
  supabase_flutter: ^2.7.0

Are you calling signInAnonymously() on every app start? I don't think you should do that. The previous session should automatically be restored and you automatically get logged in. Just listen to the onAuthStateChange stream.

@josefwilhelm-innio Yeah, calling .signInAnonymously() does what it sounds like it does, it signs a user in anonymously and creates a new session. You should check if there is a session already and only when there isn't call the function.
if(superbase.auth.currentSession == null) {
  await supabase.auth.signInAnonymously();
}

Thanks, could not find that anywhere in the docs. Maybe you can add that line in the docs for anonymous sign-in.


Unify the replication logic into a single place

Probably want some interfaces and alternative implementations, although I don't particularly think we'll ever use any thing other than quorum...

See https://github.com/weaveworks/cortex/pull/278#pullrequestreview-20722575


[WIP] Store artifacts on circleci

This enables the preview of the htdocs of PR's build.

closes #2404

Codecov Report

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

@@           Coverage Diff           @@
##           master    #2424   +/-   ##
=======================================
  Coverage   80.75%   80.75%
=======================================
  Files          54       54
  Lines        4246     4246
=======================================
  Hits         3429     3429
  Misses        817      817

Continue to review full report at Codecov.

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

Artifacts are available here.
https://413-11496279-gh.circle-artifacts.com/0/htdocs/index.html


Move to C++ unlogger

We have parallel implementations of unlogger right now, the original python version and the new C++ version. The new unlogger doesn't lag and will support replaying from the UI (#2547). The old unlogger lives in tools/replay/ and the new one lives in selfdrive/ui/replay. Once these TODOs are complete, we can completely remove the old unlogger.

[x] fallback to qcams, ideally we don't require video either
[x] add pause/play using spacebar
[x] stop replay while waiting for video to load (the time is still progressing)
[x] occasional OpenCL error on VisionIPC init
[ ] work with only 1 segment routes
[ ] show error when route is not found
[x] sometimes replay starts in the second segment
[x] add optional argument for start time
[x] seeking by timestamp is not reliable, sometimes it seeks to a point and them immediately goes back to where you were
[x] segfaults randomly
[ ] send YUV/RGB for all cameras

@deanlee interested in this one? feel free to refactor LogReader and FrameReader as necessary, right now they seem unnecessarily tied to the replay use case.

I'll split it into several PRs

@deanlee startup seems to be super slow when the D/E cams are also uploaded

#22308 should be able to solve this

Video looks strange when replaying using qcams now. Both on master and on #22195

@pd0wm that's strange. I can play qcamera normally on #22195 (demo route)
https://user-images.githubusercontent.com/27770/134628979-5ea438c5-2b5f-414f-a4c3-078f45356390.mp4

I modified Segment::Segment() (#22195 ) on my laptop to test fall back to qcamera. the result does not seem to have any problems
  // fallback to qcamera
  static int i = 0;
  if (++i % 2 == 0) {
    road_cam_path_ = files_.road_cam.isEmpty() ? files_.qcamera : files_.road_cam;
  } else {
    road_cam_path_ = files_.qcamera.isEmpty() ? files_.road_cam : files_.qcamera;
  }

[ ] seeking stuck while segments is loading.
[ ] framereader has a delay of 300-500ms after seeking.

@pd0wm that's strange. I can play qcamera normally on #22195 (demo route)
I modified Segment::Segment() (#22195 ) on my laptop to test fall back to qcamera. the result does not seem to have any problems
  // fallback to qcamera
  static int i = 0;
  if (++i % 2 == 0) {
    road_cam_path_ = files_.road_cam.isEmpty() ? files_.qcamera : files_.road_cam;
  } else {
    road_cam_path_ = files_.qcamera.isEmpty() ? files_.road_cam : files_.qcamera;
  }

1.mp4

I was using a C3 route. Maybe that's different?

Can we control d/e cam using a command line flag? Think you don't need them most of the time.

Did you mean to load the driverCam/WideRoadCam only when there are -d or -e flags?

Yeah, that sounds good.

Noticed two more bugs while testing today:

Replay got stuck on a segment boundary, but that segment was already downloaded earlier according to the logs
When seeking into the route it started playing at that point, but no longer played in realtime but went as fast as it could.

Qcameras seem to be broken on C3 footage only.

#22238 May be able to solve this problem

Do you need a route for testing?

yes, that would be much better to have a c3 demo route

Both problems might be related to a specific route I was replaying. Will do some more digging and let you know (a8e8bf6a3864361b|2021-01-04--03-01-18, t=840`)

@deanlee I don't really understand what's going on. The route should be public so you can look as well. To reproduce seek to t=840. If you have the same problem as me it will play fast for a couple seconds, and then play normally. Then seek back to t=840 again and it will play faster for the whole segment. Any ideas?

@deanlee I don't really understand what's going on. The route should be public so you can look as well. To reproduce seek to t=840. If you have the same problem as me it will play fast for a couple seconds, and then play normally. Then seek back to t=840 again and it will play faster for the whole segment. Any ideas?

@pd0wm  it looks like an old bug related to keep time. if the us_begin<1ms, the replay will not sleep to wait. #22348  resolved this bug

Can we make things more robust somehow? I don't think the code should be relying on the sleeps being ns accurate.

This case is a bug( the replay will not sleep  if us_begin>1), not the accurate. I think #22195  is enough

Can we fix the visual glitches when seeking? I assume this is due to skipping past a keyframe?

yes it is. I'm going to fix it in #22217

The new demo route is not public
"Error transferring https://api.commadotai.com/v1/route/4cf7a6ad03080c90%7C2021-09-29--13-46-36/files - server replied: FORBIDDEN"
failed load route "4cf7a6ad03080c90|2021-09-29--13-46-36" from server

Should be public now!

#22238 can fix the transform problem on C3.
before:

after:

Yeah, I'm aware. In the meantime you can also run with TICI=1 ./ui.


Add readme.md/contributing/license to this repo

Travis enabled.
AppVeyor enabled, key = 413hlt87c3p24on8

Oops, didn't mean to close this.

Travis? WebListener shouldn't be added to travis, it's Windows only.

I added both. Can this not even build when not running on Windows? I know nothing will run, but I would think it could build, no?

It could build, but then it would try to run the tests and explode. Why build if you can't test? Just because Travis is more reliable than AppVeyor?


Support for ESMoudle

I’m using snowpack, it depend on esm.
I have a dependency which use eventemitter3.
Thanks for open source.
And is this a plan for esm?

sorry,i think i can reslove it by myself


Remove purego fallbacks

Having go-cmp panic when using the purego build tag makes it hard to use go-cmp for testing packages that themselves have purego fallbacks.
Since go-cmp can't implement its functionality without unsafe (the "fallback" panics) and since environments that prohibit unsafe are much less common these days anyway, simply remove purego code entirely.
Fixes #283.

As a side benefit, go-cmp's own tests now pass with -tags purego :)

SGTM

Thanks @neild!


[Kafka] Enhance Error Handler

Description:
Currently, we do not have a defined approach for handling failures during the processing of Kafka messages. This can potentially lead to issues when errors occur.
We are using Kafka in the search and recommendation modules. Therefore, we need to establish a common approach to handle errors that arise during Kafka message processing. Some simple tasks consider:

Validate Message: The Debezium CDC topic is currently sending some redundant messages, such as messages with null keys and values, or messages triggered by direct hard deletes in the database. These messages can cause errors during processing. We need to analyze and implement a strategy to handle these messages before executing any business logic.
Add message convertter layer: we are handling message through JsonObject which causing many casting code, consider a way to convert it to a friendly object before process it to minimize potential issues.
Apply common approach: retry, dead-letter queue, etc.

Regarding above comment:
(1) Validate Message vs (2) Add message converter layer
Ensure kafka message can deserialize to configured type called T.

Define ConcurrentKafkaListenerContainerFactory<String, T> (T as value type) to make kafka automatically convert message value to T.
Define BaseConsumer which have common method to handle in case:

The Tombstone Records.
When messages are not type of T.

public abstract class BaseCdcConsumer<T> {

    public static final Logger LOGGER = LoggerFactory.getLogger(BaseCdcConsumer.class);

    @KafkaHandler(isDefault = true)
    public void listenDefault(ConsumerRecord<?, ?> consumerRecord) {
        LOGGER.info("do something");
    }

    @KafkaHandler
    public abstract void listenMessage(T consumerRecord);

    @KafkaHandler
    public void delete(@Payload(required = false) KafkaNull nul) {
        LOGGER.info("Ignore kafka message null");
    }
}

Enable message validation, dead-letter queue, RetryableTopic

Define configuration bean for message validation.
Handler dead-letter queue.
Add @RetryableTopic


Bump up version of getkin/kin-openapi

Motive
getkin/kin-openapi needs to be upgraded due to a problem with multipart request validation.
The following error occurs
https://github.com/k1LoW/runn/actions/runs/3977957064/jobs/6819452137#step:7:70
openapi3 validation error: request body has an error: failed to decode request body: part upload0: undefined

The above problem has been resolved in the following release
https://github.com/getkin/kin-openapi/releases/tag/v0.113.0

https://github.com/k1LoW/runn/actions/runs/3978325382/jobs/6820066457#step:7:51
go test ./... -tags='integration loadt' -coverprofile=coverage.out -covermode=count
[50](https://github.com/k1LoW/runn/actions/runs/3978325382/jobs/6820066457#step:7:51)
--- FAIL: TestCDPRunner (12.09s)
[51](https://github.com/k1LoW/runn/actions/runs/3978325382/jobs/6820066457#step:7:52)
    --- FAIL: TestCDPRunner/5 (0.28s)
[52](https://github.com/k1LoW/runn/actions/runs/3978325382/jobs/6820066457#step:7:53)
        cdp_test.go:209: actions[1] error: Frame not found for the given storage id (-32000)
[53](https://github.com/k1LoW/runn/actions/runs/3978325382/jobs/6820066457#step:7:54)
    --- FAIL: TestCDPRunner/6 (0.21s)
[54](https://github.com/k1LoW/runn/actions/runs/3978325382/jobs/6820066457#step:7:55)
        cdp_test.go:209: actions[1] error: Frame not found for the given storage id (-32000)

fm-

@k1LoW
The following data patterns were causing errors
https://github.com/k1LoW/runn/blob/01bdb82e905adef534331bb2571d9ad742e7604b/cdp_test.go#L147-L186
This problem also occurred in the main branch.
I tried upgrading github.com/chromedp/chromedp, but the event remained the same.


Notary project Teams management

Based on the Repository roles for organizations, I propose that we create the following GitHub teams:

Create sub-repo maintainers team, who need to manage the repository without access to sensitive or destructive actions

subproject-notation-maintainers
subproject-notation-go-maintainers
subproject-notation-core-go-maintainers
subproject-notaryproject-maintainers
subproject-roadmap-maintainers
subproject-website-maintainers
subproject-notes-maintainers
subproject-notary-maintainers
subproject-tuf-maintainers

Create sub-repo admin (or owner) team, who has full access to the sub-project, including sensitive and destructive actions like managing security or deleting a repository

subproject-notation-owners
subproject-notation-go-owners
subproject-notation-core-go-owners
subproject-notaryproject-owners
subproject-roadmap-owners
subproject-website-owners
subproject-notes-owners
subproject-notary-owners
subproject-tuf-owners

Create org owner team, who has full access to the whole notary project

notary-project-org-owners

Note:

The code reviewers are managed by CODEOWNERS file under each sub-project. People listed in the CODEOWNERS file are automatically requested for review when someone opens a pull request that modifies code that they own.

I'd suggest removing the subproject- prefix. For instance, @notaryproject/subproject-notation-maintainers becomes @notaryproject/notation-maintainers.

I agree with @shizhMSFT about the subproject use. Also, I am not sure what is the difference between *-maintainers and *-owners. Aren't those the same?
We already have some of the teams available but they need to be populated with the right folks. Here is what teams are currently created:

The notaryproject-governance-maintainers is intended for the .github repository. For the rest, I propose to have only single team per repo with the following convention notaryproject-[reponame]-maintainers and one more group for the notaryproject-org-maintainers.
The project is public so we don't need to complicate the user administration with other teams.

Thanks @shizhMSFT @toddysm It makes sense. I agree with the proposal:

Only single team per repo with the following convention notaryproject-[reponame]-maintainers, for example notaryproject-notation-maintainers
One more group for the notaryproject-org-maintainers.

The current maintainers have both admin role and maintain role (as defined in https://docs.github.com/en/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization#repository-roles-for-organizations), so there is no need to create teams for owners.

LGTM

LGTM for creating group per repo

Here are the teams that are created, and the memberships maps the corresponding MAINTAINERS file as linked below:

notaryproject-notation-maintainers -> Notation MAINTAINERS
notaryproject-notation-go-maintainers -> Notation-go MAINTAINERS
notaryproject-notation-core-go-maintainers -> Notation-core-go MAINTAINERS
notaryproject-notaryproject-maintainers -> Notaryproject MAINTAINERS
notaryproject-roadmap-maintainers -> Roadmap MAINTAINERS
notaryproject-website-maintainers -> Website MAINTAINERS
notaryproject-meeting-notes-maintainers -> Meeting Notes MAINTAINERS
notaryproject-notary-maintainers -> Notary MAINTAINERS NOTE: Only the maintainers for notary repo or current org maintainers added to the team.
notaryproject-tuf-maintainers -> NOTE: There is no MAINTAINERS file in the TUF repository as this is not completed https://github.com/notaryproject/tuf/issues/34 Used the information from Notary MAINTAINERS to populate with the names for TUF repository. Only TUF maintainers from that file and current org maintainers were added

The following two are already existing:

notaryproject-org-owners -> Governance MAINTAINERS
notaryproject-governance-maintainers -> Governance MAINTAINERS

The following teams were removed from the organization:

Notary websitre maintainers -> Replaced by notaryproject-website-maintainers
notary-tuf-maintainers -> Replaced by notaryproject-tuf-maintainers
notation-code-reviewers -> Not needed
notation-release-managers -> Not needed
notation-sub-group-maintainers -> Replaced by notaryproject-notation-maintainers

We can close this issue.

I see the 1:1 mapping of a repo to a team. What was lost was a sub-project was mapped to multiple repos.
For instance, a notation sub-project maintainer would have access to notation, notation-go, notation-core-go.
This new structure requires more detailed management and nomination process as someone nominated to the notation sub-project would need to be added to 3 teams, with assumed 3 nominations.
Was this the intent?
See this example for oras: sub-projects.md

Was this the intent?
Yes, it was discussed on several occasions. The overhead is negligible compared to the level of separation of duties we are achieving. We don't change those teams on a daily basis and creating all new teams and managing the members took less than 30 mins. Further management will not require more than couple of mins per year.

Closing this issue as the work is done


Convert to ygnmi tasks apart from BGP

syslog is removed since that's also a demo task.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.08%) to 66.68%

Totals

Change from base Build<PHONE_NUMBER>:
0.08%

Covered Lines:
3226

Relevant Lines:
4838

💛  - Coveralls


Detect SCSS compilation

Currently, I'm using a watch task and an SFTP deployment plugin for Gulp to compile/deploy the CSS that Gulp is generating.
Is there a way that Deploy could detect that the files were regenerated and handle the deploy portion of that?

@jaredmalcolm
You can use "deploy on change" feature for that: https://github.com/mkloubert/vs-deploy/wiki/deploy_on_change


Add setting for scale/mode for MIDI note table

I'm finding myself needing to devote a good deal of real estate to defining and retrieving scale degree systems in my grids. I've been using T but that approach isn't ideal as it loses the octave information when transposing across a G/A boundary.
I think this could be addressed quite straightforwardly with a setting for MIDI scale degrees. The default would be chromatic: AaBbCcDdEFfGg or<PHONE_NUMBER>ab with a root setting of A (I think I like the latter). One could define standard 7 note scales using a form like 024579b or such, and could also change the root note (say to 0 for easier computation).
I can try to mock this up in a PR, curious others' thoughts.

Hi Eethann,
You should use Q instead of T for this :)

Interesting. The key feature of T is that it has the implicit modulo of the index, which allows for a pseudo-transposition that wraps around from the end of the scale degrees back to the start. Is there a similarly easy way to do that with Q?
My aim has been to transpose a given note by a given scale degree.
This generally looks something like the grid below, with lots of similar QGT combinations referring to the same scale in comments. The approach makes it easy to switch the mode for the entire grid, but takes up space and time calculating the offsets. Making a "mode" for midi that used scale degrees instead of chromatic notes could simplify this a lot, and open up some nice possibilities (easy modulation across the entire grid, etc.). Apologies if I'm too dense in not seeing the equivalent approach using Q.
.......0a7Q........
847GabcdEfg........
...a.....aaa.......
.....12C4..........
....wC304T0546.....
.....0Y0A0.........
......D207TabcdEfg.
.......:02af1......
...................
...................
..........#abcdEfg#
..........#used.by#
..........#many.Qs#

I'm not super familiar with what scales are, so this is a bit beyond me at the moment, but I can show you how to do modulo on-demand:
1X..
6I4.

The reason I suggested Q was that you can have Octave-Note ports, which might help carrying over B. But it might be too much legwork here.
In my local copy of orca(uxn), I have a hexadecimal operator which I use for controlling lights on stage when I do shows, but you could make yourself an operator that works in a similar way, so you could have ~3a(A3#). Alternatively, you could do an operator that uses 2 x base36 ports and generate a value between 0-72.

Thanks for all of that. Re the modulo, thanks for clarifying that. I'd been working at it and know it's in some of the docs, sorry to have missed it here.
The trick with scales is that the offset isn't consistent. E.g. if the notes in a scale are the standard minor scale ABCDEFG, +2 gets you from A to B, but it only takes +1 to get from B to C. If you want to transpose a note 2 scale degrees consistently, you need to change the amount you add depending on what note you're transposing and to where. If the MIDI implementation has some sense of scales inbuilt, it simplifies this. You just add the number of scale degrees you want to transpose by, and don't need to worry about the variations in # of chromatic steps.
Thanks for the idea of the midi preprocessor, I've been thinking about something along those lines for a few things.


Windows spawn ENOENT on truffle compile

When executing "zos add XY" on Windows 10, I get following error:
spawn C:\PATH\TO\PROJECT\node_modules\.bin\truffle ENOENT
When replacing line 13 in zos/packages/cli/src/models/compiler/Compiler.ts from:
execFile(truffleBin, ['compile', '--all'], (error: ExecException, stdout, stderr) => {
to:
exec(`${truffleBin} compile --all`, (error: ExecException, stdout, stderr) => {
Everything works fine.
I propose to change this to fix issue on Windows.

I just opened a PR for this - I can't test it in a Windows environment until tomorrow but will update once I do!

Fixed by @siromivel in #764


Add fix for backoff for proper log placement

Previously, the retry loop was printing upon failure. With this fix, the retry log will only be printed if there is a failure
Before:

After:

closing because this change was not needed


Remove dynamically from cache

Hi,
I am adding new accessory's to my platform based on my own config file i read.
Is it possible to remove accessory's on startup from the cache from within the configureAccessory function when the accessory isn't available anymore in my config file?
4ilo

Yes - it's api.unregisterPlatformAccessoies(pluginName, platformName, accessories[]) - of the parameters, you just need to to pass the accessories array, pluginName and platformName are not used and can be undefined. So basically you call api.unregisterPlatformAccessoies(undefined, undefined, [accessory]) for each accessory you want to delete from cache. See https://github.com/nfarina/homebridge/blob/master/lib/api.js#L166
But as written on slack, I would at least consider that the orphaning of the accessory was a configuration (I.e. User) error and the user should have the possibility to see and to delete the accessory himself.


Cannot run the command for reproducing

Hi, Authors,
Thanks for your excellent work and for sharing the codebase. l am reading your code but when l run the following command to reproduce the results: python EG_MCTS_plan.py --use_value_fn.  The error happens:
from eg_mcts.arg.parse_args import args  #no args found.

Can you help check this problem? Thank you!

I had problems with EG_MCTS_plan.py, too.
I installed EG-MCTS as instructed in README as below.
But I got errors when running EG_MCTS_plan.py.
What could be a problem?

$ git clone https://github.com/jjljkjljk/EG-MCTS.git
$ cd EG-MCTS/
$ conda env create -f environment.yml
$ activate eg_mcts

$ pip install -e eg_mcts/packages/mlp_retrosyn
$ pip install -e eg_mcts/packages/rdchiral
$ pip install -e .

# Downloaded dataset and one_step_model from gdrive and unzipped them in eg_mcts directory.
$ cd eg_mcts
$ unzip one_step_model-20230428T170751Z-001.zip
$ unzip dataset-20230428T170741Z-001.zip
$ unzip dataset-20230428T170741Z-002.zip

$ python EG_MCTS_plan.py

root        : INFO     Loading building blocks from dataset/origin_dict.csv
root        : INFO     totally 23081629 building blocks loaded
root        : INFO     180 routes extracted from dataset/emol_test_data.txt loaded
root        : INFO     Templates: one_step_model/template_rules_1.dat
root        : INFO     Loading one-step-retrosynthetic model from one_step_model/retro_star_value_ours.ckpt
template rules: 381302it [00:00, 1518396.35it/s]
use_value_fn
root        : INFO     Loading Experience Guidance Network from saved_EG_fn/best_egn_for_emol.pt
Traceback (most recent call last):
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/tarfile.py", line 187, in nti
    n = int(s.strip() or "0", 8)
ValueError: invalid literal for int() with base 8: 'r_v2\nq\x03('

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/tarfile.py", line 2287, in next
    tarinfo = self.tarinfo.fromtarfile(self)
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/tarfile.py", line 1095, in fromtarfile
    obj = cls.frombuf(buf, tarfile.encoding, tarfile.errors)
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/tarfile.py", line 1037, in frombuf
    chksum = nti(buf[148:156])
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/tarfile.py", line 189, in nti
    raise InvalidHeaderError("invalid header")
tarfile.InvalidHeaderError: invalid header

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/site-packages/torch/serialization.py", line 595, in _load
    return legacy_load(f)
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/site-packages/torch/serialization.py", line 506, in legacy_load
    with closing(tarfile.open(fileobj=f, mode='r:', format=tarfile.PAX_FORMAT)) as tar, \
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/tarfile.py", line 1591, in open
    return func(name, filemode, fileobj, **kwargs)
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/tarfile.py", line 1621, in taropen
    return cls(name, mode, fileobj, **kwargs)
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/tarfile.py", line 1484, in __init__
    self.firstmember = self.next()
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/tarfile.py", line 2299, in next
    raise ReadError(str(e))
tarfile.ReadError: invalid header

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "EG_MCTS_plan.py", line 175, in <module>
    EG_MCTS_plan()
  File "EG_MCTS_plan.py", line 46, in EG_MCTS_plan
    model.load_state_dict(torch.load(model_f,  map_location=device))
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/site-packages/torch/serialization.py", line 426, in load
    return _load(f, map_location, pickle_module, **pickle_load_args)
  File "/opt/anaconda310/envs/eg_mcts/lib/python3.7/site-packages/torch/serialization.py", line 599, in _load
    raise RuntimeError("{} is a zip archive (did you mean to use torch.jit.load()?)".format(f.name))
RuntimeError: saved_EG_fn/best_egn_for_emol.pt is a zip archive (did you mean to use torch.jit.load()?)


Compile fail

see https://github.com/azerothcore/mod-transmog/issues/54

see azerothcore/mod-transmog#54

The module was recently updated, so there should be no problem updating it. If the problem persists, I ask you to re-create another issue, and provide us with a little more information, which will help us to solve the problem.


[Feature request] Improved support for complex64 arrays

In my project I need to use complex-valued data. While many operations in mlx.core support complex arrays, there are a few basic examples missing.
For example, both:
import mlx.core as mx

test = mx.add(mx.random.uniform(shape=[100]), mx.multiply(1j, mx.random.uniform(shape=[100])))
mx.sum(test)

and
test[0]

causes the kernel to die, whereas if I do these operations on float32 arrays everything works as it should.
Another operation I've noticed is not defined for complex64 input arrays is mx.divide if the denominator is complex (it works fine for a complex numerator).
I'm able to get a workaround by casting the mlx arrays to numpy arrays, but this recasting is now the computationally limiting operation in my code 🙂
I'm using MacOS 14.2.1 and mlx 0.7.0 in a Python 3.10 environment.

It would also be convenient (and save me another numpy recasting!) if it was possible to access the components of a complex array though test.real and test.imag.


Local packages are recognized as third party if virtualenv is not used.

latest release changed virtual_env path resolving: https://github.com/timothycrosley/isort/pull/877/commits/7834801b86908974c4acfb81e76b450b268b6551
But, If virtualenv is not used, virtual_env is empty. os.path.realpath return current directory for empty string, so in this case current folder is determined as packages home and local packages are recognized as third party.
There are two options to resolve problem:
1 - don't apply realpath to empty string, so old behavior will be returned.
2 - provide correct to config.virtual_env (in my case it was /usr/local
I was able to fix by workaround, provided
ENV VIRTUAL_ENV /usr/local
but, as for me, it's wrong way to resolve such things. we shouldn't depend from virtualenv.

Hi @roman-karpovich,
Thank you for reporting! A new version of isort has been released that should address this issue. If you still encounter it after updating let me know.
Thanks!
~Timothy