FFMPEG 4 is out

Some interesting stuff in there:
https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n4.0
April 20th, 2018, FFmpeg 4.0 "Wu"
FFmpeg 4.0 "Wu", a new major release, is now available!  The minimum supported Windows version is Windows Vista.
deconvolve video filter
entropy video filter
hilbert audio filter source
aiir audio filter
Removed the ffserver program
Removed the ffmenc and ffmdec muxer and demuxer
VideoToolbox HEVC encoder and hwaccel
VAAPI-accelerated ProcAmp (color balance), denoise and sharpness filters
Add android_camera indev
codec2 en/decoding via libcodec2
native SBC encoder and decoder
drmeter audio filter
hapqa_extract bitstream filter
filter_units bitstream filter
AV1 Support through libaom
E-AC-3 dependent frames support
bitstream filter for extracting E-AC-3 core
Haivision SRT protocol via libsrt
vfrdet filter
We strongly recommend users, distributors, and system integrators to upgrade unless they use current git master.

Weird. They already have nvidia hwaccel. I wonder what is really New?
On Fri, 27 Apr 2018 11:50 Santi Villalba<EMAIL_ADDRESS>wrote:

Some interesting stuff in there:
https://git.ffmpeg.org/gitweb/ffmpeg.git/shortlog/n4.0
April 20th, 2018, FFmpeg 4.0 "Wu"
FFmpeg 4.0 "Wu", a new major release, is now available!  The minimum supported Windows version is Windows Vista.
deconvolve video filter
entropy video filter
hilbert audio filter source
aiir audio filter
Removed the ffserver program
Removed the ffmenc and ffmdec muxer and demuxer
VideoToolbox HEVC encoder and hwaccel
VAAPI-accelerated ProcAmp (color balance), denoise and sharpness filters
Add android_camera indev
codec2 en/decoding via libcodec2
native SBC encoder and decoder
drmeter audio filter
hapqa_extract bitstream filter
filter_units bitstream filter
AV1 Support through libaom
E-AC-3 dependent frames support
bitstream filter for extracting E-AC-3 core
Haivision SRT protocol via libsrt
vfrdet filter
We strongly recommend users, distributors, and system integrators to upgrade unless they use current git master.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/loopbio/ffmpeg-feedstock/issues/8, or mute the thread
https://github.com/notifications/unsubscribe-auth/AACjo830zS9nBOsUBVosFEhUrT11L6ezks5tsunzgaJpZM4TqFyv
.

Seems that CF might be getting soon version 4.
https://github.com/conda-forge/ffmpeg-feedstock/pull/47

Remember, there is an unmerged python-loopb branch for our opencv-ffmpeg builds, and we are not even using 3.4.x in loopy / ci / tests / anything. Lets walk before we run at least....

NVIDIA NVDEC-accelerated H.264, HEVC, MJPEG, MPEG-1/2/4, VC1, VP8/9 hwaccel decoding

I'll repeat again - this makes no sense. maybe they are just advertising that you can build it without the nvidia SDK

A new recipe adapted to aligh better with latest CF developemnts (use the newer CB3 syntax, so future proof when I'm not there) + having proper pinnings + explicily telling which nvidia drivers are supported (but tough experience seems to indicate we should build a noncuda variant and use it by default) + other small goodies (getting a bit more featureful with codecs: libvpx, aom, x265) is there to use whenever we test it enough.


fix(verbose): fix verbose mode

It was not verbosing properly.

Current dependencies on/for this PR:

main

PR #350   👈

PR #351

This comment was auto-generated by Graphite.


Smart IR hub cannot be connected to

Describe the bug
Unable to connect to Smart IR hub
To Reproduce
Try to add it using the appropiate IP, local key and protocol version
Expected behavior
The device is added (even if unsupported)
Additional context
Here's what tinytuya's wizard returns on the device:
    {
        "name": "IR menjador",
        "id": "bfa22f545ec7bf15bfuczf",
        "key": "REDACTED",
        "mac": "18:de:50:XX:XX:XX",
        "uuid": "acd2b6a4c19d686c",
        "sn": "1001172410006C",
        "category": "wnykq",
        "product_name": "Smart IR ",
        "product_id": "9yaha1yg3jk8juwl",
        "biz_type": 18,
        "model": "",
        "sub": false,
        "icon": "https://images.tuyaeu.com/smart/icon/ay15427647462366edzT/854ade7970ecdb81481ee5e21ec8b88b.png",
        "mapping": {},
        "ip": "<IP_ADDRESS>",
        "version": "3.3"
    }

I am able to connect to it using localtuya, but I can't figure how to use subdevices with localtuya (is it even possible?)
I also tried adding directly a subdevice, an AC, with the same parameters but adding the "node_id" as the sub id,as per the docs, but to no avail. Tinytuya returns this for the subdevice:
{
        "name": "Aire menjador",
        "id": "bf9ed754f1df07e927uech",
        "key": "REDACTED",
        "mac": "",
        "category": "infrared_ac",
        "product_name": "Air Conditioning",
        "product_id": "qzktzhehinzsz2je",
        "biz_type": 18,
        "model": "",
        "sub": true,
        "icon": "https://images.tuyaeu.com/smart/icon/001453365846342fhj9e/11c62df7bd89c10f43d3e5ee8d13b4f4.png",
        "uuid": "bf9ed754f1df07e927uech",
        "node_id": "e0e62378e6824384",
        "mapping": {
            "wind": {
                "code": "wind",
                "type": "ENUM",
                "values": {
                    "min": 0,
                    "max": 3,
                    "scale": 0,
                    "step": 1,
                    "type": "Integer"
                }
            },
            "mode": {
                "code": "mode",
                "type": "ENUM",
                "values": {
                    "min": 0,
                    "max": 4,
                    "scale": 0,
                    "step": 1,
                    "type": "Integer"
                }
            },
            "power": {
                "code": "power",
                "type": "BOOLEAN",
                "values": {}
            },
            "temp": {
                "code": "temp",
                "type": "ENUM",
                "values": {
                    "min": 16,
                    "max": 30,
                    "scale": 0,
                    "step": 1,
                    "type": "Integer"
                }
            },
            "F": {
                "code": "F",
                "type": "ENUM",
                "values": {
                    "min": 0,
                    "max": 3,
                    "scale": 0,
                    "step": 1,
                    "type": "Integer"
                }
            },
            "M": {
                "code": "M",
                "type": "ENUM",
                "values": {
                    "min": 0,
                    "max": 4,
                    "scale": 0,
                    "step": 1,
                    "type": "Integer"
                }
            },
            "PowerOff": {
                "code": "PowerOff",
                "type": "STRING",
                "values": "PowerOff"
            },
            "PowerOn": {
                "code": "PowerOn",
                "type": "STRING",
                "values": "PowerOn"
            },
            "T": {
                "code": "T",
                "type": "ENUM",
                "values": {
                    "min": 16,
                    "max": 30,
                    "scale": 0,
                    "step": 1,
                    "type": "Integer"
                }
            }
        },
        "parent": "bfa22f545ec7bf15bfuczf",
        "ip": "",
        "version": ""
    }

Your expectation of being able to connect to unsupported devices is not valid.  This is not a bug.

should I make a new device support request then?
I could map the DPs if I could connect to it and make a pull request as I've done before for other devices, as I see other IR hubs and subdevices are supported.
How do I go about making the integration able to connect to this device?


JavaScript error due to  tag in template

[x] I confirm that this is an issue rather than a question.

Bug report
In this commit a <meta> tag is added to the page.  This causes VuePress to throw an error since the updateMetaTags() function in updateMeta.js assumes (correctly) that all <meta> tags are below <head>.
Steps to reproduce

[ ] I prepared a reproduction repo, here is the reproduction repo:

[x] This issue doesn't need a reproduction repro, here is the steps to reproduce

Download this repository as a ZIP file

upgrade all the dependencies (e.g., yarn upgrade --latest)

build (yarn example:build)

serve the output in example/.vuepress/dist/

inspect the page and notice the JavaScript error

What is expected?
No JavaScript error.
What is actually happening?

{"stack":"Error: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\n at /assets/js/app.bff2e1e0.js:8:102722\n at Array.forEach ()\n at Xt (/assets/js/app.bff2e1e0.js:8:102687)\n at i.updateMeta (/assets/js/app.bff2e1e0.js:8:102369)\n at i.mounted (/assets/js/app.bff2e1e0.js:8:102204)\n at Bt (/assets/js/app.bff2e1e0.js:6:11294)\n at Qe (/assets/js/app.bff2e1e0.js:6:25252)\n at Object.insert (/assets/js/app.bff2e1e0.js:6:20274)\n at O (/assets/js/app.bff2e1e0.js:6:56250)\n at _n.patch (/assets/js/app.bff2e1e0.js:6:57204)"}
/assets/js/app.bff2e1e0.js:6

Other relevant information

Thanks for the report.

When a <meta> tag contains itemprop attr, it's allowed to be placed inside html body.

I suppose this issue could be resolved by updating updateMeta.js file or leveraging itemref  attr. @Kocal  Would you like to resolve it?

Yes I can take a look, I will try to work on it tonight.

PR opened at https://github.com/vuejs/vuepress/pull/2403
I prefered to check over <meta> parent element instead of checking if itemref attribute exists, because it seems that <meta itemprop="..."> are also accepted in <head> (https://stackoverflow.com/a/22415563)
What do you think?


[Acceptance Test] Devices Table

Description and Goal of Test
To be able to access and view all the information on the devices table page.
Acceptance Criteria

[ ] View multiple devices in the table
[ ] Can sort the table by one of the criteria
[ ] Can filter the table by the device ID
[ ] Can link to more details on the device

If any portion is not fulfilled or if more information is requested on any section, please let us know.

I can see multiple devices in the table
Detail of device tables adjust dynamically as window size change
sorting by different criteria works well
filtering by device ID is functional
device ID links to device detail page


Revert "Add NGINX keepalive, marmotta proxy" (refs #7903)

This reverts commit bcc646c3ab06688f034561997728722bbe500245.
dpla/automation#104 (Add NGINX keepalive, marmotta proxy) introduced an issue wherein upon nginx starting, it spits out an error:
2015/08/26 19:12:48 [emerg] 21963#0: invalid parameter "max_conns=200" in /etc/nginx/sites-enabled/marmotta:3

max_conns is only available with Nginx Plus (their commercial offering) based upon the subtle message in the documentation:
http://nginx.org/en/docs/http/ngx_http_upstream_module.html#down

Oops, that is no good.  I'll follow up some later day on the correct keepalive implementation for our installation, and merge this now.


Consider putting 'go' in the folder name used by 'hover'

I noticed that there was a suggestion to upstream a go-flutter-desktop plugin implementation into an existing plugin's repository in a desktop directory. For similar reasons as given here I would recommend that if implementations are going to live in the upstream projects you consider using a more distinctive name (maybe go-desktop or go_desktop?). E.g.:

If someone finds a plugin repository containing 'ios', 'android', and 'desktop' directories, will they understand that it doesn't work with flutter.dev/desktop?
Similarly, if someone is using go-flutter-desktop, and finds such a plugin, will they understand that that's a Go implementation they can use?
If flutter-rs, or a similar project, starts spreading into the ecosystem in the same way, what happens if they decide that desktop is a good name for their implementations?

(Please note that this isn't official guidance or anything of that nature; it's entirely up to you. It just seems like a potential future area of confusion for the ecosystem that could be avoided by changing it early while it's still easy to do so.)

I've updated my comment on #205, as you said, we should made a distinction between embedder project.
I would love to have official guidance because we are not alone in the ecosystem, and sometime, we make mistake.
The tool 'hover' creates a desktop directory in the root of the project, if @GeertJohan is ok with a breaking change, https://github.com/go-flutter-desktop/hover/pull/13 should fix the issue.
Again, don't hesitate on posting

I would like to give this some more thought, i'm affraid things can still be conficsing with go-desktop as well. I'm not sure though what would be better.. Just go or perhaps hover. I'm convinced by Stuart's arguments that desktop can be confusing, just would like to give this some more thoughtbefore doing the beaking change.

Yea, Yea!
I'm not doing any beaking changes without your agreement!
And Stuart's arguments was primarily aimed for plugin, I took a setup forward and proposed a beaking change on hover.
@GeertJohan do you agree with Stuart's point on go-flutter plugin? (omit https://github.com/go-flutter-desktop/hover/pull/13, as it's related but not the initial issue)

Apologies if the title caused confusion; I was assuming that hover would be expecting Go plugin implementations to be in a desktop folder, rather than that just being a convention.

Running hover init in an app repo creates the folder desktop with boilerplate Go code for a go-flutter-based application. Just like flutter create creates the folders android and ios with their boilerplate code/config. The current behavior of hover does not conflict with macos/linux/windows, but it also doesn't make clear that the folder concerns go-flutter / hover code.
It would be nice if hover could detect and automatically link go-flutter-compatible plugins. This would be done by detecting a folder in the repository of a plugin. I would expect the folder name of native plugin code to be the same as the folder for application code. Just like with android/ios/macos/windows/linux.
desktop is currently being used in a lot of projects (but no plugins yet), changing the folder name in hover will cause a breaking change. (We could ask the user if they want us to rename desktop to $newName.)
I understand that the name is a bit confusing, but that goes both ways. macos, linux and windows are 'claimed' by FDE / Flutter, but we've already had questions about those setups in this project. Probably it's more important to have the repositories explain how they're build. Both hover and flutter could add README files that explain what a folder is for and how it is used. Would it then really hurt if go-flutter / hover claims desktop?
On the other hand, go-flutter can be used for non-desktop as well, the name 'desktop' may even be confusing for projects that use go-flutter on embedded devices / touchscreens, which don't really classify as 'desktop'.
How about simply go? It's not really a platform, but it seems to fit? We could still add that README file that explains what the folder is for and points to hover.build and/or wiki.
Example import statements:
package main

import (
    file_picker "github.com/username/file_picker/go"
    device_info "github.com/flutter/plugins/packages/device_info/go"
)

Thoughts? @Drakirus @stuartmorgan

I like go, it matches flutter-rs (where they use rust as a directory)

fixed by https://github.com/go-flutter-desktop/hover/pull/12


Adding a comment feature to the "default.semantics"

We need to able to add some context/documentation to the default semantics:
https://github.com/ShiftLeftSecurity/joern/blob/master/joern-cli/src/main/resources/default.semantics

And we already have it .. :)


Spotify API change: userId is no longer used in playlist query

The playlist GraphQL query currently has a required userId parameter: https://github.com/wittydeveloper/spotify-graphql/blob/f3d3b119ba5c93487b7dd223172eb2cb2ce4c3df/lib/schema.ts#L194
There was a change to the Spotify API which means this parameter is no longer used:
https://developer.spotify.com/community/news/2018/06/12/changes-to-playlist-uris/

On the 11th September 2018 we will roll out a change across all our APIs to simplify the URIs used to represent playlist objects. Instead of a long URI such as spotify:user:spotify:playlist:37i9dQZF1DZ06evO3OC4Te, you will now get the more succinct but still unique spotify:playlist:37i9dQZF1DZ06evO3OC4Te.
In tandem with this change, we are also releasing a set of simplified URLs for our Playlist Web API endpoints. The usage, functionality and response objects are identical, but the URLs are more concise and follow the new URI structure more closely.
You can see the full list of URLs in the table below:

Endpoint
Usage

/v1/playlists/{playlist_id}/tracks
Get/Add/Remove/Reorder/Replace a playlist’s tracks (depending on HTTP method)

/v1/playlists/{playlist_id}
Retrieve or update a playlist’s details (depending on HTTP method)

/v1/me/playlists
Create a Playlist (POST only)

/v1/playlists/{playlist_id}/images
Get/Upload a Playlist Cover Image (depending on HTTP method)

spotify-web-api-node's v4.0.0 update accounts for these changes:

Modified functions that operate on playlists to drop the user id parameter. This is a breaking change. PR

Will do in<EMAIL_ADDRESS>cf: #79

Will do in<EMAIL_ADDRESS>cf: #79


Add racedetector and cleanup dockerfiles

Fixes #1512
Also cleans up old docker-compose files.
Fixes incorrect docker build instead of docker buildx build usage.

Codecov Report

Merging #1565 (b0ea4bd) into main (e75af89) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head b0ea4bd differs from pull request most recent head 1fbbc68. Consider uploading reports for the commit 1fbbc68 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main    #1565   +/-   ##
=======================================
  Coverage   11.11%   11.11%
=======================================
  Files          31       31
  Lines        9839     9839
=======================================
  Hits         1094     1094
  Misses       8687     8687
  Partials       58       58

@JeremyTheocharis can you check FOSSA ?


Refactor: move the indicator outside the carousel slide wrapper

We currently place the indicator wrapper inside each slide, which negatively impacts performance and results in a non-standard code structure. We need to refactor and optimize the existing carousel code.

Didn't we already fix this problem in the previous version? @shahryarjb

Yes, did


[IE9] Website responsivenes broken in IE9

Steps:

Go to a project page on IE9
Check to see if there is horizontal scrolling

Expected
There shouldn't be page wide horizontal scrolling since width of the page should adjust to the width of the window
Actual
There seems to be a fixed width to the entire website, there is scrolling. Columns respond to width changes but it's not fully responsive. See screenshot:

Can a second person check this?

I have a Windows VM I can check this in.

Thanks @caseyrollins

@caneruguz I'm getting the same horizontal scrolling problem in IE 9. And the horizontal scrolling doesn't allow me to see the whole page -- even when I scroll all the way over, I can never see the end of my name in the top right.

Will be considered based on further user's feedback. Thanks.


New minor version ?

There have been some changes since 1.0.0, could you please push a new patch version to npm (1.0.1)

@edi9999 @ml242, @glasserc pushed 1.0.1 yesterday.

Thanks @llamamoray for pointing that out.


Change ref data to use LMDB MDB_NOTLS flag

NOTLS means readers are not tied to threads which may live in pools beyond the reading work.  Instead we will need to use a semaphore or similar to limit the max concurrent readers.
NOTLS has already been applied in the search datastore.

Fixed in beta.145


Missing the "My" HACS integration widget in Readme.md

Good thing to have splitted python library from Home assistant. Now as the repot is dedicated to the plugin, it will be a good idea to add HACS "My" widget on repo start page to ease installatin of the plugin.

Good suggestion, added. Thanks.


Implemented struct constructors

Hello again.
Implemented Java like struct constructors which work like that:
import "std/memory.cup"

struct Foo{
	i: i32;
}

Foo(a: i32){
	let ptr: Foo* = malloc(sizeof(Foo));
	ptr.i = a;
	return ptr;
}

fn main(){
	let a: Foo* = new Foo(5);
	print(a.i);
}

Those constructors work in pretty simple way. Essentially when you create a constructor a function called new_A is created, it is marked as a constructor, when constructor is called parser checks whether function new_A is a constructor and if it is one the constructor is being called. You can also explicitly call new_A function.

*Constructors also work for unions

some nice work here! However, this feels a little hacky. Here's some comments:

I don't like how the declaration of the constructor looks. All other functions/methods/structs etc have an "identifying" keyword in front of it, which makes parsing nicer. We can probably have this be a method as well:

method Foo(a: i32) { ... }

The manual allocation here isn't great as well. I would expect the existence of the new keyword to do the allocation. Here's a suggestion: if you implement (1), methods implicitly take in a this pointer currently, so we can automatically allocate space of the right size and pass that in as the this value (we know the size of the struct at compile time).

(This idea doesn't need to be part of this PR, but leaving it here anyway) If we're now implicitly passing a pointer to a struct for the constructor to initialize, there's no reason we can't also use it to initialize structs on the stack! Here's what I have in my mind:

// With allocation
let x = new Foo(5);
// translates internally to:
let x: Foo* = malloc(sizeof(Foo));
new_Foo(x, 5);

// On the stack
let x = Foo(5)
// translates (roughly) to:
let x: Foo;
new_Foo(&x, 5);

I think these changes would make parsing nicer, have easier semantics for the user, and also work for both stack-heap allocation (based on the existence of new).
Thoughts?

I don't think constructor needs an indentifying keyword because it is not hard to parse a constructor even without a keyword. Plus I don't think constructor should be treated as a method. If we really want a keyword I would give it constructor keyword or something like that idk. Also we could go further and create impl blocks like those in rust to separate methods, constructors etc. for them to have their own space.
I can make new allocate memory for the struct but the question is whether it is gonna require the end user to import std/memory.cup or not. Instead of mallocing memory we can make new pass the pointer to char array which has the size of the struct which is on the stack.
We can do this later ig.
I'll take a look at that.

Also about those impl blocks we could do something like that:
impl A{
	A(i: i32){
		...
	}

	// pass an explicit self so we could create static methods
	A::a(self*, i: i32){
		...
	}

	// static method
	A::b(){
		...
	}
}

Right so in order to give more flexibility I added cdefault statement. Essentially it is used to set default compilation parameters. The only parameter currently is default allocator for new.

After some work, now they work like that:
import "std/memory.cup"

struct A{
	i: i32;
}

cdefault allocator malloc;

A(a: i32){
        // No need for malloc
	self.i = a;
        // Implicit return
}

fn main(){
	let a: A* = new A(5);
}

I don't think constructor needs an indentifying keyword b

It doesn't need one, but I would prefer having one for it to be syntactically consistent with other stuff. It doesn't need to be method, we can do something like constuctor Foo(...) {...}

impl blocks

Once again, not a fan of these. They indent all code by 1 level (unnecessarily IMO), which is why I have also opted to leave method definitions outside the class. I don't think they add anything valuable, especially since we don't have any sort of traits or whatever.

whether it is gonna require the end user to import std/memory.cup

I think this is a fair enough assumption to make for now. At some point I want to make it so that we automatically import std/common.cup anyway. Having to write imports for such basic tasks is feeling a bit tedious.

We can do this later ig.

cool.

I added cdefault statement

I don't think this is particularly necessary. This is mostly an educational project, and will likely never need the flexibility of using different types of allocators for constructing new objects. I prefer only adding stuff to the language when we see an actual benefit from it, so we're not maintaining unused code.

no need for malloc, implicit return.

Very cool! I'm liking how these constructors are looking.

I don't think constructor needs an indentifying keyword b

It doesn't need one, but I would prefer having one for it to be syntactically consistent with other stuff. It doesn't need to be method, we can do something like constuctor Foo(...) {...}

impl blocks

Once again, not a fan of these. They indent all code by 1 level (unnecessarily IMO), which is why I have also opted to leave method definitions outside the class. I don't think they add anything valuable, especially since we don't have any sort of traits or whatever.

whether it is gonna require the end user to import std/memory.cup

I think this is a fair enough assumption to make for now. At some point I want to make it so that we automatically import std/common.cup anyway. Having to write imports for such basic tasks is feeling a bit tedious.

We can do this later ig.

cool.

I added cdefault statement

I don't think this is particularly necessary. This is mostly an educational project, and will likely never need the flexibility of using different types of allocators for constructing new objects. I prefer only adding stuff to the language when we see an actual benefit from it, so we're not maintaining unused code.

no need for malloc, implicit return.

Very cool! I'm liking how these constructors are looking.

Also if you want to use return in constructors you just do return; instead of return self;

Can we keep cdefault for internal use?

I chose _init instead of init because init was used in compiler a lot and I didn't want to refactor.

import "std/memory.cup"

struct A{
	i: i32;
}

cdefault allocator malloc;

_init A(b: i32){
	self.i = b;
}

fn main(){
	let a: A* = new A(5);
	let b = 5;

	print(a.i);
}

Current state of constructors ig.

Can we keep cdefault for internal use? We can put one for malloc into std/memory.cup and don't document it ig.

I guess we can, but it seems rather pointless to do so. I think it's nicer to just assume that std/memory.cup has been imported, and we can call find_function_definition("malloc", ...) inside the compiler to get a reference to it. If you have an actual use-case for it having this be configurable inside the actual cup code, then sure.

I chose _init instead of init

_init looks  very ugly. Can we just stick with constructor or initialize? I don't mind it being a bit verbose. Sorry for being picky here, but I've tried very hard to avoid the quirky syntax some other languages use and make stuff look as consistent as possible, and _init just stands out like a sore thumb.

Here's a thought, why not add a command line flag that lets you specify the allocator, and have it default to malloc? So something like
./cupcc file.cup --allocator debug_malloc

Hmmmh that's an interesting idea.

Can we implement this parameter in a separate PR?

constructor was used in compiler too so we are gonna use this one Ig

constructor was used in compiler too so we are gonna use this one Ig

That's fine. Should be trivial enough to change the name later if we need to. This implementation looks good to me for now, would you just mind adding some tests for it as well?

wait a sec

I'm gonna add that paramater

to the compiler

Indentation is a bit messed up in some files.

Alright, now please do your testing magic Ig.

Alright, now please do your testing magic Ig.

You can see how tests are written in the tests/ folder. Essentially, it's a shell script comprising of code snippets, and for each code snippet you can use the utilities defined to either (1) expect it to exit with a certain value or (2) expect it to output certain text.
Here's a file that contains multiple ways of doing so, you should be able to generalize: https://github.com/mustafaquraish/cup/blob/master/tests/core.sh
I think an appropriate for you to add some tests would be in tests/types.sh.

Okay

Can I somehow compile the compiler for MacOS on wsl?

some nice work here! However, this feels a little hacky. Here's some comments:

I don't like how the declaration of the constructor looks. All other functions/methods/structs etc have an "identifying" keyword in front of it, which makes parsing nicer. We can probably have this be a method as well:

method Foo(a: i32) { ... }

The manual allocation here isn't great as well. I would expect the existence of the new keyword to do the allocation. Here's a suggestion: if you implement (1), methods implicitly take in a this pointer currently, so we can automatically allocate space of the right size and pass that in as the this value (we know the size of the struct at compile time).
(This idea doesn't need to be part of this PR, but leaving it here anyway) If we're now implicitly passing a pointer to a struct for the constructor to initialize, there's no reason we can't also use it to initialize structs on the stack! Here's what I have in my mind:

// With allocation
let x = new Foo(5);
// translates internally to:
let x: Foo* = malloc(sizeof(Foo));
new_Foo(x, 5);

// On the stack
let x = Foo(5)
// translates (roughly) to:
let x: Foo;
new_Foo(&x, 5);

I don't like that we're essentially auto-generating a function name (which the user can create manually). I don't like the idea of "magic methods" which have some syntax over them. I think a nicer way to go about this would be to just change how constructors are named in get_func_name() (located in codegen.cup). Basically, I don't want the user to be able to call the constructor function without going through the proposed syntax; it's nice to have one way of doing something.

I think these changes would make parsing nicer, have easier semantics for the user, and also work for both stack-heap allocation (based on the existence of new).
Thoughts?

Btw I came up with an idea, we can stack allocation with let a: Foo(...); syntax, it would be easier to parse if we did it this way.

let a: Foo(...)

I don't particularly like this. To me at least stack allocation should be symmetric to allocation on the heap, just without new.
This syntax wouldn't allow me to re-initialize an existing struct either, no?

Ye

Anyway, let's leave the stack-constructors for another PR, this one is already decently big. Let's try to use it for a bit and see how it feels, and then we can iterate.
Is there anything else you'd like to add? I'll go ahead and do a final review of everything later today.
Re: macOS testing, you should just be able to push changes to the PR and look at CI results. I don't know of any other way to test macOS through another OS barring a VM.

Anyway, let's leave the stack-constructors for another PR, this one is already decently big. Let's try to use it for a bit and see how it feels, and then we can iterate.
Is there anything else you'd like to add? I'll go ahead and do a final review of everything later today.
Re: macOS testing, you should just be able to push changes to the PR and look at CI results. I don't know of any other way to test macOS through another OS barring a VM.

I think I have added everything what I wanted to add related to constructors. Btw git question when you're gonna merge how can I make my fork stop showing that I have x commits ahead?

I think I have added everything what I wanted to add related to constructors. Btw git question when you're gonna merge how can I make my fork stop showing that I have x commits ahead?

Usually in my workflow, I have my fork and the upstream repository (in this case my one) set as remotes. You should then be able to update your code to the upstream version after a merge by git pull upstream master I believe. Generally I recommend developing on a new branch and making PRs from that, that way you can always just pull upstream and make a new branch from that to stay up-to-date.

Alright thx


Handle Record Not Found Exceptions

The queue often has failed jobs resulting from Record Not Found exceptions.  Is there a way to gracefully handle these, either by canceling the job or rescuing the exception and allowing the job to succeed?
Couldn't find Photo with 'id'=62503
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0/lib/active_record/relation/finder_methods.rb:357:in `raise_record_not_found_exception!'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0/lib/active_record/relation/finder_methods.rb:477:in `find_one'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0/lib/active_record/relation/finder_methods.rb:456:in `find_with_ids'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.0/lib/active_record/relation/finder_methods.rb:66:in `find'
/app/vendor/bundle/ruby/2.3.0/gems/delayed_paperclip-3.0.1/lib/delayed_paperclip.rb:26:in `process_job'
/app/vendor/bundle/ruby/2.3.0/gems/delayed_paperclip-3.0.1/lib/delayed_paperclip/process_job.rb:11:in `perform'
/app/vendor/bundle/ruby/2.3.0/gems/activejob-5.0.0/lib/active_job/execution.rb:34:in `block in perform_now'
...

This seems to happen when an object is deleted before the queue gets to the job.

Fix by https://github.com/jrgifford/delayed_paperclip/pull/206/


Remove x509 jars and webapp

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1193290930


Changing the default script name

Not possible to change the script name "Script Document".
I've used constructor V8ScriptEngine(string name) but name isn't changed.

Hi @alimtolman,
See the Execute and Evaluate method documentation. There are overloads that allow you to specify the script's name or URI. We recommend the newer ones that use the DocumentInfo structure.
Good luck!

Ok. Thank you! I’ll check it.

@ClearScriptLib I've looked at Execute method and tried to use DocumentInfo and pass string documentName but I'm not able to set the <anonymous> as default script document name cuz of error that name contains invalid characters. Is there any other way to do it?

@alimtolman For historical reasons you can't use angle brackets or other non-path characters, but you can use braces or angle brackets.


Add random flips

When getting batch data from gcp/aws, want option of adding random flips.
This helps will help reduce over fitting

Good idea! Let's definitely give this a go, but this might not help as much as it does in most computer vision tasks because orientation matters quite a lot for weather:  in particular, the UK's prevailing wind direction is from the South West.  So flipped images might be physically unrealistic.
Do you think we should save randomly flipped data to disk?  Or should we compute the random flips on-the-fly during training? (the thinking being that flips are computationally very cheap; but could significantly increase the size on disk!)

Yea was thinking doing this 'on-the-fly',
good point, that the prevailing wind direction is from the southwest, so it might not be that useful. Although

I dont think the UKs wind rose is so uni-drirectional that this wont be useful - https://www.southwest-environmental.co.uk/further info/in depth/wind_data_for_yeolvilton.html
Might be useful in the long term for other countries where the prevailing wind

Yea havent really thought about 'size on disk', but might be something we can try and see

@JackKelly any thought on what to do with x and y coords when flipping.
I'm tempted to leave 'sat_x_coords', 'sat_y_coords' and nwp the same, but change the 'pv_yield' coords, and the satellite image will be different

Now that I think about it some more, flipping will have no effect for fully attentional models (because fully attentional models are set-to-set: The order of the inputs doesn't matter).  So, tbh, I wouldn't worry about flipping for now :)  Sorry, I should've thought about this earlier!
Also, I'm not aware of any evidence that we're overfitting yet.  Have you seen evidence that we're overfitting?  If we're not overfitting, then do we need to augment the training dataset?
TBH, my hunch is that it's more important to spend the effort growing the 'real' dataset before we reach for augmentations.
If we do revisit flipping in the future, I think we need to be 'honest' with the model w.r.t. the geospatial position for each pixel :)

Yea I agree a 'real' dataset will provide more information, just I'm to have some sort of randomness.
https://app.neptune.ai/o/OpenClimateFix/org/predict-pv-yield/e/PRED-245/charts
shows some signs of over fitting - i.e training error sill going dow, validation error is I think not going down anymore.
p.s. this experiment has been running a long time.
Yea maybe its not as simple as thought, I was thinking of moving the pv coordinate once the image is flipped, but then the emdding of the pv system id might not be quite right.
Perhaps can leave it for the moment


tty option of run() not work if a host is remote

I'm trying to provision a remote host and set mysql root password on it. Worried about the mysqladmin warning that Using a password on the command line interface can be insecure, I want to let him prompt for the password via tty. But there is no output or request in the console.

Deployer version: 7.0.0-beta.11
Deployment OS: Ubuntu 18.04.5 LTS
$ php -v:

PHP 7.4.13 (cli) (built: Nov 28 2020 06:24:43) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.13, Copyright (c), by Zend Technologies

A minimal reproducible example of deploy.php:
<?php

namespace Deployer;

host('localhost');

task('test_pass', function () {
    run('mysqladmin -u root password', ['tty' => true]);
});

Actual output:
$ dep test_pass
task test_pass
$

Verbose output:
$ dep test_pass -vvv
[localhost] /usr/bin/php7.4 /mnt/c/tools/openserver/userdata/composer/vendor/deployer/deployer/bin/dep connect --host localhost --decorated -vvv
[localhost] ssh -O check  -A -o ControlMaster=auto -o ControlPersist=60 -o ControlPath=/home/unix/.ssh/deployer_localhost echo 2>&1
[localhost] Master running (pid=4293)
task test_pass
[localhost] /usr/bin/php7.4 /mnt/c/tools/openserver/userdata/composer/vendor/deployer/deployer/bin/dep worker --task test_pass --host localhost --port 36811 --decorated -vvv
[localhost] ssh -O check  -A -o ControlMaster=auto -o ControlPersist=60 -o ControlPath=/home/unix/.ssh/deployer_localhost echo 2>&1
[localhost] Master running (pid=4293)
[localhost] ssh  -A -o ControlMaster=auto -o ControlPersist=60 -o ControlPath=/home/unix/.ssh/deployer_localhost localhost  ': 3b5ed80813a368c789dd; bash -ls; printf  $?;'
[localhost] run mysqladmin -u root password
[localhost] err New password: Confirm new password: Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
done on localhost
done test_pass 1s 641ms

Replacing the host() call to the locahost() or the run() to the runLocally() makes it look more like what I need:
$ dep test_pass
task test_pass
  ⠦ password:   ⠋
  ⠙ irm new password:   ⠦
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

He actually waits and accepts a new password for input. But I need it on a remote host.
Also you can see an output corruption in last example as described in #1651. There should be New password: and Confirm new password:.

This is because remote hosts not support tty option now, as it considered dangerous and bad for automation.

OK I understood.
How do you propose to achieve my goal in this case? Just ignore the warning?

tty was removed as it will not work in parallel deploy to a few hosts. One possibility bring back tty, but neet to somehow mark tasks as sequential too.
Also run() now has secret option:
run('password %secret%', ['secret' => getenv('CI_SECRET')]);

Yes, for now I am using mysqladmin -u root password '%secret%'. But mysqladmin tells me it is insecure and it worries me.

It’s insecure if password are getting logged somewhere. For example in history. Or ci logs. Deployer has secrets specifically for this case.

I'm having a small similar issue that the text is getting truncated as mentioned here. This is something that could be improved.

So you are using tty?

Yes, I noticed that I have to use it to run a command inside a docker container that asks for something via a prompt. Everything works fine, but the messages are truncated as stated above.

Let’s close this one and open another one for truncated text.

We were using this feature to run drush, once during deployment, for when it has questions about importing config. Sometimes that allowed us to catch things that were changed in production and abort. Thought I'd drop a line about the use-case. We are changing some of our workflows.
https://github.com/ubc-cpsc/deployer-recipes/commit/ba392e2281225196a754a96c4c442922577ddc65


Incorrect link github-key-vault.md

Hi.
This "broken" link was "fixed" incorrectly a while ago; probably when the GitHub Action it was referencing was deprecated and likely removed from the Marketplace. However, it was replaced by some third-party non-Microsoft Enhanced ENV Azure Vault Action that works quite differently.
Instead of pointing to the now missing Marketplace page, I'm updating the link to point to the action's GitHub repo that contains the docs and code.

@juliakm
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"

#sign-off

@Court72 I'm not sure why this sign off wasn't picked up by PR merger. Can you please merge it?


Remove v1.0 content

The v2.0 of the course has been launched on December the 5th 2022 and is now complete. We think it's time to remove v1.0 content that is obsolete and can bring confusion with students who sometimes thinks it's the v2.0 course.
I just let @osanseviero to tell me if you think there's something else you want to remove before merging it.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

To be sure I just checked all the v1.0 articles on the blog, and no. The assets/were for the v1.0


Man-in-the-middle detection using BigUInt compare in cssp.rs

First, thanks for writing this code. This is just an observation, no requests.
I work on MeshCentral  and I am working on porting your NLA support from the Rust version to the NodeJS version. In working on that, I noticed this code in cssp.rs:
    // now server respond normally with the original public key incremented by one
	let r2 = &(link.read(0)?);
	println!("READ: read_ts_validate {}", hex::encode(&r1));
    let inc_pub_key = security_interface.gss_unwrapex(&(read_ts_validate(r2)?))?;

    // Check possible man in the middle using cssp
    if BigUint::from_bytes_le(&inc_pub_key) != BigUint::from_bytes_le(certificate.tbs_certificate.subject_pki.subject_public_key.data) + BigUint::new(vec![1]) {
        return Err(Error::RdpError(RdpError::new(RdpErrorKind::PossibleMITM, "Man in the middle detected")))
    }

Looking the the bits received, it seems like ASN1 encoded, not a BigUInt. I would send this challenge:
{
  tagClass: 0,
  type: 16,
  constructed: true,
  composed: true,
  value: [
    {
      tagClass: 0,
      type: 2,
      constructed: false,
      composed: false,
      value: '..........'
    },
    {
      tagClass: 0,
      type: 2,
      constructed: false,
      composed: false,
      value: '.....'
    }
  ]
}

and get this as a response:
{
  tagClass: 0,
  type: 17,
  constructed: true,
  composed: true,
  value: [
    {
      tagClass: 0,
      type: 2,
      constructed: false,
      composed: false,
      value: '..........'
    },
    {
      tagClass: 0,
      type: 2,
      constructed: false,
      composed: false,
      value: '.....'
    }
  ]
}

Only the first "type" changes from 16 to 17, everything else is the same. The BigUInt compare works, but instead, you could check that both prime and exponent are identical.

Thanks i will!


Shorten code

Condense code a little.
I don't know if little PRs like this have more downside in the noise they create for maintainers than the benefit of the changes themselves. If so, please say so! That'd be a completely legitimate response. I'm exploring hashbrown's code, and just submitting small bits where I find them.

Thanks!
@bors r+

:pushpin: Commit e71fa1db7b8e774605e9b6068d3332e792f9b45f has been approved by Amanieu
It is now in the queue for this repository.

:hourglass: Testing commit e71fa1db7b8e774605e9b6068d3332e792f9b45f with merge 894b56ffa517efeb14990b2104271c594bc9b9ca...

:sunny: Test successful - checks-actions
Approved by: Amanieu
Pushing 894b56ffa517efeb14990b2104271c594bc9b9ca to master...

:sunny: Test successful - checks-actions
Approved by: Amanieu
Pushing 894b56ffa517efeb14990b2104271c594bc9b9ca to master...

:eyes: Test was successful, but fast-forwarding failed: 422 Changes must be made through a pull request.


Can't use imports without semicolons

Input:
<script lang="ts">
  import Foo from './Foo.svelte'
  export let list: any
</script>

Error: CompileError [ParseError]: Unexpected token
import Foo from './Foo.svelte'let list;\n
                              ^\n
 export {\n
   list

It seems the problem here: https://github.com/lukeed/svelte-preprocess-esbuild/blob/master/src/index.ts#L103

Thanks!


Multi-line for statements are not indented

When pasting:
for $x in $y
    return $x

it gets formatted as:
for $x in $y
return $x

The return (and any let, order by and where clauses before it) are not indented, when they should be.

Hi,
This is 'by design'. The basic formatting 'template' was based on the examples from XQuery 3.0 specification and XQuery Use cases.
I'll add an option enable/disable the formatting where FLWOR expression clauses are indented on the same level.


Add the feature of ChatBot based on GPT API of OpenAI

Description
This PR introduces a new feature integrating the GPT API from OpenAI to add the ChatBot functionality to the project. This chatbot will enable users to interact with the content, ask questions, and get relevant information in a conversational manner. The motivation behind this change is to enhance user experience and make learning machine learning concepts more engaging and interactive.

Implement at least four ChatGPT agent pipelines for prompt engineering
Preprocess the data (documents, text, etc.) before passing it to the ChatGPT API
Utilize VectorDB for data splitting, storage, and indexing
Employ Langchain and ChromaDB (an open-source project) for ChatBot program development and maintenance
Train the ChatGPT model using data from the online book, Ocademy
Establish a workflow to ensure that the database is updated whenever the main branch is updated （CI/CD)

Type of change

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

How has this been tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] local build the book
[x] review the artifacts from local build
[ ] local build the slides if applicable
[ ] Unit test if applicable

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have applied tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Having Modified the PR according to the comments, please review it. Thanks.


⚠ Bofrost.lu has degraded performance

In 99963d1, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 978 ms

Resolved: Bofrost.lu performance has improved in 20b89b2 after 16 minutes.


fix: detect and remove markdown block syntax that llms sometimes hallucinate for file actions

Reason for Change
Sometimes AI responds with files wrapped in markdown code block syntax, causing issues and wasting tokens. The goal is to clean this up for non-Markdown files to improve efficiency and output clarity.
What Was Done

Added logic in message-parser.ts to detect and remove markdown code block syntax for non-Markdown files using regex.
lint:fix made minor formatting and readability improvements in DataTab.tsx

Example Chat for Testing where problem is present
https://gist.github.com/wonderwhy-er/969023d7146a5f3e3ec90ec99ba4bc4e

I just realised that there is downside to how this is done so far and I am not sure how better to improve.
I would prefer LM messages to be cleaned from this issue before i gets to other parts of app.
What I did here is not "saved" to DB in that sense.
So each time we open the chat we clean out but only for sending to preview.
While to AI we still send them with markdown syntax.
This seems subotpimal.
I would rather make it so that on next request we send file history with cleaned out markdown syntax.
But, on other hand, we will be switching to not using chat as source of file code, but rather using files from workbench.
So may be it does not matter.
Any thoughts @thecodacus?

What I did here is not "saved" to DB in that sense.
So each time we open the chat we clean out but only for sending to preview.

I don't think we currently have any way to clean the file output other than the parser, and parser is only runs at the load time so no way to get that output saved in db chathistory.

But, on other hand, we will be switching to not using chat as source of file code, but rather using files from workbench.
So may be it does not matter.

yes in long term it does not matter anyway.
I believe its good enough to make the app working. plus as the models get more intelligent these errors will come less and less so don't think we should be worrying too much for this

I was testing this. but  looks like it cleans the file at the end.
if we replicate the logic in the streaming section as well then  we will also get a visual feedback with clean code streaming

Well, I know it works, we can merge it, not sure cleaning while streaming is important but I can add it.
What I meant was that its not "saved" in to DB so cleanup on reload happens again.
And its also exported.
And its also sent to LLM.
Currently its only cleaned when sent to files in webcontainer.
I think we can improve this later, at least it unblocks a bit such issues.

Hmm, I think I made change you suggested but I still see markdown syntax during syntax.
I also tried go move cleanup code to workbench action running but it was still showing markdown code in code editor when I did that.
So moved it back to message parser.

yeah streaming is not that crucial. will merge it


Remove in-project true to allow caching to work.

As seen in https://github.com/snok/django-guid/pull/42

Caching will actually work with in-project True, but the venv cannot be activated using source $HOME/.poetry/env which was our problem :) Either way, the example is inconsistent. I'll create examples for both.

Ah, looking back I see that. :beers:


Use case: As a publisher I want to know when our authors aren't sharing data inline with our policies

From PLOS. MVP is cc/send/notifiy publisher email in data request to author

BMC also interested. Even potentially sticking ODB on their pages, where the badge would be if an author had open data.
Other ideas include us refering to a publisher policy when it's present at the journal.

Issue moved to OAButton/backend #170 via ZenHub


Feature request: Detect when running as root and execute postgres as a different user

The solution involves checking if we are running as root. If so, try to create postgres user and group, pick out their id/pid, adopt the db directory and run the db server as that user.
The reasoning behind this: be able to run embedded-postgres inside a standard docker container (eg. for unit tests in CI).
Like in my other Issue, I ended up implementing this using patch-package:
    constructor(options = {}) {
        // Assign default options to options object
        this.options = Object.assign({}, defaults, options);
        instances.add(this);

        this._spawnOptions = {};
    }

    async initialise() {

        //...

        // Check if we are running as root
        const isRoot = os_1.userInfo().uid === 0;
        if (isRoot) {
          try {
            child_process_1.execSync('groupadd postgres', {stdio: 'pipe'});
            child_process_1.execSync('useradd -g postgres postgres', {stdio: 'pipe'});
            this.options.on_log("Created user and group 'postgres'");
          } catch(err) {
            if (!err.message.includes('already exists')) {
              this.options.on_error('Error while creating user/group:', err);
            }
          }

          // Fetch the uid and gid of the newly created postgres user and group
          let uid, gid;
          try {
            uid = parseInt(child_process_1.execSync('id -u postgres', {stdio: 'pipe'}).toString().trim());
            gid = parseInt(child_process_1.execSync('id -g postgres', {stdio: 'pipe'}).toString().trim());
            this.options.on_log("Postgres uid/gid: " + uid + "/" + gid);
          } catch(err) {
            this.options.on_error('Error while getting uid/gid:', err);
          }

          child_process_1.execSync('chown postgres:postgres ' + this.options.database_dir);
          this.options.on_log("Postgres user is now the owner of " + this.options.database_dir);

          this._spawnOptions = {
            uid: uid,
            gid: gid
          };
        }

       // Initialize the database
        await new Promise((resolve, reject) => {
            const process = (0, child_process_1.spawn)(initdb, [
                `--pgdata=${this.options.database_dir}`,
                `--auth=${this.options.auth_method}`,
                `--username=${this.options.user}`,
                `--pwfile=${passwordFile}`,
            ], this._spawnOptions);

      // ....

            // Spawn a postgres server
            this.process = (0, child_process_1.spawn)(postgres, [
                '-D',
                this.options.database_dir,
                '-p',
                this.options.port.toString(),
            ], this._spawnOptions);

This is very rough, using sync functions, etc. As in my other issue, the problem is I couldn't set up the project to work with real TS code. So I ended up hacking this together, that solves my use case.

Implemented in beta.9, see #5.

Would love for you to try this out btw, curious to hear what you think.


Change mouse wheel sensitivity at runtime on Windows

Use case
Flutter reads the Windows Mouse system configuration at startup, but can not be modified at run time. We should be able to configure different mouse wheel sensitivity for each flutter program, at runtime.
Proposal
Add a function to modify the sensitivity  of the mouse wheel.

@wenyue
Can you check if there's any community package that already offers this feature ? Maybe https://pub.dev/packages/dyn_mouse_scroll
Also, can you check if the sensitivity can be adjusted via mouse settings itself that helps in your case ?

No, I hope flutter can modify it globally instead of modifying each widget individually.

@wenyue Isn't this issue similar to your case ? Because this comment seems to also say same as current behavior you mentioned ?
After https://github.com/flutter/engine/pull/32094, Flutter apps read this scroll speed setting once at startup. However, changing the scroll speed setting doesn't update Flutter apps that are already running.


notifications filter

FYI. is there any way to filter the notifications? for example, when I push an image, I will get a lot of notifications, how can I filter this notifications? I just want to get the last one notification. I can't find the configuration related to this.

Please do not use github issues to ask questions.  If you have a question, you can post it to #docker-distribution-dev.
If you only want to get specific events you should filter them in whichever service is receiving the notifications.

@RichardScothern Ok, sorry about that, I will post this to #docker-distribution-dev


[WIP] OSSM-755 Re-enable security integration tests

/test integration-pilot

/retest

/retest

/retest

/retest

Safe to close this in favor of #657?

Yes, it was an experimental PR and the root cause was solved, so it's no longer needed.


commented the #L1017  ticket_26168

The test suite doesn't start to run with this patch. Please take a look at the patch review checklist and make an attempt to meet those requirements before sending a pull request. Thanks!


[FEATURE] Use Poetry for dependency management

🚨🚨 Feature Request

[ ] Related to an existing Issue
[x] A new implementation (Improvement, Extension)

Is your feature request related to a problem?
In large projects, it can be painful to separate development and production dependencies. Poetry can solve this issue.
If your feature will improve HUB

Description of the possible solution
Use poetry for dependency management and building package.
An alternative solution to the problem can look like
A clear and concise description of any alternative solutions or features you've considered.
Teachability, Documentation, Adoption, Migration Strategy
If you can, explain how users will be able to use this and possibly write out a version the docs.
Maybe a screenshot or design?

Hey there @bhattbhuwan13, thank you for bringing this to our notice! Looping in @davidbuniat and @AbhinavTuli to comment more on this feature.

poetry support is available in deeplake==3.9.24


contract_browsing doesn't work on m1

System: m1 Monterey
Commit hash: a8825159906ff81f3fd8398f9d7be9c507631ae9
Command: cargo run --example contract_browsing --features local
Output:
[2022-07-17T21:23:18Z INFO  contract_browsing] loading web contract DPJ3sM1MDCuPFxEayRsvEtJcD4ySGpCeFfRgCNLWtpfT in local node
[2022-07-17T21:23:18Z INFO  contract_browsing] loading data contract 5rwkvFpKoj9r7i6kL9BdQurAjnGhYfbi8uZY4Q6PAyrv in local node
[2022-07-17T21:23:18Z INFO  locutus_node::contract::handler::sqlite] loading contract store from "/var/folders/4g/x2ybv6lj4s794_j2w41d6j_r0000gn/T/locutus/db/locutus.db"
[2022-07-17T21:23:19Z ERROR locutus_dev::local_node] other error: Compilation error: unknown relocation Relocation { kind: Elf(264), encoding: Generic, size: 0, target: Symbol(SymbolIndex(6)), addend: 0, implicit_addend: false }
^^^ the problem is here
[2022-07-17T21:23:19Z ERROR locutus_dev::local_node] other error: Compilation error: unknown relocation Relocation { kind: Elf(264), encoding: Generic, size: 0, target: Symbol(SymbolIndex(5)), addend: 0, implicit_addend: false }
^^^ the problem is here
[2022-07-17T21:23:19Z INFO  warp::server] Server::run; addr=<IP_ADDRESS>:50509
[2022-07-17T21:23:19Z INFO  warp::server] listening on http://<IP_ADDRESS>:50509

Unfortunately I wasn't able to check whether it compiles on x86 since there is a bug in docker which prevents from emulating x86 correctly(due to a problems with qemu)
As I see it crashes here:
https://github.com/freenet/locutus/blob/a8825159906ff81f3fd8398f9d7be9c507631ae9/crates/locutus-runtime/src/runtime.rs#L173
With such store replacement works fine:
let module = Module::new(&Default::default(), contract.code().data())?;
So something with store. I tried to switch a backend from LLVM to Cranelift and it works now:
https://github.com/freenet/locutus/blob/a8825159906ff81f3fd8398f9d7be9c507631ae9/crates/locutus-runtime/src/runtime.rs#L238
-> Store::new(&Universal::new(Cranelift::new()).engine())
The root cause isn't obvious for me now. As a solution I can propose introducing if target_arch = aarch64 inside instance_store

Thanks for the report! Will take a look into it.

As a solution I can propose introducing if target_arch = aarch64 inside instance_store
For now this is an ok solution, athough i would like to try a couple things.

Can you make a PR please?

Thanks for the report! Will take a look into it.

As a solution I can propose introducing if target_arch = aarch64 inside instance_store

For now this is an ok solution, athough I would like to try a couple things (like recompiling the modules on that same machine and with different compiler flags) in the future just to see if there is any difference.
Can you make a PR please?

Yep, I'll tackle on it


[Bug] addAlchemyArray "binding" is missing

Is this a duplicate of #107?
Thanks.

whops messed up

No problem.  Just wanted to confirm.  Thanks.


New Date Picker has issues

What version of Node.js are you using?
16.6
What version of npm are you using?
N/A
What operating system are you using?
Ubuntu
What version of SnailyCAD are you currently using?
v1.26.7 abec934
Describe the Bug
When entering the date of birth, every time you type a character in any of the 3 date fields, the "day" number decreases by 1 each time.
Expected Behavior
Other fields like Month and Year shouldn't change the properties of the Day field.
To Reproduce
Enter a date, and then change that date.
https://user-images.githubusercontent.com/18332675/193646112-3e075814-2643-4a0d-bdb1-bde6c6e25b54.mp4

It's so weird that I'm unable to reproduce this issue:
https://user-images.githubusercontent.com/53900565/193647003-c86a3690-5492-4f67-90e6-90b75dcd8c62.mp4

I'm using a number pad if that makes a difference.

Okay, I was able to reproduce when using a different timezone. Will get this fixed soon!

 Fixed now though :)


Add font color picker

Hi @ondras,
I'm unsure to well fit with the codebase structure neither about the relevancy of this PR, but I add a font color picker.

Hi @0kyn ,
thanks for your contribution. The codebase has been recently radically overhauled, so I cannot really merge this. Would you be willing to update your code (to match the current Typescript impl) and re-submit?


Update microsoft-edge-update-policies.md

Added sentence with link to update policies for macOS. Replaced example values with lists of all supported values.

@microsoft-github-policy-service agree company="Microsoft"


Add "rake test" command

I added the "rake test" command, configured Travis CI to use it, and suggested that contributors use it in the contributing guidelines.
Closes #398.

Coverage remained the same at 99.457% when pulling f1ec79cfdf0f60eb04bab3252545b0b13c267ca7 on J3RN:rake-test into 73e3fbed0cd9ae9910cc8ae9382c84346b02784b on tmuxinator:master.

I think you can also remove the old hound tasks.

@Soliah Done!

Coverage remained the same at 99.457% when pulling 40568b403f3e56d40e3ad6e02ef5bc70e21cceb1 on J3RN:rake-test into 73e3fbed0cd9ae9910cc8ae9382c84346b02784b on tmuxinator:master.

I'm thinking that since this change is internal-facing, there's no need to update the CHANGELOG for it. Let me know if you think otherwise.

:+1:

So shall we :shipit:?

@adamstrickland I feel good to!


Improve scanning

For get as many testing points as possible

Add type information to parameters (get param, body param, etc..)

Added


update . to develop

UpdateBot pushed version changes from the source code in repository: . ref: develop

UpdateBot commands:
updatebot push --ref develop --merge=false

UpdateBot rebasing due to merge conflicts


Progress bar won't show on same line

Hi,
This is a great plugin, thanks. I have one issue, though -  I can't get the bar to be on the same line as the bullet and text. Is this a known issue? I've disabled all other extensions and it still happens.

Thanks,
Alex

Looks like you're missing some CSS somehow. Not sure why. You need to add this in a css code block on you [[roam/css]] page
.roam-block>span>div.dont-focus-block {
    display: inline-block;
}

Hi, I added that but it hasn't helped.
I removed the extension and re-added it, then added the code you suggested as a css code block:

Any ideas?
Thanks

Looks like roam changed their HTML try this
.roam-block>span>span.dont-focus-block {
    display: inline-block;
}

Amazing, that worked, thanks!
Is there a way to configure it so that the top-level block/checkbox is not included in the count? Ideally, I would like it to only display the checkboxes underneath it. This way, the progress bar is a representation of all the individual actions that make up the item I am tracking.

No that's not possible right now unfortunately. Glad the css worked though


Add an xx-light blue and darken the x-light

Fixed the x-light and xx-light blues to catch up with the work done in the table component. Managed to miss this when shipping the table component's parentHeader variant :(

Looks sensible enough to me. Pass. :+1:


Unable to select slash buttons

I am unable to use slash commands because the buttons are not clickable.
https://github.com/user-attachments/assets/fb030c58-ebc3-40f5-85eb-96bde8bf8593

Fixed! Thanks for your report. By the way, you can also select which command to use by using the arrow keys and enter.


[GHSA-j9m2-h2pv-wvph] Regular expression denial of service in jquery-validation

Updates

Affected products

Comments
The nupkg does not include the vulnerable code.
The fixing commit https://github.com/jquery-validation/jquery-validation/commit/69cb17ed774b427f7e2ffcdf197968231725c30e changes code under additional-method.js, which isn't included in the nupkg:
unzip -l 'jquery.validation.1.17.0.nupkg'
Archive:  jquery.validation.1.17.0.nupkg
  Length      Date    Time    Name
---------  ---------- -----   ----
      502  01-25-2018 12:30   _rels/.rels
     1358  01-25-2018 12:30   jQuery.Validation.nuspec
    43876  01-25-2018 12:30   Content/Scripts/jquery.validate-vsdoc.js
    48696  01-25-2018 12:30   Content/Scripts/jquery.validate.js
    23261  01-25-2018 12:30   Content/Scripts/jquery.validate.min.js
     1239  01-25-2018 12:30   package/services/metadata/core-properties/08bfa72bc0cb4e739bbd265188027e4f.psmdcp
      447  01-25-2018 12:30   [Content_Types].xml
     9466  10-14-2018 21:01   .signature.p7s

Hi @amita-seal, I tried unzipping version 1.19.3 of the nupkg and got the same result as you, so I agree with removing jQuery.Validation as an affected product.


Support for TypeScript with Feathers 4

I want to include your package in a new Feathers 4 app using typescript but could not get it done.
I made the following middleware but had to ignore a typescript error because definitions are missing.
import winston from 'winston';
// @ts-ignore
import logger from 'feathers-logger';
import { Application } from '../declarations';

export default function(app: Application) {
    app.configure(logger(winston));
}

But also every time I use app.debug() or any of the other methods I also has to ignore these lines in TS.
How to get it done correctly?

A PR would be accepted but I don't have plans adding them myself. This is a 30 lines of code module that is not used in a generated application where you can just require the logger from the logger file directly or easily add it to app if you prefer to access it from there. I'm inclined to archive this module because it doesn't really do anything useful.

This module has now been archived. https://github.com/feathersjs-ecosystem/feathers-logger#migrating mentions how to access the Winston logger that is already included in a normal application.


Device ID changing with Proxy Implementation

Summary
After updating the init of the SDK with a dummy key of '00000000000000000000000000000000' and a serverUrl that corresponds to our new proxy, we noticed that the Device ID changed for every user after this change. Is this expected?

Hi @blairmason! Thank you for choosing Amplitude! To clarify, did the device ID change one time at the time of the API key switch or is it changing continuously since the API key switch?
 After switching to a new API key, the SDK may not find the cookie for the new API key, and will generate a new device ID one time.

Yes, the Device ID changed one time at the time of the API key switch.

@blairmason Yes this is expected behavior. The storage is keyed by a string containing the API key (unique per project) to allow multiple instances of the SDK to run simultaneously.


Update Blog “visap-23-perpetual-presence”

Automatically generated by Netlify CMS

👷 Deploy Preview for famous-kulfi-ae21db processing.

Name
Link

🔨 Latest commit
65423a95b7ad723f580b3ecb436dd0ffaa13dbf3

🔍 Latest deploy log
https://app.netlify.com/sites/famous-kulfi-ae21db/deploys/65aaa030246d8b0007dce55f


Adapt OpenACC+MPI GPU test

MCH will provide an updated version of the test's source code:
https://github.com/eth-cscs/reframe/blob/master/cscs-checks/prgenv/src/gpu_direct_acc.f90
Also the filename is not accurate.

see https://github.com/eth-cscs/reframe/pull/281

Hi @lxavier, I'd suggest putting a reference in the corresponding pull request's description rather than here (Github tracks the references automatically). Also, if your PR fixes this issue, simply put in the description the following text Fixes #247, so that Github will automatically close the issue as soon as we merge it.

Quoting from @lxavier about running the test:

nothing special I would start to run it on one node (e.g. 8 GPUs on Kesch) just did srun -n 8
The important thing is to load the module that we use. Since our new module generator is not yet ready you could use the module file on /project /project/c14/install/kesch/cosmo5/modules_fortran_gpu_double.env


Barcode scanning into recipes

Last issue for now, promise :)
When creating a recipe, it seems we can only add either a basic food or a saved custom Food. However, some items aren't available as basic foods but are used in recipes - e.g. if I'm making a hotdog, I might want to scan the hotdog/sausage package to create a Hotdog recipe that includes the sausage + the bread. It'd be helpful to be able to barcode scan in the recipe creation view so that that scenario is possible, without having to (manually) create a custom Food for the sausage first to then add to the recipe.

Closing in favor of #185

Realize that this is actually separate and probably worth doing


As a user I can fetch consult data through an API by name

Estimation
TBD
Acceptance criteria
The feature fulfils the DoD - criteria. The feature is demonstrated to a client from staging environment. After clients approval feature is deployed to production server.

Completed in Sprint #3.


'extends' and 'exclude' should show up in .jshintrc intellisense

Use intellisense in .jshintrc. There are no proposals for 'extends' or 'exclude'.

What's the status of extends support?


Weak password does not fail converge

Cookbook version
0.7.2
Chef-client version
16.6.4
Platform Details
AWS/windows 2019 core
Scenario:
create forest/domain
Steps to Reproduce:
set a weak password
Expected Result:
chef should exit with the error from the install
Actual Result:
the chef run completes successfully with no error but I logged onto the machine and the domain has not been created. I ran chef in debug mode to get the command it was running and ran it manually but it fails complaining of a weak password. I fixed the password and the creation completed successfully. The chef run should definitely fail as the resource is failing but it is exiting properly.
this was the run with weak password no errors also the domain was not created.
Recipe: activedirectory::default
         * windows_ad_domain[prod.xx.lan] action create
           * powershell_script[create_domain_prod.xx.lan] action run
             - execute "C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NonInteractive -NoProfile -ExecutionPolicy Bypass -InputFormat None  -File "C:/Users/ADMINI~1/AppData/Local/Temp/chef-script20201022-2524-1u59s5o.ps1"

       Running handlers:
       Running handlers complete
       Chef Infra Client finished, 2/20 resources updated in 40 seconds
       Downloading files from <default-windows-2019-core>
       Finished converging <default-windows-2019-core> (1m16.99s).

What was the exit code of the command you manually ran?
If this was [0, 1, 2, 3, 4], then the chef resource would report success.

I will have to run the test again and see what it is exiting with.

stranger part, is it still executes with out error but is not actually creating the forest, again i take the command that would have been used, execute it and it creates the forest no errors. I will have to add in some debugging see if I can figure out what is going on.

You can view this output by setting Chef-client in debug mode.
provisioner:   name: chef_zero   chef_license: accept-no-persist   product_name: chef   log_level: debug
The powershell command executes successfully, but the command logs the following warning which results in aborting the creation of the domain:
Verification of prerequisites for Domain Controller promotion failed. The Directory Services Restore Mode password does not meet the password complexity requirements of the password policy. Strong passwords require a combination of uppercase and lowercase letters, numbers, and symbols. Supply a stronger password.
This is noted in the Microsoft documentation: https://docs.microsoft.com/en-us/powershell/module/addsdeployment/install-addsdomain?view=win10-psa
You must supply a password that meets the password complexity rules of the domain and the password cannot be blank.
By default those requirements are outlined here:
https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements
The README.md can be updated to highlight this more clearly, but this is not a bug with the cookbook and more so a limitation of the requirements for using the Install-ADDSDomain command and ADDS's unique requirements.


python37Packages.dominate: 2.3.5 -> 2.4.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-dominate/versions.
meta.description for python37Packages.dominate is: '"Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API"'.
meta.homepage for python37Packages.dominate is: '"https://github.com/Knio/dominate/"

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.4.0 with grep in /nix/store/3zxy13qfnniri9j49w913l49qn3d8hdb-python3.7-dominate-2.4.0

directory tree listing: https://gist.github.com/8bfbec78133576c0b34b443edc084482

du listing: https://gist.github.com/306a36f46958c296a564acae97338038

Rebuild report (if merged into master) (click to expand)

19 total rebuild path(s)
5 package rebuild(s)
5 x86_64-linux rebuild(s)
5 i686-linux rebuild(s)
4 x86_64-darwin rebuild(s)
5 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
buku
python27Packages.dominate
python27Packages.flask-bootstrap
python37Packages.dominate
python37Packages.flask-bootstrap

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/3zxy13qfnniri9j49w913l49qn3d8hdb-python3.7-dominate-2.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A python37Packages.dominate https://github.com/r-ryantm/nixpkgs/archive/0a094d141986ed4c040a321612028010443420c8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/3zxy13qfnniri9j49w913l49qn3d8hdb-python3.7-dominate-2.4.0
ls -la /nix/store/3zxy13qfnniri9j49w913l49qn3d8hdb-python3.7-dominate-2.4.0/bin

Built and tested :+1:
thanks


Multiple authors

Is there an example Gatsby project featuring a blog with multiple authors?

Not an example but a real site. Gatsbyjs.org's source is in the main repo in the www directory

How simple would you like to keep the current repository? Would you be open to a PR adding multiple authors?

I'd prefer to keep this repo as simple as possible so it's easy for people new to Gatsby to understand. It's the same reason we don't have tag support.
I'd totally be happy to see you fork this repo and create a new repo with multiple author support!

@mathiasbynens Is it OK for you if to close this issue?

Sure.


system_tests_two_routers failure

 self = <system_tests_two_routers.TwoRouterTest testMethod=test_07_semantics_closest_is_remote>

    def test_07_semantics_closest_is_remote(self):
        test = SemanticsClosestIsRemote(self.routers[0].addresses[0], self.routers[1].addresses[0])
        test.run()
>       self.assertIsNone(test.error)
E       AssertionError: 'Timeout Expired: sent=100 rcvd=0/0' is not None

https://github.com/skupperproject/skupper-router/runs/5481493628?check_suite_focus=true#step:27:133

There is nothing precisely like this in Dispatch Jira, the closest being https://issues.apache.org/jira/browse/DISPATCH-1782
The timeout errors are now quite common in Skupper, so I assume it is likely caused by parallel test run. For example https://github.com/skupperproject/skupper-router/issues/126#issuecomment-1059764784 is another timeout in different test.

This timeout can expire even after the -j2 fix, https://github.com/skupperproject/skupper-router/runs/5599813265?check_suite_focus=true#step:26:3782


little issue on markdown file in vscode

INPUT 1: typing like the picture below that represents bold italics + bold fonts on vscode

OUTPUT 1: on the GitHub page that doesn't show  bold italics + bold fonts

INPUT 2: It works well

OUTPUT 2: It works well

Please share the markdown as text

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


[base-setup] : Mono Repo Code Setup - Backend & Frontend

Summary by CodeRabbit

Chores

Implemented .gitignore configurations to maintain a clean repository state.
Set up a pre-commit hook to ensure code quality through backend unit tests.
Automated the development setup process to streamline project installation.

New Features

Introduced a custom dictionary entry for the code editor's spell checker.
Launched the ProdExplora app with comprehensive documentation for end-users.

Documentation

Provided a detailed guide for installation, usage, and testing of the new ProdExplora app.

Tests

Added unit and end-to-end tests to ensure the reliability of the ProdExplora app.

@ArnavNath550: Do try to setup this up locally and see if the FE and BE are working fine for you! Added a base setup, please make necessary changes if needed. The UI is served as a BE static content at the moment.


Question: Find all the markers inside a given radius

Is it possible to find all the markers inside a given radius, from given point ? Just wondering if this feature is available. Thanks.

I'm not sure if this feature is available with angular2-google-maps  but I have just used the DistanceMatrix API to find all suitable markers inside a given radius.
I used origin co-ords and multiple destination co-ords as parameters with the request and then parse the response which includes how far each destination is away from the origin.
Hope this points you in the right direction!

Thanks mate.


Issue with directory finding

Runs as normal but request operation to look for VRChat.exe fails, as if every content but folder is visible?

As shown directory find fails. VRChat is under C:

Left is MelonAssistant, and right is through default file explorer view
As of current, attempted several attempts to reinstall and try different drives=same result
Even use admin permission to run it=same result
Windows 10 PRO OS, 64x architectures, VRChat Melon Assistant v<IP_ADDRESS>9 #latest
Thank you and please find a fix for this issue. Been bothering me, VRChat is not the same without it :)

still no fix?

Issue is resolved
On Mon, Dec 27, 2021 at 5:16 AM kusada kusaba @.***>
wrote:

still no fix?
—
Reply to this email directly, view it on GitHub
https://github.com/knah/VRCMelonAssistant/issues/14#issuecomment-1001490940,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWWV5PN77SEWMMZ2YPRWW3DUTA4GPANCNFSM5I76SGJQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

how did you fix it?

can you tell us how you fixed it because im having the same problem

Can you tell us how to fix this issue

Issue is resolved
…
On Mon, Dec 27, 2021 at 5:16 AM kusada kusaba @.> wrote: still no fix? — Reply to this email directly, view it on GitHub <#14 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWWV5PN77SEWMMZ2YPRWW3DUTA4GPANCNFSM5I76SGJQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you authored the thread.Message ID: @.>

yo

I still cant figure out the problem

Runs as normal but request operation to look for VRChat.exe fails, as if every content but folder is visible?  As shown directory find fails. VRChat is under C:  Left is MelonAssistant, and right is through default file explorer view
As of current, attempted several attempts to reinstall and try different drives=same result Even use admin permission to run it=same result
Windows 10 PRO OS, 64x architectures, VRChat Melon Assistant v<IP_ADDRESS>9 #latest
Thank you and please find a fix for this issue. Been bothering me, VRChat is not the same without it :)

Tell us how you fixed the problem

you have to drag the melon assistant into the folder and then when the file select screen pops up dont press anything other than save.(video i got this from:https://youtu.be/fOIYehZ1YcI)

Thankyou!
Sent from my iPhone

On Jun 8, 2022, at 07:15, Shinomiu @.***> wrote:

you have to drag the melon assistant into the folder and then when the file select screen pops up dont press anything other than save.(video i got this from:https://youtu.be/fOIYehZ1YcI)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.


[Formatter] Different infix operators might need to be printed differently

I'm ok with this:
let a = 1 + 2 +
  3 + 4;

As it is currently, but for stuff like pipe it's probably better like this:
let a =
  bla1 1
  |> bla2 2
  |> bla3 3

With pipe a long piece of code like this
let all_resources =
  ResourceMap.(
    empty
    |> add Resource1(module Resource1: Resource)
    |> add Resource1(module Resource2: Resource)
    |> add Resource3(module Resource3: Resource)
  )

get's converted by rfmt into this:
let all_resources =
  ResourceMap.(
    empty |> add Resource1 ((module Resource1): (module Resource)) |>
    add Resource1 ((module Resource2): (module Resource)) |>
    add Resource3 ((module Resource3): (module Resource))
  );

I think it's much more readable if the pipe stays at the beginning of the line it's piping to, rather than the end.

There's a PR working on this: https://github.com/facebook/reason/pull/1259

This now converts exactly correctly.


New sample: Kotlin version of todo-mvp

Although is not an architectural pattern, I think it could be nice to have a Kotlin version for some of the variants. Interesting points would be the amount of code and size of the app.
I personally started the todo-mvp-kotlin in my forked repo as an example. so far I converted:

addedittask
data

Please note that this is still in progress :) and feel free to contribute to it if you're interested!
https://github.com/Shyish/android-architecture/tree/dev-todo-mvp-kotlin

Looking forward to comparing APK size, LOC and method count. Please make sure to mention in the README that Kotlin is not officially supported.

So, first version is done, although there could be some more optimizations to be made.
https://github.com/Shyish/android-architecture/tree/dev-todo-mvp-kotlin
@JoseAlcerreca @malmstein Please take a look when you can and let me know what else do you need :)

Hey @Shyish I was also curious how the app would look written in Kotlin and I started: https://github.com/LordRaydenMK/android-architecture/tree/todo-mvp-kotlin
Looks like you are way ahead of me. I am almost done with the data package.
I noticed some areas in the code on your fork that could be improved. I would like to discuss them with you and maybe contribute with a pull request. Let me know what you think.

Hi @LordRaydenMK, sounds great to me! You can just create an issue for discussion or directly a PR in my repo and we can discuss it there :)

I'm promoting #254 to the main list since it's already finished. Closing this but if you want to incorporate changes from your forks to @SerjSmor's I'm sure it'll be appreciated.


🐛 Don't render HTML templates for static file 404s

This is a rough first-pass at a fix for the infinite 404 errors. Reproduction case outlined in #8868.
It is not the best fix, but should be enough to not have to revert.
refs #8868

Improve the error returned from local file store
Use the new code to differentiate between static & non-static errors

I will review this PR now.
FYI: lint failed


optimize top queries

Instead of rounding up the points, sorting and then slicing, keep a
heap that allows us to quickly see if the point needs to be in the
set. This cuts a top query on a dataset of 8 million points from 35
seconds to 11 seconds.

@corylanou

Note that this also changes behavior of top to match what was intended after talking to Paul. If there are fewer series than points being selected, it will now cap the number of results to one point per series. Before, it would select the next highest point from each of the series.
Given the series
cpu,host=1 value=1
cpu,host=1 value=2
cpu,host=1 value=3
cpu,host=2 value=1
cpu,host=2 value=4
cpu,host=3 value=2

for the query SELECT top(value, host, 5) from cpu would return
cpu,host=1 value=3
cpu,host=2 value=4
cpu,host=3 value=2
cpu,host=1 value=2
cpu,host=2 value=1

Now it returns just
cpu,host=1 value=3
cpu,host=2 value=4
cpu,host=3 value=2

@DanielMorsing yep, that's what I was expecting

Nice optimization.  +1 on green build.

I'd like another review on this, because the behavior is really tricky.
@otoolep?

Hold off on reviewing this. The behavior change in the system test is NOT because of the new behavior.

Ok, let me know when you want that review.
On Thursday, September 17, 2015, Daniel Morsing<EMAIL_ADDRESS>wrote:

Hold off on reviewing this. The behavior change in the system test is NOT
because of the new behavior.
—
Reply to this email directly or view it on GitHub
https://github.com/influxdb/influxdb/pull/4130#issuecomment-141103509.

@otoolep  Just pushed the new code. Review ready now

Couple of very minor nits, but I'm good with as is.  +1.


Docker-compose: Fix ports configuration

This is explained just above the modified text:

ports (Ports): (Optional) Ports in the specific service container to publish to the host. Specify each host-port:container-port binding on a new line.

@alexislefebvre : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@alexislefebvre : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off
This matches the task code.

@juliakm: I'm sorry - only the author of this article, @azooinmyluggage, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


WIP: 1.19.2

Trying to update to 1.19.2 myself, users are able to join using this branch but messages do not work, and there are some hacks.
Just wanted to share, if anyone else were interested.
Based on the fork that @robinbraemer are currently doing.
Unsure if I will complete this work, mostly I have done it for fun so far :)
Great project!

Thank you! I'll be continuing my PR. FYI I'm adding the new stuff to Gate from this diff https://github.com/PaperMC/Velocity/compare/e8bf6ab5222d8bbf4e59e7c4d5400b10ab4c7e81...dev/3.0.0#


TabFolder/Tab Pages

How do I move from a page to another in TabFolder/Tabs like we do in NavigationView

The Tabris.js Slack channel is the best place for questions rather than creating bug reports.
You can use the selectionIndex property on TabFolder to programmatically set the active tab by its integer index, or by the  selection property to set it directly if you have a reference to the Tab object.


resources/image: Fix fill with smartcrop

Fixes #7955

I converted 823 images of varying size with 9 different Fill dimensions. Out of the 7407 conversions, there were 36 errors.

Log file
WARN 2021/06/15 21:15:14 Error while creating Fill.
            Original dimensions: 408x403
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:16 Error while creating Fill.
            Original dimensions: 425x403
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:18 Error while creating Fill.
            Original dimensions: 459x429
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:20 Error while creating Fill.
            Original dimensions: 476x429
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:20 Error while creating Fill.
            Original dimensions: 476x442
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:25 Error while creating Fill.
            Original dimensions: 527x442
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:26 Error while creating Fill.
            Original dimensions: 544x403
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:48 Error while creating Fill.
            Original dimensions: 476x468
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:50 Error while creating Fill.
            Original dimensions: 493x481
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:51 Error while creating Fill.
            Original dimensions: 510x468
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:51 Error while creating Fill.
            Original dimensions: 510x494
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:53 Error while creating Fill.
            Original dimensions: 527x507
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:55 Error while creating Fill.
            Original dimensions: 544x468
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:57 Error while creating Fill.
            Original dimensions: 561x546
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:15:59 Error while creating Fill.
            Original dimensions: 578x533
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:16:01 Error while creating Fill.
            Original dimensions: 595x546
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:16:01 Error while creating Fill.
            Original dimensions: 595x559
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:16:01 Error while creating Fill.
            Original dimensions: 595x585
            Target dimensions: 400x400
            Final dimensions: 0x0

WARN 2021/06/15 21:16:40 Error while creating Fill.
            Original dimensions: 408x403
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:42 Error while creating Fill.
            Original dimensions: 425x403
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:46 Error while creating Fill.
            Original dimensions: 459x429
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:48 Error while creating Fill.
            Original dimensions: 476x429
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:48 Error while creating Fill.
            Original dimensions: 476x442
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:48 Error while creating Fill.
            Original dimensions: 476x468
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:50 Error while creating Fill.
            Original dimensions: 493x481
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:51 Error while creating Fill.
            Original dimensions: 510x468
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:51 Error while creating Fill.
            Original dimensions: 510x494
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:53 Error while creating Fill.
            Original dimensions: 527x442
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:53 Error while creating Fill.
            Original dimensions: 527x507
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:55 Error while creating Fill.
            Original dimensions: 544x403
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:55 Error while creating Fill.
            Original dimensions: 544x468
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:57 Error while creating Fill.
            Original dimensions: 561x546
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:16:59 Error while creating Fill.
            Original dimensions: 578x533
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:17:02 Error while creating Fill.
            Original dimensions: 595x546
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:17:02 Error while creating Fill.
            Original dimensions: 595x559
            Target dimensions: 600x600
            Final dimensions: 0x0

WARN 2021/06/15 21:17:02 Error while creating Fill.
            Original dimensions: 595x585
            Target dimensions: 600x600
            Final dimensions: 0x0

This is what I used for testing:
git clone --single-branch -b hugo-github-issue-7955 https://github.com/jmooring/hugo-testing hugo-github-issue-7955
cd hugo-github-issue-7955
hugo server

Some of the target sizes were landscape, some were portrait, and some were square. The failures in the log above occurred only when the target size was square.

OK, thanks for your detailed test, much appreciated.

To clarify, there were no errors when using math.Ceil. See suggested changes.

I built from your last push and performed a larger test. Two more failures:
WARN 2021/06/16 09:47:45 Error while creating Fill.
            Original dimensions: 578x585
            Target dimensions: 550x550
            Final dimensions: 0x0

WARN 2021/06/16 09:47:45 Error while creating Fill.
            Original dimensions: 578x598
            Target dimensions: 550x550
            Final dimensions: 0x0

@bep I recommend merging this as-is, despite the additional errors that I found in testing.

This is a vast improvement.
In the past 12 hours I have run almost 1M combinations of original vs. target size: small to large, large to small, landscape, portrait, square, even numbers, odd numbers, prime numbers, etc. I am certain there are cases that will fail, but I haven't been able to find them.
Trying to mimic the behavior and/or idiosyncrasies of another system can be a losing battle.

So I think what you have done is good enough, and thank you for working on this.
If you're uncomfortable with the possibility of future errors:

Detect and warn
Detect, warn, and fallback to "Center" instead of "Smart"

Detect, warn, and fallback to "Center" instead of "Smart"

I think that may be a good option ... in any case, this looks like an upstream issue that probably needs to be reported ...

@jmooring I added your new test cases + a fallback to a center crop. I don't warn about it, which I don't think would add any value (but I also didn't have access to the logger).