Refactor | logging for src ip

Fixes : #71

Integration tests are failing because :
Well interesting enough, same {:ipv4} formatter is behaving differently for icmp. Basically its loosing 2 values in last octect of ip address. Ex. instead of printing <IP_ADDRESS> its printing <IP_ADDRESS>. I am trying to figure out whats the issue.

Integration tests are failing because : Well interesting enough, same {:ipv4} formatter is behaving differently for icmp. Basically its loosing 2 values in last octect of ip address. Ex. instead of printing <IP_ADDRESS> its printing <IP_ADDRESS>. I am trying to figure out whats the issue.

Sounds good thanks for looking into it @rushi47. If it ends up looking like there's something wrong on the aya-log side, would definitely encourage you to submit an issue there (https://github.com/aya-rs/aya/issues/new). They also have a discord server which is active and helpful as well. Let us know if you get stuck, and how we can help you!

Integration tests are failing because : Well interesting enough, same {:ipv4} formatter is behaving differently for icmp. Basically its loosing 2 values in last octect of ip address. Ex. instead of printing <IP_ADDRESS> its printing <IP_ADDRESS>. I am trying to figure out whats the issue.

Sounds good thanks for looking into it @rushi47. If it ends up looking like there's something wrong on the aya-log side, would definitely encourage you to submit an issue there (https://github.com/aya-rs/aya/issues/new). They also have a discord server which is active and helpful as well. Let us know if you get stuck, and how we can help you!

Thank you shane, i was looking at code for aya log yesterday for formatter and tried to test it, with what they do internally it looked fine. But yes if this doesn't work I will raise issue.

One last thing, @rushi47 we are configured to required signed commits, if you could please rebase and sign your commits we can then merge. Here's a help doc if needed: https://docs.github.com/articles/about-gpg/

Done @shaneutt  I rebased and pushed again. Looks like our co-authered commits are unable to be verified. When I however it shows verified for me. Please lmk if anything else is needed.


Fix problems with deprecated atom.workspaceView

Changes according to https://atom.io/docs/v0.186.0/upgrading/upgrading-your-package
Fixes #65 and #52

:+1:

@imanel Thanks.


/home/threadfin not properly mapped in container volume

Please first read the documentation. Problems affecting the client, e.g. Plex or Emby should be reported there in the forum.
Describe the bug
A clear and concise description of what the bug is.
Weird one. When creating a container with :
docker run -d  \
  --name=threadfin  \
  --restart=unless-stopped  \
  -e PGID=1000 -e PUID=1000  \
  -v /opt/threadfin:/home/threadfin  \
  -v /etc/localtime:/etc/localtime:ro  \
fyb3roptik/threadfin

/opt/threadfin ends up with incorrect stuff in it, which causes threadfin not to run.
Server (please complete the following information):

OS [e.g. Linux - Ubuntu]

Ubuntu

Arch [e.g. Intel 64 Bit]

64 bit

Threadfin Version and Build [to be found in the Threadfin log]

1.0 Build: 10
To Reproduce
Run above container command
Expected behavior
Volume is mapped properly and threadfin runs
Screenshots
$ docker logs threadfin
/bin/sh: /home/threadfin/bin/threadfin: not found
/bin/sh: /home/threadfin/bin/threadfin: not found
/bin/sh: /home/threadfin/bin/threadfin: not found
/bin/sh: /home/threadfin/bin/threadfin: not found
/bin/sh: /home/threadfin/bin/threadfin: not found
/bin/sh: /home/threadfin/bin/threadfin: not found

$ find /opt/threadfin/
/opt/threadfin/
/opt/threadfin/conf

I've found the same thing. I can't set the variable so that I can control where the config is stored. Causing similar log issues to you

Sorry I am not one to use Docker. There are plenty of docker peeps in the discord who are better suited to help. If there is a bug I will put it here and work on it

Sorry I am not one to use Docker. There are plenty of docker peeps in the discord who are better suited to help. If there is a bug I will put it here and work on it

Where can we find the Discord server?

I dunno if this was resolved on discord, but the only volumes exposed in the Dockerfile are

/home/threadfin/conf
/tmp/threadfin

so you'll want to do -v /opt/threadfin/conf:/home/threadfin/conf instead.

This is great, thank you so much. I really appreciate it
--
Nygel Weishar
Toronto, Ontario
416-880-4733

From: beardypig @.>
Sent: Thursday, June 1, 2023 5:20:43 AM
To: Threadfin/Threadfin @.>
Cc: nweishar @.>; Manual @.>
Subject: Re: [Threadfin/Threadfin] /home/threadfin not properly mapped in container volume (Issue #70)
I dunno if this was resolved on discord, but the only volumes exposed in the Dockerfile are

/home/threadfin/conf
/tmp/threadfin

so you'll want to do -v /opt/threadfin/conf:/home/threadfin/conf instead.
—
Reply to this email directly, view it on GitHubhttps://github.com/Threadfin/Threadfin/issues/70#issuecomment-1571671610, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2JLMXKOF7ZVSMPZA67ZENDXJBNGXANCNFSM6AAAAAAX5SVDGI.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Hi,
So we only use  -v /opt/threadfin/conf:/home/threadfin/conf ? No temp?
Regards
Fredrik
Den tors 1 juni 2023 kl 12:46 skrev nweishar @.***>:

This is great, thank you so much. I really appreciate it
--
Nygel Weishar
Toronto, Ontario
416-880-4733

From: beardypig @.>
Sent: Thursday, June 1, 2023 5:20:43 AM
To: Threadfin/Threadfin @.>
Cc: nweishar @.>; Manual @.>
Subject: Re: [Threadfin/Threadfin] /home/threadfin not properly mapped in
container volume (Issue #70)
I dunno if this was resolved on discord, but the only volumes exposed in
the Dockerfile are

/home/threadfin/conf
/tmp/threadfin

so you'll want to do -v /opt/threadfin/conf:/home/threadfin/conf instead.
—
Reply to this email directly, view it on GitHub<
https://github.com/Threadfin/Threadfin/issues/70#issuecomment-1571671610>,
or unsubscribe<
https://github.com/notifications/unsubscribe-auth/A2JLMXKOF7ZVSMPZA67ZENDXJBNGXANCNFSM6AAAAAAX5SVDGI

.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/Threadfin/Threadfin/issues/70#issuecomment-1571808925,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACAOJ4S5EEFQVW2GA6WCLQTXJBXHBANCNFSM6AAAAAAX5SVDGI
.
You are receiving this because you commented.Message ID:
@.***>

@fredamn76 I only map the conf directory, I do not think there is an advantage to mapping the temp directory - but I don't actually know what is stored there.

Ok. Thank you.
Regards
Fredrik
Den tis 6 juni 2023 09:42beardypig @.***> skrev:

@fredamn76 https://github.com/fredamn76 I only map the conf directory,
I do not think there is an advantage to mapping the temp directory - but I
don't actually know what is stored there.
—
Reply to this email directly, view it on GitHub
https://github.com/Threadfin/Threadfin/issues/70#issuecomment-1578102194,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACAOJ4W4NIEKCZNTWWHDI7TXJ3NP3ANCNFSM6AAAAAAX5SVDGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

@fredamn76 I only map the conf directory, I do not think there is an advantage to mapping the temp directory - but I don't actually know what is stored there.

This is so you can set the buffer to reside in memory.

you should not map /home/threadfin as that's where the threadfin application exists within the docker container - mounting a volume there will obscure the entire threadfin application from the docker container - as indicated by /bin/sh: /home/threadfin/bin/threadfin: not found.
you should instead map your volume to /home/threadfin/conf.
FWIW, I map threadfin:/config and set an environment variable -e THREADFIN_CONF=/config for consistency with lsio containers.


Temporarily removed dpi scaling

For the settings the setting was moved after the init.
In the SimpleR DPI scaling needed to be activated.
Fixes #3

The Problem still exists when compiling 'compile with options'.
F5 and build without any options will not overlap the lables.
This problem is maybe caused by the Au3Stripper

Please comment out _Metro_EnableHighDPIScaling()  in both files for now

Removed the calls completely as they can always be restored and leads to less code pollution/noise.

Is somethingmissing @GerRudi?
Or can it be merged and closed

Closed as already merged in dev


Update refreshable.md

Replaced './tokens.json' with path.join and replaced 'UTF-8' with 'utf8' which is currently correct version.

Type: Improvement

Fixes:

Added path.join to resolve the tokens.json
Changed 'UTF-8' to supported by @types/node 'utf8'

Using './tokens.json' as resolvable path for the file is not the best practice and may cause issues while using with fs. Path.join repairs this issue.

Please read the pull request template's comments and follow protocol.


Add in home for my tools

Adds in a homepage for tools.my.wisc.edu

outside of my normal, you forgot a new line at the end of one of your files
:P
:+1:


(fleet) reduce path length by 9 chars: site -> s, cluster -> c

fleet will truncate long path names when generating bundle names and then append a hash.  This makes it difficult to map the live bundles back to the correct path in the git repo.  As an attempt to fend off this problem, we are reducing the number of characters in the path name by 9.

/FYI @fbegyn


login error tips do not work on the login page when logining error

I have found that code like this(AuthenticationViaFormAction.java):
messageContext.addMessage(new MessageBuilder().code("error.invalid.loginticket").build());
I think severity (property of MessageBuilder) should be set like this:
messageContext.addMessage(new MessageBuilder().code("error.invalid.loginticket").error().build());
above code will be work good for error tips when login error
I'm sorry my fork code is dirty(I have modify some places just for my project) to pull, so just submit some bugs I found.
I will organize a new branch code to pull when I find some issues next time. :-)

source tag : v4.0.0

Thank you for the report. I have confirmed this and will post a pull shortly.


Fixed #24748 -- incorrect GROUP BY on MySQL in some queries

When the query's model had a self-referential foreign key, the 1.8
compiler.get_group_by() code incorrectly used the self-referential
foreign key's column (for example parent_id) as GROUP BY clause
when it should have used the model's primary key column (id).

Rebased + applied suggestions from Simon in https://github.com/django/django/pull/4643.


Simplify interface of Google examples and fix the name and comment of userName variable

@demobox Can this be closed?


Rspec::Core::Example::ExecutionResult has no status

Hi I am trying to find a way to let Rspec fail fast on some given examples(test will abort when one of those tests fail, and won't execute the rest tests)
Now, I used this way
after(:each) do |example|
if example.fail == true && example.is_the_target_example
exit(1)
end
However, I cannot find a way to check the result for a given example, I checked this official document http://www.rubydoc.info/gems/rspec-core/RSpec/Core/Example/ExecutionResult#status-instance_method But when I do example.execution_result.status, it returns nothing.
Here is the yaml format result for example.execution_result.to_yaml
--- "#<RSpec::Core::Example::ExecutionResult:0x00555a8887e550 @started_at=2017-11-01
  10:48:30 -0700>"

While after hooks are separate code blocks from the "main" example code block (e.g. an it block), they are still considered to be part of the example, and a failure in an after hook makes the example fail just like if there was a failure in an it block.  Therefore, the example is not yet complete when an after hook runs, so we haven't yet set the status.
If you need access to the result of each example, you're better off writing a custom formatter.  They get access the completely filled in example execution result.


feat: clone submodules to deploy java smart contracts

Description:
Currently the submodules are not cloned while running the deployment to uat ci. With this change, the submodules are also cloned to fix the error currently CI is having.
Commit Message
feat: clone submodules to deploy java smart contracts

see the guidelines for commit messages.
Changelog Entry
version: <log entry>

Checklist:

[X] I have performed a self-review of my own code
[ ] I have documented my code in accordance with the documentation guidelines
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have run the unit tests
[X] I only have one commit (if not, squash them into one commit).
[X] I have a descriptive commit message that adheres to the commit message guidelines

Please review the CONTRIBUTING.md file for detailed contributing guidelines.

looks good.


[BUG] Unable to Set the Eviction Policy of VMScaleSet without setting the Priority to LOW

Describe the bug
In Azure-sdk-for-Java, during creation Spot VirtualMachine ScaleSet, there is semantic bug where if the customer wants to set the EvictionPolicy to DELETE/DEALLOCATE for SPOT Priority VMScaleSets, first the Priority needs to be set as LOW, then set the Eviction Policy and then again change the Priority to SPOT.
Exception or Stack Trace
Add the exception log and stack trace if available
To Reproduce
Steps to reproduce the behavior:
Code Snippet
scaleSet
.withLowPriorityVirtualMachine(VirtualMachineEvictionPolicyTypes.DELETE)
.withVirtualMachinePriority(VirtualMachinePriorityTypes.SPOT)

Expected behavior
The expected snippet should be like this
scaleset
.withVirtualMachinePriority(VirtualMachinePriorityTypes.SPOT)
.withVirtualMachineEvictionPolicy(VirtualMachineEvictionPolicyTypes.DELETE)

Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):

OS: [e.g. iOS]
IDE : IntelliJ
azure-sdk-for-java version 1.33.0

Additional context
The issue is due to the following definitions.
https://github.com/Azure/azure-sdk-for-java/blob/252366a5ad9432c7dfb29c89547b0d24d18c3e2d/sdk/compute/mgmt/src/main/java/com/azure/management/compute/VirtualMachineScaleSet.java#L1514-L1537
https://github.com/Azure/azure-sdk-for-java/blob/252366a5ad9432c7dfb29c89547b0d24d18c3e2d/sdk/compute/mgmt/src/main/java/com/azure/management/compute/implementation/VirtualMachineScaleSetImpl.java#L2369-L2380
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[ ] Setup information Added

Per email, we'll work on this on Track1 SDK.

@sandeepkv93 I just create a PR to support your request. Please feel free to review and share your comments.
As expected, you can use either
scaleset
.withVirtualMachinePriority(VirtualMachinePriorityTypes.SPOT)
.withVirtualMachineEvictionPolicy(VirtualMachineEvictionPolicyTypes.DELETE)

or
scaleset
.withSpotPriorityVirtualMachine(VirtualMachineEvictionPolicyTypes.DELETE)

From FAQ of https://azure.microsoft.com/en-us/pricing/spot/

The preview of Azure low-priority VMs on scale sets has been discontinued and has been retired as of February 3, 2020. Spot VMs have replaced Azure low-priority VMs and will include new capabilities, such as variable pricing. Spot pricing is also available on both single VMs and VMSS.

Maybe we should deprecate withLowPriorityVirtualMachine and replace it with withSpotVirtualMachine, and continue the flow with withVirtualMachineEvictionPolicy.
So this might not be a good idea, since REGULAR follow by DELETE probably is not valid.
scaleset
.withVirtualMachinePriority(VirtualMachinePriorityTypes.SPOT)
.withVirtualMachineEvictionPolicy(VirtualMachineEvictionPolicyTypes.DELETE)

Thanks @weidongxu-microsoft for sharing this.
I just checked swagger changes and find the updated descriptions as below

Specifies the priority for a standalone virtual machine or the virtual machines in the scale set.  'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.

It was updated on Nov 2019. Not sure if we need to remove LOW from VirtualMachinePriorityTypes as it has been retired as of Feb 3, 2020. Otherwise we just add deprecate annotation on each LOW priority related place.

If we can still create LOW priority VM then it might not be totally disabled, so Deprecate might be valid here. If we cannot even create it then we could delete it at all.

After running the test, low-priority VM still can be created. So it would be better to add Deprecate for now. I have updated both vm and vmss.

@xccc-msft LGTM. Approved the PR.


Street Preview for experiences or routes from the Authoring Tool

Provide the ability to virtually preview a route or an experience generated from the Authoring Tool.
This will enable, for example, O&M specialists, to support their clients more effectively by virtue of being able to familiarise themselves with a route, or a section of a route, as part of their skills development.

@jchudge can you post a simple authored experience to use as a test case for this, and a pointer to documentation on how to load it, for whoever ends up trying a hand at this?
Some technical thoughts on how this could be done: Authored activities and street preview are two different "callout behaviors" in Soundscape, found within apps/ios/GuideDogs/Code/Behaviors/ under "Guided Tour" and "Preview" respectively. We could create a new "Guided Tour Preview" behavior that merges these two. Although it won't be trivial, the code for these two behaviors are fairly self-contained into a small number of files, which might make them easy for even a new person to wrap their mind around.


GEODE-5665 gradle task checkPom for subprojects

checks generated Poms against and expected file
Co-Authored-by: Finn Southerland<EMAIL_ADDRESS>Co-Authored-by: Jacob Barret<EMAIL_ADDRESS>Check POM using gradle task.
Authored-by: Finn Southerland<EMAIL_ADDRESS>Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[x] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[x] Is your initial contribution a single, squashed commit?

[x] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

@rhoughton-pivot @PurelyApplied @metatype

A more verbose commit message would help me understand this better.  Can you explain the intent and usage?
If I add a new dependency, how many files do I need to change?

the expected poms
the assembly files checker
the classpath checker
the expected jar checker

Ugh :-)

The intent, along with all the other similar tests, is to make sure that there isn't any unintentional changes in dependencies. Minor changes to Gradle can result in major changes in dependencies. This and other tests will catch these changes before they get released on accident and cause issues downstream.
Unfortunately it does mean that when a dependency is changed intentional some additional work must be done to update these expected results files. I think the cost is worth the protection. If we find it too onerous in the future we could add a resetChecks target that automates the copy and reset of these results files.


Remove SIMD Feature

Which issue does this PR close?

Closes #46
Closes #54
Closes #2856
Rationale for this change

#5100 removed the last major use of SIMD, so we can now remove this feature. I debated deprecating things first, but this got complicated as you can't really deprecate a trait, so I figured I would at least propose just ripping the band-aid off in one.
What changes are included in this PR?

Are there any user-facing changes?

Ok, that then also fixes #5185 which I just created :)


Update user minimum password length

Resolves #5267.

As we discussed recently on slack, lets add a max password length while we're at this, just to avoid anything too absurd. Max length 50? 100?


Ft/s3 c 1155 put bucket lifecycle

Implements the S3 API for put bucket lifecycle
Depends on https://github.com/scality/Arsenal/pull/389

PR has been updated. Reviewers, please be cautious.


Use UI dialog of particular type when more than 2 options

First of all, thanks for the great plugin and the time you spent developing it. Sorry if some of my text is worded impolitely. I am not a native speaker and cannot formulate my thoughts as I would like.
When i enable Clojure LSP "choose" popup window changes to this type

If i switch off Clojure LSP and stay with Cursive only popup in same place looks like this

But i don't think it's something Cursive special, looks like different types of embedded IDEA popup window.
And for recently added feature #31 it's third type of dialog in same in my taste situation

The second type of dialogue is quite convenient to use because it has many options for customization to suit every taste. If it's not too difficult, you can turn it on as the default option in Clojure LSP.

I know about that difference and the problem is that we are kind of making magic since IntelliJ CE doesn't support LSP in a easy way, so for now this is the best popup I could make it work, but indeed the second popup is the ideal, if you find a way to improve this LMK, I can check it again in the future

Thanks @velios, I use this tool but JBScrollPane is just a scroll panel, also the problem here is not building the UI, I managed to build a similar UI, but the problem is how to integrate with the goToDeclaration API


Issue with DWM with Polybar

Describe the issue
I did follow the instructions in this repo to add Polybar to my dwm. So I applied all my patches to dwm first then anybar patch and finally IPC patch. Restarted my sys and I could see the polybar. It all worked fine.
But as soon as I made some more changes to my dwm's config.def.h(basically renamed my tags) and re-built my dwm, suddenly dwm's tags wont show up on Polybar. I could still see other modules even after system restart.
Expected behavior:
Should show tags even after applying patches after IPC patch

What actually happens

To Reproduce
DWM build - https://github.com/gitneeraj/dwm_polybar
Polybar config - https://github.com/gitneeraj/dotfiles/blob/master/polybar/config
Environment:

WM: DWM
Distro: Artix linux with OpenRC init
Output of polybar -vvv:

polybar 3.4.0-197-g62fca24

Features: +alsa +curl +dwm +i3 +mpd +network(libnl) +pulseaudio +xkeyboard

X extensions: +randr (+monitors) +composite +xkb +xrm +xcursor

Build type: Release
Compiler: /usr/bin/c++
Compiler flags: -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wextra -Wpedantic -O3 -DNDEBUG
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

i have a similar issue, a quick fix that worked for me was starting polybar after dwm when Xorg starts. my .xinitrc calls a script before dwm (running in background with &) that sleeps for a second, then starts polybar as per my usual config.
this is by no means a solution, though.

Yes, at the moment even i am handling the same way.

If the problem is polybar starting too early, the ugly solution is just extending the delay before polybar starts. However, since there are many people who are reporting this issue, I may have a solution.
If dwm launches polybar after it is ready and initialized, then this issue shouldn't happen and there would be no need for hardcoded delays. Now the question is, does this type of patch already exist? If not, would this patch make most sense as:

A standalone patch
Part of dwm-anybar
Part of dwm-ipc

I'm leaning towards a standalone patch, since this can be helpful in numerous situations and I'd rather not force people to use these other larger patches for this simple purpose.
I'll take a look to see if something like this already exists. If not, I might have something ready by the end of the day. I'll also update the README with "launching polybar" instructions.

So, I found this patch which seems to already do what I'm talking about:
https://dwm.suckless.org/patches/autostart/
If you add your polybar start command in ~/.dwm/autostart.sh after applying the patch, it should fix this issue. Try that and let me know if it works.

See commit
https://github.com/mihirlad55/dwm-anybar/commit/6a8285817494ebd8b12605baebd8d924820670e0

Since the autostart patch is a bit more than what would be necessary to simply launch a bar, I decided to add a quick update to dwm-anybar that allows you to specify the path to your bar launch script. This method of launching should ensure that the bar does not start too early. Let me know if this works for you. As of right now, two fixes for this issue are:

autostart patch
anybar patch

I've updated the README as well with instructions. See commit 8f5015d

Let me know if you guys are satisfied with these solutions. If I don't hear back soon, I'll be closing this issue.


NOJIRA: make the unit tests work

Updated the API and test definitions so the unit tests successfully run

/hold waiting on #3


Assigning Address driver options

Adds the ability to give driver options when assigning an address.
Also when assigning the ipam gateway address pass the options bellow
{
  "gateway": "true"
}

This will allow ipam drivers to detect whether an address belongs to a gateway or not.
Currently under CreateEndpoint options are set to nil. This should be changed once EndpointOptions contains driver options for the endpoint it self and driver options for its address.
Signed-off-by: Ryan Belgrave<EMAIL_ADDRESS>

Can someone poke CI? It timed out

@aboch How does that look?

LGTM
ping @mrjana @mavenugo

any updates on getting this merged?

@rmb938 unfortunately, this has to wait for the next docker release.
We have to think and discuss more on the impact of Network driver vs IPAM driver for options.

Alright thanks.

LGTM.
cc @aboch

@rmb938 Something weird with the commits. Please check.

@aboch how is that?

@rmb938 Thanks for fixing the multiple commit issue.
LGTM


Help Me pls

Arduino: 1.6.9 (Mac OS X), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"
/Users/Manuel/Downloads/ESP8266HueEmulator-master/ESP8266HueEmulator/ESP8266HueEmulator.ino: In function 'void loop()':
ESP8266HueEmulator:297: error: no matching function for call to 'NeoPixelAnimator::UpdateAnimations(int)'
if ( animator.IsAnimating() ) animator.UpdateAnimations(100);
^
/Users/Manuel/Downloads/ESP8266HueEmulator-master/ESP8266HueEmulator/ESP8266HueEmulator.ino:297:64: note: candidate is:
In file included from /Users/Manuel/Downloads/ESP8266HueEmulator-master/ESP8266HueEmulator/ESP8266HueEmulator.ino:18:0:
/Users/Manuel/Documents/Arduino/libraries/NeoPixelBus_by_Makuna/src/NeoPixelAnimator.h:110:10: note: void NeoPixelAnimator::UpdateAnimations()
void UpdateAnimations();
^
/Users/Manuel/Documents/Arduino/libraries/NeoPixelBus_by_Makuna/src/NeoPixelAnimator.h:110:10: note:   candidate expects 0 arguments, 1 provided
exit status 1
no matching function for call to 'NeoPixelAnimator::UpdateAnimations(int)'
Can you Help me pls?

I think this code has to be refactored to cater for the changes in NeoPixelBus. Currently I don't have the time to do it, sorry.


Add iteration label definition to schema-mock-generator

This is needed to support iteration UI tests using mocking.

Pull request = https://github.com/fabric8io/fabric8-planner/pull/1201


refactor: Crawler/spanner instances

closes #209
ref to #153
@mxmssh @ZetaTwo

Still merge conflicts.

Resolved conflicts!


[Question]: How can I specify the storageState in the context when using "Microsoft.Playwright.NUnit.PageTest" ?

Your question
Hello I have two test that are used to login and logout a user. The first method works fine and stores the storageState. My second method opens a new tab without having anything in the storageState which then fails. Is there something I can do to use the storageState with this setup ?
namespace PlaywrightTests
{
[Parallelizable(ParallelScope.Self)]
public class LoginAndLoginTests : PageTest
// 1. test, used for login and storing state
[Test]
public async Task LoginToApplication()
{

    //var page = await browser.NewPageAsync();
    await Page.GotoAsync(_appUrl);
    await Page.WaitForLoadStateAsync(state: LoadState.DOMContentLoaded);
    await Page.ClickAsync(".btn.btn-primary");
    await Page.FillAsync("input[type=email]", _adminUserEmail);
    await Page.FillAsync("input[type=password]", _testUserPassword);
    await Page.ClickAsync("button[type=submit]");

    var title = await Page.WaitForSelectorAsync("#admin-dashboard-page");
    string titleText = await title.InnerTextAsync();

    // Putting a manual sleep so the browser has time to update the storage states
    Thread.Sleep(3000);
    // Save storage state into the file.
    var storageState = await Page.Context.StorageStateAsync(new BrowserContextStorageStateOptions
    {
        Path = "state.json"
    });

    Assert.AreEqual("Dashboard", titleText);
}

// 2. user should be logged in. ISSUE: The default functionality of PageTest is to open a new window and create a context which I'm unable to modify
[Test]
public async Task LogoutFromApplication()
{
    // Go to the homepage
    await Page.GotoAsync(_appUrl);
    await Page.WaitForLoadStateAsync(state: LoadState.DOMContentLoaded);
    await Page.ClickAsync("#nav-user-details");
    await Page.ClickAsync("#logout-btn");
    await Page.WaitForSelectorAsync("#loginbtn", new PageWaitForSelectorOptions { Timeout = 10 });

    // User should be redirected to login page
    Assert.AreEqual(_appUrl + "/login", Page.Url);
}

}
`
I have to add the code below for it to pass the test, but this opens a new browser context with the storageState. I'm wondering if it's even possible to keep using the same context for multiple test in the same file or to specify an auth without it creating a new context.
`// Create a new context with the saved storage state.
var context = await Browser.NewContextAsync(new BrowserNewContextOptions
{
StorageStatePath = "state.json"
});
var Page = await context.NewPageAsync();`

The reason for having a new page/context per test is to ensure test isolation between the tests. So if one test is failing, it does not end up that the other tests are failing when e.g. the login did not work.
You can use BrowserTest instead and create your page/context yourself in the beginning of all the tests and re-use if you want to re-use the context/page instance.
Would that work for you?

@mxschmitt All my test required authentication, so if the login does fail it won't run any other test. Overriding the context option works perfectly, I'm also using a onetime setup to login generate the storage state. Thanks!

@mxschmitt would be helpful if this was documented as well.

@j-meds @mxschmitt I have found this post and it was a long time ago but can you able to share your solution code as I am having the exactly same problem. I am new to C# and not sure best way to implement the context override when using POM. My existing code is below.
At start of my test I would like to create POM instance but also reuse stored state before navigating to the URL of the app. i understand "Browser.NewContextAsync" is the wrong thing to use in this case.
 [SetUp]
    public async Task SetUp()
    {
        DashboardPage _dashboardPage = new DashboardPage(Page);
        ReportPage _reportPage = new ReportPage(Page);
        var url = TestContext.Parameters["webAppUrl"];
        var context = await Browser.NewContextAsync(new()
        {
            StorageStatePath = "state.json"
        });
        //var Page = await context.NewPageAsync();
        await Page.GotoAsync(url);
    }

I really would appreciate your help. Thank you


fix(epoll): limit concurrency

This PR ensures that we always process epoll events with limited concurrency. Additionally, to avoid spinning the CPU in the event loop, we ensure that minimum delay is waited. This takes the processing time into consideration. Those changes produces very stable CPU times.
We should potentially expose EpollConfiguration to allow users to tweak the performance in more demanding environments.
@jensneuse I was not able to reproduce an epoll issue while handling unsubscribe events concurrently. Let me know if you have an reproduction case.

@df-wg much less goroutine management 22 system threads vs 300. CPU utilization seems to be more stable.


Group Lasso

Hi, we are very thankful for sharing this code, and we would like to apply it to a group lasso problem. We have a classification problem where the inputs are grouped in blocks all of the same sizes.
We want to adapt your code.
In our case, each input node j has k features that we would like to have the same theta_j.
One form of writing our problem is modifying the constraints In equation (2) of the Lassonet paper, just adding another index for W and leaving the rest as it is.
Do you think it's possible to make minor changes to your code to do that? Could you help us with that?

Thanks for reaching out.
There are multiple ways to do this, and we certainly have some ideas about how to take it forward.
It would be great to have a detailed problem formulation, with the specific mathematical equation. That would help clarify the meaning of "In our case, each input node j has k features that we would like to have the same theta_j."for us.
It might also be helpful to check out the Hier-Prox-GROUP algorithm in the paper. The paper has experiments for unsupervised learning/reconstruction examples. It may be possible to adapt it for Group Lasso supervised problems.

I tried some formulation of group lasso and it looks like it works.
you can test it with
pip install git+https://github.com/lasso-net/lassonet.git@group-lasso

The usage is simple: just add a groups parameter with indices of each group (you probably cannot get it wrong, I do a strict input validation).

Wonderful, it seems to work for what we want to do. We will try with our data.
Thanks a lot !


Failed toresolve fileprotocol url

I don't know why this error is happening. I can't customize the link to the local folder.

I just found a solution, choosing Link Mapping can solve it, but Folder mapping will give an error, I don't know why.


Super_Context_Menu Missing changelogs?

https://pub.dev/packages/super_context_menu/changelog
Between 0.8.0 and 0.8.4 there has only been one changelog entry (for v0.8.3 updated cargokit).
I'm currently on v0.8.2 in my project, has there been anything significant of note (mainly interested in bug fixes) between that and the latest version?
Thanks @knopp

Unfortunately melos change-log generation does not seem to play very nice with upstream dependency changes. Or maybe I'm just holding it wrong. Last few releases were mostly fixing build issues for some users on Windows.

Unfortunately melos change-log generation does not seem to play very nice with upstream dependency changes. Or maybe I'm just holding it wrong. Last few releases were mostly fixing build issues for some users on Windows.

No worries. Thanks for the info !


Optimize len for other methods

None of those actually change the shape. Ran into this while doing some tests

Fine by me.
An alternative direction (not pushing for this) would be that we start including predicates on classes like the following:
class Repartition(Expr):
    is_length_preserving = True

And then Len would just check this attribute.  This would be a bit more extensible (classes can choose to publish this fact without Len having to know about the class) but does muddy up the namespace a bit.
Again, not pushing for this.  I think that it's the kind of thing that could make sense if there are a few other predicates that would all make sense.
Thoughts?

I thought a little bit about this. Extensibility is what convinced me in the end. If users bring their own Expression, having a predicate enables them to specify their own things that will get taken into account by other expressions.

I tried resolving merge conflicts with the GitHub UI but that didn't work.  In general I'm +1.  Feel free to merge as you like.  (although hopefully after fixing the linting issue, sorry about that).


Color for already open questions in search results

Current color for already open question in search results is defined as:
.result-item.already-open {
  color: var(--colorLinkVisited);

However, the clickable search results are white and this color makes it look like the disabled item is a link.
We should find a a new color (at least for the dark scheme).

What about something purple like #c38?

@jmccuen hmm, looks interesting, but perhaps something that draws less attention to the disabled items 🤔 I was thinking one of the gray colors..
looks like I forgot to tag @ccstan99 - do you prefer blue, purple, gray, or some different solution to the disabled search results?

Ahh, I see. I originally picked the visited link color since it was already open/visited. But since it's disabled and not an actual link, that could be confusing. So #999 a medium gray will work for both dark & light scheme and also indicate its "disability".


[REQUEST] Alternate File command

If there is any way to port the ⌃⇧+↓ (CTRL + SHIFT + DOWN) command from textmate, that is sorely missing in VS Code.
Easily jumping between a file and the specs/tests is great. And the fact that it would also create the test file for you in the appropriate directory saves a lot of clicks.
I would have never been able to make the leap from Textmate to VS Code without your work! Thank you.

I'm trying out this extension https://marketplace.visualstudio.com/items?itemName=testdouble.vscode-alternate-alternate-file
If it works well we could embed a simpler version in vscode-textmate as I did for others, please give it a try (or try another one) and let me know what do you think 🙏

@elia - I have no idea how I didn't find that extension before.  It works pretty well.  The Textmate version has the edge in that it actually generated the alternate file if it was missing, but honestly this extension works plenty well even without that feature.  👍

I'm using the "create alternate file" command which works similarly, except it doesn't ask for confirmation before creating the file.


The result of demo case  between ray tune and flaml is not same.

I run case studies in page of https://github.com/microsoft/FLAML/tree/main/flaml/tune, which includes the cfo used for flmal.tune and ray.tune. But the result is different between them, so is there something wrong in embding the flmal into ray.tune's framework?

Hi @zuoxiaojiang,
Thank you for your question.

Sequential vs parallel: flaml.tune is doing sequential tuning using the provided search algorithm, e.g., cfo, while ray.tune is doing parallel tuning by default. This is the major cause of the difference.
Time overhead in ray.tune: when ray.tune is used, there will be some time overhead (in addition to the search time used by the search algorithm) because of initializing and connecting to ray client. So when 'time_budget' is used as a stopping criterion, even if you restrict the number of concurrent trials in ray.tune, we may still see some result difference.

Considering these two differences, if you want to get exactly the same results from flaml.tune and ray.tune, you need to do 1. limit the number of concurrent trials in ray.tune to be 1 using search_alg = ConcurrencyLimiter(cfo, max_concurrent_trials) ,  2. use the argument num_samples, which is the maximal number of configs to try, instead of time_budget (set it to be None) as the stopping criterion.
In addition, since there is randomness in both CFO and BlendSearch, remember to set a random seed before you start the tuning job (for both flaml.tune, and ray.tune), using, e.g., np.random.seed(100) .
Please let me know if you need more info or more help. Thank you!

Thank you for your reply:
Sorry to reply your email such late, for I'm busy with another work.
I have tried to make a similar result between flaml and ray.tune, as you recommended. But actually, I still can't succeed, my codes are here, and I
need your help to review them in your free time.
This is the code using flaml.tune
from flaml import tune
import numpy as np
np.random.seed(100)
def evaluate_config(config):
x, y = config["x"], config["y"]
metric = x + y
tune.report(metric=metric)
analysis = tune.run(
evaluate_config,
config={
    'x': tune.randint(lower=1, upper=100),
    'y': tune.randint(lower=1, upper=200)
},
low_cost_partial_config={},
metric='metric',
mode='min',
num_samples=10,
time_budget_s=None,
)

print(analysis.best_trial.last_result)
print(analysis.best_config)
and this is for ray.tune:
from ray.tune.suggest import ConcurrencyLimiter
from ray import tune as raytune
from flaml import CFO, BlendSearch, tune
import time
import numpy as np
np.random.seed(100)
def evaluate_config(config):
x, y = config["x"], config["y"]
metric = x + y
tune.report(metric=metric)
config_search_space = {
'x': tune.randint(lower=1, upper=100),
'y': tune.randint(lower=1, upper=200)
}
set up CFO
cfo = CFO(low_cost_partial_config={})
search_alg = ConcurrencyLimiter(cfo, 1)
analysis = raytune.run(
evaluate_config,
config=config_search_space,
metric='metric',
mode='min',
num_samples=10,
time_budget_s=None,
# local_dir='logs/',  # the local directory to store logs
search_alg=cfo
)
print(analysis.best_trial.last_result)
print(analysis.best_config)
The following is the results of flamal and ray.tune, the best config are both {'x': 9, 'y': 25}, but the sampled points are not same:
Actually, the above result only occur when random seed set as "100"...
I'm confused for it and I need to use cfo in ray.tune to do my work, so I'm not sure the current version cfo in ray.tune is 100% reliable. So, I'm indeed need your help, thank you again, and expect your next reply~!
Thank you
------------------ 原始邮件 ------------------
发件人:                                                                                "microsoft/FLAML"                                                                                @.>;
发送时间: 2021年9月11日(星期六) 上午9:23
@.>;
<EMAIL_ADDRESS>主题: Re: [microsoft/FLAML] The result of demo case  between ray tune and flaml is not same. (#195)
Hi @zuoxiaojiang,
Thank you for your question.
Sequential vs parallel: flaml.tune is doing sequential tuning using the provided search algorithm, e.g., cfo, while ray.tune is doing parallel tuning by default. This is the major cause of the difference.
Time overhead in ray.tune: when ray.tune is used, there will be some time overhead (in addition to the search time used by the search algorithm) because of initializing and connecting to ray client. So when 'time_budget' is used as a stopping criterion, even if you restrict the number of concurrent trials in ray.tune, we may still see some result difference.
Considering these two differences, if you want to get exactly the same results from flaml.tune and ray.tune, you need to do 1. limit the number of concurrent trials in ray.tune to be 1 using search_alg = ConcurrencyLimiter(cfo, max_concurrent_trials) ,  2. use the argument num_samples, which is the maximal number of configs to try, instead of time_budget (set it to be None) as the stopping criterion.
In addition, since there is randomness in both CFO and BlendSearch, remember to set a random seed before you start the tuning job (for both flaml.tune, and ray.tune), using, e.g., np.random.seed(100) .
Please let me know if you need more info or more help. Thank you!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Hi @zuoxiaojiang, what is the ray tune version you are using?

Thank you for the reply. Im using the version of ray.tune 1.5.1
If convenient, can we discuss in WeChat, my WeChat account is ZXJ-5599.
Thank you.
------------------ 原始邮件 ------------------
发件人:                                                                                "microsoft/FLAML"                                                                                @.>;
发送时间: 2021年9月26日(星期天) 上午10:07
@.>;
<EMAIL_ADDRESS>主题: Re: [microsoft/FLAML] The result of demo case  between ray tune and flaml is not same. (#195)
Hi @zuoxiaojiang, what is the ray tune version you are using?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Hi @zuoxiaojiang,
Thank you for providing the information. The required version is ray[tune]==1.6.0. In addition, can you please add the step for setting up the searcher before calling flaml.tune (as attached below)?  Let me know if you still get different results.
And just F.Y.I., we added a consistency test in this file: https://github.com/microsoft/FLAML/blob/main/test/tune/test_flaml_raytune_consistency.py
def evaluate_config(config):
    x, y = config["x"], config["y"]
    metric = x + y
    tune.report(metric=metric)

cfo = CFO(low_cost_partial_config={})
analysis = tune.run(
    evaluate_config,

    config={
        'x': tune.randint(lower=1, upper=100),
        'y': tune.randint(lower=1, upper=200)
    },
    low_cost_partial_config={},
    metric='metric',
    mode='min',
    num_samples=10,
    time_budget_s=None,
    search_alg=cfo,
    )

print(analysis.best_trial.last_result)
print(analysis.best_config)

Thank you for your reply and the case about consistence test, I will try it in some days.
As the case shows, is the "low_cost_partial_config" must be specified, what if unknown?

Hi @zuoxiaojiang,
About low_cost_partial_config:

Definition and purpose: The low_cost_partial_config  is a dictionary of subset of the hyperparameter coordinates whose value corresponds to a configuration with known low-cost (i.e., low computation cost for training the corresponding model).  The concept of low/high-cost is meaningful in the case where a subset of the hyperparameters to tune directly affects the computation cost for training the model. For example, n_estimators and max_leaves are known to affect the training cost of tree-based learners. We call this subset of hyperparameters, cost-related hyperparameters. In such scenarios, if you are aware of low-cost configurations for the cost-related hyperparameters, you are recommended to set them as the low_cost_partial_config. Using the tree-based method example again, since we know that small n_estimators and  max_leaves generally correspond to simpler models and thus lower cost, we set {'n_estimators': 4, 'max_leaves': 4} as the low_cost_partial_config by default (note that 4 is the lower bound of search space for these two hyperparameters), e.g., in LGBM.  Configuring low_cost_partial_config helps the search algorithms make more cost-efficient choices.

Usage in practice: It is recommended to configure it if there are cost-related hyperparameters in your tuning task and you happen to know the low-cost values for them, but it is not required( It is fine to leave it the default value, i.e., None).

How does it work: low_cost_partial_config if configured, will be used as an initial point of the search. It also affects the search trajectory. For more details about how does it play a role in the search algorithms, please refer to the papers about the search algorithms used: Section 2 of Frugal Optimization for Cost-related Hyperparameters (CFO) and Section 3 of Economical Hyperparameter Optimization with Blended Search Strategy (BlendSearch).

Please let us know if you need more help. Thank you!

@qingyun-wu and @zuoxiaojiang is this issue resolved?

@qingyun-wu and @zuoxiaojiang is this issue resolved?

Hi @zuoxiaojiang, in addition to updating ray version, did you use the code I provided?

Hi @zuoxiaojiang, in addition to updating ray version, did you use the code I provided?

Hi @qingyun-wu, today I try the code for testing consistency which you provided, and finally get a correct and same results. Thank you for your patiente help.
I found my code use the library which is from flaml import CFO, while you use the from flaml.searcher.blendsearch import CFO. I think this is the course for difference.

Hi @zuoxiaojiang, in addition to updating ray version, did you use the code I provided?

Hi @qingyun-wu, today I try the code for testing consistency which you provided, and finally get a correct and same results. Thank you for your patiente help.
I found my code use the library which is from flaml import CFO, while you use the from flaml.searcher.blendsearch import CFO. I think this is the cause for difference.

Great! Thanks for the follow-up. I will close this issue if you don't have further questions.


21w38a terrain generation mappings

Started porting the terrain generation mappings from my Yarn PR.
This also has mappings for some world generation changes in 21w38a.

There's 2 empty mapping classes, might want to remove them :P

Done.

I think this PR needs to be remade. The hashed names have 100% changed since this was made, and redoing the port is probably easiest.


Dynamically append social channel to shared urls

Would be great to be able to dynamically add the social channel clicked as utm_source or other parameter to the URL so returning traffic has an acquisition source.
ie. Click Twitter share and the url example.com?utm_source=%share% becomes example.com?utm_source=twitter

Redefine shareUrl of the share to include utm_source=%share%.
See an example: https://jsfiddle.net/tabalinas/5g4dLwy5/


fix: publish attestations with non-zero committee index

Update signAndPublishAttestations with committee index = 0 post-electra

:tada: This PR is included in v1.22.0 :tada:


How To complex Select statements with vTiger .net Api

I'am facing the problem in building a more complex SQL Statement. But how can I do that.
I would like to find a given phone number in the contacts table. The Problem is, that People store their telephone numbers in different formats (most with different using of blanks). That means one telephone number is stored for e.g.
+44 2 22222 222
+4422222 222
+44 222222222
+4422222222
The easiest way to find the number would be to replace all the blanks in the SQL query. The query would be
Select id, REPLACE(phone, ' ', '') from Contacts where phone = '+44 2 22222 222';
But this SQL Statement won't be accepted. The returning error is:
Syntax Error on line 1: token '(' Unexpected PARENOPEN((), expected one of: SELECT
So how can I achieve a select function, where I can find my phonenumber in all contacts with or with no blanks?
Thanks, best regards Perino
Copy of codeplex discussion issue already posted at https://vtigernetapi.codeplex.com/discussions/634856

This is not possible, because vTiger does not directly execute received SQL statements on the database, but instead parses them and translates them into its own SQL calls.
However the parser and mapper for these SQL statements is full of flaws and only has a very limited set of features - for example no parenthesis for WHERE conditions and of course also no functions like REPLACE.
Copy of codeplex discussion issue already posted at https://vtigernetapi.codeplex.com/discussions/634856


Delete .gitignore

Thank you for submitting your change to the project, we really appreciate your help.
For us to be able to review and merge your changes as quickly as possible, please review our pull request process.
(DELETE THIS PARAGRAPH AFTER READING)

Pull Request Title
Please ensure that you have included a meaningful title describing your change.
For example...

Adds 'spo orgassetslibrary remove' command. Closes #1042
Extends 'spo site list' command with support for returning deleted sites. Closes #1335
Fixes 'spo listitem add' command. Closes #1297

(DELETE THIS SECTION AFTER READING)

Linked Issue
Please ensure that your change is related to an open issue, we will not accept changes without a related issue.
You should link your pull request to an open issue using the Closes keyword, referencing the issue using # and the issue id. This will ensure that the issue is automatically closed when your pull request is merged.
(DELETE THIS SECTION AFTER READING)

Closes #

One PR = One Commit
We prefer to review pull requests that contain a single commit as this makes it easier to keep the history clear for everyone and track what's changed.
If you are new to git, we'll squash your commits for you when merging your changes.

(DELETE THIS SECTION AFTER READING)

New Command = Five Files
If your pull request contains the changes for a new command, it should contain five changed files.
For example, a pull request for adding 'teams tab add' command, would include...

src/m365/teams/commands.ts
src/m365/teams/commands/tab/teams-tab-add.ts
src/m365/teams/commands/tab/teams-tab-add.spec.ts
docs/src/config/sidebars.js
docs/docs/cmd/teams/tab/tab-add.mdx

(DELETE THIS SECTION AFTER READING)

Main Branch Only
You should only submit your changes to the main branch.
Pull requests submitted to other branches will be rejected.
(DELETE THIS SECTION AFTER READING)

Merge Conflicts
Merge conflicts occur when the branch you want to merge is out of date. To ensure this does not happen, you should ensure that your branch is up-to-date before submitting your pull request by executing the below git commands.
git checkout main
git pull upstream main
git push origin main
git checkout <your-branch>
git rebase main
git push origin <your-branch> -f
(DELETE THIS SECTION AFTER READING)

Hi @AlainGIGNAC is there a specific reason why you created this PR?

Hi @AlainGIGNAC is there a specific reason why you created this PR?

I vote for rejecting this one. There is no reason why we should remove this file

Bonjour,
A quoi sert git ignore ?  Il n'est jamais bon d'ignorer !
Cordialement.
Assisted by ReplyAI
https://replyai.ai/through?destination=https://workspace.google.com/marketplace/app/ai_email_generator/900926180191
Cordialement.
Alain GIGNAC
Monsieur, Particulier
@.***
https://www.facebook.com/
https://www.facebook.com/groups/1084007411663434
https://www.facebook.com/cloudHQ
https://www.linkedin.com/company/cloudhq
https://www.twitter.com/cloudHQ_net
Create your own email signature
https://chrome.google.com/webstore/detail/free-email-signature-gene/adabkammndnejioekmmdhgdnlfenpkci
Le lun. 19 août 2024 à 11:09, Adam Wójcik @.***> a
écrit :

Hi @AlainGIGNAC https://github.com/AlainGIGNAC is there a specific
reason why you created this PR?
I vote for rejecting this one. There is no reason why we should remove
this file
—
Reply to this email directly, view it on GitHub
https://github.com/pnp/cli-microsoft365/pull/6255#issuecomment-2296063188,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJ24KFFBINN3ACGLVYKQHJTZSGY4XAVCNFSM6AAAAABMWXEMAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJWGA3DGMJYHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Closing as this is something we won't accept


WIP: Json documentation generation

scripts/generate_json_docs.py is now generating parsable JSON for the gcloud-common site generator.
As well as building a types.json file.
Several things are still in progress...

[x] Extracting code examples is not working consistently.
[x] The table of contents needs to be updated. (just switched to listing all classes)
[x] Class linking should be added. i.e. class:gcloud.datastore._generated.query_pb2.Query
[x] Source Code links are broken for base class docs
[x] Not yet sure how to handle __init__.py's
[x] "Getting Started" and "Guide" type pages need to be ported.(done for what we have but should add more).
[x] Running generate_json_docs.py needs to be added to the build process and documented better.
[x] Find all directives that are not filtered and filter/handle them (for now anyway).
[x] Possibly add auto-href generation for link in text for easier navigation out site docs.
[x] Figure out how to handle snippets. This should probably be in a different PR after this launches
[x] Bring in Code snippets #1951

@daspecster From https://api.github.com/repos/GoogleCloudPlatform/gcloud-python/pulls/1775/commits it appears some of the commits have @jgeewax and @callmehiphop emails in them (which is why the CLA bot is angry).

High level comment: It looks like you've had to write the majority of the parser from scratch (i.e. have your own representations of Module / Class / etc.) The pdoc.import_module behavior seems to just be a fancy AST parser?

Yeah, I think I'm probably going to drop pdoc and just use inspect.

Also, @dhermes for the ci bot, should I just squash those commits? I didn't want to leave out the log of their contributions.

I don't particularly mind about the CI, though those initial commits aren't necessarily needed for your work.

Nice -- this is awesome. Thanks for cranking on it.

The "continuation line" lint failures are obnoxious:  finding the style which passes both pep8 and pylint is always a bit of trial and error for me.  The others are fairly straightforward fixes.

@tseaver thanks! I actually have a lot of refactoring to do. I just wanted to get this replicated off my system. Sorry for the noise!

Currently, I refactored the parsing to create individual json files for each class. I still need to figure out exactly what to do for the index/__init__ files since there isn't usually much documentation in those but they represent the service root on the site.
I have some helper arguments to generate parts of the table of contents(toc.json) since that's pretty vast with all the classes listed.
types.json is very large now and so much so that I haven't verified yet that it's completely correct other than by doing some navigation on the site.
I also have a build script partially working but it's not automatically doing versioning at the moment, just master.

Fairly current generation of the docs can be viewed here http://daspecster.github.io/gcloud-python.
Right now, the TOC is listing all the classes for easy viewing...for release we'll want to trim those down.
There are still lots of bugs, but I think we should start thinking about working on the module docstrings to fit the site generator structure.  Which would include, paying more attention to docstrings in __init__'s and probably also in client.py's for starters.

@daspecster I'm feeling stupid:  how do I navigate to the API docs based on your generated JSON from the http://daspecster.github.io/gcloud-python homepage?

@tseaver unless I broke it, you should be able to just click the "Read the docs" red button.
Then you can peruse the navigation on the left. However I've already found one or two broken nav links, but most of them work.

@daspecster OK, I was mislead by the button text.

Probably a good note for UX on the design honestly.

Just push a new render of JSON docs.
http://daspecster.github.io/gcloud-python/#/docs/master/gcloud

Updated test site with snippets based on strategy in #1951.
Example: http://daspecster.github.io/gcloud-python/#/docs/master/gcloud/pubsub

It is great to have the snippets included, although I think having the "marker name" displayed to the user is less than ideal.  Maybe open an issue to get a better description for them?
Otherwise, I'm fine with merging this.  @jgeewax do you want to chime in?

Sounds good!
https://github.com/GoogleCloudPlatform/gcloud-python/issues/1984

Also, I think there will need to be some changes to this to work with the new package structure #1978 depending on how the namespace changes.

@tseaver http://daspecster.github.io/gcloud-python/#/docs/master/gcloud/pubsub

@daspecster Those bits of narrative are a definite improvement.

LGTM

Ok thanks! Should we trim the TOC back a bit?

@dhermes, I'll fix that formatting issue and I also just noticed that I broke the sub nav links with my last push.

Ok! Have another look through and LMKWYT
http://daspecster.github.io/gcloud-python/

Sorry, forgot to tag @tseaver and @dhermes on that last comment.

The docstring examples on the datastore landing page still look borked:
http://daspecster.github.io/gcloud-python/#/docs/master/gcloud/datastore
The snippet captions appear to have regressed:
http://daspecster.github.io/gcloud-python/#/docs/master/gcloud/bigquery
http://daspecster.github.io/gcloud-python/#/docs/master/gcloud/pubsub

I think I somehow squashed the snippet title code out.

@tseaver fixed! http://daspecster.github.io/gcloud-python/#/docs/master/gcloud/pubsub
I fixed the .. doctest:: thing with #2006.
Not sure how that got lost, I think I may have lost the commit in rebasing or something.

@daspecster The http://daspecster.github.io/gcloud-python/stable/bigquery-usage.html page is still showing the pre-snippet examples:  maybe that will get fixed when you merge?

@tseaver Oh sorry, I pushed gh-pages when I was doing #2009  and #2008.
It's back now though. http://daspecster.github.io/gcloud-python/#/docs/master/gcloud/pubsub

Let me know if there is anything that's a show stopper here. I would like to try and get this merged today if possible.

LGTM

I'm going to merge this at 2pm EST unless I hear otherwise. Just to give everyone a chance to chime in.

Travis master build that I'm watching for this https://travis-ci.org/GoogleCloudPlatform/gcloud-python/builds/146717128


Fix for issue #603: bump limepy to 0.1.1

Fix for issue #603

For future reference: we really should just download the correct version of Limepy here instead of duplicating the source code.


Can't load optimizer weights after adding layer without parameters

MODEL A:
ipt = Input(batch_shape=(32, 240, 4))
x1  = Conv1D(16, 20,  strides=200, padding='same')(ipt)
x1  = BatchNormalization()(x1)
x2  = Conv1D(16, 200, strides=120, padding='same')(ipt)
x2  = BatchNormalization()(x2) # ...

MODEL B:
ipt = Input(batch_shape=(32, 250, 4))
x1  = Conv1D(16, 20,  strides=200)(ipt)
x1  = BatchNormalization()(x1)
x2  = Conv1D(16, 200, strides=120)(ipt)
x2  = BatchNormalization()(x2) # ...

The two have identical weight shapes - however, A's optimizer `weights` _cannot_ be loaded onto B, as B has a different build order (images & code below).
This is a tiny snippet of a much larger model which needs its timesteps parameter changed every X epochs, and ZeroPadding1D appears to change layer build order whenever it's used; this doesn't affect model weights, as they're mapped via a dictionary - whereas optimizer weights are mapped sequentially, list-to-list.
Reproducible in both TF1 & TF2, and w/ keras & tf.keras imports. What's the problem, and how to fix? Relevant SO

Environment: Win-10 OS, CUDA 10.0.130, cuDNN 7.6.0, Python 3.7.4, GTX 1070
Observations:

Swaps any other layer, not just BatchNormalization - and any number of layers before concatenate; optimizer weights end up being simply swapped in .get_weights()
Can change strides instead of batch_shape[1]
Can use MaxPooling1D w/ strides > 1
padding='valid' leads to ZeroPadding1D, but it doesn't change build order (don't know why)

model_A.summary():
Layer (type)                    Output Shape         Param #     Connected to
==================================================================================
input_1 (InputLayer)            [(32, 240, 4)]       0
__________________________________________________________________________________
conv1d (Conv1D)                 (32, 2, 16)          1296        input_1[0][0]
__________________________________________________________________________________
conv1d_1 (Conv1D)               (32, 2, 16)          12816       input_1[0][0]
__________________________________________________________________________________
bn_1 (BatchNormalization)       (32, 2, 16)          64          conv1d[0][0]
__________________________________________________________________________________
bn_2 (BatchNormalization)       (32, 2, 16)          64          conv1d_1[0][0]
__________________________________________________________________________________
concatenate (Concatenate)       (32, 2, 32)          0           bn_1[0][0]
                                                                 bn_2[0][0]
__________________________________________________________________________________
gap_0 (GlobalAveragePooling1D)  (32, 32)             0           concatenate[0][0]
__________________________________________________________________________________
dense (Dense)                   (32, 1)              33          gap_0[0][0]

model_B.summary() (note the swapped layers)
input_2 (InputLayer)            [(32, 250, 4)]       0
_____________________________________________________________________________________
conv1d_2 (Conv1D)               (32, 2, 16)          1296        input_2[0][0]
_____________________________________________________________________________________
bn_1 (BatchNormalization)       (32, 2, 16)          64          conv1d_2[0][0]
_____________________________________________________________________________________
conv1d_3 (Conv1D)               (32, 3, 16)          12816       input_2[0][0]
_____________________________________________________________________________________
zero_padding1d (ZeroPadding1D)  (32, 3, 16)          0           bn_1[0][0]
_____________________________________________________________________________________
bn_2 (BatchNormalization)       (32, 3, 16)          64          conv1d_3[0][0]
_____________________________________________________________________________________
concatenate_1 (Concatenate)     (32, 3, 32)          0           zero_padding1d[0][0]
                                                                 bn_2[0][0]
_____________________________________________________________________________________
gap_0 (GlobalAveragePooling1D)  (32, 32)             0           concatenate_1[0][0]
_____________________________________________________________________________________
dense_1 (Dense)                 (32, 1)              33          gap_0[0][0]

Minimally reproducible code:
# also works with `from keras`
from tensorflow.keras.layers import Input, Conv1D, ZeroPadding1D, concatenate
from tensorflow.keras.layers import BatchNormalization, Dense, GlobalAveragePooling1D
from tensorflow.keras.models import Model
import numpy as np

def make_model(batch_shape):
    ipt = Input(batch_shape=batch_shape)

    x1  = Conv1D(16, 20,  strides=200, padding='same')(ipt)
    x1  = BatchNormalization()(x1)
    x2  = Conv1D(16, 200, strides=120, padding='same')(ipt)
    x2  = BatchNormalization()(x2)

    x1, x2 = zero_pad(x1, x2)
    preout = concatenate([x1, x2])
    preout = GlobalAveragePooling1D()(preout)
    out    = Dense(1)(preout)

    model  = Model(ipt, out)
    model.compile('adam', 'mse')
    return model

def zero_pad(x1, x2):
    diff = int(x2.shape[1]) - int(x1.shape[1])
    if   diff > 0:
        x1 = ZeroPadding1D((diff, 0))(x1)
    elif diff < 0:
        x2 = ZeroPadding1D((abs(diff), 0))(x2)
    return x1, x2

def make_data(batch_shape):
    return (np.random.randn(*batch_shape),
            np.random.randint(0, 2, (batch_shape[0], 1)))

batch_shape_A = (32, 240, 4)
batch_shape_B = (32, 250, 4)
batch_shape_C = (32, 240, 4)
model_A  = make_model(batch_shape_A)
model_B  = make_model(batch_shape_B)
model_C  = make_model(batch_shape_C) # 'control group'
x_A, y_A = make_data(batch_shape_A)
x_B, y_B = make_data(batch_shape_B)
x_C, y_C = make_data(batch_shape_C)

model_A.train_on_batch(x_A, y_A)
model_B.train_on_batch(x_B, y_B)
model_C.train_on_batch(x_C, y_C)

optimizer_weights_A = model_A.optimizer.get_weights()

model_C.optimizer.set_weights(optimizer_weights_A)
print("model_C optimizer weights set successfully")

model_B.optimizer.set_weights(optimizer_weights_A)
print("model_B optimizer weights set successfully") # will not print

Output:
model_C optimizer weights set successfully

ValueError: Optimizer weight shape (16,) not compatible with provided
weight shape (200, 4, 16)

Found a workaround, and a form of explanation; it isn't about ZeroPadding1D, but about there being an additional layer in one 'branch' and not the other - as revealed by plot_model(); see below.
Keras appears to build layers via vertical traversal - note that the numbered layer graphs match exactly w/ .summary() ordering. Order change could still have occurred toward the end of the 'branch' - I suppose the reasoning is, the two branches' layer nodes should be at the same depth before merging to a common layer. However, this isn't the full story - see disclaimer at bottom.
Workaround: insert a 'pseudolayer' to equalize # of layers in each branch; I'll stick with the z-padding:
def zero_pad(x1, x2):
    diff = int(x2.shape[1]) - int(x1.shape[1])
    if   diff > 0:
        x1 = ZeroPadding1D((diff, 0))(x1)
        x2 = ZeroPadding1D((0, 0))(x2)
    elif diff < 0:
        x2 = ZeroPadding1D((abs(diff), 0))(x2)
        x1 = ZeroPadding1D((0, 0))(x1)
    return x1, x2

Running the code in the question:
model_C optimizer weights set successfully
model_B optimizer weights set successfully  # SUCCESS

Model graphs: via from tensorflow.keras.utils import plot_model; plot_model(model_A) ...

Explanation disclaimer: I haven't confirmed it in  exact lines of source code, and .summary() doesn't always agree w/ plot_model(); for example, using padding='valid', we get model_B graph above for both model_A and model_B, yet summary shows model_A's build order. Also, padding='valid' works without the fix because both models end up using ZeroPadding1D, so the layer structure is (seemingly) identical.

The functional API builds the layers from a DFS algorithm, and treats output as depth=0. When a certain upstream layer is connected to two downstream layer, its depth is determined by the max depth of them, + 1, i.e., if layer_C is connected to both layer_A and layer_B, then depth(layer_C) = max(depth(layer_A), depth(layer_B)) + 1.
So in this particular case, if we do a layers_by_depth dict, you can see for model_A:
defaultdict(list,
            {0: [<tensorflow.python.keras.layers.core.Dense>],
             1: [<tensorflow.python.keras.layers.pooling.GlobalAveragePooling1D>],
             2: [<tensorflow.python.keras.layers.merge.Concatenate>],
             3: [<tensorflow.python.keras.layers.normalization_v2.BatchNormalization>,
              <tensorflow.python.keras.layers.normalization_v2.BatchNormalization>],
             4: [<tensorflow.python.keras.layers.convolutional.Conv1D>,
              <tensorflow.python.keras.layers.convolutional.Conv1D>],
             5: [<tensorflow.python.keras.engine.input_layer.InputLayer>]})

and for model_B:
defaultdict(list,
            {0: [<tensorflow.python.keras.layers.core.Dense>],
             1: [<tensorflow.python.keras.layers.pooling.GlobalAveragePooling1D>],
             2: [<tensorflow.python.keras.layers.merge.Concatenate>],
             3: [<tensorflow.python.keras.layers.convolutional.ZeroPadding1D>,
              <tensorflow.python.keras.layers.normalization_v2.BatchNormalization>],
             4: [<tensorflow.python.keras.layers.normalization_v2.BatchNormalization>,
              <tensorflow.python.keras.layers.convolutional.Conv1D>],
             5: [<tensorflow.python.keras.layers.convolutional.Conv1D>],
             6: [<tensorflow.python.keras.engine.input_layer.InputLayer>]})

In summary, the models' structure don't match, which is pretty much the same as what you described.
Does that answer your question?

@tanzhenyu Is there a method to generate these dicts, or you built them manually?

@tanzhenyu Is there a method to generate these dicts, or you built them manually?

There is a _map_graph_network private method under network.py which you can use to verify it

@tanzhenyu Alright - makes sense, thanks for the explanation.


Unsubscribe from Subscription

signed url sent via notification mailers.
Unsubscribe link

GET link that immediately unsubscribes from all Subscriptions
Ideally with a "resubscribe" button

Nice to have: Manage subscriptions

List of subscriptions, with checkbox selection to unsubscribe, or unsubscribe all (bulk edit)

User should not need to login.

Closed by https://github.com/hackclub/hackathons-backend/pull/85


Az core performance improvements

Description

Adds Iterator implementation for iteration of Netty HttpHeaders.
Defers creation of StringBuilder until it is needed.
Adds JFR configuration file

All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.

/check-enforcer override

Transient test failure unrelated to this PR


Dead lock on macOs when calling the operator= of rs2::device

Required Info

Camera Model
{ D415, D435 }

Firmware Version
<IP_ADDRESS>

Operating System & Version
macOS High Sierra 10.13.5

Platform
pc

SDK Version
2.12.0

Language
C++

Issue Description
This block of code, inserted after the start of the pipeline, cause a deadlock on macOS.
    rs2::context m_ctx;
    rs2::device_list devices = m_ctx.query_devices();
    rs2::device  m_device;
    if(devices.size()>0) {
        std::cout<<"copying device...."<<std::endl;
        m_device = devices[0];
        std::cout<<"Device copied!"<<std::endl;
    }

The executable remains stuck on the assignment of m_device, I get only the first print "copying device....".
I reproduced this issue simply adding this piece of code in this example
just after pipe.start().
If I'm using these classes in a wrong way please let me know.
Note that in Linux it works without problem
Thanks in advance!

[Realsense Customer Engineering Team Comment]
Hi @Nicogene,
I think this maybe same issue to #1586, can you please have a try with the fix there?
thanks.

Hi,
we tried to add sleep_for(1.0) but the problem persist.

Hi @Nicogene
The fix in #2022 will resolve the dead-lock. That said, libuvc backend will not enable to you to create multiple instances of the same device when it is streaming. So after the fix, the output is still an error message.
You could instead do something like auto profile = pipeline.start(); auto dev = profile.get_device()
Would that be sufficient for your use case?

Thanks a lot @dorodnic , we prepared for the fix that will include in the next release I suppose (https://github.com/robotology/yarp/pull/1797).
We tried and now it works on macOS, closing.


Not possible to set min value in multi yaxis chart

Setting a min value function for yaxis doesn't work for multi axis charts. It does work for a single yaxis but once you add another work, the returned min value is always 0.
Please see a codepen below. I pring both min and max values in the console:
https://codepen.io/Kogelet/pen/rNmMgJE?editors=1111

What is the behavior you expect?
I expect to properly set a min value via an arrow function.

What is happening instead?
The value is always set to 0.

I got it resolved with a custom function. I'm closing the issue.
min: (min) => {
        min = Math.min(...options["series"][0]["data"]);
        console.log("Min:", min);
        return min;
      }


Support flat config

Please add support for flat config: https://eslint.org/docs/latest/extend/plugin-migration-flat-config

I will do it.


Homepage rtl

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--world-bank--aemsites.aem.live/ext/ar/home
After: https://homepage-rtl--world-bank--aemsites.aem.live/ext/ar/home

Can u pls check now @mkbansal1


create 'index.d.ts' for typescript support

type file added for typescript support

These type definitions are incorrect. The correct way to type module.exports = in JavaScript is using export = in TypeScript. A PR to add correct type definitions is available in #19. Type definitions are also available via @types/fuzzysearch. I suggest closing this PR.


Custom Grid Image Providers

In versions older than 1.0.0, there was an option to provide the grid image provider source in config.txt (Source=consolegrid.com/api/top_picture). I'm requesting this option be added back since there is now another grid image site out there that has implemented the Ice API to their database. http://raresites.us/steamgridDB/. The API link is this: "raresites.us/steamgridDB/ice_api".
I would like to have the option to use this site with Ice since they have a lot of custom grid images that people make for them as well as image collection sets.

Note: SteamGridDB has moved URLs and the new location of the api is: "steamgriddb.com/ice_api".


Account recovery api v2 returns 500 when invalid channel id added in the request body in recovery api call.

Describe the issue:
The account recovery v2 returns 500 status code when user set the invalid channel id in the request body of the /recovery/password/recover. This should return 400 since the issue is from the invalid request body.
How to reproduce:

Try username/password init api call and get a recovery code for the recovery by following api call.

curl --location 'https://localhost:9443/api/users/v2/recovery/password/init' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--data '{
  "claims": [
    {
      "uri": "http://wso2.org/claims/username",
      "value": "<username>"
    }
  ]
}'

Then use an invalid channel id in the recovery api call.

curl --location 'https://localhost:9443/api/users/v2/recovery/password/recover' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--data '{
  "recoveryCode": <recovery_code from the previous api call>,
  "channelId": <invalid channel id>
}'

Current behavior
{
    "code": "UAR-10004",
    "message": "Internal server error",
    "description": "Channel ID does not exist",
    "traceId": "455ba900-e59a-4398-9a94-cb85a4994581"
}

Expected behavior:
Status code should be changed to 400.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: 7.1.0-m3
OS: Mac
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

hi @Malith-19
are you currently working on this issue? I’d like to contribute. Could you please confirm?

Hi @kumardeepak5, No I'm not working on this issue and you can start working.

Hi @Malith-19 , just a gentle reminder to review the related PR.


Add comments to task.yaml file

We need to add descriptions to task.yaml properties

Added the comments to task.yaml file.


Registering Slash command

I triend to create a slash command but it doesnt recognize after creating one.
do i need to run some commands?

after creating the slash command in laracord
and running php laracord
slash command doesnt show in discord

Does it show in the commands table after the bot boots?

it doesnt, do i need to clear some cache? if yes how?

Hmm, not entirely sure what is happening. Try making your slash command with capital casing for the class name:
php laracord make:slash-command TestCommand

If that doesn't work, what does the table look like in console when it boots?
Example:

If you still can't figure this out, add me on Discord – I will help: Log1x

added you :)

Got this handled, even up being PSR-4 naming conventions. I will update the make: commands in the future to prevent this scenario.


Possible to remove ~

I am considering how to remove the operator ~ after the Binder or the ControlEvent property.
viewModel.text ~> label.rx.text

If anyone has a good idea about this, please contact me here or create a PR.
Thanks.

I have a idea!
Add a object which hold the DisposeBag, then release the object to remove the ~.
Just like
class A: NSObject {
    let disposeBag = DisposeBag()
}

var a = A()
// set disposeBag with a.disposeBag
.disposed(by: a.disposeBag)
// to release a.disposeBag
a = A()

Is it that you want?

I don't understand what you mean.
The operator ~> is equal to bind(to:).
viewModel.text ~> label.rx.text == viewModel.text.bind(to: label.rx.text)
I mean how to combine the method disposed(by:) into the operator ~>.

I don't understand what you mean.
The operator ~> is equal to bind(to:).
viewModel.text ~> label.rx.text == viewModel.text.bind(to: label.rx.text)
@yansaid
I mean how to combine the method disposed(by:) into the operator ~>.

Oh, sorry, I understand it wrong. Deleted it.

Do you have other ideas to solve this problem.

I did this in some classes to remove the disposeBag dependency. This solution is only available to classes objects.
So, what I did was to set disposeBag to nil when the class object is deallocating.
extension UIView {
    func setSomeObservable(_ observable: Observable<Void>) {
         var disposeBag: DisposeBag! = .init()

         observable.subscribe(onNext: { _ in
             print("Subscribed")
         }).disposed(by: disposeBag)

         self.rx.deallocating.subscribe(onNext: { _ in
             disposeBag = nil
         }).disposed(by: disposeBag)
    }
}

I've tried such solutions, sometimes it not works and caused memory leaks

you can use
viewModel.text ~> label.rx.text ~ disposeBag
shorter than
viewModel.text.bind(to: label.rx.text).disposed(by: disposeBag)


WIP - Add little command for easy access to JSON-RPC interface

Very WIP, current interface:
brian@beat:~/ef/trin$ cargo run -p trin-cli -- rpc discv5_routingTableInfo
RoutingTableInfoResponse { buckets: [RoutingTableNodeInfo { node_id: "0xd40a..2cb0", enr: "enr:-IS4QGAwk1EybH8deeq9xrlH6HF_ZnWAu4vMODJbgZ0i78_IUnN0vdQgBpJ0p4ZXWD6FNq_k-kP1-9ZpHCqvIQphtoMBgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQL0kZO-svDs-h0vbTo-QsWhJ7XeRmaQH0g8jqej35K0t4N1ZHCCEdg", status: "Connected" }], local_node_id: "0x302c..1cd1" }

Would appreciate suggestions:

trin-cli rpc discv5_routingTableInfo is honest but... still not a very good interface. How could it be improved?

what should this command be called?
should commands be given short names like routingTable?

There's still work to do:

[ ] Refactor, move a lot of this logic into trin_core::jsonrpc
[ ] Refactor peertest (clientside) to use these structs

[ ] This might require adding support for connecting over HTTP

[ ] Refactor the handlers (serverside) to use these nice serializable structs instead of manually generating responses
[ ] Come up with a clean way to map the user-supplied and dynamically typed argv into method calls
[ ] Add support for the rest of the JSON-RPC endpoints (I'll probably defer that work for future PRs)
[ ] Implement a trin-cli endpoints which lists available endpoints (maybe this is just trin-cli help and I let structopt do most of the work)

Closing in favor of #180


[Data Editor] Copy not work

DBeaver - Version 5.1.5 CE
OS - Ubuntu 16.04
Steps to reproduce:

Navigate to Data Editor
Select cell
Copy

Expected result:
Current cell content copied to the clipboard
Actual result:
Content not copied

Can't reproduce.
Maybe some shortcuts/contexts were broken after version upgrade (I also see red square instead of icon in the view switch toolbar - it is also because of corrupted UI settings cache).
Could you try to reset workspace (delete workbench.xmi file) - https://github.com/dbeaver/dbeaver/wiki/Reset-workspace

I'm do
$ cd $HOME/.dbeaver4/.metadata/.plugins/org.eclipse.e4.workbench/
$ rm workbench.xmi
Still not work, so i'm dongrading to 5.1.4 and the copy feature work

Weird. Looks like copy was broken because of GTK3 migration (it is the default for DBeaver 5.1.5). But with GTK2 there is a scrollbars glitch in SQL editor.
That's a bit crazy. Also I can't reproduce copy problem on Ubuntu 16.04.
Could you clarify this a bit more - is this just a broken shortcut (i.e. ctrl+c isn't working) or copy using context menu is also not working?

Fix upgrade to 5.1.6 CE

This is happening again, since 5.2.4 CE, under Linux Mint 18.3. If I go back to 5.2.3 CE, it works.

Seems to be related to last Eclipse platform update.
By some reason data viewer control isn't recognized as focused (and thus copy command doesn't work)


rand call without initialize in sol-iio.c

The rand api call in sol-iio.c will generate the same random number sequence, since there is no srand call

Not sure how bad is this, since it's only used to generate a different name for sysfs trigger - but patches are welcome =D
This made me think that create_hrtimer_trigger doesn't do any effort to create another name for hrtrigger should its rand try fail. Maybe it's worth do like on create_sysfs_trigger and try some times?

I found this issue during triggers test.  I run these trigger test .fbp files for different sensors, After several times tests, sometimes the create trigger will fail. The root cause is duplicated sysfs trigger name.
hrtimer trigger is using the same rand api to generate a random name, I think it needs change too:
INF: ./src/lib/io/sol-iio.c:406 check_trigger() No current trigger for iio:device0. Creating a sysfs one.
WRN: ./src/lib/io/sol-iio.c:328 create_sysfs_trigger() Could not create sysfs trigger.
WRN: ./src/lib/io/sol-iio.c:879 sol_iio_open() No trigger available for device0
WRN:sol-flow-iio ./src/modules/flow/iio/nodes.c:324 magnet_create_channels() mdata->iio_base.device == NULL
WRN:sol-flow ./src/lib/flow/sol-flow.c:128 sol_flow_node_init() failed to create node of type=0x76c1dd28: Invalid argument
WRN:sol-flow ./src/lib/flow/sol-flow-static.c:463 flow_node_open() failed to init node #0, type=0x76c1dd28, opts=0x55357fc0: Invalid argument


Fix specularity

We were having too much specularity in our scenes. This PR addresses this issue + makes a small fix for ill-formed materials. Now there is a parameter to tune how much specularity we want in our scene.

Thanks! It looks much nicer. OK for merging asap.


feat: Update service deployed version when manually refreshing via the GUI

Currently when you edit a service in the GUI and manually do a refresh of the deployed version, it updates in the edit dialog box, but the confirm button is not active.   When you click cancel, the app is still showing as needing updated in the dashboard.  Not sure if latest version is working the same way or not.
Is it possible to recognize the deployed version being updated when refreshed as a change, enabling the confirm button, and updating the dashboard accordingly?

Hmmm, I've just tested this again on 0.12.1 and refreshing the version if you don't change any of the params does refresh the version in the dashboard outside of the edit. I had two windows open and it updated the version in both windows.
Are you changing any vars in the Service you're refreshing?

Looking at the code for this now. It could be because you've got semantic_versioning as non-default for that Service? (I've got a fix for that coming in https://github.com/release-argus/Argus/issues/272)


[5.1] Drop @inline(__always) from Accelerate overlay

@inline(__always) does not imply inlinable, which means that it effectively does nothing in the context of the Accelerate overlay. I have replaced all of these with @inlinable where that can be done as a one-line change. Functions that switch over open enums and more complex API (DCT, DFT, FFT) will require more sophisticated corrections, which we can undertake in later commits. For now, they have been rolled back to simply being normal public API.
(Cherry pick of https://github.com/apple/swift/pull/24641 for 5.1-branch)

@swift-ci please test

@swift-ci please test

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - a70b97a42af66ca00ca1c8e3ca02ae4e5a735444

Build failed
Swift Test OS X Platform
Git Sha - a70b97a42af66ca00ca1c8e3ca02ae4e5a735444

@swift-ci please test os x


Mirage Passthrough returns Response Object instead of JSON data returned from network call

I was getting an error:
testem.js:1063 Mirage: Your Ember app tried to GET 'http://localhost:3006/asset-manifest.json',          but there was no route defined to handle this request.          Define a route that matches this path in your          mirage/config.js file. Did you forget to add your namespace?
So following the documentation of mirage i added this:
 this.passthrough('http://localhost:3006/asset-manifest.json');
Even though after adding passthrough, I am getting Mirage Response instead of JSON Object returned from the network api call.
The response i am getting is:
{bodyUsed: true
headers: Headers {map: {…}}
ok: true
status: 200
statusText: "OK"
type: "default"
url: "http://localhost:3006/asset-manifest.json"
_bodyInit: null
_bodyText: ""}

But I am expecting:
{   "files": {     "main.js": "/static/js/main.427b5b21.js",     "index.html": "/index.html",     "precache-manifest.f0c17b0567a3f91c46fb3e8e660eb34c.js": "/precache-manifest.f0c17b0567a3f91c46fb3e8e660eb34c.js",     "service-worker.js": "/service-worker.js"   } }
I kept a debugger in Pretender.js which is sending the FakeRequest and there in its object, I see that FakeRequest has responseType="" and response as null. And somehow my responseText has value but that is not considered and response value is considered and receiving null.
Also there is a logic which is return saying
"response" in xhr ? xhr.response : xhr.responseText
In this case i have response property but its value is null. Hence according to the above condition it is returning xhr.response which is null
Please Help.

I am getting the same error, call is getting executed and is visible under network tab.
But in response, it just fulfills the promise but doesn't returns the actual response I'm getting from Api.

All this code has been extracted to MirageJS. This repo only supports importing MirageJS into ember and some test helpers.
Please open an issue in the MirageJS Issues. Hopefully someone there can help you and if there is a bug, its that repo that will provide the fix.


Add activity models to the admin interface

They'll either all need an admin.py or one admin.py in activities/ that adds them all.

Activities be gone 😂


MINOR: add AUTO_OFFSET_RESET_CONFIG to StreamsConfig,

and remove TOTAL_RECORDS_TO_PROCESS
@guozhangwang

Could you update the examples to use StreamsConfig.AUTO_OFFSET_RESET_CONFIG as well?

examples are updated.

LGTM. Merged to trunk.


Session cookie secure by default

I strongly believe that more secure options should be the default. I know this is a breaking change and might spark some controversy, as it would break loads of small hobby projects that lack https running on localhost etc.
I'm not too sure about under which version I should edit changes.rst and which version versionchanged should mention, so I will update those later if you decide to go through with this change. Sorry for the imperfect PR for now!

as it would break loads of small hobby projects

it would break the majority of projects when they are executed locally via flask run or app.run() during development. At the very least, this should be done only when the app runs in production mode.

We can turn on the secure option when request.is_secure

Note that in many deployment situations the SSL connection does not reach the Flask app because it is terminated at a proxy server. In those cases, request.is_secure will apply to the connection between the proxy server and the Flask app which is not secure. You can apply the ProxyFix middleware along with some configuration in the proxy server to correct this, but in my experience very few people do this.
My concern with an automatic secure flag is that it may make people think they're secure, while in fact, with a default proxy server configuration they won't be.

That breaks sites that want to work over both HTTP and HTTPS. Now, if they only wanted anonymous users with no stored state over HTTP, that would make sense, but it's not on Flask to decide that. The cookie itself is still signed and secure from tampering when sent over HTTP. If the site is served over HTTPS only (which it probably should be in 2018), then this flag doesn't really mean anything anyway and the default is still fine.

Note that in many deployment situations the SSL connection does not reach the Flask app because it is terminated at a proxy server. In those cases, request.is_secure will apply to the connection between the proxy server and the Flask app which is not secure.

The frontend server is supposed to set X-Forwarded-Proto properly.

@ThiefMaster Yes, that is what I referred to when I said you need to apply "some configuration on the proxy server". Still, you have to use the ProxyFix middleware for those X-Forwarded- headers to be applied to the request object in the app.
@davidism the secure flag is still useful in 2018. Apps that run only on HTTPS have a rule that redirects any request on HTTP to the same URL on HTTPS, so they continue to accept HTTP requests. The browser will happily send your session cookie on a HTTP request if you don't make it secure. I don't disagree with your assessment, but the secure flag in the session cookie still makes sense to be set on HTTPS only apps.

I am mostly concerned with this because it would affect the dev server. We can't rely on people enabling debug mode either, I gurantee we'll get questions about "the session is empty" if we try to enable this based on debug mode.

The way I see it, default behavior depends on what is the primary intended use for Flask. If the answer is user facing websites/applications served over web (-> in most cases going through public wifis etc.), then I hope Flask would default to the more 'safe' option (with the ability to override it).
If I look back at myself starting, I'd expect the defaults to provide as much security as possible and if something wasn't working because I wasn't following the most secure pracitces, I would learn something new (and important), consider whether my use case really can break this. With the default being false, I'm thinking "smarter people than me wrote it" and it never comes into question. It would be really interesting to collect the data on how many publicly accessible flask based websites don't realize it and don't have the session cookie secure. It's not something you notice easily.
Personally I don't like to rely on dynamic behavior based on seemingly unrelated options like the all powerful debug mode, or in some cases unreliable is_secure.
Somewhat unrelated fun fact: Until today I didn't realize that the session is only signed by the app key, I always thought everything in it was hashed with the key as a salt, meaning I could store secret-ish stuff in there.

Just for context, I checked a few other frameworks, and they all use the same secure=false default as Flask. I'm inclined to not make this change, it will cause unexpected failures that will be difficult to debug for most users.
References:

Django: https://docs.djangoproject.com/en/2.0/ref/settings/#session-cookie-secure.
Pyramid: https://docs.pylonsproject.org/projects/pyramid/en/latest/api/session.html#pyramid.session.SignedCookieSessionFactory
aiohttp: https://aiohttp-session.readthedocs.io/en/stable/reference.html#aiohttp_session.AbstractStorage
bottle: https://bottlepy.org/docs/dev/api.html#bottle.BaseResponse.set_cookie
express.js: https://github.com/expressjs/session#cookiesecure
Ruby on Rails: https://www.rubydoc.info/gems/rack/Rack/Session/Abstract/Persisted

I could not find any framework that defaults the secure flag on session cookies to true. Do you know any?

Thansk @miguelgrinberg, was just about to ask about that.

Based on Miguel's investigation, going to close this for now.
I'm not sure how users would even discover what's happening if this was changed. From their perspective all that happens is they never receive the cookie. The vast majority of users are new, I guarantee that most users, past me included, would have a very hard time determining that they weren't receiving cookies because of this setting. See the related issue of Chrome not storing cookies for localhost in some circumstances for evidence of that.
Secure-by-default is good, but I think the actual surface exposed by this is rather low compared to the issues it will cause during development. I'd rather people understand their system and security needs when they're deploying, and understand the configuration available to them.

The default cookie is secure from tampering, not from inspection. If you want to store private data in the session, you need to use a different session implementation, either an encrypted cookie or server-side storage. Maybe that can be made more clear in the docs?


Get on/off PUT methods to return content

From @jonscheiding on February 23, 2016 15:0
Copied from original issue: jonscheiding/st-power-control#6

Not going to worry about this, it can be handled by the client apps


[SQL]RowBasedKeyValueBatch reuse valueRow too

What changes were proposed in this pull request?
reuse the cached valueRow in RowBasedKeyValueBatch
How was this patch tested?
existing ut

cc @ooq   @sameeragarwal @davies is it right and necessary?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Thanks for the patch @yaooqinn . As per comments for getValueRow, because getValueRow(id) is always called after getKeyRow(id) with the same id, we use `getValueFromKey(id) to retrieve value row and use the id as a flag for cached/uncached. The patch is unnecessary IMO. Also, with the patch code, it seems value row is not pointing to the correct position?

@ooq Thanks very much for your review.   As we always getKeyRow(id) before we getValueRow(id) with the same id, we don't retreive the keyRow from the batch but use the cached one. IMO, we can mark the valueRow as cached too because no action seems to overwritten it, then we'd rather use the cached valueRow than retrieve a new one .

@yaooqinn Do you have any benchmarks on the performance difference? I think pointTo() is pretty cheap. And does the patch pass the tests? I think valueRow is not updated correctly in your patch.


CentOS/RHEL compatibility for Ansible roles

Setting IPv4 & IPv6 forwarding
Setting sysctl:net.bridge.bridge-nf-call-iptables and bridge-nf-call-ip6tables to enabled since it is disabled by default on some CentOS systems

Thanks @xvzf !