use/import support

Hi,
first of all, many thanks for this great library. Expect some PR's in near future from me. ;)
I have this in a types.fpp
namespace App\Model\State {

    data BuildingId = BuildingId deriving (Uuid);

    data User = String deriving (ToString, FromString);

    data Building = Building {BuildingId $buildingId, ?User $user} deriving (ToArray, FromArray);
}

namespace App\Model\Message {

    data AddBuilding = AddBuilding { \App\Model\State\BuildingId $buildingId, \App\Model\State\User $user } deriving (Command: "Building.AddBuilding");

}

FPP does an awesome job already. However, it would be nice to import definitions from other namespaces like it is possible in plain PHP or JavaScript (which might be easier to implement and would allow support for multiple FPP files)
PHP use statement:
namespace App\Model\State {

    data BuildingId = BuildingId deriving (Uuid);

    data User = String deriving (ToString, FromString);

    data Building = Building {BuildingId $buildingId, ?User $user} deriving (ToArray, FromArray);
}

namespace App\Model\Message {

    use \App\Model\State\BuildingId;
    use \App\Model\State\User;
    //Maybe it is too hard to support something like this: use \App\Model\State;
    //State\BuildingId $building, State\User $user
    //but direct imports would be a nice start

    data AddBuilding = AddBuilding { BuildingId $buildingId, User $user } deriving (Command: "Building.AddBuilding");

}

JS import
JS import statement would have the advantage to specify the fpp file that contains the definition rather than the assigned PHP namespace.
File <project_root>/fpp/model.fpp
namespace App\Model\State;

data BuildingId = BuildingId deriving (Uuid);

data User = String deriving (ToString, FromString);

data Building = Building {BuildingId $buildingId, ?User $user} deriving (ToArray, FromArray);

File <project_root>/fpp/messages.fpp
namespace App\Model\Message;

import {BuildingId, User} from '../model';

data AddBuilding = AddBuilding { BuildingId $buildingId, User $user } deriving (Command: "Building.AddBuilding");

Note: Import path is relative to current file (or maybe absolute to project root?). File extension .fpp is not needed. FPP would need to detect conflicting namespaces.

first of all, many thanks for this great library. Expect some PR's in near future from me. ;)

you kidding me? :+1:

you kidding me?

just a lovely nostal insider, saying exactly what I wanted to say ;)

@prolic any preferences?
My favorite is JS import because supporting multiple FPP files helps to keep things organized.

I'm not sure, using PHP imports has the benefit, that you can refactor easily and move stuff around, while with JS import you have to change all definitions, if you move a FPP definition to another file.
Also:  import {BuildingId, User} from '../model'; - what if two BuildingId's are stored within the model.fpp file with different namespaces, which one to chose?

/cc @paales @Maikel-Koek @jeromegamez @Lctrs

I'm not sure, using PHP imports has the benefit, that you can refactor easily and move stuff around,

Ok, this could work but FPP needs to scan all files on each run to know which namespaces and definitions are available.
PHP namespaces are mapped to a folder structure but FPP is not (at the moment). So FPP cannot locate the file that contains a definition imported by a use statement.
Also I see FPP files more like JS ES6 module files and not like typical PHP files (containing one class per file), because you'll likely group several fpp definitions - but not all - in one file.

what if two BuildingId's are stored within the model.fpp file with different namespaces, which one to chose?

Good point! I'd say in that case you have to import using the FQCN or even one step further import with an alias:
import {\App\Model\State\BuildingId as StateBuilidngId, \Ap\API\BuildingId as ApiBuildingId} from '../model';
But, I'd say in a naive implementation FPP could just throw some kind of conflict exception and force the developer to use a simpler structure.

Another argument against JS imports: FPP doesn't track from which file it read the definitions. After parsing all definitions are stored in the DefinitionCollection, so matter where they come from.

I'm using this config to let PHPStorm run FPP whenever I change a FPP file: (like documented in the wiki but using docker)
In that case FPP only handles current file. Ok, I could modify the command so that FPP scans the entire project dir over and over again no matter what file has changed. Doing this would ensure that all definitions are in the DefinitionCollection. But that's a performance nightmare in real world projects.
Options

Long-running fpp process watching file changes itself and keeping information of all scanned files in memory. This solution would work well with PHP-like use statements, because we know all available definitions and their namespaces.

Start file scan by resolving imports and do that recursively until all dependent files are scanned and DefinitionCollection is filled up. Then process current file.

Option 2 sounds easier. It should be easier to develop and I think it's also easier to use. But how can option 2 be combined with PHP-like use statements? They don't tell the parser where to find related fpp files. We would need to define a PSR-like convention, but conventions introduce other problems.
Refactoring is an issue. In the JS ES6 world modern IDEs like WEBStorm or Visual Studio Code refactor imports automatically when files are moved around. Sooner or later a PHPStorm fpp plugin is required anyway. Maybe we could solve refactoring issues with proper PHPStorm integration?

I think option 2 is good (and we can use JS imports then). Wanna provide a PR?
I wouldn't bother about even better PHPStorm integration (incl. refactoring feature) too much for now. I don't know how to write those plugins and the company probably won't provide a plugin for it by themselves any time soon.

I think option 2 is good (and we can use JS imports then). Wanna provide a PR?

Good news. Yes, I'd like to tackle the issue. But need a time slot for it. Maybe I can start working on it next week.

How does it work with fpp.lock file for deletion of removed objects? Seems
like a problem to me, when we don't parse all the fpp files.
On Sat, Jun 9, 2018, 01:51 Alexander Miertsch<EMAIL_ADDRESS>wrote:

I think option 2 is good (and we can use JS imports then). Wanna provide a
PR?
Good news. Yes, I'd like to tackle the issue. But need a time slot for it.
Maybe I can start working on it next week.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/prolic/fpp/issues/57#issuecomment-395837868, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAYEvH-b4NUSVjKchwhVm2IVa4dmmyRKks5t6rm5gaJpZM4UbiDm
.

fpp.lock could contain a map of File => OutputObject[]
When a file is changed, fpp checks the map and compares is with current objects defined in the file.
The only real problem is how we can detect deletion of an entire fpp file?
But that's a problem of the full scan approach as well, because I think that PHPStorm does not trigger the file watcher in case a file is deleted.
So even in that scenario deleted fpp files are first recognized when another fpp file is modified.
A workaround would be to first empty the file, hit save to trigger file watcher, let fpp clean up the objects and finally delete the empty file. This along with a fpp remove $file command is maybe enough.
A long-running fpp process using file system file watchers would probably be the better option, but that's too mich work for current level of the project.

Maybe this can help?
https://github.com/jasonlewis/resource-watcher/blob/master/README.md
On Sat, Jun 9, 2018, 03:37 Alexander Miertsch<EMAIL_ADDRESS>wrote:

fpp.lock could contain a map of File => OutputObject[]
When a file is changed, fpp checks the map and compares is with current
objects defined in the file.
The only real problem is how we can detect deletion of an entire fpp file?
But that's a problem of the full scan approach as well, because I think
that PHPStorm does not trigger the file watcher in case a file is deleted.
So even in that scenario deleted fpp files are first recognized when
another fpp file is modified.
A workaround would be to first empty the file, hit save to trigger file
watcher, let fpp clean up the objects and finally delete the empty file.
This along with a fpp remove $file command is maybe enough.
A long-running fpp process using file system file watchers would probably
be the better option, but that's too mich work for current level of the
project.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/prolic/fpp/issues/57#issuecomment-395867109, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAYEvICScNDwE-vj_XN_JkusViJkmtHRks5t6tKCgaJpZM4UbiDm
.

Not sure about performance impact. Readme says that it uses a polling strategy to detect changes. That might work well for a single directory but recursively scanning project src every second? Could become a problem in larger projects.
A convention that all fpp files should be located somewhere outside of src could work but as I said earlier: IMHO such a convention is a bad idea. My structuring plan (that brought me to this import topic) is to keep fpp files next to generated php files
|_ Command
  |_ _commands.fpp
  |_ RegisterUser.php
  |_ ActivateUser.php
|_ Event
  |_ _events.fpp
  |_ UserRegistered.php
  |_ UserActivated.php
|_ User
  |_ _state.fpp
  |_ UserData.php
  |_ UserId.php
  |_ ActivationLink.php

I'm sure other users will have different preferences of how they want to organize fpp and generated php files. It is a very interesting question, anyway. Time will show if a best practice can be defined.

https://github.com/emcrisostomo/fswatch/blob/master/README.md then?

damn, there is another issue:
namespace App\Model\Message;

import {BuildingId, User} from '../model';

data AddBuilding = AddBuilding { BuildingId $buildingId, User $user } deriving (Command: "Building.AddBuilding");

If BuildingId is changed or removed, fpp needs to parse messages.fpp again. fpp.lock can contain a second mapping, though.

Maybe it's still best to parse all fpp files at once (hence php imports,
not js). I would recommend to collect them in an fpp dir (outside src), to
avoid performance problems. Solves a lot of issues.
On Sat, Jun 9, 2018, 04:45 Alexander Miertsch<EMAIL_ADDRESS>wrote:

damn, there is another issue:
namespace App\Model\Message;
import {BuildingId, User} from '../model';
data AddBuilding = AddBuilding { BuildingId $buildingId, User $user } deriving (Command: "Building.AddBuilding");
If BuildingId is changed or removed, fpp needs to parse messages.fpp
again. fpp.lock can contain a second mapping, though.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/prolic/fpp/issues/57#issuecomment-395885196, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAYEvE_Y8KzabRWQd8zb2CrwJsCRACIAks5t6uJ9gaJpZM4UbiDm
.

looks like a really good lib @prolic
But IMHO installation is a problem. At the moment fpp requires nothing but standard PHP and maybe setting up PHPStorm for smooth development integration.
Using fswatch would require a complex installation (depending on OS) and that's a killer for adoption.
For me it wouldn't be a problem. I'd create a docker image but standard PHP only is a very strong argument against fswatch.

Maybe we can copy the binaries needed, so everything comes shipped at once.
Also if all fpp files are together (outside src) then polling ain't such a
big issue.
On Sat, Jun 9, 2018, 05:04 Alexander Miertsch<EMAIL_ADDRESS>wrote:

looks like a really good lib @prolic https://github.com/prolic
But IMHO installation
https://github.com/emcrisostomo/fswatch/blob/master/README.md#installation
is a problem. At the moment fpp requires nothing but standard PHP and maybe
setting up PHPStorm for smooth development integration.
Using fswatch would require a complex installation (depending on OS) and
that's a killer for adoption.
For me it wouldn't be a problem. I'd create a docker image but standard
PHP only is a very strong argument against fswatch.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/prolic/fpp/issues/57#issuecomment-395889826, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAYEvNCmxgSAmTf04GZYZvxaqiTiwvKnks5t6ubUgaJpZM4UbiDm
.

OK, what about this? :
We go for PHP use statements and scan all files on each run (If this gets to slow for large projects we might optimize it later with clever indexing and change detection).
FPP keeps a list of scanned files in fpp.lock.
We have two ways to invoke FPP:
Invoke with dir path
FPP compares all files in the dir with the list of known fpp files in fpp.lock of same directory. If a file is no longer present in the directory FPP takes information from fpp.lock to delete generated PHP files connected with missing fpp file (index maintained in fpp.lock).
Invoke with file path
FPP checks if file is known in fpp.lock. If not the file is added to that list.
Scanning Phase
Once file comparison is finished FPP iterates over list of known files in fpp.lock to scan all.
This way it does not matter if all files are located in the same directory or spread across project src.
If files are in different locations this simply means that FPP cherry-picks the files without the need to scan all directories under src
Putting all fpp files in one directory would have the advantage that file deletions can be detected on later runs. But if one can live with the trade off that an fpp needs to be emptied before final deletion than they can use my suggested (and preferred) structure as well.
If we can agree on that I'd add PHP use statement support in a PR and fpp.lock along with the behavior described above can be added in another PR.

PHPStorm comes already with a file watcher. Have you tried putting the fpp files into src dir somewhere? If so, is it really a performance problem to scan the src-dir every time? Maybe that's not a real problem at all (at least with a SSD).

What's the problem with my suggestion? There is no need to scan the entire project directory if fpp maintains a cache like described in my last comment. No convention for file location needed. So I thought everything is fine now. FPP can of course be invoked using PHPStorm's file watcher. I don't suggest anything different here.

Sounds good, go for it.
I was just curious if performance of scanning src dir for fpp files is really bad or if this was just an assumption.

ah ok. Yeah, it is an assumption. I just played around with FPP so project is very small.
What I can tell is that the message flow analyzer needs some time to recursively scan a large project. But it touches every file and parses nearly every class. So a lot of performance is lost in processing logic.
Another observation is TypeScript + webpack running in watch mode. Sometimes this makes heavy use of system resources.
The good thing is, supporting PHP use statements and indexing fpp files are two separate topics. We can start with use statements and just test this by simulating a larger project. Maybe performance is good enough. And if not, we can add the indexing strategy.

As a short test I scanned my complete home-dir on the notebook. About 58GB of data, took 13 secs to scan.

@codeliner Are you still working on this?
I'm splitting off part of my experience reported in #115 to here as it looks like part of what I'd like to discuss seems to have been discussed here.
Not being able to alias or use class names means that even within the same .fpp file things get quite hard to read. For a real world example, the following is one of the files I created last night and it is a bear to read due to the repetition of the namespace prefixes:
namespace App\Model\User {
    data UserId = UserId deriving (Uuid);
    data Name = String deriving (ToString, FromString);
    data Username = String deriving (ToString, FromString);
    data EmailAddress = String deriving (ToString, FromString);
    data HashedPassword = String deriving (ToString, FromString);
    data PlaintextPassword = String deriving (ToString, FromString);
}

namespace App\Model\User\Command {
    data CreateUser = CreateUser {
        \App\Model\User\UserId $userId,
        \App\Model\User\Name $name,
        \App\Model\User\Username $username,
        \App\Model\User\EmailAddress $emailAddress,
        \App\Model\User\HashedPassword $hashedPassword
    } deriving (Command);

    data RenameUser = RenameUser {
        \App\Model\User\UserId $userId,
        \App\Model\User\Name $name
    } deriving (Command);

    data ChangeUsername = ChangeUsername {
        \App\Model\User\UserId $userId,
        \App\Model\User\Username $username
    } deriving (Command);

    data ChangePassword = ChangePassword {
        \App\Model\User\UserId $userId,
        \App\Model\User\PlaintextPassword $plaintextPassword
    } deriving (Command);
}

namespace App\Model\User\Event {
    data UserCreated = UserCreated {
        \App\Model\User\UserId $userId,
        \App\Model\User\Name $name,
        \App\Model\User\Username $username,
        \App\Model\User\EmailAddress $emailAddress,
        \App\Model\User\HashedPassword $hashedPassword
    } deriving (AggregateChanged);

    data UserRenamed = UserRenamed {
        \App\Model\User\UserId $userId,
        \App\Model\User\Name $name
    } deriving (AggregateChanged);

    data UsernameChanged = UsernameChanged {
        \App\Model\User\UserId $userId,
        \App\Model\User\Username $username
    } deriving (AggregateChanged);

    data PasswordChanged = PasswordChanged {
        \App\Model\User\UserId $userId,
        \App\Model\User\HashedPassword $hashedPassword
    } deriving (AggregateChanged);
}

It seems like we should be able to make this easier for the 95% cases more quickly if we don't worry about referencing other files or other classes. As noted in #115 I can see that is a potential problem for me eventually... but the more immediate problem I see is not being able to read, write and maintain .fpp files due to the excessive repetition of the namespace prefix.
If this proposal looks interesting and @codeliner doesn't have a solution yet, does my proposal sound interesting? It is
namespace App\Model\User {
    data UserId = UserId deriving (Uuid);
    data Name = String deriving (ToString, FromString);
    data Username = String deriving (ToString, FromString);
    data EmailAddress = String deriving (ToString, FromString);
    data HashedPassword = String deriving (ToString, FromString);
    data PlaintextPassword = String deriving (ToString, FromString);
}

//
// Importing fully-qualified class names and aliases from a namespace.
//
// Implies that fpp itself knows about these namespaces already. In
// this case, they are defined earlier in the file.
//

namespace App\Model\User\Command {
    // option 1
    use {UserId, Name, Username, EmailAddress, HashedPassword as Password} from \App\Model\User;

    // option 2
    use \App\Model\User\UserId;
    use \App\Model\User\Name;
    use \App\Model\User\Username;
    use \App\Model\User\EmailAddress;
    use \App\Model\User\PlaintextPassword as Password;

    data CreateUser = CreateUser {
        UserId $userId,
        Name $name,
        Username $username,
        EmailAddress $emailAddress,
        Password $password
    } deriving (Command);

    data RenameUser = RenameUser {
        UserId $userId,
        Name $name
    } deriving (Command);

    data ChangeUsername = ChangeUsername {
        UserId $userId,
        Username $username
    } deriving (Command);

    data ChangePassword = ChangePassword {
        UserId $userId,
        Password $password
    } deriving (Command);
}

//
// Importing fully-qualified namespace prefixes.
//
// Implies that fpp itself knows about these namespaces already. In
// this case, they are defined earlier in the file.
//

namespace App\Model\User\Event {
    use \App\Model\User;

    data UserCreated = UserCreated {
        User\UserId $userId,
        User\Name $name,
        User\Username $username,
        User\EmailAddress $emailAddress,
        User\HashedPassword $hashedPassword
    } deriving (AggregateChanged);

    data UserRenamed = UserRenamed {
        User\UserId $userId,
        User\Name $name
    } deriving (AggregateChanged);

    data UsernameChanged = UsernameChanged {
        User\UserId $userId,
        User\Username $username
    } deriving (AggregateChanged);

    data PasswordChanged = PasswordChanged {
        User\UserId $userId,
        User\HashedPassword $hashedPassword
    } deriving (AggregateChanged);
}

Or we could use php7 style use if that is preferred:
use \App\Model\User\{UserId, Name, Username, EmailAddress, HashedPassword as Password};

I'd probably also implement it such that use statements would not require the leading \ but that is something I'm not 100% sure I care too much about:
use App\Model\User\{UserId, Name, Username, EmailAddress, HashedPassword as Password};

@simensen I'm acutally okay with any solution, as long as it's not adding too much boilerplate again (the reason this lib exists is to reduce boilerplate). If you want to work on this to improve, you're welcome, I currently don't have enough time and event-store-client has higher priority to me at the moment.

@simensen never found the time to work on this. TBH FPP is a great idea but it is too difficult to customize. We are using value objects quite heavily and let them even handle parts of the business logic. Hence, I've searches for a way to generate boilerplate code without leaving PHP and my solution is a mix of PHPstorm templates and a trait for handling complex types. It's documented here: https://event-engine.io/api/immutable_state.html

A release 0.1.0 has been tagged. There is currently a rewrite going on, so I will close all open issues. If you still want to resolve this issue yourself, you can submit a pull request to the 0.1.x branch.


added bulma and changed some css

Added Bulma found CDN when looking up link.  Minor corrections to css.


Update version of core haystack-client library

Codecov Report

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

@@            Coverage Diff            @@
##             master       #5   +/-   ##
=========================================
  Coverage     66.32%   66.32%
  Complexity       19       19
=========================================
  Files             2        2
  Lines            98       98
  Branches          6        6
=========================================
  Hits             65       65
  Misses           32       32
  Partials          1        1

Continue to review full report at Codecov.

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


Allow javascript modules to also have template literals minified

At the moment due to defaults in meriyah's parse method javascript with import statements are not parsed causing the template literals to not be minified.
Added new option to MinifyOptions that can enable minifying of javascript with import statements

@maxmilton Thoughts?

Sorry I've been travelling for a while and only just had a bit of time for my projects.
Looks good, however is there any big downside to using module: true so modules are parsed all the time regardless? I suspect the performance overhead would be minimal anyway + less options is always nice.

Sorry I've been travelling for a while and only just had a bit of time for my projects.
Looks good, however is there any notable downside to using module: true so modules are parsed all the time regardless? I suspect the performance overhead would be minimal anyway + less options is always nice.

From my investigation doesn't look like there is any major noted downsides to setting module: true. Mainly added as a configuration in case it was intentional. Will update to just set module: true and revert changes to MinifyOptions and README

@maxmilton PR updated to just set module: true and add test to verify module javascript can be minified

Sorry it took a while but your change has finally been publish in https://github.com/maxmilton/esbuild-minify-templates/releases/tag/v0.8.0


'invalid' in autocomplete context popup

After choosing some of the 'invalid's - it does not complete the variable. But after it, when autocomplete popup opened (on the same variable), I see the list of the variables.

I am constantly seeing this as well, and it's horribly annoying, to the point of making the autocomplete unusable.
The autocomplete works fine when I type $ followed by a single character. If I pause a second, I can type a second character and it still works. If either I type the second character quickly or I type the third character I get the Invalid list shown by OP.

I'm having the same issue


Feature: Support catch ssl certificate on crawling For #368

relative issue: #368
Supports setting the catch_ssl_certificate parameter to determine whether or not to obtain an ssl certificate.
def get_sync_result(url):
    # Submit a crawl job
    response = requests.post(
        "http://<IP_ADDRESS>:11235/crawl_direct",
        headers= {
                "Authorization": "Bearer test_api_code"
        },
        json={
                "urls": url,
                "priority": 10,
                "magic": True,
                "extra": {
                        "page_timeout": 10000,
                        "scan_full_page": True,
                        # catch the ssl certificate
                        "catch_ssl_certificate": True,
                        },
                "cache_mode": "disabled",
                }
    )
    if response.status_code == 200:
        return response.json()
    else:
        print(response.status_code, response.text)
        return None

The response is as follows
...
'ssl_certificate': {'issuer': 'Amazon RSA 2048 M02', 'protocol': 'TLS 1.2', 'subjectName': 'httpbin.org', 'validFrom':<PHONE_NUMBER>.0, 'validTo':<PHONE_NUMBER>.0},
...

Hey again, I didn't notice that you made a pull request. I checked it, and you did a very good job. It's always painful for me when I see something I've done and another community member doing it too, and I don't know what to do. So, I humbly have to avoid merging your update, but I will definitely add your name to the contributors list. If you're interested, I can also send an invitation email to your Discord to come and help us. Your suggestion was very good. Thank you so much. Just to give you a bit of feedback, instead of asking Playwright to handle getting the SSL certification, I created a script to fetch the SSL certification myself to reduce my dependency on Playwright. Again, I appreciate your support.

Sent you another link, please check.


Implement a CLI for Positive Pixel Counting

The Positive Pixel Count algorithm is used to quantify the amount of a specific stain present in a slide. The algorithm parameters include a color (range of hues and saturation) of interest and three intensity ranges (weak, positive, and strong). For pixels which satisfy the color specification, the algorithm counts the number and intensity‐sum in each intensity range, along with three additional quantities: average intensity, ratio of strong/total number, and average intensity of weak+positive pixels.
Here is a reference describing this method.

Fixed in PR #325


UI/ UX Wireframe/ Content for Blocked Basic BCeID User

[ ] You don't have access
[ ] Contact your Biz admin to grant you Business BCeID

Created Screens for the following cases.

User is a part of the BCeID Org but hasn't been given access to app yet by an Institution admin
User has the incorrect (basic) BCeID

Figma Screens:
https://www.figma.com/proto/VykmBDwobGoGvK9M5wgOvN/StudentAid-BC-App-Design-System-WIP-FreshWorks-Studios?node-id=828%3A53&viewport=10422%2C8581%2C0.17056071758270264&scaling=min-zoom&page-id=642%3A2733
This kicks off another backlog item:
As a user I can request access to an institution as an existing member of BCeID Org.


Fix fix nullptr exception when upgrading from 1.2.3 to 2.0

Proposed changes
Issue Number: close #xxx
fix nullptr exception when upgrading from 1.2.3 to 2.0

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 55.3 seconds
stream load tsv:          509 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         19 seconds loaded<PHONE_NUMBER> Bytes, about 118 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          33 seconds loaded 861443392 Bytes, about 24 MB/s
insert into select:          30.5 seconds inserted 10000000 Rows, about 327K ops/s
storage size:<PHONE_NUMBER>7 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230714103124_clickbench_pr_178268.html

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 53.8 seconds
stream load tsv:          541 seconds loaded<PHONE_NUMBER>9 Bytes, about 131 MB/s
stream load json:         19 seconds loaded<PHONE_NUMBER> Bytes, about 118 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          30.1 seconds inserted 10000000 Rows, about 332K ops/s
storage size:<PHONE_NUMBER>2 Bytes


add article #383 aligning with the new folder structure

closes #383

Hey @phyleria , could you please review this whenever you're free.

@phyleria , any update on this?

hey @phyleria , tomorrow is the merging day of the week, so is there any update on this? (Sorry If i am being too impatient)

Np , I have pushed the changes as requested by you, please review them whenever you're free. Thank you.

Hey @phyleria , any update on this?

Hi @adarsh-jha-dev
I noticed that you used AI for the article and there are quite a few corrections needed. I'll take some time to compile all the feedback into a clear and comprehensive format, so it's easier for you to make the necessary changes. Thanks for following up

Hi @adarsh-jha-dev
I noticed that you used AI for the article (not a bad thing) and there are quite a few corrections needed to make it reader-friendly and cohesive. I'll take some time to compile all the feedback into a clear and comprehensive format, so it's easier for you to make the necessary changes. Thanks for following up

Yeah, I often take help from it, thanks for the feedback. I'll wait.

I believe with this changes, the article will be good to go. Thanks @adarsh-jha-dev !

I believe with this changes, the article will be good to go. Thanks @adarsh-jha-dev !

cool, Thanks @phyleria.

I believe with this changes, the article will be good to go. Thanks @adarsh-jha-dev !

so you mean no more changes right? I hope you reviewed the latest one.

Yeah, I reviewed the latest one. Incase there are any more changes on the one you submit after the changes I will let you know but for now no.

Almost ready for merging @adarsh-jha-dev ! You’ve done a great job, and just a few minor adjustments:

Some sections mention “Reference” and “Chimoney API Docs,” but the actual links are missing. Could you kindly link them?

Example:
Visit the [Chimoney API Documentation](https://docs.chimoney.io).

A few sections come off as slightly formal (e.g., “vital to marketplace success”). A more conversational tone can help better engage the readers.

Example:

Instead of:
"Payouts are vital to marketplace success."
Try:
"Seamless payouts help keep your users happy and engaged."

Can you please include a simple code sample demonstrating a payout request using Chimoney’s API? You can check out an example of how it was done in this blog

That will be all. Sorry for the late review

wait,I am a little confused, I have already pushed these changes , I hope you're satisfied with the changes and let me know if anything more is to be done from my end. Thank you!

Hi @adarsh-jha-dev
Please check the comment time/day. That was four days ago and you resolved that.

Hi @adarsh-jha-dev
Please check the comment time/day. That was four days ago and you resolved that.
The changes I have requested are from two hours ago

Exactly, where are the new changes that you requested? I only see that you changed the PR title, what other changes are you talking about? Sorry If I am missing something.

Oh, I reviewed from codespaces and seems like it didn't reflect on your end, though I can see from my end. Let me resolve that

Are you able to see the comments now @adarsh-jha-dev?

Are you able to see the comments now @adarsh-jha-dev?

yes, thanks for resolving, working on them, will be pushing any moment.

Thanks @phyleria , could you please put the hacktoberfest-accepted tag here?

Done ✅

Done ✅

Thanks a lot.


Add a PDF Document Generator for Offline Needs

Description
To make sure developers can operate the repo during offline-mode without requiring an external software like Hugo.
Expected Behavior
A developer spec document template is available.
Current Behavior
No such facility.
Associated Data Files
No response

Done in c2486523d237537a18288911cefd2d2743559d0a


CSS styling for "About us" page

Paragraph text 14pt
Headline text 24pt
List text (the contributors) 14pt
Comment out the first "Follow us", "Facebook", "Twitter" and "Linkedin"
Center Refugee Tehc logo
Link "Visit us" to http://refugeetech.com/
Add a "Facebook" link between "visit us" and "add your app in Setelin" and link to https://www.facebook.com/refugeetech/
Link "add your app in Setelin" to https://refugee1.typeform.com/to/
Add email-to<EMAIL_ADDRESS>on "contact"

vs.

fixed and I removed the feedback link for now, since it's not working.


Firewall Object returning only one AddressObject where there are many exists in the firewall configs

Describe the bug
Firewall Object returning only one AddressObject where there are many exists in the firewall GUI
Current behavior
DEBUG:panos.base:016201026921: refreshall called on <class 'panos.objects.AddressObject'> type
* There are 1 address object(s) currently *
[<AddressObject <objectname> 0x101b8e230>]

Steps to reproduce
from panos.firewall import Firewall
from panos.objects import AddressObject
import logging

# Enable logging at the DEBUG level
logging.basicConfig(level=logging.DEBUG)

fw = Firewall("FW_NAME", "FW_USERNAME", "FW_PASSWORD")
fw.vsys = 'vsys1'
print("Firewall system info: {0}".format(fw.refresh_system_info()))
original_objects = AddressObject.refreshall(fw,add=True)
print("* There are {0} address object(s) currently *".format(len(original_objects)))
print(fw.children)

Python Version used:
Python 3.10.14

setting the correct vsys while creating firewall object solved it, please close it


Pod to pod communication doesn't work with Calico and vxlan in Kubernetes 1.21

Expected Behavior

Pod-to-pod communication should work and pods should be able to reach external networks such as hosts on the Internet
vxlan.calico network interface should be there
Routes to the pod networks on the nodes should be there

Current Behavior

vxlan.calico network interface is missing
Routes to the pods networks on the nodes are missing from the nodes
pods can only reach pods on the same node, and not pods on other nodes or external networks

Possible Solution

For the time being, updating the ippool with ipipMode: Always and vxlanMode: Never seems to resolve the issue. However, I need vxlan to work on the other clusters that I will upgrade.
Steps to Reproduce (for bugs)

Upgrade cluster from Kubernetes v1.20.7 to Kubernetes v1.21.6 using Kubespray
Run a pod like nettools to test network connectivity to other pods and hosts on the Internet
Run ip route on the nodes to check the routing table

Context

I recently upgraded a cluster from Kubernetes v1.20.7 to v1.21.6 using Kubespray. The cluster was running Calico v3.17.4 with vxlanMode:Always. After the upgrade, it is running Calico v3.19.2. When the upgrade was finished, I noticed that pods could only reach those on the same node, it was not possible to reach the pods on other nodes. Moreover, pods could not reach external network such as the internet. Further investigation revealed that the vxlan.calico network interface is missing. Plus, the route to the pod networks on other nodes were missing too.
Your Environment

Calico version v3.19.2
Orchestrator version (e.g. kubernetes, mesos, rkt): Kubernetes v1.21.6
Operating System and version: CentOS 7.9.2009

The cluster was running Calico v3.17.4 with vxlanMode:Always. After the upgrade, it is running Cilium v3.19.2.

Hi @lwr20 Thanks. I think it's correct. Which part in particular do you think has a typo?

I guess Kubespray has failed to enable vxlan during the upgrade.

That would be my guess too - that somehow over the upgrade you've lost the setting.
So options now - you could set it manually?  But perhaps also talk to the kubespray team about how to set this in your kubespray config so it doesn't get lost again next time you upgrade

Sure will do, thanks @lwr20.

Sadly the answer to that isn't completely straightforward.
In Calico v3.22 and below, you needed to enable VXLAN in felix AND on the ippool.  You can enable VXLAN in felix either by using felixconfig or by setting the env var on the calico-node daemonset.  I'd say that setting it in felixconfig is the preferred option these days.
In Calico v3.23+, you will only need to set it on the ippool (and this is preferred).  Upgrading from v3.22 to v3.23 will remove the setting from the felixconfig, but obviously its not possible for calico to remove it from the env vars set in the calico manifest in kubernetes.
From the v3.23 release notes:

Felix now uses the existing IP Pools to determine whether the IPIP and/or VXLAN encapsulations should be enabled. Felix now cleans up IP addresses from the tunl0 interface if IPIP is implicitly disabled. It leaves those addresses on the interface if IPIP is explicitly disabled via the default FelixConfiguration. calico #5576 (@coutinhop)

Thanks for the clarification @lwr20!

same problem between pods across nodes, unreachable ping to pod ip(<IP_ADDRESS>), then on host with the pod, "route -n" display as follows
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
<IP_ADDRESS>         <IP_ADDRESS>    <IP_ADDRESS>         UG    0      0        0 eth0
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS>   U     0      0        0 eth0
<IP_ADDRESS> <IP_ADDRESS>    <IP_ADDRESS> UGH   0      0        0 eth0
<IP_ADDRESS>  <IP_ADDRESS>         <IP_ADDRESS> UH    0      0        0 cali6d09fa47963

I was facing the same issue on OCI and my final solution was:
1 -  Add these iptables rules:
For control plane
# Clear forwarding rejections
sudo iptables -F FORWARD
sudo iptables -P FORWARD ACCEPT

# Kubernetes ports
sudo iptables -F FORWARD
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 6443 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 2379:2380 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 10250 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 10257 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 10259 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT

# Calico ports
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 179 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 4789 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 5473 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 51820 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 51821 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 2379 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 2379 -j ACCEPT

sudo netfilter-persistent save

For worker nodes
# Clear forwarding rejections
sudo iptables -F FORWARD
sudo iptables -P FORWARD ACCEPT

#Kubernetes ports
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 10250 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 10256 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 30000:32767 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT

# Calico ports
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 179 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 4789 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 5473 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 51820 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 51821 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 2379 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 2379 -j ACCEPT

sudo netfilter-persistent save

2 - Editing the ipPools configuration on calico instalation to set encapsulation as VXLAN and nodeAddressAutodetectionV4 to my CIDR.
ipPools:
- allowedUses:
  - Workload
  - Tunnel
  blockSize: 26
  cidr: <IP_ADDRESS>/16
  disableBGPExport: false
  disableNewAllocations: false
  encapsulation: VXLAN
  name: default-ipv4-ippool
  natOutgoing: Enabled
  nodeSelector: all()
linuxDataplane: Iptables
linuxPolicySetupTimeoutSeconds: 0
multiInterfaceMode: None
nodeAddressAutodetectionV4:
  cidrs:
  - <IP_ADDRESS>/24 #change here with your CIDR
windowsDataplane: Disabled

3 - Restart cluster nodes.


Use module.builtinModules when it exists

Summary
Resolves #5073
Test plan

Thanks! There are flow errors here, run yarn flow locally to see them.
You probably need a $FlowFixMe as the field is not added to the flow type definitions yet. (https://github.com/facebook/flow/pull/5529)

I added the FlowFixMe 😄

Codecov Report

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

@@          Coverage Diff           @@
##           master   #5099   +/-   ##
======================================
  Coverage    60.6%   60.6%
======================================
  Files         201     201
  Lines        6688    6688
  Branches        4       4
======================================
  Hits         4053    4053
  Misses       2635    2635

Impacted Files
Coverage Δ

packages/jest-resolve/src/is_builtin_module.js
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Awesome, thank you!


Add support for authentication

We can do this by mounting a config file into the container that contains the relevant users and passwords for the respective registries.

TRIVY_AUTH_URL
TRIVY_USERNAME
TRIVY_PASSWORD


Fix docs on --host[-ipv6]-addr options

Make them consistent with the real behaviour.
Fix #2352

@karknu please review

@cblp It's a good idea to include the issue you are solving in the main comment of this PR. Anything like "Closes #2352" would suffice

@Jimbo4350 I put the bug report reference to the commit and forgot to double it in the PR. Now fixed.

bors r+


[GameTest] getReachFromViewVector function for Player class

Is your feature request related to a problem? Please describe.
I would like to create a function that takes blocks/entities from player's view vector that are only within player's reach(the maximal distance player can interact with surrounding environment), however if I set maxDistance for ray-cast options as a constant value I never get it right, because player's reach is different from every angle.
Describe the solution you'd like
A function that would return the current player's reach distance as a number depending on the view vector.
Describe alternatives you've considered
Using a constant value that is similar to the actual reach distance, results aren't perfect though.
Additional context
Similar function could be potentially applied to general entities too, i.e. as a way to tell if entity is within attack reach of an attacking mob.

I think this is Client side feature not sure if server have information about this distance, thats why hackers can mine blocks like tens of blocks far away

Hello!
It looks like we've made some progress on this. Since it's been a while, I'm going to close this issue, but if you have any additional feedback, please reach out to us!
Thanks!


feat(analytics): clarity

Add the code necessary for support of Microsoft clarity.

Hi! No worries, I'll try to do it next week :)

Done


How do you use IPC and INPROC transport mechanisms?

I've been able to do tests and examples using TCP, but I haven't been successful in using IPC and INPROC, both of which are supported by native nanomsg. What is the proper way to use IPC and INPROC? For example, I have a working PUBSUB where 1 publisher publishes data and multiple subscribers can subscribe to that data by connecting to the same TCP address. The exact same code does nothing when using an INPROC address, and crashes when using an IPC address.

Seems related to the address you use. I was using ipc://<IP_ADDRESS>.1:1234. I switched to using ipc://filepath and it worked. Does anyone know where the portion after "ipc://" comes from? For example, the Pair_Test class uses an inproc address of inproc://pair_test - how would we know to use "pair_test" if it wasn't already there? It definitely seems related to file/class name, but there must be some kind of naming protocol right?

@katsuragi545, probably you already figured it out by now but the portion after ipc:// is arbitrary, as long as long as both client server use the same one, it's going to work.
You can check it out in nanomsg documentation.
http://nanomsg.org/v1.0.0/nn_ipc.7.html


🚀 [Feature] Authentik enrollment flow invitation parameter

🚀 Feature

Authentik enrollment flow invitation parameter.
The Authentik enrollment flow must be extended by an parameter, which is read from the url ?invitation=ABC123DE.
This invitation must be saved to the users attributes.
See: https://docs.goauthentik.io/docs/policies/expression request.http_request

We choose a different method which does not involve authentik in this process but utilizes cookies


Would like to be able to compile method in debugger when block frame selected

If a block context is selected in the debugger's stack frame, you can't modify code. However, if the debugger was smart enough to select the home method frame and trim the stack before saving the method code, it could be done.
Each RowanFrameService would probably need it's home method selector as well as knowledge of whether it was the home method as well.

Should be able to do this in 3.0.75.


[WIP] Set jupyter functions for pylance as well when it sets those functions for python core ext.

[x] ~Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).~
[x] ~Title summarizes what is changing.~
[x] ~Has a news entry file (remember to thank yourself!).~
[x] ~Appropriate comments and documentation strings in the code.~
[x] ~Has sufficient logging.~
[x] ~Has telemetry for feature-requests.~
[x] ~Unit tests & system/integration tests are added/updated.~
[x] ~Test plan is updated as appropriate.~
[x] ~package-lock.json has been regenerated by running npm install (if dependencies have changed).~

Codecov Report

Merging #11500 (0871452) into main (5e6012b) will decrease coverage by 0%.
The diff coverage is 0%.

@@          Coverage Diff           @@
##            main   #11500   +/-   ##
======================================
- Coverage     63%      63%   -1%
======================================
  Files        477      477
  Lines      34150    34163   +13
  Branches    5542     5546    +4
======================================
+ Hits       21579    21585    +6
- Misses     10511    10520    +9
+ Partials    2060     2058    -2

Impacted Files
Coverage Δ

...one/intellisense/notebookPythonPathService.node.ts
35% <0%> (-6%)
:arrow_down:

src/kernels/raw/launcher/kernelProcess.node.ts
72% <0%> (-1%)
:arrow_down:

src/platform/msrCrypto/msrCrypto.js
19% <0%> (+<1%)
:arrow_up:

.../notebooks/controllers/vscodeNotebookController.ts
82% <0%> (+1%)
:arrow_up:

...andalone/intellisense/intellisenseProvider.node.ts
81% <0%> (+1%)
:arrow_up:

Closing based on feedback from @heejaechang


unsafe: true does not work - html is always omitted

Hi,
it seems that unsafe: true for goldmark does not work.
I've loaded the newest version, created the project of the quick start tutorial and added unsafe: true like described in the docu - but every  HTML is still omitted.
What version of Hugo are you using (hugo version)?

$ hugo version
Hugo Static Site Generator v0.68.3-157669A0 linux/amd64 BuildDate: 2020-03-24T12:05:34Z

Does this issue reproduce with the latest release?
yes
Just a short remark because I struggled with this breaking change after the update to version >0.60: I think it's really unusual to disable HTML by default. And, because hugo uses such a feature-restricted markdown parser, it would even be more user-friendly to allow HTML.  E.g. I don't know of any better method for arbitrary (not header-related) in-page linking than introducing a  somewhere in the text.  And I have some other use cases that require HTML. (If hugo's goal is to not write any HTML inside a Markdown file, then maybe a more advanced Markdown parser, which e.g. supports MultiMarkdown, would be a better solution.)

it seems that unsafe: true for goldmark does not work.

It does.

Okay, now I'm confused. Following the Quick Start, here is exactly what I did:
1. hugo new site 200407_TestUnsafe
2. cd 200407_TestUnsafe
3. git init
4. git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
5. echo 'theme = "ananke"' >> config.toml
6. hugo new posts/my-first-post.md

Then I changed my-first-post.md to the following:
---
title: "My First Post"
date: 2020-04-07T09:23:47+02:00
draft: false
markup:
  goldmark:
    renderer:
      unsafe: true
---

Hello World

2nd Hello from inside HTML

the final  hugo command creates a HTML file with this content:
...

Hello World

<ul ...

Is there something I did wrong?

Put this in config.toml, not in your markdown files:
[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true

See https://gohugo.io/news/0.60.0-relnotes/.

Great, that works - thank you!
Sorry, I can't really read that in the release notes or documentation. (There is just a very short "config.yaml|toml|json" indicating this.) What brought me to this thinking is this part in the documentation:

"The markup identifier is fetched from either the markup variable in front matter or from the file extension. For markup-related configuration, see Configure Markup."

Since it directly links the Configure Markup docu with all possible configurations, I thought it is also possible to put it into the front matter.
Maybe it would be helpful to clearly state that in the documentation. Thanks


Howard reviews this content!

Would love to hear @howardbaek 's thoughts on this course!

"Prerequisites" slide in the Introduction has a typo:

"Have a GitHub account and an understanding of what GitHub is" sounds grammatically correct.

This slide in Chapter 4 should have runs-on highlighted:

This slide in Chapter 5 should capitalize "GitHub action" -> "GitHub Action":


Files get deleted

Describe what happened:
During live-share sessions it happens quite regularly that files get deleted (not moved to the recycling bin, which is unfortunate).
"Quite regularly" meaning about every time we are using live share...
I think this targets only files that have been edited. Either during this session or since the last commit (git), I'm not sure.
At first this only happend when adding a new file to the project, but since it has happened when starting to debug as well.
As for the project, it's a solution with multiple F# projects (asp.net, targeting .net 5.0)
This could be the same bug as in #3602.
To answer some of the questions posted there:

It has happend to me while being the host as well as participant.
It's not just the contents, it's the actual file(s).
As for the logs, is there way other than they shortcuts of exporting them?
ncrunch has taken over my ctrl+shift+p

What was your system configuration?
Product and Version [VS/VSCode]: VS 2019 (16.10.1)
OS Version[macOS/Windows]: Windows
Live Share Extension Version: 1.0.4374.0
Target Platform or Language [e.g. Node.js]: .net5.0 / F#
Steps to Reproduce / Scenario:

Join Live-Share session
Host creates new file

Alternative Steps to Reproduce / Scenario:

Join Live-Share session
Make changes
Start Debugger

The fact that this is happening as the host is quite strange. Could you help provide us with some log files so we can diagnose what might be happening?

What would be the best way to get to the logs?
Ctrl+shift+p ist not working for me

If you file a ticket through the Visual Studio Developer Community (Help -> Send feedback -> Report a problem) it'll attach all sorts of useful diagnostic info (though you should do it in a session where you've ran into this problem). Then you can link to that issue on this one. Thanks!

We’ve made improvements in this area since this issue was filed. We believe this may have improved your experience and are closing this issue. If this issue still persists for you, please comment on the issue and let us know. Thank you.


add 3 types of instagram crop

can you help me or add the features like adding 3 ratios like instagram in picture crop with zoom...? i need same as exactly like an instagram posting picture from library it is allow to add image with 3 ratio for landscape, portrait and square
thank you...

Anyone got the answer for this ?

I am working for SAME

Anyone got the answer for this ?


Cancel swap

Implements a fix for https://github.com/SortableJS/Sortable/issues/1866

Didn't mean to push this to the main repo, sorry.


Crash when installing MOD

I use a translation site. I'm not used to writing reports.
After starting the GC Manager, an attempt to install the MOD will crash. There seems to be a problem during the download. I pasted the picture.

The OS is Windows 7 64 bit, Japanese language.
Below is the crash report.
問題イベント名:	CLR20r3
問題の署名 01:	GCManager.exe
問題の署名 02:	<IP_ADDRESS>
問題の署名 03:	a5169176
問題の署名 04:	GCManager
問題の署名 05:	<IP_ADDRESS>
問題の署名 06:	a5169176
問題の署名 07:	5d
問題の署名 08:	24
問題の署名 09:	System.IO.FileNotFoundException
OS バージョン:	6.1.76<IP_ADDRESS>.768.3
ロケール ID:	1041
追加情報 1:	0a9e
追加情報 2:	0a9e372d3b4ad19135b953a78882e789
追加情報 3:	0a9e
追加情報 4:	0a9e372d3b4ad19135b953a78882e789
When I searched for CLR20r3, I found many pages related to .NET Framework. Is there anything I should do?

It doesn't seem like the author mentions this anywhere but you might be missing some dependencies.
Installing .NET Framework 4.7.2 fixed this issue for me.

It doesn't seem like the author mentions this anywhere but you might be missing some dependencies.
Installing .NET Framework 4.7.2 fixed this issue for me.

Great!
You were right. It worked fine.
Thank you.


[Feature Suggestion] Profiles

In my current run I've found myself opening the calculator in a incognito tab to check the prices of another player's profession so not wanting to mess with the saved data of my own carpentry numbers which got me thinking, having a feature such being able to save multiple different combinations and states would be very useful, so you can easily switch between different professions and not have to worry about your entered numbers being messed up by mixing together too many professions.
A better usage example would be where I have my own independent logging/carpentry business and use the calculator for that, while also teaming up with another player for a mining/smelting combo. Due to some of the carpentry recipes using Iron, if I was to add all four professions together to the calculator then things start to get very messy. Plus, it's also not ideal as I still want to calculate the input and output prices separately, as while I may not need to be buying nails myself due to working with a smelter who can make them for me, I still want to know what the sell price of them are to put them up in a shop for others to buy, as well as for price transparency.

This would also come in handy for playing on multiple servers. Right now I use different browsers for my different servers.

This is a good idea. Right now there is an issue with bandwidth, the host I am using (Vercel) has a 100 GB bandwidth limit per 30 days for free accounts. Last month it used 107 GB.
I believe a large part of that was the duplicated LocaleData that was present in the locale-data.ts file. Thanks @rannmann for noticing that. This feature should also help with that problem as it would reduce the number of times the website is requested by the same people. Should probably prioritize this soon.

If bandwidth is the issue, the largest image is 29MB: UI_Icons_Baked_0.png.  Focusing efforts there could make a big difference.
Also putting the production domain on cloudflare would make most the bandwidth free, since they'll cache static assets after the first request.

I believe there is already static file caching? When I go to the site in my browser I see 304 statuses for all the images. Unless I am misunderstanding something.

Though one concern I would note is that many people (including myself) use multiple profiles by way of incognito windows, which would clear the cache on window close.

It's great that local caching is already working, but I'm talking about edge caching.  Basically, Cloudflare would be responsible for serving static content, so pretty much every visit to the site wouldn't require any bandwidth (since the site doesn't have a backend).  The CDN would optimize images, minify anything that isn't already minified, and serve the files out of datacenters closest to the user.
New builds should automatically be detected and it will cache the new files.  If it fails though, you can click a button after a release to clear the cache manually.  It's a free service that just requires moving DNS to them.

Ah okay, good to know. I will consider doing that if we are still hitting bandwidth limits at the end of this month.

shareable profiles would be a great option too ! could remplace the import / export sugestion :)

You should use local storage or something of this sort for saving profiles.  I'm a developer myself and if you need some help just let me know.


The orientation quaternions  of CLAVICLE  and SHOULDER joints may not right  when begin tracking with  T-pose

Describe the bug

When  tracking a  body  in T-pose, the estimated orientation quaternions  of CLAVICLE  and SHOULDER joints sometimes may not in conformity with the reality. To facilitate understanding, I convert these quaternions to Euler angles. Sometimes their relative rotation along x-axis may be too large, as to a real body.
To Reproduce

One person stands in front of Kinect in T-pose
Start body tracker of Kinect and record the information of tracked body.
The person adjust his pose.

Expected behavior

The estimated body is consistent with the actual human body even not accurate . Accurate body information is best.
Desktop (please complete the following information):

OS with Version:Win 10
SDK Version: body tracking v0.9.5
Firmware version:  RGB camera firmware:1.6.102, Depth camera firmware:1.6.75

@wqs111000 could you please make a recording using the k4arecorder tool that demonstrates the issue. If you can provide me with your email address I can connect with you to get a signed data release form and the recording. Also could you report the quaternion values you see prior to the issue and after the issue.

@qm13 .Thanks for your reply, my e-mail is<EMAIL_ADDRESS>forward to your mail.

For example:
K4ABT_JOINT_CLAVICLE_LEFT=4, K4ABT_JOINT_SHOULDER_LEFT=5
Body frame count:1
Joint[4]: Position[mm] ( 11.484035, -574.254089, 2395.017578 ); Orientation ( 0.786721, -0.590111, -0.019147, 0.180205 );Confidence( 2 );
Joint[5]: Position[mm] ( 149.278839, -529.104309, 2368.094238 ); Orientation ( 0.191629, 0.971977, -0.080498, 0.109815 );Confidence( 2 );
Convert quaternions to Euler angles:
Joint[4]:Eular angles [xyz] (-71.811, -14.052, 15.604)
Joint[5]:Eular angles [xyz] (156.595, 10.53, 11.654)
More details can mail to you with a pre-recorded video.
Their relative rotation along x-axis are  about 220 degrees(or 160 degrees) which would cause unreal distortion around the shoulder.
Of course I can do some adjustment by myself. But I think this maybe a bug or a false estimate  for Kinect tracker.Maybe some constraints can be added to avoid consequences with unattainable states of man.

Joint[4]: Position[mm] ( 11.484035, -574.254089, 2395.017578 ); Orientation ( 0.786721, -0.590111, -0.019147, 0.180205 );Confidence( 2 );
Joint[5]: Position[mm] ( 149.278839, -529.104309, 2368.094238 ); Orientation ( 0.191629, 0.971977, -0.080498, 0.109815 );Confidence( 2 );

@wqs111000 thank you for providing the example of Joint[4] and Joint[5] values. Based on them we can evaluate the following quantities.

pose of the clavicle w.r.t. camera:

p4 = [ 0.9343    0.3061   -0.1826    0.0115
-0.2609    0.2386   -0.9354   -0.5743
-0.2428   -0.9354    0.3028    2.3950
0         0         0    1]

pose of the shoulder w.r.t. camera:

p5 = [0.9629   -0.1144    0.2443    0.1493
-0.1986   -0.9136    0.3548   -0.5291
0.1826    0.3548   -0.9024    2.3681
0         0         0    1]

pose of the shoulder w.r.t. clavicle:

shoulder_to_clavicle_transform = inv(p4) * p5 =
[1.1706    0.0923   -0.0712    0.1413
-0.5843   -0.1040    0.9449   -0.0396
-0.2633    0.9244   -0.1185   -0.0978
0         0         0    1]

given shoulder_to_clavicle_transform, if we extract rotation and convert it to Euler angles we get:

euler_angles = [97.1451    4.0858    4.5069]

This means in your example there is rotation in shoulder which is mostly around x axis.
Please take a look at the joint coordinate axis explained here: https://docs.microsoft.com/en-us/azure/kinect-dk/body-joints.
Is it possible hands were not facing downward in the example you've captured and maybe hands were rotated so palms were facing the camera?
Can you post a screen shot of BodyTracking output frame which corresponds to the suspicious orientation values you mention?
Thanks,
Ivan

@Ivan .Thanks for your detailed reply. I will check these results and review my codes.
The  picture below was captured from the video recorded by  k4arecorder tool, which corresponds to the suspicious orientation values.

Some other pictures about the real body and the rigged body are included in the zip file below.
TposeTestCase.zip

I used a project based on the jump_analysis_sample to playback the T-pose video with two different versions.The two different version of body tracker gave obviously different orientation quaternions of   SHOULDER joints as you can see below. And It seems the result of the new version is wrong.
body tracker version 0.9.3：

body tracker version 0.9.5：

The orientation quaternions of SHOULDER joints are really unstable.
In another test video, the body  stayed  in standard T-pose at first. As the figure below shows, the result seems wrong.

After some motions , back to standard T-pose. As the figure below shows, the result seems right.

Test with Body tracker version 0.9.5.

The rotation in shoulder around x axis  w.r.t. clavicle are too big (more than 90 degrees) which results in twist distortion of the rigged body.

@wqs111000 We agree this is not intended behavior and are investigating.

We have reproduced the bug and are actively working on a fix.


Allow custom app_name when creating artifact

Currently it’s only possible to build an artifact that uses the same name as the basename of the project, so it’s essentially impossible to build more than one artifact per Git repository.
This commit adds an :app_name option that will only change the app_name part of the artifact name. It could be debated whether this option should be passed down to the #create method of the archiver as
well, but for simplicity it’s currently not.

Since we set :jar_name for the Puck archiver, and the tar archiver couldn't use the app name for anything anyway I don't think it would add anything to pass it down to the archiver. If we add an archiver that could use it we can always do it then.
LGTM. Change the test description I commented on, but otherwise go ahead and merge and release a new version (I've added you as owner of the gem). If we were anal about semver I guess it should be v2.1, but I would probably just bump the patch version since it's such a tiny change.

Good point. Thanks for the super speedy feedback by the way.
I'll release v2.0.2 tomorrow.


mapPropsOnChange -> withPropsOnChange

mapPropsOnChange should merge the new props with the owner props. To reflect this behavior, we'll rename it to withPropsOnChange.

@istarkov @wuct Please review :)

Super! ;-)

@acdlite do we have a schedule to release this change?


Feat: file drag and drop working properly on desktop

This PR gets rid of the custom file drag and drop handler from config in favor of a new DragEvent that returns a true list of Files.
There isn't a good cross-platform approach here unfortunately, so we'll have to settle for some wrapper structs with different methods depending on the platform.
https://user-images.githubusercontent.com/10237910/189492691-904e2d76-f3a2-475c-a204-0b1bf3c15684.mov

Too many conflicts with this, following it up with something new.


Bug fix and new components added.

Direction Compass Component

and some more bugs resolved.

Hey,
Can you please merge this PR and release the package on PIP.
Regards,
Karan


Filtering results

Hey there!
I was wondering if you had found a way to filter the activity results to return activities only after a certain date. I tried changing the after time endpoint to include the date (in MS) I'd like to start collecting data from and that didn't work. Any suggestions?

@ronjuarez
Yes, there is a way after a certain date (timestamp)
You can find it in my repo:  url + activities/after_time
running_page

@ronjuarez
Yes, there is a way after a certain date (timestamp)
You can find it in my repo:  url + activities/after_time
running_page


Problem with DBRefs - wrong implementation?

Hello,
I have problem with understanding something or it's bugged.
Let's start. Here is documentation about DBRefs:
http://docs.mongodb.org/manual/reference/database-references/#dbrefs
They write that structure for document with reference should be:
{
  "_id" : ObjectId("5126bbf64aed4daf9e2ab771"),
  // .. application fields
  "creator" : {
                  "$ref" : "creators",
                  "$id" : ObjectId("5126bc054aed4daf9e2ab772"),
                  "$db" : "users"
               }
}

Now let's take a look on this example (example1):
https://gist.github.com/hastebrot/1170907
When I run this code I have something like that:
Story:
    "title": "A man who cooked Nintendo",
    "_creator": {
        "$oid": "52e7dcea3d9cd59c13702e3d"
    },
    "_id": {
        "$oid": "52e7dceb3d9cd59c13702e3e"
    },
    "fans": [],
    "__v": 0

People:
    "name": "Aaron",
    "age": 100,
    "_id": {
        "$oid": "52e7dcea3d9cd59c13702e3d"
    },
    "stories": [],
    "__v": 0

The problem
In our team we have small application written in Java which use library for MongoDB but this library save data like in MongoDB documentation:
....//other fields
"user": {
        "$ref": "users",
        "$id": {
            "$oid": "52c6c497c08e6fcf37000001"
        }
    }

and I can't populate data because it seems like it works only for mongoose implementation.
Correct me if I'm wrong but for me it's like you not save DBRef like it's described in documentation.

Still no input from any Mongoose dev on this issue? This is a recurring problem that keeps coming up when you have more than one driver writing to and reading from the same database.
The Node driver does support DBRefs and I find it odd that Mongoose still has no support for it.

Supporting DBRefs for populate isn't really a high priority because MongoDB docs recommend not using dbref. You can always do the queries yourself.


linuxKernel.kernels: patch out nvme regression on 2017ish Dell laptops

Description of changes
Fixes #253418
I have personally tested kernel 6.1 and confirmed that my machine now boots
again (yay!). I will set off the rest of them building overnight but may not
get around to actually validating on hardware very soon.
This is the regression this patches around:
https://bugzilla.kernel.org/show_bug.cgi?id=217802

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Inclined to accept this since OpenSUSE has also reverted, but I'm a bit nervous that this was reported a month ago and still nothing has happened upstream AFAICT?

Inclined to accept this since OpenSUSE has also reverted, but I'm a bit nervous that this was reported a month ago and still nothing has happened upstream AFAICT?

I think that one of their hands isn't talking to the other, probably because lkml is a pain so the users and packagers didn't write in the thread. They could probably use a message reiterating that opensuse reverted downstream, including the bugzilla link, and that it is not just one weird hardware combo and happens to all copies of that laptop model.

How about submitting a revert patch upstream, pointing this out, and linking to the previous LKML and Bugzilla discussion?

Inclined to accept this since OpenSUSE has also reverted, but I'm a bit nervous that this was reported a month ago and still nothing has happened upstream AFAICT?

I think that one of their hands isn't talking to the other, probably because lkml is a pain so the users and packagers didn't write in the thread. They could probably use a message reiterating that opensuse reverted downstream, including the bugzilla link, and that it is not just one weird hardware combo and happens to all copies of that laptop model.

How about submitting a revert patch upstream, pointing this out, and linking to the previous LKML and Bugzilla discussion?

I think I am hilariously more able to use git-send-email than I am able to practically send replies to the list so I may well do that today.

I think I am hilariously more able to use git-send-email than I am able to practically send replies to the list so I may well do that today.

(You can also use git-send-email to send non-patch replies)

Alright, I have sent off a patch into this very specific ether. You have been cc'd :)

ftr I meant to leave a comment before merging, but given that OpenSUSE did the same and this fixes an actual case of a machine not booting up, I'm perfectly fine with this.


Build wiki with sphinxdoc on CI and deploy to web

Build the wiki markdown as notebooks using jupytext and as HTML using SphinxDoc

Follow example of numpy tutorials

CI config

make -C site/ SPHINXOPTS="-nWT --keep-going" html

Makefile

mkdir -p notebooks
jupytext -k python3 ../content/*.md --from myst --to notebook
mv ../content/*.ipynb notebooks

Deploy to spin.systems (maybe opt as it's image processing, but homography is close to [virtual] imaging, or perhaps ocu as it's computer vision by virtue of introducing symbols, the spans)

In directory page-dewarp-tut alongside the wiki repo:
MD_DIR="../page-dewarp.wiki"
jupytext -k python3 $MD_DIR/*.md --from myst --to notebook
mv $MD_DIR/*.ipynb notebooks

Then generate the HTML ...

Will use MkDocs, closing to track in:

#26


Use a thread local tag to get the info over the fence

Very interesting.
Can you test if http://cbor.me/?diag=1([2("foo"), 3({4("a"): 5("b")})]) does round-trip from and to Value?

Will do. Let's continue discussion in https://github.com/pyfisch/cbor/pull/164


RSS Feed that's an aggregate of student blogs

So that people don't have to go to the participants page and wait for it to load ;) also this might be convenient enough that it'd encourage students to read each others posts and perhaps comment on them.

Totally agreed! We're working on implementing a master RSS feed by the end of this semester. Great suggestion!


Supporint TLS1.2 & behalf the .NET 4.6.2

Hi,
I'm actually facing some issues while using the API to connect to a webdav with TLS1.2
Question: Is the TLS1.2 supported by the HTTPClient ?

Hi @maharrabi,
Please refer to this answer - https://stackoverflow.com/a/33091871.
Looks like it's enough to set a SecurityProtocol property  (once per lifetime of your app) in order to instruct HttpClient to use TLS1.2 by default.
using System.Net;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;


chore(deps): bump rspress to 1.26.1

Summary
https://github.com/web-infra-dev/rspress/releases
Fixed sidebar incorrect active https://github.com/web-infra-dev/rspress/issues/991
Fixed homepage hero link https://github.com/web-infra-dev/rspress/issues/1234
etc.
Related Links

Checklist

[x] I have added changeset via pnpm run change.
[x] I have updated the documentation.
[ ] I have added tests to cover my changes.

@Timeless0911 cc

It seems lockfile are not updated?

The lockfile seems to be conflicted😂


We strongly need a solution to address the edge computing direction for middleware, distributed file requirements

There is no distributed file system declared to be suitable for edge computing. In the field of edge computing, although resources are limited, business systems still have strong demand for middleware and databases. There are several factors that are considered in the field of edge computing:

A single edge computing machine is less than 10 units.
There are thousands of edge unit clusters, and it is difficult to maintain stable operation of these systems.

Possible solution
Strongly embrace the Cloud-Native
Specifically use the operator mode to run the distributed file system on the edge of self-maintenance
It may be possible to build and publish edge computing middleware and edge computing distributed file systems that solve edge computing scenarios.
Hope that chubaofs can do this work and incorporate the edge computing distributed file system requirements into chebaofs‘ Roadmap.

thank you. we will try running chubaofs in some edge computing scenarios.


[WIP] Translate OSTH to French

Note : inclusive writing is partly used in this translation, but not fully

Note: chapter titles are kept in English and will have to be changed when they will be translated to French. It is worth considering applying the change using a regex with sed instead of doing it by hand.


Issue #523 Not a PR yet...

Still trying to figure out

Eh107CompleteConfiguration, is this really required, or can we just use Eh107ReverseConfiguration?
Eh107ReverseConfiguration, if all state in there really is unique to 107 (i.e. not a Ehcache land dup)?
Eh107Cache, whether left state can stay (or should stay)?
org.ehcache.jsr107.CacheResources#listenerResources, is this an issue still?

And that's about it I think, let me know if you guys see anything else.

Pushed some changes based on things @chrisdennis saw & others I found.
One thing I found that still isn't address is the lazy maintenance of the bidirectional EhcacheCachingProvider to Eh107CacheManager association we're forced to have.
i.e. if you close the underlying EhcacheManager, the wrapping Eh107CacheManager will be closed but it'll still be around in the EhcacheCachingProvider... That's wrong. I'll fix that still


As a developer I need to investigate why DwC download creation is taking so long

Double check that indexing isn't being re-done when not required (which should be almost never now).

I found that skipping the excluded columns was significantly faster than plucking all and deleting from the table
eg:
#lib/export/download.rb
def self.generate_csv(...)
   # ...
    column_names = scope.columns_hash.keys.map(&:to_sym) - exclude_columns

https://github.com/SpeciesFileGroup/taxonworks/compare/development...2742_debug_dwc_dumps
I remember trying deleting unneeded columns pretty much the way you did but can't remember what I saw going wrong. The branch still fetches all columns but is very minimally impacted when deleting them but better would be not fetching them in the first place.

I can tackle this, there are multiple routes to the last query that need to be considered both for DwC and the general CSV download framework.  I'm pretty sure I know at least some of points that need updates.


Sik-Ho Tang | Review: WRNs -- Wide Residual Networks (Image Classification).

Sik-Ho Tang. Review: WRNs — Wide Residual Networks (Image Classification).

Problems on Residual Network (ResNet)
Circuit Complexity Theory
The circuit complexity theory literature showing that:

shallow circuits can require exponentially more components than deeper circuits.

The authors of residual networks tried to make them as thin as possible in favor of increasing their depth and having less parameters, and even introduced a «bottleneck» block which makes ResNet blocks even thinner.
Diminishing Feature Reuse
However, As gradient flows through the network there is nothing to force it to go through residual block weights and it can avoid learning anything during training, so it is possible that there is either only a few blocks that learn useful representations, or many blocks share very little information with small contribution to the final goal. This problem was formulated as diminishing feature reuse.

WRNs (Wide Residual Networks)
In WRNs, plenty of parameters are tested such as the design of the ResNet block, how deep (deepening factor $l$) and how wide (widening factor $k$) within the ResNet block.
When $k=1$, it has the same width of ResNet. While $k>1$, it is $k$ time wider than ResNet.
WRN-d-k: means the WRN has the depth of $d$ and with widening factor $k$.

Pre-Activation ResNet is used in CIFAR-10, CIFAR-100 and SVHN datasets. Original ResNet is used in ImageNet dataset.
The major difference is that Pre-Activation ResNet has a structure of performing batch norm and ReLU before convolution (i.e. BN-ReLU-Conv) while original ResNet has a structure of Conv-BN-ReLU. And Pre-Activation ResNet is generally better than the original one, but it has no obvious improvement in ImageNet when layers are only around 100.

The design of ResNet block

WRN-d-2 (k=2), Error Rate (%) in CIFAR-10 Dataset.

B(3;3): Original «basic» block, in the first figure (a).
B(3;1;3): With one extra 1×1 layer in between two 3×3 layers.
B(1;3;1): With the same dimensionality of all convolutions, «straightened» bottleneck.
B(1;3): The network has alternating 1×1, 3×3 convolutions.
B(3;1): The network has alternating 3×3, 1×1 convolutions.
B(3;1;1): Network-in-Network style block.

B(3;3) has the smallest error rate (5.73%).
Note: Number of depths (layers) are different is to keep the number of parameters close to each other.

Number of Convolutional Layers Within ResNet block

WRN-40–2 with different l, Error Rate (%) in CIFAR-10 Dataset.
And two 3×3 convolutions, i.e. B(3,3) has the smallest error rate than the others . Because as all networks need to be kept as near the same parameters,

B(3,3,3) and B(3,3,3,3) turns out to have fewer skip connection which makes accuracy dropped.
And B(3) has only one 3×3 convolution which makes the feature extraction ineffective within such shallow network within the ResNet block.

Thus, B(3,3) is optimal and gonna be used in the coming experiments.

Width of ResNet Blocks

Different Width (k) and Depth on CIFAR-10 and CIFAR-100.

All networks with 40, 22 and 16 layers see consistent gains when width is increased by 1 to 12 times.
On the other hand, when keeping the same fixed widening factor k = 8 or k = 10 and varying depth from 16 to 28 there is a consistent improvement, however when we further increase depth to 40 accuracy decreases.
Based on the results above, three sets of WRNs are chosen for comparison with state-of-the-art approaches.

Results
CIFAR-10 & CIFAR-100

CIFAR-10 & CIFAR-100.

WRN-40–4: Fewer parameters (8.9M) than 1001-layer Pre-Activation ResNet (10.2M). But it also got lower error rate as well. (4.52% on CIFAR-10 and 21.18% on CIFAR-100).
WRN-16-8 & WRN-28-10: Shallower than and wider than WRN-40–4, and got even lower error rate. With shallower network, training time can be shorter since parallel computations are performed on GPUs no matter how wide.
And it is the first paper to obtain lower than 20% for CIFAR-100 without any strong data augmentation!!!

Dropout

Dropout in Original ResNet (Left) and Dropout in WRNs (Right).

Dropout Is Better.

Top: With dropout, consistent gain is obtained for different depth, k, and datasets.
Bottom right: With dropout, the training loss is higher but test error is lower meaning that dropout reduce overfitting successfully.

Training Time

Training Time for Each Batch with Batch Size of 32, CIFAR-10.

WRN-16–10 and WRN-28–10: The training time is much lower than the 1004-layer Pre-Activation ResNet, and having lower error rate.
WRN-40–4: The training time is lower than the 164-layer Pre-Activation ResNet, and having lower error rate.

Since training takes much time, it can take couples of days or even weeks. When the training set is gonna larger and larger, a better way to train is needed. Indeed, in recent research, many researchers are still focusing on how to reduce the training time or number of epoches for training.
In WRNs, it reduce the training time but with the expense of increasing the number of parameters due to the widening of the network.

References

[2016 BMVC] [WRNs] Wide Residual Networks.


Remove dependency on rails.

Some Rails applications do not depend on all the gems in rails, but only on a selected subset. When I tried to use rails-brotli-cache in my application I noticed in installed actionmailbox and actiontext which I do not need, and this library does not need either.
This PR removes the dependency on the whole rails package, and leaves only dependency on activesupport (and a few other libraries as development dependencies).
I also had to make a few changes to tests and benchmark to make them pass, probably caused by me using Ruby 3.2.2.
Please tell if you'd like me to make any changes. Thanks!

Thanks for a PR, this is a great idea. But could you separate removal of rails dependency and 3.2.2 compatibility into two different PRs? I'll be changing CI to use github actions because it should allow testing against multiple Ruby versions.

Thanks @pawurb! I have reverted the unrelated changes, now it only switches dependency from rails to activesupport.

Thanks! I've applied fixes for Ruby 3.x in other PR. This is now released as 0.5.0


Check that @ mentions from data request reviews are working

RE: #368 perhaps
I think that after this change any @ mentions have not been going through. I missed a couple from DM in recent weeks. Then I just made one @ DM himself and he has not received an email.
Assuming they are not functioning.

Correct, the word boundary didn't work as expected, I adjusted it to allow mentions at the beginning of the comment, or if there's a space preceding the "@" symbol.


ci(release): remove unreleased "scripts" package from script

we don't have a scripts package yet as https://github.com/remix-run/remix/issues/3448 isnt merged yet and it's causing some issues with nightlies at the moment https://github.com/remix-run/remix/runs/6841675482?check_suite_focus=true

Closes: #

[ ] Docs
[ ] Tests

Testing Strategy:

fixed by https://github.com/remix-run/remix/commit/3df2deeae3f1028d74af3dbf95ed09603de207b8

Whoops, sorry @mcansh. Didn't see this so I just patched it quickly when the version script failed 😅

no problem @chaance i opened it and then forgot about until i saw your commit 😆


Travis sudo for tests

Codecov Report

Merging #3 into master will increase coverage by 13.56%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master       #3       +/-   ##
===========================================
+ Coverage   72.36%   85.92%   +13.56%
===========================================
  Files           3        3
  Lines         199      199
===========================================
+ Hits          144      171       +27
+ Misses         51       22       -29
- Partials        4        6        +2

Impacted Files
Coverage Δ

capture.go
80.32% <0%> (+44.26%)
:arrow_up:

Continue to review full report at Codecov.

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


Repeated Group: Items within group are duplicated in the Questionnaire Response, if question depends on enableWhen condition.

Describe the bug
If a question depends on enableWhen condition in a repeated group, it duplicates the items from the first response.
Component
SDC library
To Reproduce
Steps to reproduce the behavior:
Use component_repeated_group.txt as a questionnaire
Screenshots
https://user-images.githubusercontent.com/82660329/222439586-5edfd017-31bb-485b-88d3-622de7b0a80e.mp4
@jingtang10

looking into it, thanks!

In the QuestionnaireviewModel,  getEnabledResponseItems API does not filter items correctly. It appears that the 'evaluate()' API is returning a false value for enabled items as well.

If you refer the attached video for steps :
In the second repeated group item, the evaluate() function returns true for the 12.6.3 item and false for the 12.6.4 item. Expected return value should be true for 12.6.4 and false for 12.6.3.

According to the existing code, the EnablementEvaluator class has a questionnaireResponseItemPreOrderList that stores collections of responseItemComponents. If the type is a repeated group item, then the questionnaireResponseItem can have the same linkId if the repeated group is added more than once.
When the evaluateEnableWhen() API is called to check whether the enable_when_constraint is passed for a questionnaire response item, it fails for the second and subsequent response items.
This is because the findEnableWhenQuestionnaireResponseItem() function always returns the first item that matches the link id, causing the evaluateEnableWhen() API to fail for the second and subsequent response items that have the same link id.

Additionally,
if type is repeated group item then questionnaireResponseItemParentMap is always empty, it is observed/checked when findEnableWhenQuestionnaireResponseItem() api is called to get the target response item of enable question. This is  because the questionnaireResponseItemParentMap is never built up, the logic of buildParentList in EnablementEvaluator fails for repeated group type.