Version describer script

Make a script whose output describes the state of someone's emirge source tree.
Use cases:

Include at the beginning of integration test logs to clarify versions
Student encounters a bug and files an issue

So this points to maybe making the output machine-readable (YAML?) to allow easy reproduction?

Any others?

Info to include per repo:

git describe
current branch, remote associated with that branch (maybe only if not default)

Since it's possible to screw up the conda env independently of the git checkouts, maybe we should also include information on the state of that. (conda info / pip freeze)
cc @lukeolson

Should this be a shell script or Python (e.g., to run something  like from emirge import version; print(version) ?

Good question, I don't know. I was thinking a shell script to keep things simple, but I'm open to other solutions.

Good question, I don't know. I was thinking a shell script to keep things simple, but I'm open to other solutions.

Ok, I'll write a shell script for now.


[i18n_de] fix app.reasons

correction because otherwise "recommendation" is included with every justification.

Gonna have to trust you on that, I don't speak German.

It was also my mistake, I didn't realize that the variable is displayed on all forms.


Update README.md

Updated some of the markdown formatting for the readme.

Hi Shiitake: Thanks for the input. I did some editing as well. Not sure if the way I did it is GitHub 'best practice.' Also, not so sure if I should click the 'Merge pull request' button now...

If you click on the 'Files Section' it will show you the changes that have been made so you can verify that the changes you've made won't be overwritten.
If it looks good then you can click the 'Merge Pull Request' button and it will take the changes that I've made and merge them into your master branch.

Cool. Thanks for your work on this.


Update quickstart-create-workspace.md

Correcting a small error in the "Prepare an existing storage account for use with Azure Synapse Analytics" section table

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

Looks good; thanks for this update @HamzaBoukraa.


Bike fuzz

Issue # (if available):
https://github.com/awslabs/s2n/issues/904
Description of changes:
Update BIKE's MAX_DELTA and MAX_IT to reduce the maximum time spent on a decapsulation in exchange for a slightly higher failure rate. This reduces the max time from 5+ seconds to ~40 milliseconds. This was identified as an issue after writing the fuzz tests that would timeout and lead to a denial of service possibility.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (bike_fuzz@9ad7b58). Click here to learn what that means.
The diff coverage is n/a.


The results of the test model did not meet expectations？

Thanks for your code fisrt, it help so much.
According to the configuration process you said, I successfully ran the test code.
I then converted the txt files into a mat files and put it into the OTB framework to calculate the result. However, I found that the SiamFCRes22 model only reached 0.615 on the OTB2013. So I am very confused about what is the reason.

Thanks for your code fisrt, it help so much.
According to the configuration process you said, I successfully ran the test code.
I then converted the txt files into a mat files and put it into the OTB framework to calculate the result. However, I found that the SiamFCRes22 model only reached 0.615 on the OTB2013. So I am very confused about what is the reason.

check your python packages environment again
check your translation code
the reader in  closed issuse #2 has reproduced the result. May there is mistake with some segments during your reproducing.

Thanks for your code fisrt, it help so much.
According to the configuration process you said, I successfully ran the test code.
I then converted the txt files into a mat files and put it into the OTB framework to calculate the result. However, I found that the SiamFCRes22 model only reached 0.615 on the OTB2013. So I am very confused about what is the reason.

Hello~
Have you fixed the problem? If yes, this issue will be closed.

Have you fixed the problem？We had test the reproducibility of our training and test code. Also, Lots of other githubers said that they reproduced the results. If you have any problems, pls ping us.

@haizhongli Have you fixed the problem？We had test the reproducibility of our training and test code. Also, Lots of other githubers said that they reproduced the results. If you have any problems, pls ping us.

Thank you for your concern. I only saw the code update today, so it's still under testing. If there are any more questions, you may need to be disturbed. Thank you
------------------ 原始邮件 ------------------
发件人: "Houwen<EMAIL_ADDRESS>发送时间: 2019年6月18日(星期二) 晚上7:23
收件人<EMAIL_ADDRESS>抄送: "﹎╁划濄∑淚"594387862<EMAIL_ADDRESS>主题: Re: [researchmm/SiamDW] The results of the test model did not meet expectations？ (#12)
@haizhongli Have you fixed the problem？We had test the reproducibility of our training and test code. Also, Lots of other githubers said that they reproduced the results. If you have any problems, pls ping us.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you for your concern. I only saw the code update today, so it's  still under testing. If there are any more questions, you may need to be  disturbed. Thank you
------------------ 原始邮件 ------------------
发件人: "ZP<EMAIL_ADDRESS>发送时间: 2019年6月17日(星期一) 下午5:04
收件人<EMAIL_ADDRESS>抄送: "﹎╁划濄∑淚"594387862<EMAIL_ADDRESS>主题: Re: [researchmm/SiamDW] The results of the test model did not meet expectations？ (#12)
Thanks for your code fisrt, it help so much.
According to the configuration process you said, I successfully ran the test code.
I then converted the txt files into a mat files and put it into the OTB framework to calculate the result. However, I found that the SiamFCRes22 model only reached 0.615 on the OTB2013. So I am very confused about what is the reason.
Hello~
Have you fixed the problem? If yes, this issue will be closed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@haizhongli Have you reproduce the results by our code?

No fine-tuning steps, just train_epoch, I still haven't got a good result. Under 60000 pairs and 50 epoch, the maximum is only 0.6112. 600,000 pairs are only trained 40 times now, and then up to 0.603. I don't know where I disagree and need to be adjusted. Normally, even without fine-tuning, it shouldn't be too bad.
------------------ 原始邮件 ------------------
发件人: "Houwen<EMAIL_ADDRESS>发送时间: 2019年6月23日(星期天) 中午1:05
收件人<EMAIL_ADDRESS>抄送: "﹎╁划濄∑淚"594387862<EMAIL_ADDRESS>主题: Re: [researchmm/SiamDW] The results of the test model did not meet expectations？ (#12)
@haizhongli Have you reproduce the results by our code?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Dear researcher:      When I looked at the code again, I found that the only trainable parameter for training was the second residual block, features. features. layer2. Did you set it up on purpose? If not, maybe in my environment, there are problems in this place.
------------------ 原始邮件 ------------------
发件人: "Houwen<EMAIL_ADDRESS>发送时间: 2019年6月23日(星期天) 中午1:05
收件人<EMAIL_ADDRESS>抄送: "﹎╁划濄∑淚"594387862<EMAIL_ADDRESS>主题: Re: [researchmm/SiamDW] The results of the test model did not meet expectations？ (#12)
@haizhongli Have you reproduce the results by our code?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Dear researcher: When I looked at the code again, I found that the only trainable parameter for training was the second residual block, features. features. layer2. Did you set it up on purpose? If not, maybe in my environment, there are problems in this place.
…
------------------ 原始邮件 ------------------ 发件人: "Houwen<EMAIL_ADDRESS>发送时间: 2019年6月23日(星期天) 中午1:05 收件人<EMAIL_ADDRESS>抄送: "﹎╁划濄∑淚"594387862<EMAIL_ADDRESS>主题: Re: [researchmm/SiamDW] The results of the test model did not meet expectations？ (#12) @haizhongli Have you reproduce the results by our code? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

layer2 means the third stage of resnet.
Which training policy do you use now? Unfix all layer at once or gradually? (You can find details in backbone.py)
Trainable parameter is only layer2 through all 50 epoch or only at the begining of trainig?
What's the performance after tuning?

I haven't noticed the fine-tuning steps before, this will have an impact, the author has been patiently following up on my problem, then I will try para-tune. Any questions, please ask again, thank you

According to the instructions in readme, the parameters provided by the same environment test author are configured, and the results are consistent with the publication. Thank you for your patient answer.


Agent - lpurge listener / spawner

Create an lpurge listener / runner.
This will configure and spawn lpurge on each OST in configured (hot) pool.

Need an agent-daemon per-server that streams and aggregates per-OST.
Need to scan mounted OSTs and add / remove lpurge as needed.
Stream fids from each daemon to mailbox.
Client daemon that reads from mailbox and does the purge.


#trivial: Add user to OwnerTypes

Add user to OwnerType/PageOwnerType - for user settings page.

:rocket: PR was released in v1.63.0 :rocket:


Revert "LIME-192 Keep current names for old subscription filter and add CSLS to new"

Reverts alphagov/di-ipv-cri-uk-passport-back#241

Because we were changing resourceIDs, this caused too many LogGroupSubscriptionFilters to exist, therefore failed.


no HibInputFormat class

import org.hipi.imagebundle.mapreduce.HibInputFormat;
There is no HibInputFormat in jar files hipi-0.1.0 and hipi-2.0
when i was running the command  hadoop jar build/libs/sampleprogram.jar images.hib image ,
i found the exception 'Exception in thread "main" java.lang.IllegalArgumentException: Can not create a Path from an empty string'
and i have given  'hipi/imagebundle/mapreduce/ImageBundleInputFormat.class' as input format class , as it was only supported inputformatclasss in both the jar files
but hipi was expecting  'hipi.imagebundle.HipiImageBundle.readBundleHeader(HipiImageBundle.java:364)' ,which is not in jar
so how can i solve this problem please help .

@kasi529  please provide more details about your problem?


[image]: cadence-dev is not building (convert to Docker Compose?)

The cadence-dev container image isn't building.  I did remove tini from the base Ubuntu layer but this shouldn't impact anything (the image doesn't use this).
I'm going to disable the image build for now and perhaps we should just convert to Docker Compose like we do for Temporal.
NOTE: Note that unit testing will still work because a working image is still over at DockerHub and that's what CadenceFixture is still configured to load.
ERROR LOG (for completeness): There appears to be a problem with checking out the tagged commit.
===========================================================
* CADENCE-DEV:v0.5.9
* GO_VERSION:1.12.6
* CADENCE_VERSION:v0.5.9
* CADENCE_UI_VERSION:3.3.1
===========================================================
[+] Building 39.7s (19/28)
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 32B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load metadata for docker.io/library/openjdk:8-jdk-stretch                                                                                1.8s
 => [internal] load metadata for docker.io/library/golang:1.12.6                                                                                1.9s
 => [auth] library/openjdk:pull token for registry-1.docker.io                                                                                0.0s
 => [auth] library/golang:pull token for registry-1.docker.io                                                                                0.0s
 => [stage-1  1/19] FROM docker.io/library/openjdk:8-jdk-stretch@sha256:d8d62fe0d8e9f3e6e62921c7d738c9a962efd6887b2b282dc2f852d7f1ee4512                                                                                0.0s
 => CACHED [builder 1/2] FROM docker.io/library/golang:1.12.6@sha256:35200a727dc44175d9221a6ece398eed7e4b8e17cb7f0d72b20bf2d5cf9dc00d                                                                                0.0s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 174B                                                                                0.0s
 => ERROR [builder 2/2] RUN go get -u github.com/golang/dep/cmd/dep     && go get -u golang.org/x/lint/golint     && git clone https://github.com/uber/cadence.git /go/src/github.com/uber/cadence     && cd /go/src/github.com/uber/cadence     && git checkout tags/v0  37.8s
 => CACHED [stage-1  2/19] RUN apt-get update && apt-get install -y --no-install-recommends         gettext-base         gnupg         wget         tcpdump         netcat         python-pip         curl         python-setuptools         build-essential     && rm -r  0.0s
 => CACHED [stage-1  3/19] RUN apt-get update     && curl -sL https://deb.nodesource.com/setup_10.x | bash -     && apt-get install -y nodejs                                                                                0.0s
 => CACHED [stage-1  4/19] RUN apt-get update     && echo "deb https://downloads.apache.org/cassandra/debian 311x main" | tee -a /etc/apt/sources.list.d/cassandra.sources.list     && curl https://downloads.apache.org/cassandra/KEYS | apt-key add -     && apt-get up  0.0s
 => CACHED [stage-1  5/19] RUN mkdir /cadence     && mv /usr/sbin/cassandra /cadence     && rm -f /etc/cassandra/cassandra.yaml                                                                                0.0s
 => CACHED [stage-1  6/19] RUN git clone https://github.com/uber/cadence-web.git /usr/cadence-web     && cd /usr/cadence-web     && git checkout tags/3.3.1                                                                                0.0s
 => CACHED [stage-1  7/19] COPY ./entrypoint.sh /cadence/entrypoint.sh                                                                                0.0s
 => CACHED [stage-1  8/19] COPY ./config_template.yaml /cadence/config/docker_template_cassandra.yaml                                                                                0.0s
 => CACHED [stage-1  9/19] COPY ./cassandra.yaml /etc/cassandra/cassandra_template.yaml                                                                                0.0s
 => CACHED [stage-1 10/19] COPY ./setup.sh /cadence/setup.sh                                                                                0.0s
------
 > [builder 2/2] RUN go get -u github.com/golang/dep/cmd/dep     && go get -u golang.org/x/lint/golint     && git clone https://github.com/uber/cadence.git /go/src/github.com/uber/cadence     && cd /go/src/github.com/uber/cadence     && git checkout tags/v0.5.9 && make bi
ns:
#19 17.13 Cloning into '/go/src/github.com/uber/cadence'...
#19 36.62 Note: checking out 'tags/v0.5.9'.
#19 36.62
#19 36.62 You are in 'detached HEAD' state. You can look around, make experimental
#19 36.62 changes and commit them, and you can discard any commits you make in this
#19 36.62 state without impacting any branches by performing another checkout.
#19 36.62
#19 36.62 If you want to create a new branch to retain commits you create, you may
#19 36.62 do so (now or later) by using -b with the checkout command again. Example:
#19 36.62
#19 36.62   git checkout -b <new-branch-name>
#19 36.62
#19 36.62 HEAD is now at 0d2e1c1b...
At C:\src\neonKUBE\Images\includes.ps1:52 char:9
+         throw "Exec: $ErrorMessage"
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Exec: *** FAILE...=$uiVersion" . :String) [], RuntimeException
    + FullyQualifiedErrorId : Exec: *** FAILED:  docker build -t "${registry}:$tag" --build-arg "VERSION=$version" --build-arg "GO_VERSION=$goVersion" --build-arg "UI_VERSION=$uiVersion" .

I think the best thing to do here might just be convert to docker-compose like suggested.  Less custom stuff to maintain especially since we are not going to be touching this thing anymore really.

I think the best thing to do here might just be convert to docker-compose like suggested.  Less custom stuff to maintain especially since we are not going to be touching this thing anymore really.

I'm pretty deep in the temporal message alignment ATM but once I'll take some time to do that conversion.

I'm pretty deep in the temporal message alignment ATM but once I'll take some time to do that conversion.

Sure.  This isn't really a big priority since the old cadence-dev image is still over at DockerHub so unit testing will still work.

Sure.  This isn't really a big priority since the old cadence-dev image is still over at DockerHub so unit testing will still work.

It turns out that the old cadence-dev image isn't actually working either and this is a problem for Loopie.  I'm going to assign this to myself and update both the current branch as well as the 1.x branch Loopie is still on.

I can take a look at this tonight if you want.  Sorry I did not prioritize this because did not know Loopie was experiencing these issues.

I've updated CadenceFixture in the master and release-1.5.1 branches to use docker-compose rather than the fancy cadence-dev container image Jack built.  The advantage here is that we're using the stock Cadence images rather than needing to build Cadence ourselves so we shouldn't see this kind of problem again.  This is what we're doing for Temporal as well.
NOTE: This means that the fixture will use the latest version of Cadence server rather than this being pinned to whatever version we built for our old container image.  Cadence is supposed to be backwards compatible with earlier versions so this shouldn't really matter.
Here's the new Cadence DockerCompose file:
version: '3'
services:
  cassandra:
    image: cassandra:3.11
    ports:
      - 9042:9042
    environment:
      - HEAP_NEWSIZE=1M
      - MAX_HEAP_SIZE=1024M
    deploy:
      resources:
        limits:
          memory: 1536M
  statsd:
    image: graphiteapp/graphite-statsd
    ports:
      - 8080:80
      - 2003:2003
      - 8125:8125
      - 8126:8126
  cadence:
    image: ubercadence/server:master-auto-setup
    ports:
     - 7933:7933
     - 7934:7934
     - 7935:7935
     - 7939:7939
    environment:
      - CASSANDRA_SEEDS=cassandra
      - STATSD_ENDPOINT=statsd:8125
      - DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development.yaml
    depends_on:
      - cassandra
      - statsd
  cadence-web:
    image: ubercadence/web:latest
    environment:
      - CADENCE_TCHANNEL_PEERS=cadence:7933
    ports:
      - 8088:8088
    depends_on:
      - cadence

NOTE: This also adds graphite-statsd to the mix.
@johncburns1: All of the Cadence unit tests on master are passing except for Test_EndToEnd.BaseDomain.  I'm not sure we care about this, but if its easy...
As an aside, the Temporal test fixture compose file is currently failing for me:
System.Exception : Cannot launch application [temporal-dev] - [exitcode=1]: Creating network "temporal-dev_default" with the default driver
    Found orphan containers (temporal-admin-tools, temporal-postgresql) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
    Pulling temporal (temporalio/auto-setup:1.1.0)...
    Pulling temporal-web (temporalio/web:1.1.0)...
    Creating temporal-dev_cassandra_1 ...

    Creating temporal-dev_cassandra_1 ... done
    Recreating temporal               ...

    Recreating temporal               ... done
    Recreating temporal-web           ...
    Host is already in use by another container

    Recreating temporal-web           ... error

    ERROR: for temporal-web  Cannot start service temporal-web: driver failed programming external connectivity on endpoint temporal-dev_temporal-web_1 (d145e4c4cc82954c1e881c94d1cde534c4d847a70490bf2904bbb8d7037cb791): Bind for <IP_ADDRESS>:8088 failed: port is already allocated
    ERROR: for temporal-web  Cannot start service temporal-web: driver failed programming external connectivity on endpoint temporal-dev_temporal-web_1 (d145e4c4cc82954c1e881c94d1cde534c4d847a70490bf2904bbb8d7037cb791): Bind for <IP_ADDRESS>:8088 failed: port is already allocated
    Encountered errors while bringing up the project.

I'm in the middle of back-porting this change to the Loopie 1.51 release branch.  This is getting painful.  We're going to need to have Loopie upgrade soon.

Fixed for neonLIBRARY v1.5.1 and v2.11.0


[BUG] Ver 0.0.4 for Windows doesn't work

Describe the bug
Cannot log in for Windows GUI ver.

https://github.com/silicoin-network/silicoin-blockchain/issues/10


Group database and DAOs module into di package to be consistent with other packages

What I have done and why
As most of the packages like network have a di to provide dependencies, meanwhile there's not for database package. Having di will make the project structure more consistent
Do tests pass?

[x] Run local tests on DemoDebug variant: ./gradlew testDemoDebug
[x] Check formatting: ./gradlew --init-script gradle/init.gradle.kts spotlessApply

Is this your first pull request?

[x] Sign the CLA
[x] Run ./tools/setup.sh
[x] Import the code formatting style as explained in the setup script.

Thank you for submitting this pull request. We have decided not to accept it at this time.
Feel free to comment or open an issue for further discussion if necessary.


Update recent transactions in account flow

Problem
I need to view the transactions related to the users Account. When I click into transactions, after I go to the users account,  and click the back button I get sent to the first page.  This works as expected when navigating transactions from the Transactions tab, but does not work the same when navigating transactions from the Accounts tab.
Solution
Fix the account level transaction navigation to match that of the Transactions tab.
Alternatives
No response

closing with #754


[Specific-PSXPC_N] Animatings incorrect drawing.

Animatings are incorrectly drawn depending on position of camera. It could be related to bad initial animation also.

Fixed in: 9b4df1e6ab1259a1de8369808465e674e66357cc


@stryker-mutator/core not in the npm registry

Summary
Hey I'm trying to install Stryker for the first time on my project following the quickstart instruction, but I can't install it directly from npm.
npm ERR! 404  '@stryker-mutator/core@latest' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)

https://registry.npmjs.org/@stryker-mutator/core gives response {"error":"Not found"}
Then I tried to workaround installing directly from git using https://gitpkg.now.sh, but then stryker run says Stryker is currently not installed and asks to install it again. After I chose npm it gives an error
> npm install -D 'https://gitpkg.now.sh/stryker-mutator/stryker/packages/util?master' 'https://gitpkg.now.sh/stryker-mutator/stryker/packages/api?master' 'https://gitpkg.now.sh/stryker-mutator/stryker/packages/core?master'
[...]
+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>added 93 packages from 100 contributors and removed 2 packages in 67.289s

> stryker run
Stryker is currently not installed.
? Do you want to install Stryker locally? npm
[...]
+<EMAIL_ADDRESS>updated 1 package in 28.915s
Stryker installation done.
Cannot find module '@stryker-mutator/core' from '/home/prontohub/Code/pronto-mailbox/frontend'

Your Environment

software
version(s)

node
v12.16.1

npm
6.14.5

Operating System
Ubuntu 18.04.4 LTS

Hi @Wojciechowski-Marcin 👋
I think this was an issue at NPM side. See this thread: https://twitter.com/npmstatus/status/1291290208344760327
Link works again for me. Closing this issue now. If you think otherwise, please say so and I can reopen this issue.


ReactQueryClient queryKey simplification

Would it be possible to abstract reactQuery key'ing for api calls? Similar how tRPC does it so you don't have to keep the list or queryKeys anywhere but ts-Rest would automatically handle this.
https://ts-rest.com/docs/react-query#usequery-and-usemutation
instead of this
const queryResult = client.posts.get.useQuery(
  ['posts'], // <- queryKey
  { params: { id: '1' } },
  { staleTime: 1000 }
);

to have this
// no queryKey as this should automatically inject unique identifier for the call
const queryResult = client.posts.get.useQuery(
  { params: { id: '1' } },
  { staleTime: 1000 }
);

hi @stychu, unless @oliverbutler disagrees I think this feature is out of scope for ts-rest. We try to be un-opinionated on the dependencies we incorporate and be close to the original dependency's API, especially for react-query.

This should be possible, as theoretically all the params that uniquely identify a query are passed in the hook function call. So in this example ts-rest could create a query key that looks something like ['/posts/:id', { params: { id: '1' } }]. So despite this being out of ts-rest's scope, it seems like ts-rest is well-equipped enough to abstract away query keys.
However, as @michaelangeloio mentioned this would be very opinionated and would make certain use cases a bit confusing. For example, if you manually set keys to something like ['posts', 1] and then you want to say invalidate all queries for all post queries regardless of the id by doing queryClient.removeQueries({ queryKey: ['posts'] }). Something like this would be a bit challenging to do due to the abstraction and usage of objects inside the query key rather than just strings and numbers.
Furthermore, in some cases you might have params that you do not want to affect the query caching behavior. For example if you use headers for pagination, then this should be included in the query key, but something like an access token header should not be included in the query key. We can obviously introduce functionality to control this behavior, but in my opinion needs more cognitive effort to do correctly compared to constructing query keys manually.


how to differentiate sender and receiver

Hi,
How can i differentiate who is the sender and receiver?
is there any direct way?

In my app i want to have two tabs inbox, sent
in inbox i want to show messages sent to current user
in sent i want to show messages sent by current user
just like email system.

thanks.

I make like this im my atual work. https://gist.github.com/marcelotk15/2e4c5a34314907c72a9f

Hi Marce
thanks for sharing your work.
but actually trying to implement something like inbox,sent etc so i am looking if there is any elegant way of doing it built in methods.
thanks.

@lorvent Were you able to come up with a solution to this issue?  I am looking to do the same thing.

+1

this is  what i did
/**
 * Returns threads that the user is associated with.
 *
 * @param $query
 * @param $userId
 *
 * @return mixed
 */
public function scopeSentBy($query, $userId)
{
    $messagesTable = Models::table('messages');
    $threadsTable = Models::table('threads');

    return $query
        ->where($messagesTable . '.user_id', "=", $userId)
        ->where($threadsTable . '.deleted_at', "=", null)
        ->join($messagesTable, $threadsTable.'.id', '=', $messagesTable.'.thread_id')
        ->select($threadsTable.'.*', $messagesTable.'.user_id');
}

i'm currently using this :)
/**
 * Show all sent message threads from user.
 *
 * @return mixed
 */
public function sent()
{
    $currentUserId = Auth::user()->id;
    $threads = Thread::forUser($currentUserId)
    ->where('messages.user_id', $currentUserId)
    ->join('messages', 'threads.id', '=', 'messages.thread_id')
    ->latest('updated_at')->get();

    return view('messenger.index', compact('threads', 'currentUserId'));
}

Show all sent message threads from user.

@return mixed
*/
public function sent()
{
$currentUserId = Auth::user()->id;
$threads = Thread::forUser($currentUserId)
->where('messages.user_id', $currentUserId)
->join('messages', 'threads.id', '=', 'messages.thread_id')
->latest('updated_at')->get();
return view('messenger.index', compact('threads', 'currentUserId'));
}

@tvzone you are duplicating some checks and overcomplicating the query: I think this will be faster:
public function sent()
{
    $currentUserId = Auth::id();
    $threads = Thread::where('user_id', currentUserId)
    ->orderBy('updated_at')
    ->with('messages')
    ->get();

    return view('messenger.index', compact('threads', 'currentUserId'));
}

How I know latest() just picks the latest single entry - so not all threads - and forUser() and the where() are duplicated queries.


[WIP] prototype for userProfile tab

Trying to just get something on the board that y'all can look at, play with, etc on the Profile Tab.
Two pressing concerns about this particular commit -

how big should the users profile image be, and should it be variable with screenwidth?
how do we determine the size of the content in a section controller after all the labels have been set up and communicate the collection view to resize the cell? There will be lots of variation in the content of people's 'basic info' (their bios, etc) and the size of that content... I'm not sure what the pattern is to handle those variable content sizes on the fly w/ IGListKit.

Hey it’s me! Cool! Lol.
I think Ryan created an issue dedicated to wire framing / designing the profile page #2106
Looks like a good start but I’d personally wait for the wireframe/design to start taking shape before really going at it.
That being said. Wireframe/design hasn’t seen much movement.
Sent with GitHawk


Fail to build it

I follow your instructions to install it. But it reports failure when building up. The message is enclosed here. As current instructions state, _includes folder should be deleted. But I wonder whether I should keep it as it was?

The page build failed for the master branch with the following error:
A file was included in _projects/(2) that is a symlink or does not exist in your _includes directory. For more information, see https://help.github.com/en/github/working-with-github-pages/troubleshooting-jekyll-build-errors-for-github-pages-sites#file-is-a-symlink.

You need to replace the remote theme's line in your _config.yml with this:
remote_theme        : YoussefRaafatNasry/portfolYOU

This will include theme's files (as _includes/**, _sass/** and _layouts/**) remotely.


Modifying icr.io path in values.yaml file for SOL005 driver

for more information:https://github.ibm.com/TNC/tnc-o-tracking/issues/4285

Code is merged , hence closing this issue


Viable for practical use on strings? Prefix implementation for String/&str?

Hi, do I understand correctly the provided structures could be used to find all strings with given prefix? Do you think in that case it would be possible to provide implementation of Prefix for some string type? Or are there perhaps some limitations making it not that useful with strings? Are there any other approaches/libraries you would recommend for finding strings with given prefix?

This isn't designed for variable-sized data. Have a look at radix-trie or trie-rs (LOUDS), they are probably what you are looking for.

I see, thanks!


[Bug Fix] Correctly handle abstract_objects that are at the root (aka, main_group)

I think #63 handles this


Bower support not working

Thanks very much for adding Bower support. But it doesn't seam to work. A few comments (I'm not a bower expert though)...

"bower info ngRadialGauge" responds with "ENOTFOUND Package ngRadialGauge not found". Did you register your package at the Bower registry?

The file "bower.json" is usually located at the root level of a GIT repo. But I'm not sure if this is a requirement. Might be depending on how you register your package.

"main" in "bower.json" are the files to be installed by bower to use your package. "index.html" cannot be correct here. Should rather be js and css files; and in case you need any templates html as well.

The "version" in your "bower.json" says "1.0.0". But there is not version "1.0.0" in your repo.

The "dependencies" in your "bower.json" are too restrictive I believe; e.g., "angular":"~1.2.28" is not matching Angular 1.3.x. But it should (I am using ngRadialGauge successfully with AngularJS 1.3.15). "angular":"'~1" should be ok I think. Same with d3.

I'm not sure if it works when you define your directive like this: "app.directive('ngRadialGauge',...)" because "app" is not necessarily defined (unless you do that yourself). You need to define your own Angular module. Something like this: "angular.module('ngRadialGauge').directive(...);"

Just my two cents.
Hope it helps.

Thanks you very much for your feedback, I will follow your information's.
Could I add you to my repository?
On Apr 4, 2015 3:32 PM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Thanks very much for adding Bower support. But it doesn't seam to work. A
few comments (I'm not a bower expert though)...

"bower info ngRadialGauge" responds with "ENOTFOUND Package
ngRadialGauge not found". Did you register your package at the Bower
registry?
2.
The file "bower.json" is usually located at the root level of a GIT
repo. But I'm not sure if this is a requirement. Might be depending on how
you register your package.
3.
"main" in "bower.json" are the files to be installed by bower to use
your package. "index.html" cannot be correct here. Should rather be js and
css files; and in case you need any templates html as well.
4.
The "version" in your "bower.json" says "1.0.0". But there is not
version "1.0.0" in your repo.
5.
The "dependencies" in your "bower.json" are too restrictive I believe;
e.g., "angular":"~1.2.28" is not matching Angular 1.3.x. But it should (I
am using ngRadialGauge successfully with AngularJS 1.3.15). "angular":"'~1"
should be ok I think. Same with d3.
6.
I'm not sure if it works when you define your directive like this:
"app.directive('ngRadialGauge',...)" because "app" is not necessarily
defined (unless you do that yourself). You need to define your own Angular
module. Something like this:
"angular.module('ngRadialGauge').directive(...);"
Just my two cents.
Hope it helps.
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5.

Sure. :-)
Am 04.04.2015 22:43 schrieb stherrienaspnet<EMAIL_ADDRESS>Thanks you very much for your feedback, I will follow your information's.
Could I add you to my repository?
On Apr 4, 2015 3:32 PM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Thanks very much for adding Bower support. But it doesn't seam to work. A
few comments (I'm not a bower expert though)...

"bower info ngRadialGauge" responds with "ENOTFOUND Package
ngRadialGauge not found". Did you register your package at the Bower
registry?
2.
The file "bower.json" is usually located at the root level of a GIT
repo. But I'm not sure if this is a requirement. Might be depending on how
you register your package.
3.
"main" in "bower.json" are the files to be installed by bower to use
your package. "index.html" cannot be correct here. Should rather be js and
css files; and in case you need any templates html as well.
4.
The "version" in your "bower.json" says "1.0.0". But there is not
version "1.0.0" in your repo.
5.
The "dependencies" in your "bower.json" are too restrictive I believe;
e.g., "angular":"~1.2.28" is not matching Angular 1.3.x. But it should (I
am using ngRadialGauge successfully with AngularJS 1.3.15). "angular":"'~1"
should be ok I think. Same with d3.
6.
I'm not sure if it works when you define your directive like this:
"app.directive('ngRadialGauge',...)" because "app" is not necessarily
defined (unless you do that yourself). You need to define your own Angular
module. Something like this:
"angular.module('ngRadialGauge').directive(...);"
Just my two cents.
Hope it helps.
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5.

—
Reply to this email directly or view it on GitHubhttps://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89661321.

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.
The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.
Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição

Could you make the appropriate change to make it work?
On Apr 4, 2015 4:47 PM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Sure. :-)
Am 04.04.2015 22:43 schrieb stherrienaspnet<EMAIL_ADDRESS>Thanks you very much for your feedback, I will follow your information's.
Could I add you to my repository?
On Apr 4, 2015 3:32 PM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Thanks very much for adding Bower support. But it doesn't seam to work.
A
few comments (I'm not a bower expert though)...

"bower info ngRadialGauge" responds with "ENOTFOUND Package
ngRadialGauge not found". Did you register your package at the Bower
registry?
2.
The file "bower.json" is usually located at the root level of a GIT
repo. But I'm not sure if this is a requirement. Might be depending on
how
you register your package.
3.
"main" in "bower.json" are the files to be installed by bower to use
your package. "index.html" cannot be correct here. Should rather be js
and
css files; and in case you need any templates html as well.
4.
The "version" in your "bower.json" says "1.0.0". But there is not
version "1.0.0" in your repo.
5.
The "dependencies" in your "bower.json" are too restrictive I believe;
e.g., "angular":"~1.2.28" is not matching Angular 1.3.x. But it should
(I
am using ngRadialGauge successfully with AngularJS 1.3.15).
"angular":"'~1"
should be ok I think. Same with d3.
6.
I'm not sure if it works when you define your directive like this:
"app.directive('ngRadialGauge',...)" because "app" is not necessarily
defined (unless you do that yourself). You need to define your own
Angular
module. Something like this:
"angular.module('ngRadialGauge').directive(...);"
Just my two cents.
Hope it helps.
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5.

—
Reply to this email directly or view it on GitHub<
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89661321>.

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario,
puede contener información privilegiada o confidencial y es para uso
exclusivo de la persona o entidad de destino. Si no es usted. el
destinatario indicado, queda notificado de que la lectura, utilización,
divulgación y/o copia sin autorización puede estar prohibida en virtud de
la legislación vigente. Si ha recibido este mensaje por error, le rogamos
que nos lo comunique inmediatamente por esta misma vía y proceda a su
destrucción.
The information contained in this transmission is privileged and
confidential information intended only for the use of the individual or
entity named above. If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination, distribution or
copying of this communication is strictly prohibited. If you have received
this transmission in error, do not read it. Please immediately reply to the
sender that you have received this communication in error and then delete
it.
Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário,
pode conter informação privilegiada ou confidencial e é para uso exclusivo
da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário
indicado, fica notificado de que a leitura, utilização, divulgação e/ou
cópia sem autorização pode estar proibida em virtude da legislação vigente.
Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique
imediatamente por esta mesma via e proceda a sua destruição
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89661778
.

Theoretically yes. Have done a lot with Angular but not yet provided a module for third-party usage. Anyway, I could try.
Best regards,
Frank
Am 04.04.2015 22:48 schrieb stherrienaspnet<EMAIL_ADDRESS>Could you make the appropriate change to make it work?
On Apr 4, 2015 4:47 PM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Sure. :-)
Am 04.04.2015 22:43 schrieb stherrienaspnet<EMAIL_ADDRESS>Thanks you very much for your feedback, I will follow your information's.
Could I add you to my repository?
On Apr 4, 2015 3:32 PM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Thanks very much for adding Bower support. But it doesn't seam to work.
A
few comments (I'm not a bower expert though)...

"bower info ngRadialGauge" responds with "ENOTFOUND Package
ngRadialGauge not found". Did you register your package at the Bower
registry?
2.
The file "bower.json" is usually located at the root level of a GIT
repo. But I'm not sure if this is a requirement. Might be depending on
how
you register your package.
3.
"main" in "bower.json" are the files to be installed by bower to use
your package. "index.html" cannot be correct here. Should rather be js
and
css files; and in case you need any templates html as well.
4.
The "version" in your "bower.json" says "1.0.0". But there is not
version "1.0.0" in your repo.
5.
The "dependencies" in your "bower.json" are too restrictive I believe;
e.g., "angular":"~1.2.28" is not matching Angular 1.3.x. But it should
(I
am using ngRadialGauge successfully with AngularJS 1.3.15).
"angular":"'~1"
should be ok I think. Same with d3.
6.
I'm not sure if it works when you define your directive like this:
"app.directive('ngRadialGauge',...)" because "app" is not necessarily
defined (unless you do that yourself). You need to define your own
Angular
module. Something like this:
"angular.module('ngRadialGauge').directive(...);"
Just my two cents.
Hope it helps.
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5.

—
Reply to this email directly or view it on GitHub<
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89661321>.

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario,
puede contener información privilegiada o confidencial y es para uso
exclusivo de la persona o entidad de destino. Si no es usted. el
destinatario indicado, queda notificado de que la lectura, utilización,
divulgación y/o copia sin autorización puede estar prohibida en virtud de
la legislación vigente. Si ha recibido este mensaje por error, le rogamos
que nos lo comunique inmediatamente por esta misma vía y proceda a su
destrucción.
The information contained in this transmission is privileged and
confidential information intended only for the use of the individual or
entity named above. If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination, distribution or
copying of this communication is strictly prohibited. If you have received
this transmission in error, do not read it. Please immediately reply to the
sender that you have received this communication in error and then delete
it.
Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário,
pode conter informação privilegiada ou confidencial e é para uso exclusivo
da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário
indicado, fica notificado de que a leitura, utilização, divulgação e/ou
cópia sem autorização pode estar proibida em virtude da legislação vigente.
Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique
imediatamente por esta mesma via e proceda a sua destruição
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89661778
.

—
Reply to this email directly or view it on GitHubhttps://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89661984.

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.
The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.
Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição

Hello Frank,
I just added you as repository member, let me know if you lacking access.
The folders structure is really bad, too many levels.
Thanks you very much Frank!
On Apr 4, 2015 4:56 PM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Theoretically yes. Have done a lot with Angular but not yet provided a
module for third-party usage. Anyway, I could try.
Best regards,
Frank
Am 04.04.2015 22:48 schrieb stherrienaspnet<EMAIL_ADDRESS>Could you make the appropriate change to make it work?
On Apr 4, 2015 4:47 PM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Sure. :-)
Am 04.04.2015 22:43 schrieb stherrienaspnet<EMAIL_ADDRESS>Thanks you very much for your feedback, I will follow your
information's.
Could I add you to my repository?
On Apr 4, 2015 3:32 PM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Thanks very much for adding Bower support. But it doesn't seam to
work.
A
few comments (I'm not a bower expert though)...

"bower info ngRadialGauge" responds with "ENOTFOUND Package
ngRadialGauge not found". Did you register your package at the Bower
registry?
2.
The file "bower.json" is usually located at the root level of a GIT
repo. But I'm not sure if this is a requirement. Might be depending on
how
you register your package.
3.
"main" in "bower.json" are the files to be installed by bower to use
your package. "index.html" cannot be correct here. Should rather be js
and
css files; and in case you need any templates html as well.
4.
The "version" in your "bower.json" says "1.0.0". But there is not
version "1.0.0" in your repo.
5.
The "dependencies" in your "bower.json" are too restrictive I believe;
e.g., "angular":"~1.2.28" is not matching Angular 1.3.x. But it should
(I
am using ngRadialGauge successfully with AngularJS 1.3.15).
"angular":"'~1"
should be ok I think. Same with d3.
6.
I'm not sure if it works when you define your directive like this:
"app.directive('ngRadialGauge',...)" because "app" is not necessarily
defined (unless you do that yourself). You need to define your own
Angular
module. Something like this:
"angular.module('ngRadialGauge').directive(...);"
Just my two cents.
Hope it helps.
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5.

—
Reply to this email directly or view it on GitHub<

https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89661321>.

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario,
puede contener información privilegiada o confidencial y es para uso
exclusivo de la persona o entidad de destino. Si no es usted. el
destinatario indicado, queda notificado de que la lectura, utilización,
divulgación y/o copia sin autorización puede estar prohibida en virtud
de
la legislación vigente. Si ha recibido este mensaje por error, le
rogamos
que nos lo comunique inmediatamente por esta misma vía y proceda a su
destrucción.
The information contained in this transmission is privileged and
confidential information intended only for the use of the individual or
entity named above. If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination, distribution
or
copying of this communication is strictly prohibited. If you have
received
this transmission in error, do not read it. Please immediately reply to
the
sender that you have received this communication in error and then
delete
it.
Esta mensagem e seus anexos se dirigem exclusivamente ao seu
destinatário,
pode conter informação privilegiada ou confidencial e é para uso
exclusivo
da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário
indicado, fica notificado de que a leitura, utilização, divulgação e/ou
cópia sem autorização pode estar proibida em virtude da legislação
vigente.
Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique
imediatamente por esta mesma via e proceda a sua destruição
—
Reply to this email directly or view it on GitHub
<
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89661778>

.

—
Reply to this email directly or view it on GitHub<
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89661984>.

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario,
puede contener información privilegiada o confidencial y es para uso
exclusivo de la persona o entidad de destino. Si no es usted. el
destinatario indicado, queda notificado de que la lectura, utilización,
divulgación y/o copia sin autorización puede estar prohibida en virtud de
la legislación vigente. Si ha recibido este mensaje por error, le rogamos
que nos lo comunique inmediatamente por esta misma vía y proceda a su
destrucción.
The information contained in this transmission is privileged and
confidential information intended only for the use of the individual or
entity named above. If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination, distribution or
copying of this communication is strictly prohibited. If you have received
this transmission in error, do not read it. Please immediately reply to the
sender that you have received this communication in error and then delete
it.
Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário,
pode conter informação privilegiada ou confidencial e é para uso exclusivo
da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário
indicado, fica notificado de que a leitura, utilização, divulgação e/ou
cópia sem autorização pode estar proibida em virtude da legislação vigente.
Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique
imediatamente por esta mesma via e proceda a sua destruição
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89665091
.

Great. I'll take a look.

I would propose the following changes:
(1) Project Structure (according to current best practice)
/dist
/src
/test

Your code files will be under /src without further directories.
/dist is not really needed because in this project there is nothing to build actually.
bower.json would be in the root directory.
(2) d3 dependency
Your "d3Service" is definitely a good idea.
However, imagine a project that uses multiple third-party components based on d3. Should they all bring their own "d3Service"? Should they use a common "d3Service"? How does that work? What about name conflicts when there are multiple services "d3Service" in different modules?
I looked a some of the other d3-based Angular components. Most of them just rely on a global "d3" object. No extra Angular service. Only the d3 dependency in bower.json.
That's what I would propse. Remove the "d3Service". Just rely on a global "d3". But have the d3 dependency in your bower.json.
(3) Controller "RadialGaugeCtrl"
That's only for demo purposes, right. So we wouldn't expose it via bower.
(4) Directive "ngRadialGauge"
There must be a separate module for your component. That's the Angular way for third-party code:
angular.module("ngRadialGauge").directive("ngRadialGauge", .....);

Remove dependency "d3Service" and just rely on global "d3".
Why do you restrict your component to attributes? Should element and class as well.
restrict: 'EAC',

What do you think?
Does that make sense?

Yes, everything make sense, thank you Frank. Have a nice day:)
On Apr 5, 2015 6:28 AM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

I would propose the following changes:
(1) Project Structure (according to current best practice)
/dist
/src
/test
Your code files will be under /src without further directories.
/dist is not really needed because in this project there is nothing to
build actually.
bower.json would be in the root directory.
(2) d3 dependency
Your "d3Service" is definitely a good idea.
However, imagine a project that uses multiple third-party components
based on d3. Should they all bring their own "d3Service"? Should they use a
common "d3Service"? How does that work? What about name conflicts when
there are multiple services "d3Service" in different modules?
I looked a some of the other d3-based Angular components. Most of them
just rely on a global "d3" object. No extra Angular service. Only the d3
dependency in bower.json.
That's what I would propse. Remove the "d3Service". Just rely on a global
"d3". But have the d3 dependency in your bower.json.
(3) Controller "RadialGaugeCtrl"
That's only for demo purposes, right. So we wouldn't expose it via bower.
(4) Directive "ngRadialGauge"
There must be a separate module for your component. That's the Angular way
for third-party code:
angular.module("ngRadialGauge").directive("ngRadialGauge", .....);
Remove dependency "d3Service" and just rely on global "d3".
Why do you restrict your component to attributes? Should element and class
as well.
restrict: 'EAC',
What do you think?
Does that make sense?
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89750035
.

I did the changes locally. Do you want me to commit? I guess you need to add me as contributor first.

Yes Frank you can commit! I added you as repository member. If this not
giving you the full access right tell me the steps required to do to give
you full access.
Stephane:)
On Apr 5, 2015 9:47 AM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

I did the changes locally. Do you want me to commit? I guess you need to
add me as contributor first.
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89772886
.

Frank do you have experience with node.js?
On Apr 5, 2015 9:52 AM, "Stephane Therrien"<EMAIL_ADDRESS>wrote:

Yes Frank you can commit! I added you as repository member. If this not
giving you the full access right tell me the steps required to do to give
you full access.
Stephane:)
On Apr 5, 2015 9:47 AM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

I did the changes locally. Do you want me to commit? I guess you need to
add me as contributor first.
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89772886
.

Thanks for merging my changes in.
I registered "ngRadialGauge" at the Bower regsitry...
> bower info ngRadialGauge
bower ngRadialGauge#*       not-cached git://github.com/stherrienaspnet/ngRadialGauge.git#*
bower ngRadialGauge#*          resolve git://github.com/stherrienaspnet/ngRadialGauge.git#*
bower ngRadialGauge#*         checkout master
bower ngRadialGauge#*         resolved git://github.com/stherrienaspnet/ngRadialGauge.git#4a84d1f73e
...
No versions available.

Last thing for you to do is to release version "1.0.0" as referred to in the "bower.json".
I also tested using the package with a fresh Angular project generated by Yeoman. Works all fine.
I use your component in a project at work. I'll change that to use the new Bower package later this week.
That was fun,
Frank

Too nice Frank!
On Apr 5, 2015 11:55 AM, "Frank Thelen"<EMAIL_ADDRESS>wrote:

Thanks for merging my changes in.
I registered "ngRadialGauge" at the Bower regsitry...

bower info ngRadialGauge
bower ngRadialGauge#*       not-cached git://github.com/stherrienaspnet/ngRadialGauge.git#*
bower ngRadialGauge#*          resolve git://github.com/stherrienaspnet/ngRadialGauge.git#*
bower ngRadialGauge#*         checkout master
bower ngRadialGauge#*         resolved git://github.com/stherrienaspnet/ngRadialGauge.git#4a84d1f73e
...
No versions available.

Last thing for you to do is to release version "1.0.0" as referred to in
the "bower.json".
I also tested using the package with a fresh Angular project generated by
Yeoman. Works all fine.
I use your component in a project at work. I'll change that to use the new
Bower package later this week.
That was fun,
Frank
—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/issues/5#issuecomment-89796094
.


Own model

Hello, I would like to improve the model with new pictures of faces, how can I do that?
Should my dataset have a specific shape?

I trained the model again with DIV2K. with this command:
python main.py - template GAN --scale 4 --save edsr_gan --reset --patch_size 96 --loss 5 * VGG54 + 0.15 * GAN --dir_data / home / rahimi / projects / dataset
How can I use the trained model now?
I have used the following command but unfortunately it does not work:
python main.py --model edsr_gan --data_test demo --scale 4 --test_only --save_results
Thank you very much
Feedback geben
Verlauf
Gespeichert
Community

you had better add the parameter ' --pre_train', and you need to make sure that your model‘s location is right


Add workspaceFolders/configuration/window to 3.15

It seems workspaceFolders and configuration properties were lost, but they are present in 3.14.
The window property is new in 3.15, let's add it to ClientCapabilities definition

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

Thanks again ! Merged by hand due to conflicts.
You might want to think about signing the CLA if you plan to provide more PRs.


Task not getting created after reminder screen added.

I guess it is related to schema changes.

removed 'scheduler' variable as it was not needed


Bug 2130909: Non-privileged user can start DataSource creation

Signed-off-by: Aviv Turgeman<EMAIL_ADDRESS>📝 Description
problem: A non-privileged user can click on create for DataSource although he has no permissions to create a DataSource in a specific element
fix: using createAccessReview prop from ListPageCreateDropdown component will check for us if we have permission to create a given resource under a specific namespace for to logged user.
🎥 Demo
Before:
https://user-images.githubusercontent.com/67270715/193041574-495d410f-ffcb-48d8-872a-d2a2f1c09bf5.mp4
After:
https://user-images.githubusercontent.com/67270715/193041570-21e1df2f-e7c7-4119-a688-f6726d34dfd1.mp4
Notes:

tested also for admin user, works as expected
need to apply for Templates, VirtualMachines and MigrationPolicies pages

/bugzilla refresh

/lgtm

/bugzilla refresh


Create third_party folder and move build/toolchain/include/* artifacts there.

We currently download master of https://github.com/googleapis/googleapis and https://github.com/grpc-ecosystem/grpc-gateway via make build/toolchain/include/protoc-gen-swagger/ and make build/toolchain/include/google/api/.
It's more appropriate to create a third_party/ directory and store the files there. This way the builds are hermetic. We can consider using git submodules but that adds some complexity to our workflows.

I can take this


python3Packages.airtouch4pyapi: init at 1.0.5

Motivation for this change
Python API for Airtouch 4 controllers
https://github.com/LonePurpleWolf/airtouch4pyapi
This is a Home Assistant dependency.
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)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.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.

FAILED tests/components/airtouch4/test_config_flow.py::test_form[pyloop] - ho...
FAILED tests/components/airtouch4/test_config_flow.py::test_form_timeout[pyloop]
FAILED tests/components/airtouch4/test_config_flow.py::test_form_library_error_message[pyloop]
FAILED tests/components/airtouch4/test_config_flow.py::test_form_connection_refused[pyloop]
FAILED tests/components/airtouch4/test_config_flow.py::test_form_no_units[pyloop]
= 5 failed, 14019 passed, 11 skipped, 2 xfailed, 8163 warnings in 1365.12s (0:22:45) =

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

2 packages built:

python38Packages.airtouch4pyapi
python39Packages.airtouch4pyapi


Issue 311

For #311

For the unit test you can either add a new test in pytition/petition/tests/tests_EditPetitionView.py or just modify test_edit_petition_POST_social_network_form().
I would see it like this:

Testing that submitting the form with one of the has_xxx_share_button set and that the Petition object then has the correct property value
Then unset it and submit the form again and check that the property is unset
Do this for each new property.
You can kind of copy paste those tests in pytition/petition/tests/tests_PetitionTemplateViews.py and just modify the name of the view to submit the edit_template form instead of the edit_petition so that the new properties get tested for the Template model class as well.

For the unit test you can either add a new test in pytition/petition/tests/tests_EditPetitionView.py or just modify test_edit_petition_POST_social_network_form(). I would see it like this:

OK. I am planning to add new test in the file pytition/petition/tests/tests_EditPetitionView.py

* Testing that submitting the form with one of the `has_xxx_share_button` set and that the Petition object then has the correct property value

@fallen can you please give me an example test for one of the has_xxx_share_button?

@fallen can you please give me an example test for one of the has_xxx_share_button?

Sure, here you go:
    def test_edit_petition_email_share_button(self):
        julia = self.login('julia')
        org = Organization.objects.get(name='RAP')
        share_button_form_data = {
            'social_network_form_submitted': 'yes',
            'has_email_share_button': True,
        }

        # For an org owned petition
        p = Petition.objects.create(title="My petition", org=org)

        # By default, a new petition has no share button
        self.assertFalse(p.has_email_share_button)

        # Now let's enable the email share button
        response = self.client.post(reverse("edit_petition", args=[p.id]),
                                    share_button_form_data)
        self.assertEqual(response.status_code, 200)
        p.refresh_from_db()
        self.assertTemplateUsed(response, "petition/edit_petition.html")
        self.assertEquals(response.context['social_network_form'].is_valid(), True)
        self.assertEquals(response.context['social_network_form'].is_bound, True)
        self.assertEquals(response.context['content_form_submitted'], False)
        self.assertEquals(response.context['email_form_submitted'], False)
        self.assertEquals(response.context['social_network_form_submitted'], True)
        self.assertEquals(response.context['newsletter_form_submitted'], False)
        self.assertTrue(p.has_email_share_button)

        # Let's now turn it back off
        share_button_form_data['has_email_share_button'] = False
        response = self.client.post(reverse("edit_petition", args=[p.id]),
                                    share_button_form_data)
        self.assertEqual(response.status_code, 200)
        p.refresh_from_db()
        self.assertFalse(p.has_email_share_button)

        # For a user owned petition
        p = Petition.objects.create(title="My petition 2", user=julia)

        # By default, a new petition has no share button
        self.assertFalse(p.has_email_share_button)

        # Now let's enable the email share button
        share_button_form_data['has_email_share_button'] = True
        response = self.client.post(reverse("edit_petition", args=[p.id]), share_button_form_data)
        self.assertEqual(response.status_code, 200)
        self.assertTemplateUsed(response, "petition/edit_petition.html")
        p.refresh_from_db()
        self.assertEquals(response.context['social_network_form'].is_valid(), True)
        self.assertEquals(response.context['social_network_form'].is_bound, True)
        self.assertEquals(response.context['content_form_submitted'], False)
        self.assertEquals(response.context['email_form_submitted'], False)
        self.assertEquals(response.context['social_network_form_submitted'], True)
        self.assertEquals(response.context['newsletter_form_submitted'], False)
        self.assertTrue(p.has_email_share_button)

        # Let's now turn it back off
        share_button_form_data['has_email_share_button'] = False
        response = self.client.post(reverse("edit_petition", args=[p.id]), share_button_form_data)
        self.assertEqual(response.status_code, 200)
        p.refresh_from_db()
        self.assertFalse(p.has_email_share_button)

This tests that when creating a Petition, the "has_email_share_button" is by default "off" and then tries to enable it and switch it back off using the "edit_petition" view.
This is done twice: once for an organization owned Petition and once for a user owned Petition.
I hope you are well and I wish you a very happy festive season :)

@fallen Wish you a very happy festive season too!

Hi @fallen, hope all is well. The PR is ready for review and please take a look whenever you get the chance.


Add Apache 2.0 License

This pull request adds an Apache 2.0 License to the repository. Fixes https://github.com/aaronj0/qgss_2021_labs/issues/1.

Thanks! @cbjuan does this pull request add the necessary license?

Yes!


Updating dependencies updates all, even those that are not selected

While using the gradle native dependencies lock I tried to update said file with a specific dependency yet multiple are updated.
Expected Behavior
The expected behavior should be to update only the dependencies that are specified to be updated
Current Behavior
Multiple dependencies are updated, even when not specified
Context
I am trying to migrate from nebula-plugin to native gradle locks. The issue occurs after creating the lock files when attempting to update a certain library. Using Gradle plugin 4.9
My build.gradle is:
---
dependencies {
    def supportLibraryVersion = "27.0.1"
    def gsonVersion = "2.8.2"

    api("com.android.support:appcompat-v7:$supportLibraryVersion")
    api("com.android.support:recyclerview-v7:$supportLibraryVersion")

    api("com.google.code.gson:gson:$gsonVersion")
}
---

Steps to Reproduce (for bugs)

Run ./gradlew dependencies --write-locks. This generates the lock file as follows:

android.arch.core:common:1.0.0
android.arch.lifecycle:common:1.0.3
android.arch.lifecycle:runtime:1.0.3
com.android.support:animated-vector-drawable:27.0.2
com.android.support:appcompat-v7:27.0.2
com.android.support:recyclerview-v7:27.0.2
com.android.support:support-annotations:27.0.2
com.android.support:support-compat:27.0.2
com.android.support:support-core-ui:27.0.2
com.android.support:support-core-utils:27.0.2
com.android.support:support-fragment:27.0.2
com.android.support:support-vector-drawable:27.0.2
com.google.code.gson:gson:2.8.2

Auming we have a hotfix on a lib, change the variables to supportLibraryVersion=27.0.2 and gsonVersion=2.8.4
Run ./gradlew dependencies --update-locks com.android.support:recyclerview-v7. The lockfile remains as follows

android.arch.core:common:1.1.0
android.arch.core:runtime:1.1.0
android.arch.lifecycle:common:1.1.0
android.arch.lifecycle:livedata-core:1.1.0
android.arch.lifecycle:runtime:1.1.0
android.arch.lifecycle:viewmodel:1.1.0
com.android.support:animated-vector-drawable:27.1.1
com.android.support:appcompat-v7:27.1.1
com.android.support:recyclerview-v7:27.1.1 **<-Shouldn't this be the only updated?**
com.android.support:support-annotations:27.1.1
com.android.support:support-compat:27.1.1
com.android.support:support-core-ui:27.1.1
com.android.support:support-core-utils:27.1.1
com.android.support:support-fragment:27.1.1
com.android.support:support-vector-drawable:27.1.1
com.google.code.gson:gson:2.8.4 **<-This should not be updated**

Your Environment
Gradle 4.9 and 4.8
Android Studio 3.2 Canary 16
Android Gradle Plugin 3.1.0

What you observe is the expected behavior.
Dependency locking can only lock a valid resolution result - that is something that would be resolved even without locking present.
When you upgrade supportLibraryVersion and gsonVersion, you tell Gradle to update multiple libraries. And so when you resolve with relaxed locking, to allow for upgrades, all these libraries are indeed upgraded.
Also since you use only fixed versions, locking will only be useful in your case if these libraries themselves have dynamic versions declared.
Does this clarify the expected outcome?

@ljacomet I understand what you say. But I still have a question. Lets say I have 2 modules with dynamic version, I publish version 1.2.0 and 2.2.0 respectively and then consume them as so
api ("com.package:module1:1.+")
api ("com.other.package:module2:2.+")

I lock my dependencies and the lockfile should look something like this
com.package:module1:1.2.0
com.other.package:module2:2.2.0

I then realize that module1 has an issue and publish a patch therefore having a version 1.2.1 and since time has passed, module2 now has a version 2.3.0 that I don't want to use.
So, to update the lock I run ./gradlew dependencies --update-locks com.package:module1 would this update module2 as well?
If so, what the idea of specifying which modules I want to update?
And if not, why does it update both in the case I have static versions? I only want to update those I told gradle to via the command

In that case the command will behave as you expect: only com.package:module1 will get a newer version.
To be complete: if com.package:module1:1.2.1 had itself a dependency on com.other.package:module2 in a version higher than 2.2.0 then it would be updated as well.

@ljacomet I have testes this and you are right. I just have one more question then, lets say I have locked with version 1.2.0 for module1, I proceed to publish versions 1.2.1 and 1.3.0 and the update the locks (always using 1.+ as the version). What version will the lock take?

Thanks for you help, I will proceed to close the issue


🐛 BUG: request.body hangs for long time (5 minutes) when uploading files of small size (~3-5MB)

Which Cloudflare product(s) does this pertain to?
R2, Workers Runtime, Wrangler core
What version(s) of the tool(s) are you using?
3.15.0 [Wrangler]
What version of Node are you using?
v18.12.1
What operating system are you using?
Mac
Describe the Bug
I am trying to upload photos from the browser to my cloudflare worker. I then store these files in R2.
The rough code is:
await env.R2_BUCKET.put(key, request.body, {
          httpMetadata: {
            contentType,
          },
        }) ;

Local development with Wrangler:
When the body is of size ~500KB or less it works fine and as expected. When the body is >~500KB (like a 3.9MB photo), it will hang on this line for ~5 minutes before completing.
I uploaded my worker to Cloudflare and then tried again and it works as expected and has no issues uploading a 3.9MB photo, so it seems like it is just with local development. I am not sure what is causing this issue, but it makes developing with R2 locally more difficult.
Let me know if I can provide any other information.
Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
No response

Hey! 👋 Thanks for raising this issue! I'm unable to reproduce this locally with a 3.1MB HEIF photo, the following script...

export default {

  async fetch(request, env, ctx) {

    await env.BUCKET.put("key", request.body, {

      httpMetadata: {

        contentType: request.headers.get("Content-Type") ?? undefined

      }

    });

    return new Response("uploaded");

  }

};

...npx<EMAIL_ADDRESS>dev, and curl http://<IP_ADDRESS>:8787 --data-binary @./big-image.heic. 🙁
Would you be able to share a minimal reproduction repo?

Interesting. Let me try to put together a Repro. Thanks for taking a look.

hi @AAAstorga ! we haven't heard from you in a while, so we’re going to close this issue for now. If this is still a problem, please feel free to open a new issue referencing this one. please be sure to include an updated summary, repro, and any other additional relevant details and we will revisit and investigate further. thanks!


Correction to table formula shown for Upper.Height in top third of screen

Where the article mentions splitting Upper.Height into the top third of the page, the table shows Upper Height formula as Parent.Height / 2. This should be Parent.Height / 3 (as the diagram underneath table shows)
https://docs.microsoft.com/en-us/power-apps/maker/canvas-apps/create-responsive-layout#:~:text=To create that effect%2C you'd need to update the Height property of the Upper control and the Y and Height properties of the Lower control. Instead%2C consider writing the formulas for the Lower control in terms of the Upper control (and itself)%2C as in this example%3A

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 73233c3d-8bfe-eadc-5b8a-264742ec7045
Version Independent ID: a34dc40d-9d6e-33b2-7e61-0c46a71d3608
Content: Create responsive layouts in canvas apps - Power Apps
Content Source: powerapps-docs/maker/canvas-apps/create-responsive-layout.md
Service: powerapps
Sub-service: canvas-maker
GitHub Login: @emcoope-msft
Microsoft Alias: emcoope

Thanks for your comment, @miiiaptyltd. This issue has been assigned to the doc author for review.


System language needs to be in english for Windows Hypervisor Platform to be detected

I tried the solution for the support of Google Android emulator in visual studio preview 15.8.0 Preview 1.1.
Did everything but the message in visual studio preview was still to enable Windows Hypervisor Platform.
In french, the feature name is "Plateforme d'hyperviseur windows"(As i remember).
I thought that it might be the problem so I switched my system language to english and every thing worked after.
You might need to look into this bug since it should be easy to fix.
So far everything works great.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4e37d642-2051-8d70-9968-dfb484122a6a
Version Independent ID: 178ea80c-2b99-0c44-eeb6-9db319439b33
Content: Android Emulator Hardware Acceleration - Xamarin
Content Source: docs/android/get-started/installation/android-emulator/hardware-acceleration.md
Service: unspecified
Product: xamarin
GitHub Login: @mgmclemore
Microsoft Alias: mamcle

Hi @NadeauJessy, this repository is only for documentation-specific issues. If you think you've found a bug, please report it at Developer Community (click Report a problem). Thank you!

Changing the system language to english did the trick for me as well. I couldn't even find the checkbox for "Windows Hypervisor Platform" with system language set to Slovenian.


gltfio: enable specular AO to "fix" #1870

Sorry I haven't answered your question yet, I need to take a look at the lighting math used by Three and Babylon.

Wait, did you confirm that's the right fix? Do other engines apply AO to the specular term? This is not what this feature does. It computes a different AO term for specular based on the diffuse AO term but it's not the same value.

Doh!   I'll revert this since it needs further investigation.

Reverted on master.

Ok, I think we can re-merge this PR, based on this finding in ThreeJS:
reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );

The ambientOcclusion term in the above snippet seems to be a simple diffuse AO quantity:
float ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;

Oh, and their implementation of computeSpecularOcclusion looks ours except that they clamp it.
What do you think Romain?  Apologies for my trigger happiness.

SG then! I wish this was part of the spec…


Load altitude profile data from a static file instead of CartoDB

Since we're using static case study data, we should host all data as a static file and load that one at the start of the visualization, instead of querying the data for each 20 min timeframe from CartoDB. That will 1) reduce the number of calls and 2) make the visualization run completely from GitHub, independent from CartoDB.

[x] Aggregate all data in CartoDB
[x] Upload aggregated data in GitHub
[x] Document data
[ ] Read data using D3
[ ] Remove CartoDB code
[ ] Test

The visualization currently expect JSON, while the file I uploaded is currently a CSV (which makes it accessible to a wide audience). If necessary, I can upload a JSON instead. Let me know.

While investigating this issue, I came to realise that the viz treats all date times as UTC. So the time in the text field will differ 2 hours from local time.

Fixed in the refactor: 605e94ec1acdd65b9037b6cf4d688acbec821864


Add new task = add new person

When a person is not in the DB, when adding this person as a role in a workshop, we (admins) need to switch to another tab, open the 'new person' form, add the person and then go back to the workshop and associate a role with that person. This had sense when, in the past, we had the ambition of creating persons with a lot of other useful details. This ambition has been, I guess, hindered by reality (lack of time) and privacy considerations.
It would be excellent, if we still want to associate names with roles, if the new person could be added to the DB from the 'add task' box in the workshops.
What do you, @sheraaronhurt and Aleks Nenadic think?
Thank you for submitting this issue to AMY.  If this represents an urgent problem such as AMY not loading at all, please contact<EMAIL_ADDRESS>so we can respond promptly.
Non-urgent issues will be reviewed weekly by @maneesha.  She will follow up here with you and/or other team members if more information is needed. Issues will be prioritized, considering whether they identify broken features, identify potential enhancements to existing features, or request implemention of entirely new features.
After prioritizing, one of the following will happen:

High priority issues will be included in an upcoming work cycle and labeled for an existing milestone.
Medium to low priority issues will be considered for a future work cycle and labeled "later."  These will be re-reviewed periodically to consider them for an upcoming work cycle.
Issues that are stale, redundant, or are otherwise assessed not to positively impact user workflows will be closed and labeled "wont-fix"

Comments in the issue itself will provide further context. Please contact<EMAIL_ADDRESS>with any questions.  Thank you again for your contribution and helping us improve AMY.

Closing as a duplicate of #1564


I needed some people to help me test it out with the new version

sure! what can i do ?

I invited you! I'll tell you there

(also your repl username was hard to find, but I got it)

@darkdarcool - lmfao, thanks!

lol, also jb, can you help me test!

uh, im busy rn, maybe later? sorry!

ok!

also @IcingHackz, if you can't find the ping<EMAIL_ADDRESS>

ok thanks!

can i do it a bit later cuz im currently in class :P

ok. Just tell me when you're on


Tetsuya Yamamoto: Watch cheapkeystore.com

Tetsuya Yamamoto requests the watch of the watch_keyword cheapkeystore.com. See the Metasmoke search here and the Stack Exchange search here.

cheapkeystore.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Coverage remained the same at 65.446% when pulling 8617e540f3d9798c191777d4168aa36936139bf3 on auto-blacklist-1513905712.983361 into 494c31cace96c67bf43fa8182d35d185881b3426 on master.

!!/approve


Notification and approval of farmer edition when done by a staff member

Description
#Motivation
Moses wants to approve the changes made by his employees because they tend to make mistakes when changing farmer data
#Finish Line

Incoming changes by employees get stored in the DB as change requests
Incoming changes by admins are accepted directly
BE sends notification to FE that changes are pending (Stretch: Real-time)
BE has endpoint to retrieve change-requests, only accessible for admins

Checklist
Remove any items which are not applicable.

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works AND the tests pass

Changed to Readyy-for-review now. We still miss some tests but will implement them in another PR, to accelerate deployment and FE-related work


Custom challenge not correctly decoded in expectedChallenge

It's not clear how to pass then verify the custom challenge from server to client, then back to server, in the library.
I'm providing:

to generateRegistrationOptions a challenge hello string which is encoded for the client as aGVsbG8
to verifyRegistrationResponse an expectedChallenge hello which throws with Error: Unexpected registration response challenge "aGVsbG8", expected "hello"

What is the intended way to verify the challenge defined plain in generateRegistrationOptions?
Shouldn't verifyRegistrationResponse decode properly the challenge returned back?
For now I'm currently working around it with this:
  const verification = await verifyRegistrationResponse({
    response: ctx.request.body,
    expectedChallenge: base64url.encode('hello'), // encode challenge
    expectedOrigin: origin,
  });

Are you using something other than @simplewebauthn/browser on the front end to process and pass the options to navigator.credentials.create()? Because I did the following and it worked just fine:
// Options
const options = await generateRegistrationOptions({
  // ...
  challenge: 'hello',
});
req.session.currentChallenge = options.challenge;

// Browser
// Feed `options` into @simplewebauthn/browser's `startRegistration()`

// Server
const verification = await verifyRegistrationResponse({
  // ...
  expectedChallenge: isoBase64URL.fromString('hello'),
});

Though honestly I hardly ever recommend specifying your own value for challenge. It's supposed to be unique on every registration and authentication, and never reused, so I advise letting my library handle it by omitting a value for challenge when calling generateRegistrationOptions().

Hey @MasterKale - First of all, thank you for building this out! It's such a strong tool that abstracts webauthn beautifully.
On the topic of this issue, I had similar initial thoughts to @damianobarbati. I was mostly surprised by the interface requiring me to base64 encode the challenge when it was not base64 encoded on calling generateRegistrationOptions().

Though honestly I hardly ever recommend specifying your own value for challenge.
In my case, I have an existing challenge flow, so it's more natural to bring my own challenge (that's not to say it couldn't be refactored, but not ideal).

This sounds like a legitimate use case for specifying your own challenge argument when calling generateRegistrationOptions(). But is there something preventing you from persisting options.challenge afterwards to use later in verifyRegistrationResponse()?

The lift is pretty low to do this! I think the larger callout here is that two separate parties ended up coming to the same workaround, which felt like the most "natural" fix for us.
My general thought process for challenge-based auth is:

Generate and store a reference to the challenge
Build the message with generated challenge (generateRegistrationOptions)
Return the message for the client to sign

My choice to persist my own challenge immediately after generation felt more natural, and I view generateRegistrationOptions as more of a challenge formatter than something that will transform the input challenge.
This isn't something that I was planning on calling out, but I noticed the issue already existed, so I figured it may be helpful to add my own 2c here.

For the majority of users, if you use SimpleWebAuthn as documented then you won't have to know to base64url-encode your challenge value when you pass it in as expectedChallenge.

Agreed!

Thank you for the feedback @payton and @damianobarbati, honestly. It's good for me to review older code like this from time to time and practical problems like the one that you both independently came upon are perfect for helping me frame potential improvements.

My general thought process for challenge-based auth is:

Generate and store a reference to the challenge
Build the message with generated challenge (generateRegistrationOptions)
Return the message for the client to sign

This totally makes sense to me. I think I can do better for more advanced use cases like yours' without sacrificing the ease-of-use for the majority of users who don't want/need to otherwise bother with challenge generation.
I'll noodle on this over the holidays, see what comes to mind 🦃 🎄

I did some brainstorming today and I can't yet see a win-win scenario.
First I considered stopping base64url-encoding challenge values in generate...Options() methods when they're strings. That would enable RP's, like you, to specify the same value (e.g. "hello") for challenge and expectedChallenge when calling @simplewebauthn/server methods.
However, authenticators always return the challenge bytes as base64url-encoded in clientDataJSON:

Thinking ahead a little bit, I could see this being a potential trade-off during debugging. It's easy to take a WebAuthn response, paste it into https://debugger.simplewebauthn.dev, and copy-paste the value needed for the expectedChallenge argument. If expectedChallenge was modified to be the base64url-decoded value instead, though, then that would require RP devs to know to decode clientDataJSON.challenge to confirm the challenge they passed in as challenge when generating options. I guess I could update the debugger to do that work for me (...and maybe this particular issue I'm foreseeing is a "me" problem that'll make it less straightforward for me to confirm issues that people open here 🤔)
Looking at the history of this project, the expectedChallenge arguments in both verification methods have been documented in the code with this description since July 2020 (way back in #42):

The base64url-encoded options.challenge returned by generateRegistrationOptions()

(emphasis mine)
Making changes to accommodate your specific use case isn't a clear winner in my book, so at this moment in time I'm not inclined to make any functional changes to support it. As
I'm open to suggestions for how I might improve documentation to communicate the need to base64url-encode custom challenges, though. Perhaps something under Advanced Guides in the docs? It could more explicitly document what we talked about in here, about needing to use isoBase64URL.fromString() when feeding your custom string value for challenge in as expectedChallenge later 🤔

I've added a new Advanced Guide on how to use custom strings as challenges, including during verification. It captures the learnings from this issue in a way that should hopefully help clear this up for others who have similar use cases as yours:
https://simplewebauthn.dev/docs/advanced/server/custom-challenges#use-a-custom-string-for-challenge


Add Textastic Code Editor

Add Textastic to "Development"

[x] Entry is formatted according to the proper template
[ ] Table of contents has been updated (if needed).
[x] Contents within each section have been sorted alphabetically.
[x] All relevant App capabilities are listed, with :white_check_mark: (see template)
[x] All available links to the App Store / Github / Testflight / Twitter are included (see template)
[x] The AUTHORS file has been updated

Thank you!