\JanGregor\Prophecy\Reflection\ObjectProphecyMethodReflection::hasSideEffects() should be 'yes' for PHP >7.0

\JanGregor\Prophecy\Reflection\ObjectProphecyMethodReflection::hasSideEffects() returns no. As I found not documentation as for what \PHPStan\Reflection\MethodReflection::hasSideEffects() should really mark, I can only guess, that this marks methods that simply return stuff or work on copies of internal values.
As for \Prophecy\Prophecy\ObjectProphecy::__call() has side effects. I returns a new \Prophecy\Prophecy\MethodProphecy, which's __constructor() method changes the ObjectProphecy it was was called on as of PHP >7.0.
I tries to guess the return type of the method that is prophecied registers itself on the ObjectProphepcy in the \Prophecy\Prophecy\MethodProphecy::will() call.
I might be wrong here, because I really can not find ANY definition of sideEffect regarding a method, but as this not only creates a new object, but also changes the object it was created AND also changes the outcome of the test it is constructed in (changes return type to X instead of null for unregistered calls), it should not considered to be side effect free.

@func0der
To be honest, I have no idea!
Perhaps @ondrejmirtes can help us out here?

Some internal methods from PHP are marked as having/not having side effects (https://github.com/phpstan/phpstan-src/blob/master/src/Reflection/SignatureMap/functionMetadata.php), so you can draw some inspiration from that.
How it currently manifests:

All methods returning void always have side effects.
Calling a method on a separate line with no side effects is marked as dead code (https://phpstan.org/r/c0f21464-a900-4c51-866e-fc0184fea782).
Calling a method with side effects resets memorized state of other methods and properties (https://phpstan.org/r/5ee512dd-ecff-4d88-b0d2-1be03fb49dce vs. https://phpstan.org/r/80bbafed-e5f1-4bc8-a329-5a38a3975cfd).

If you don't want either of these things, return TrinaryLogic::maybe().

Thank you for the explanation, @ondrejmirtes!

@ondrejmirtes
Thank you for your clarification.
I am not sure that I am on board with 2.
I do not see how methods like this (https://phpstan.org/r/fca1b63c-5056-4bee-8317-51f357c2dee0) may be a problem.
Can you elaborate or point me to a place where I can read up on that?

@func0der What do you mean by "a problem"? When you're calling something that's not supposed to have a side effect (like a getter or a method on an immutable object), so the user is supposed to read the return value of the method, but they don't do it, then you get the error "on a separate line has no effect." because you cen simply remove the line.

Ah, sorry. I overlooked the immutable object part. My bad. :)
@localheinz Pretty sure it should be yes in this case, at least for PHP >7.0 :)
But maybe is good for now.

@func0der
No problem!
Let me know if you run into any issues - I will be here to quickly turn things around when necessary!


Demo: Demo and Search Working (fixes #156)

We had an extra jQuery in there which was causing conflicts this seems to work.

Give me a second to test a bit more...

Still more issues.....now with the parser page

Moving the algoliasearch dep to the top worked. The alternative would be if jenkins supported a way for a partial (or whatever they're called) to set a block of JS that needs to be executed at the end.

Cool. Thanks @xjamundx


Date Format for News

Issue
Currently the News Items have the Default date of Format "yyyy-MM-dd'T'HH:mm:sss'Z'"
Changes
The Date can be formated to something like 'hh:mm a   •   dd MMM yyyy' or similar to it as its recommended by Material Design,
eg: 10:00 am  •  13 Oct 2020
Screenshot containing the current format

Yes, I would like to work on it.


Mark SDK Assets as Private to Prevent Publishing

This PR Marks the Microsoft.PowerShell.SDK reference in the template as private. This prevents the SDK from being published with the module code. The SDK should not ship with the module as it is essentially a duplicate of everything that ships with PowerShell Core.
Before:

After:

I'll publish a new package as soon as I get home (also want to target the RTM version of the SDK).

Ok - published FiftyProtons.Templates.PSCore v0.2.2. Give it 20 minutes or so for NuGet to index the package and make it available for install :)

@tintoy Awesome! I just pulled in the new template with dotnet. Looks good. Thanks!


Feat: add contribution guidelines

Fixes: #4
To add this contribution guidelines, I've used the contribution guidelines from the JavaScript Repo. Then, I changed the JavaScript-related things for TypeScript-related ones.
In the process, I've removed the test guidelines and some of the style guidelines because this project isn't fully set up yet. Also, I've used the TypeScript Standard Style in the style guide and hope it was the right decision.
Thanks for opportunity of working on this project :)

@raklaptudirm and @Panquesito7 thanks for the super awesome feedback. Already learned a lot with you both and added the semantic commit messages guidelines.


Add native sapphire-localnet docker image for Mac

We're having an increasing number of developers running MacOS. Having native sapphire-localnet would be really handy. This also makes the overall codebase more stable and future-proof.
This requires:

[ ] native oasis-node running on MacOS
[ ] native oasis-web3-gateway
[ ] native sapphire (and emerald) ParaTimes
[x] native Oasis CLI
[ ] register new docker platform
[ ] update the docs and remove --platform flag

Related https://github.com/oasisprotocol/oasis-web3-gateway/issues/592

Running sapphire-localnet on Docker MacOS under Docker VMM works directly albeit with a warning.
xi@milan oasis-web3-gateway % docker run -it -p8545:8545 -p8546:8546 ghcr.io/oasisprotocol/sapphire-localnet
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
sapphire-localnet 2024-12-02-git920018f (oasis-core: 24.3, sapphire-paratime: 0.9.0-testnet, oasis-web3-gateway: 5.1.0)

 * No ROFLs detected.


extensions: implement catalog for data management api

What this PR changes/adds
Introduce Data Management API for catalog
Why it does that
To provide an api module for the catalog feature.
Further notes

currently the only parameter that the /catalog api accept is the providerUrl
make also EndToEndTest pass through the /catalog request, to have a more complete E2E scenario

Linked Issue(s)
Closes #1118
Checklist

[x] added appropriate tests?
[x] performed checkstyle check locally?
[x] added/updated copyright headers?
[x] documented public classes/methods?
[x] added/updated relevant documentation?
[x] added relevant details to the changelog? (skip with label no-changelog)
[x] formatted title correctly? (take a look at the CONTRIBUTING and styleguide for details)

Codecov Report

Merging #1195 (4fe5109) into main (553ed31) will increase coverage by 0.06%.
The diff coverage is 80.00%.

@@             Coverage Diff              @@
##               main    #1195      +/-   ##
============================================
+ Coverage     58.32%   58.38%   +0.06%
- Complexity     2708     2717       +9
============================================
  Files           694      697       +3
  Lines         15431    15453      +22
  Branches       1047     1047
============================================
+ Hits           9000     9023      +23
+ Misses         6009     6007       -2
- Partials        422      423       +1

Impacted Files
Coverage Δ

...core/base/RemoteMessageDispatcherRegistryImpl.java
14.28% <0.00%> (+1.78%)
:arrow_up:

...nder/MultipartCatalogDescriptionRequestSender.java
0.00% <0.00%> (ø)

...i/datamanagement/catalog/CatalogApiController.java
100.00% <100.00%> (ø)

...pi/datamanagement/catalog/CatalogApiExtension.java
100.00% <100.00%> (ø)

...management/catalog/service/CatalogServiceImpl.java
100.00% <100.00%> (ø)

.../dataspaceconnector/boot/util/TopologicalSort.java
92.85% <0.00%> (-2.39%)
:arrow_down:

Continue to review full report at Codecov.

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


Filtered metrics are all zero

I am running the model using the data in this repo, the filtered metrics of the results I got are all zero, is that normal? Are there any mistakes I made in running the script? Thanks in advance.
The code to train the model
%run train.py --mode single \
--ent ../dat/wordnet-mlj12/ent.txt \
--rel ../dat/wordnet-mlj12/rel.txt \
--train ../dat/wordnet-mlj12/wordnet-mlj12-train-corrected.txt \
--valid ../dat/wordnet-mlj12/wordnet-mlj12-valid-corrected.txt \
--method distmult --mode pairwise --epoch 300 --batch 10 --lr 0.1 \
--l2_reg 0.0001 --dim 100 --opt adagrad \
--log wordnet-distmult/

The code to run the model over the test dataset.
%run test.py --ent ../dat/wordnet-mlj12/ent.txt \
--rel ../dat/wordnet-mlj12/rel.txt \
--data ../dat/wordnet-mlj12/wordnet-mlj12-test-corrected.txt \
--method distmult \
--model "wordnet-distmult/DistMult.best"

The output:
loading model...
Hits@1              : 0.3976
Hits@1(filter)      : 0.0
Hits@10             : 0.8054
Hits@10(filter)     : 0.0
Hits@3              : 0.6436
Hits@3(filter)      : 0.0
MRR                 : 0.5419057892992648
MRR(filter)         : 0.0

Please add the argument --graphall and --filtered for filtered evaluation at testing (sorry for not describing this).
%run test.py --ent ../dat/wordnet-mlj12/ent.txt \
--rel ../dat/wordnet-mlj12/rel.txt \
--data ../dat/wordnet-mlj12/wordnet-mlj12-test-corrected.txt \
--method distmult \
--model "wordnet-distmult/DistMult.best" \
--graphall ../dat/wordnet-mlj12/whole.txt \
--filtered

This command should work and whole.txt contains all triplets data (just concatenating train/dev/test files), so please replace with your own data.

Thank you for pointing it out. It now works as expected!

I trained on my own data, the hyper parameters are list as fellow:
mode : single
epoch : 500
batch : 128
lr : 0.05
dim : 200
negative : 10
l2_reg : 0.0001
gradclip : 5
my train data sample is like :
36401   AtLocation      17936
53973   AtLocation      117291
29419   AtLocation      78437
17776   AtLocation      133677
57301   AtLocation      14850
but the test result for hits are all zero .
Hits@1              : 0
Hits@1(filter)      : 0
Hits@10             : 0
Hits@10(filter)     : 0
Hits@3              : 0
Hits@3(filter)      : 0
MRR                 : 0.00111741447482
MRR(filter)         : 0.00163314423242
I noticed that loading vocab is taking very long and  when test loading whole graph also taking too long.
but these really matter too all-zero problems?
could you help me out? thanks

Hi @zhouhoo
Firstly, thank you for pointing out long loading time. I will fix it in the future.
Could you tell me the commands you ran for training and testing to answer the question?

sorry, I was too rush .
I run as the readme mentioned.
for train(default hyper parameter are list as above and I did not feed into):
python train.py --ent ../dat/iel/nodes_id --rel ../dat/iel/rels --train ../dat/iel/train --valid ../dat/iel/validation
for test ,
python test.py --ent ../dat/FB15k/train.entlist --rel ../dat/FB15k/train.rellist --data ../dat/iel/test --filtered --graphall ../dat/iel/whole --method complex --model 20171219_21:29/ComplEx.best

@zhouhoo
Thank you for showing!
In testing, the arguments --ent and --rel  must be the same entity/relation lists in training.
So can you try this?
python test.py --ent ../dat/iel/nodes_id --rel ../dat/iel/rels --data ../dat/iel/test --filtered --graphall ../dat/iel/whole --method complex --model 20171219_21:29/ComplEx.best

@mana-ysh oh, I post the wrong command. I train freebase and my own data  both.
I am sure the --ent and --rel  in train are the same as in test.
for train ,
python train.py --ent ../dat/iel/nodes_id --rel ../dat/iel/rels --train ../dat/iel/train --valid ../dat/iel/validation
for test,
python test.py --ent ../dat/iel/nodes_id --rel ../dat/iel/rels --data ../dat/iel/validation --filtered --graphall ../dat/iel/whole --method complex --model 20171219_21:29/ComplEx.best

@zhouhoo
OK. One of the reasons for this may fail the optimization. Please try to use Adagrad as the optimizer. I'm sorry I forgot to write it in readme, but the results are too wrong even though the cause is this, I think.
Can I check the output log file? I want to know the values of evaluation metric for validation data.

@mana-ysh thanks, I will try Adagrad. but should not all be zeros ,right?
log file sample like this:
2017-12-19 21:29:05,062 INFO Arguments...
2017-12-19 21:29:05,062 INFO     metric -----> mrr
2017-12-19 21:29:05,062 INFO   negative -----> 10
2017-12-19 21:29:05,063 INFO     l2_reg -----> 0.0001
2017-12-19 21:29:05,063 INFO        log -----> /home/june/IdeaProjects/knowledge-graph-embeddings/src/20171219_21:29
2017-12-19 21:29:05,063 INFO   graphall -----> None
2017-12-19 21:29:05,063 INFO      epoch -----> 500
2017-12-19 21:29:05,063 INFO      valid -----> ../dat/iel/validation
2017-12-19 21:29:05,064 INFO        ent -----> ../dat/iel/nodes_id
2017-12-19 21:29:05,064 INFO        rel -----> ../dat/iel/rels
2017-12-19 21:29:05,064 INFO   filtered -----> False
2017-12-19 21:29:05,064 INFO     method -----> complex
2017-12-19 21:29:05,064 INFO  save_step -----> 100
2017-12-19 21:29:05,064 INFO        opt -----> sgd
2017-12-19 21:29:05,065 INFO   gradclip -----> -5
2017-12-19 21:29:05,065 INFO      train -----> ../dat/iel/train
2017-12-19 21:29:05,065 INFO      nbest -----> None
2017-12-19 21:29:05,065 INFO        dim -----> 200
2017-12-19 21:29:05,065 INFO   cp_ratio -----> 0.5
2017-12-19 21:29:05,065 INFO      batch -----> 128
2017-12-19 21:29:05,065 INFO         lr -----> 0.002
2017-12-19 21:29:05,065 INFO       mode -----> single
2017-12-19 21:29:05,065 INFO     margin -----> 1.0
2017-12-19 21:31:36,578 INFO preparing data...
2017-12-19 21:31:37,351 INFO building model...
2017-12-19 21:31:38,066 INFO setup trainer...
2017-12-19 21:31:38,066 INFO start 1 epoch
2017-12-19 21:35:09,526 INFO evaluation metric in 1 epoch: 0.0
2017-12-19 21:35:09,526 INFO evaluation time in 1 epoch: 46.6910860538
2017-12-19 21:35:09,526 INFO < Current Best metric: 0.0 (1 epoch) >
2017-12-19 21:35:09,623 INFO training loss in 1 epoch: 1895.80181681
2017-12-19 21:35:09,624 INFO training time in 1 epoch:<PHONE_NUMBER>27
2017-12-19 21:35:09,624 INFO start 2 epoch
...
2017-12-21 01:33:41,113 INFO training time in 496 epoch:<PHONE_NUMBER>55
2017-12-21 01:33:41,113 INFO start 497 epoch
2017-12-21 01:37:02,495 INFO evaluation metric in 497 epoch: 0.0003
2017-12-21 01:37:02,495 INFO evaluation time in 497 epoch: 46.8026819229
2017-12-21 01:37:02,495 INFO < Current Best metric: 0.0013 (77 epoch) >
2017-12-21 01:37:02,495 INFO training loss in 497 epoch: 12.7899311581
2017-12-21 01:37:02,495 INFO training time in 497 epoch:<PHONE_NUMBER>99
2017-12-21 01:37:02,495 INFO start 498 epoch
2017-12-21 01:40:23,089 INFO evaluation metric in 498 epoch: 0.0004
2017-12-21 01:40:23,089 INFO evaluation time in 498 epoch: 45.9419050217
2017-12-21 01:40:23,090 INFO < Current Best metric: 0.0013 (77 epoch) >
2017-12-21 01:40:23,090 INFO training loss in 498 epoch: 12.8672754978
2017-12-21 01:40:23,090 INFO training time in 498 epoch:<PHONE_NUMBER>72
2017-12-21 01:40:23,090 INFO start 499 epoch
2017-12-21 01:43:43,266 INFO evaluation metric in 499 epoch: 0.0003
2017-12-21 01:43:43,266 INFO evaluation time in 499 epoch: 45.6540539265
2017-12-21 01:43:43,266 INFO < Current Best metric: 0.0013 (77 epoch) >
2017-12-21 01:43:43,266 INFO training loss in 499 epoch: 12.9704255703
2017-12-21 01:43:43,266 INFO training time in 499 epoch:<PHONE_NUMBER>64
2017-12-21 01:43:43,266 INFO start 500 epoch
2017-12-21 01:47:04,486 INFO evaluation metric in 500 epoch: 0.0004
2017-12-21 01:47:04,487 INFO evaluation time in 500 epoch: 45.9023690224
2017-12-21 01:47:04,487 INFO < Current Best metric: 0.0013 (77 epoch) >
2017-12-21 01:47:10,554 INFO training loss in 500 epoch: 12.5791623812
2017-12-21 01:47:10,554 INFO training time in 500 epoch:<PHONE_NUMBER>85
2017-12-21 01:47:12,624 INFO ===== Best metric: 0.0013 (77 epoch) =====
2017-12-21 01:47:12,624 INFO done all
the train loss is actually drop down.
log.txt

@zhouhoo
Thanks. When MRR is 0.001 or so, Hits@{1, 3, 10} can be all zero because “MRR is 0.001” means the rank of each correct triplets is about 1000 on average. So if you evaluate with Hits@1000 or something, then you should get non-zero value.

@mana-ysh thank you so much.
so the complex model results are bad , Maybe I should try another model and tune the hyper parameter.


🚨 We have multiple issues with the Brave browser. Please try another browser.

Please use a browser other than Brave if you want to use ControlNet. It may be fixed later. 😐

OR turn of Brave Shields and it'll work perfectly


Fixed outdated method name in MapCasTest.

Nothing to see here, just a missing refactoring of a method name due to parallel refactoring branches.


Design bandpass filter bank to isolate pinger pulse

Description: In Robosub a section of the competition will have its assigned pinger frequency (check section 9.5). To isolate this pinger frequency and remove unnecessary noise we should use digital bandpass filters.
The idea is to design a filter bank that contains filter coefficients for all the possible center frequencies, to be able to easily switch to new center frequencies.

Research filter capabilities of Teensy: e.g., are DSP libraries available, hardware support, etc?
Design bandpass filters accordingly. E.g., by using Matlab Filter Designer or similar tools

Apparently there is already a filter implementation that was used on the STM https://github.com/vortexntnu/acoustics/blob/master/Source/analyze_data.cpp . I totally forgot about that. You can possibly use this to align with.

It looks like an IIR-filter, is that something we want to completely avoid? @nicbres


Call to undefined method getRawResults()

I got this error when i use getRawResults()
here's my code:
$fulltext = new LaravelGoogleCustomSearchEngine(); // initialize         $results = $fulltext->getResults('Startup Funding'); // get first 10 results for query 'some phrase'          $rawResults = $fulltext->getRawResults();
here's the error:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR) Call to undefined method JanDrda\LaravelGoogleCustomSearchEngine\LaravelGoogleCustomSearchEngine::getRawResults()
anyone knows how to fix this?
Thanks in advance.

The method is actually getRawResult() without the 's'


Get current and available flash modes. Switch flash modes

How I can know which flash mode is current? And how I can find all available flash modes (not from builder)?
And how I can switch flash mode?

How I can find all available flash modes (not from builder)?

Use Fotoapparat.getCapabilities(), it will provide you Capabilities object asynchronously which will tell you which flash modes are available.

How I can know which flash mode is current?

When you get Capabilities and supported flash modes you can apply the same selector function to them as you specified in builder. Like that:
firstAvailable(autoFlash(), torch()).select(capabilities.supportedFlashModes())

And how I can switch flash mode?

Right now the only option is to create a new Fotoapparat instance each time you need to do that. We are thinking about improving it.

The ability to update camera parameters has since been included in Fotoapparat; use:
updateParamters(UpdateRequest.builder().flash(...).build())

As for obtaining the capabilities, what wasn't immediately clear to me was that this is offered (as Dmitry said) asynchronously through a PendingResult. In Kotlin:
fotoapparat?.capabilities?.toPendingResult()?.whenAvailable({
    it.supportedFlashModes().forEach {
        println("flash mode: " + it)
    }
})

I'm still not entirely sure how to get the current flash mode as capabilities.supportedFlashModes() lists the flash modes supported by the device and not the current mode in use.
Do I need to track this my self when changing flash modes?

Fotoapparat#getCurrentParameters


pull request for e2e test at 12/09/2016 07:45:02

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Added IOrderedCypherFluentQuery

Added IOrderedCypherFluentQuery for working with new order methods ThenBy and ThenByDescending for resolving that issue https://github.com/Readify/Neo4jClient/issues/145

If I understand you right, the comment you've made is about whether the query outputs with newlines or not?

Yep, it's right. But what do you think about that solution?

I think the solution is OK, it doesn't break any existing tests, so AFAIK there is nothing tied to the newlines. I'll merge and publish


Confusing role requirements

Couple of things about the "Before you begin" section.
It doesn't make any sense to call out a need for the "Azure account administrator". That classic admin role doesn't even directly have access to the Azure portal, as described at the following link.
https://docs.microsoft.com/en-us/azure/role-based-access-control/rbac-and-directory-admin-roles#classic-subscription-administrator-roles
I assume you are saying that "Azure account administrator" is required because the integration process is assigning roles to the AKS service principal. It would be more accurate to refer to the "co-administrator" classic admin role, which, as noted in the link, has equivalent access to the RBAC Owner role.
Second, the implication of this sentence is confusing.
"To avoid needing an Owner or Azure account administrator role, you can configure a service principal manually or use an existing service principal to authenticate ACR from AKS."
If I'm understanding correctly, Owner etc. is needed because you will be adding roles to a service principal by running through this doc. So if you want to configure a service principal manually...you still need someone with Owner access. Can you reconsider this section, or explain what I'm missing?

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

ID: 9180e07f-236a-20b4-1c38-66a1bad9c73d
Version Independent ID: 148ae764-76b7-da53-a897-b865e722946f
Content: Integrate Azure Container Registry with Azure Kubernetes Service - Azure Kubernetes Service
Content Source: articles/aks/cluster-container-registry-integration.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@dcbrown16
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@mlearned
Can you please check and add your comments on this doc update request as applicable.


Cannot pass headers as command arguments

If I set pass-arguments-to-command to include
{
  "source": "entire-headers"
}

or
{
  "source": "header",
  "name": "X-GitHub-Event"
}

The resulting argument is always empty. Can headers only be referenced in match, or is the intention that they should also work in arguments?

Hey there, what version of webhook are you using and what is your hooks.json definition for the given hook?
Here is a sample hooks.json definition:
[
  {
    "pass-arguments-to-command": [
      {
        "source": "entire-headers"
      }
    ],
    "execute-command": "/home/adnan/test.sh",
    "id": "test"
  }
]

test.sh script:
#!/bin/sh

echo $1 > /home/adnan/test.log

Trigger with curl:
curl localhost:9000/hooks/test

Webhook log after triggering the hook:
[webhook] 2016/10/31 13:31:51 version 2.5.0 starting
[webhook] 2016/10/31 13:31:51 setting up os signal watcher
[webhook] 2016/10/31 13:31:51 attempting to load hooks from hooks.json
[webhook] 2016/10/31 13:31:51 found 1 hook(s) in file
[webhook] 2016/10/31 13:31:51 	loaded: test
[webhook] 2016/10/31 13:31:51 serving hooks on http://<IP_ADDRESS>:9000/hooks/{id}
[webhook] 2016/10/31 13:31:51 os signal watcher ready
[webhook] 2016/10/31 13:32:24 Started GET /hooks/test
[webhook] 2016/10/31 13:32:24 test got matched
[webhook] 2016/10/31 13:32:24 test hook triggered successfully
[webhook] 2016/10/31 13:32:24 Completed 200 OK in 44.258µs
[webhook] 2016/10/31 13:32:24 executing /home/adnan/test.sh (/home/adnan/test.sh) with arguments ["/home/adnan/test.sh" "{\"Accept\":\"*/*\",\"User-Agent\":\"curl/7.35.0\"}"] and environment [] using  as cwd
[webhook] 2016/10/31 13:32:24 command output:
[webhook] 2016/10/31 13:32:24 finished handling test

Contents of test.log:
{"Accept":"*/*","User-Agent":"curl/7.35.0"}

Looking at your script in the commit that referenced this issue, $7 will be JSON string that contains all headers that have been passed to the webhook, it will never be equal to "ping". If you wanted the value from the header that contains ping ("X-Github-Event"?), you should reference it using the syntax you wrote:
{
  "source": "header",
  "name": "X-GitHub-Event"
}

I tried
{
  "source": "header",
  "name": "X-GitHub-Event"
}

first, and got an empty string. I then tried
{
  "source": "entire-headers"
}

just to see if that would work. It also gives me an empty string.

Weird. Could you create the setup I used in the comment above and copy the webhook output?

Also, what version of webhook are you using?

And which OS is webhook running on?

[webhook] 2016/10/31 13:13:56 Started POST /hooks/email-pushbot
[webhook] 2016/10/31 13:13:56 email-pushbot got matched
[webhook] 2016/10/31 13:13:56 email-pushbot hook triggered successfully
[webhook] 2016/10/31 13:13:56 error extracting command arguments: couldn't retrieve argument for {Source:header Name:X-GitHub-Event EnvName:}
[webhook] 2016/10/31 13:13:56 executing /usr/bin/mailer (/usr/bin/mailer) with arguments ["/usr/bin/mailer" "/srv/git/pushbot" "refs/heads/master" "6db40f5186486801785a24241ffaf1a6ba0d2e1a" "328d298f0a8a44e8653430857eebf5d139c756b7" "jonhoo"<EMAIL_ADDRESS>""] and environment [] using /home/default as cwd
[webhook] 2016/10/31 13:13:56 command output: handling  to /srv/git/pushbot
/srv/git/pushbot refs/heads/master 6db40f5186486801785a24241ffaf1a6ba0d2e1a 328d298f0a8a44e8653430857eebf5d139c756b7 jonhoo<EMAIL_ADDRESS>pushed by: jonhoo<EMAIL_ADDRESS>aliased to Jon Gjengset<EMAIL_ADDRESS>syncing with upstream
  Fetching origin
invoking post-receive-email with
  6db40f5186486801785a24241ffaf1a6ba0d2e1a
  328d298f0a8a44e8653430857eebf5d139c756b7
  refs/heads/master
all done
[webhook] 2016/10/31 13:13:56 finished handling email-pushbot
[webhook] 2016/10/31 13:13:56 Completed 200 OK in 392.731546ms

$ git -C go/src/github.com/adnanh/webhook/ rev-parse HEAD
7d525cf317b7f0e45b9e7e1a1658b4633154ec01

Running Arch Linux.

Aha! Finally got it!
From RFC 2616 - "Hypertext Transfer Protocol -- HTTP/1.1", Section 4.2, "Message Headers":

Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive.

What Golang http package does is normalizes the keys in the request headers map using the "Title case", making webhook unable to extract X-GitHub-Event because in the hash map it's under X-Github-Event.
As a temporary workaround you can use the X-Github-Event as a header name.
Good catch, thanks!
2.5.1 coming right up!

Fixed in  2.6.0.

Great, thank you!


Why assign the value of  milvus doc.matadatas to insert dict several times?

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.

Example Code
The following code:https://github.com/langchain-ai/langchain/blob/f027696b5f068bacad96a9356ae196f5de240007/libs/community/langchain_community/vectorstores/milvus.py#L564-L573 is used to assign the key of the doc.metadata to each collection.schema collumns(including text and embdding), but in previews code:https://github.com/langchain-ai/langchain/blob/f027696b5f068bacad96a9356ae196f5de240007/libs/community/langchain_community/vectorstores/milvus.py#L550C1-L554C10. Those two keys have been assigned already?
Error Message and Stack Trace (if applicable)
The length of the value from key metadatas cannot align with the length of the value from the milvus collections columns.
Description

System Info

The following code:https://github.com/langchain-ai/langchain/blob/f027696b5f068bacad96a9356ae196f5de240007/libs/community/langchain_community/vectorstores/milvus.py#L550C1-L554C10. refering to a colloction about field: _text_field and _vector_field. But in the following code: https://github.com/langchain-ai/langchain/blob/f027696b5f068bacad96a9356ae196f5de240007/libs/community/langchain_community/vectorstores/milvus.py#L572-L573. Those two filed are assigned again and again in self.fileds loop.

This is the root reason for Milvus insert dict serveral times:

if self._metadata_field is not None:
            for d in metadatas:
                insert_dict.setdefault(self._metadata_field, []).append(d)
        else:
            # Collect the metadata into the insert dict.
            if metadatas is not None:
                for d in metadatas:
                    for key, value in d.items():
                        keys = (
                            [x for x in self.fields if x != self._primary_field]
                            if self.auto_id
                            else [x for x in self.fields]
                        )

                        # the reason for serveral dict records
                        # for key in keys:
                        if key in keys:
                            insert_dict.setdefault(key, []).append(value)

        # Total insert count
        vectors: list = insert_dict[self._vector_field]
        total_count = len(vectors)

        pks: list[str] = []

        assert isinstance(self.col, Collection)
        for i in range(0, total_count, batch_size):
            # Grab end index
            end = min(i + batch_size, total_count)
            # Convert dict to list of lists batch for insertion
            # the reason for another bug with pk field error
            #insert_list = [insert_dict[x][i:end] for x in self.fields]
            insert_list = [insert_dict[x][i:end] for x in self.fields if x in insert_dict.keys()]

            # Insert into the collection.

            try:
                res: Collection
                res = self.col.insert(insert_list, timeout=timeout, **kwargs)
                pks.extend(res.primary_keys)
            except MilvusException as e:
                logger.error(
                    "Failed to insert batch starting at entity: %s/%s", i, total_count
                )
                raise e

你改的是对的，这个注释掉的keys的for loop就是bug本身

This is the root reason for Milvus insert dict serveral times:

if self._metadata_field is not None:
            for d in metadatas:
                insert_dict.setdefault(self._metadata_field, []).append(d)
        else:
            # Collect the metadata into the insert dict.
            if metadatas is not None:
                for d in metadatas:
                    for key, value in d.items():
                        keys = (
                            [x for x in self.fields if x != self._primary_field]
                            if self.auto_id
                            else [x for x in self.fields]
                        )

                        # the reason for serveral dict records
                        # for key in keys:
                        if key in keys:
                            insert_dict.setdefault(key, []).append(value)

        # Total insert count
        vectors: list = insert_dict[self._vector_field]
        total_count = len(vectors)

        pks: list[str] = []

        assert isinstance(self.col, Collection)
        for i in range(0, total_count, batch_size):
            # Grab end index
            end = min(i + batch_size, total_count)
            # Convert dict to list of lists batch for insertion
            # the reason for another bug with pk field error
            #insert_list = [insert_dict[x][i:end] for x in self.fields]
            insert_list = [insert_dict[x][i:end] for x in self.fields if x in insert_dict.keys()]

            # Insert into the collection.

            try:
                res: Collection
                res = self.col.insert(insert_list, timeout=timeout, **kwargs)
                pks.extend(res.primary_keys)
            except MilvusException as e:
                logger.error(
                    "Failed to insert batch starting at entity: %s/%s", i, total_count
                )
                raise e

你改的是对的，这个注释掉的keys的for loop就是bug本身


Add .npmignore file

Canceled due to build functionality addition https://github.com/what1s1ove/form-payload/pull/80


Remove extraneous conditions from remove_comments

I wish this code had originally tests. I also wonder what is this change intended to.

The transformations are tested through the JSON harnesses copied from ModSec. But I think it does obfuscate them and it'd be better to just port them to normal Go.
This PR is to make the code more obvious / clear by not having duplicate checks - pump-fakes make it hard to read


Wrap openssl_x509 resource for self-signed cert creation

So glad this cookbook exists! I'll be testing it out and submit PRs for things I might need :)
Not sure if I need this yet, but noticed that you were generating self-signed keys yourself, and thought you might be interested in using the openssl library cookbook for DRYness. Seems that you'd need to push at least one change upstream (re: extensions), but it should be doable.
https://github.com/chef-cookbooks/openssl#openssl_x509

Thanks for your feedback!
I noticed the acme-client rubygem also added certificate helpers, so that might be interesting as well as it will be one less dependency for the cookbook.

Now using the wrapper from Acme::Client::CertificateRequest


Fix: remove hardcoded path to kubeconfig file

Thanks Arnaud, @sophsoph321 can you please test this as a test image? cc: @safeermohammed  Thank you.

Thanks Arnaud, @sophsoph321 can you please test this as a test image? cc: @safeermohammed Thank you.

can you publish your local image or you need hand for that please? (Don't hesitate?) thank you

Feel free to use ghcr.io/arnaud-tincelin/aks-periscope:0.5

Thank you @arnaud-tincelin for helping us get unblocked. I have tested using the image you provided on the different distros for our MVP and those changes look good.
If we can add the env variable AZURE_BLOB_CONTAINER_NAME in the aks-periscope.yaml file, we should be good to merge this PR.

Thanks @sophsoph321 for checking, that is good that image is good for your scenarios. - To expedite this, I would recommend - share your *.yaml you are using and we could keep it under examples folder under deployment which will be only short term solution until you start to do whole kubectl kustomize at your functionality level. Just as a thought: We cannot change aks-periscope.yaml because it is used by  because it is consumed az-cli and vscode - Please read this tracking item - https://github.com/Azure/aks-periscope/issues/99
Thanks.

Thanks @sophsoph321 for checking, that is good that image is good for your scenarios. - To expedite this, I would recommend - share your *.yaml you are using and we could keep it under examples folder under deployment which will be only short term solution until you start to do whole kubectl kustomize at your functionality level. Just as a thought: We cannot change aks-periscope.yaml because it is used by because it is consumed az-cli and vscode - Please read this tracking item - #99
And, If I may suggest, lets add a sample way how to use kubectl kustomize command, and to build it with storage_details.
Thanks.

@arnaud-tincelin Spoke to @Tatsinnit offline. We used the "kubectl kustomize" to construct a single yaml file for the kustomize template. The aks-periscope pods have a ContainerCreationError with the following error message: "Error: secret "azureblob-secret" not found".
For the time being, I used this yaml file to test your code changes, the contents of this file can reside in the examples directory for kustomize (git will not allow me to attach yaml files, so it's in txt format)
azure-k8s-periscope.txt

Hi @sophsoph321 apologies, there were 2 mistakes in the example file:

namespace was not specified so the secret was not created (add namespace: aks-periscope)
value of the secret should not be base64 encoded (value of AZURE_BLOB_SAS_KEY)

Let me know if it works better this way
Here is the kustomization.yaml file you should end up with:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- https://github.com/Azure/aks-periscope/deployment//

namespace: aks-periscope

secretGenerator:
- name: azureblob-secret
  literals:
  - AZURE_BLOB_SAS_KEY=?sv=2020-08-04&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-08-15T16:02:03Z&st=2021-08-10T08:02:03Z&spr=https&sig=REDACTED

patches:
- target:
    group: apps
    kind: DaemonSet
    name: aks-periscope
    version: v1
  patch: |-
    - op: add
      path: '/spec/template/spec/containers/0/env'
      value:
        - name: AZURE_BLOB_ACCOUNT_NAME
          value: mystorageaccount
        - name: AZURE_BLOB_CONTAINER_NAME
          value: mycontainer
- target:
    group: apps
    kind: DaemonSet
    name: aks-periscope
    version: v1
  patch: |-
    - op: add
      path: '/spec/template/spec/containers/0/envFrom/-'
      value:
        secretRef:
          name: azureblob-secret

images:
  - name: aksrepos.azurecr.io/staging/aks-periscope
    newName: ghcr.io/arnaud-tincelin/aks-periscope
    newTag: '0.5'

Hi @sophsoph321 apologies, there were 2 mistakes in the example file:

namespace was not specified so the secret was not created (add namespace: aks-periscope)
value of the secret should not be base64 encoded (value of AZURE_BLOB_SAS_KEY)

Let me know if it works better this way

@arnaud-tincelin Thanks for looking into this. I have used your latest changes to generate a single yaml file via the following command: kubectl kustomize deployment >> test.yaml. And then from here, I do a kubectl apply -f test.yaml. The deployment was successful.
This approach however, may require a large refactoring of the CLI code for our MVP, which currently relies on the single yaml file.  We can consider this refactoring for a future release (a.k.a post-MVP)
I can attach the test.yaml file that got generated, and we can add it to the example folder for kustomize, but it will not work for other users that want to use this yaml file for deployment, since the Secret section has metadata: azureblob-secret-6666jklm. This metadata will be different for everyone depending on the secret you pass in. If we change it to just azureblob-secret, the pods will end up with a containerCreationError.
For a short-term solution, I'm thinking the quickest way, as Tats was suggesting, is to add the yaml file I shared above to your examples folder, will attach it here again.  Happy to sync up offline if you have a different solution.
azure-k8s-periscope.txt


Peek - Ctrl-Space shortcut prohibits adding files to selection using keyboard

Microsoft PowerToys version
0.71.0
Installation method
WinGet
Running as admin
None
Area(s) with issue?
Peek
Steps to reproduce
When selecting files in a folder using Ctrl, the arrow keys, and space., having Peek's default shortcut enabled prohibits adding items to the selection due to holding Ctrl and hitting space being the shortcut for both adding to the selection and opening Peek
✔ Expected Behavior
For either Peek to notice that you are dealing with a selection and not fire or for the shortcut to be something other than one that conflicts with a in-box shortcut
❌ Actual Behavior
Unable to use in-box shortcut due to Peek taking priority
Other Software
No response

/dup https://github.com/microsoft/PowerToys/issues/26143


Don't override key presses "Space"/"Enter" to perform onClick in RCTView

Please select one of the following

[ ] I am removing an existing difference between facebook/react-native and microsoft/react-native-macos :thumbsup:
[ ] I am cherry-picking a change from Facebook's react-native into microsoft/react-native-macos :thumbsup:
[x] I am making a fix / change for the macOS implementation of react-native
[ ] I am making a change required for Microsoft usage of react-native

Summary

When we added keyboarding support to react-native-macos, we set it so that if 'Space' or 'Enter' was pressed while an RCTView is in focus, it would perform the onClick handler. This causes a few problems, namely, there's no way to override this in JS. If you only wanted onClick to fire onKeyUp instead of onKeyDown, you have no way to do that.
We seemingly did this because the original Keyboarding API proposal wanted basic defaults on JS components. If we look closer at the API proposal however, it actually says we should provide defaults for Button / Touchable / Pressable, not View. I am in favor of not having defaults on View, which should be a primitive and make no assumptions.
Unfortunately, I don't have an easy way to set defaults on, say, Pressable ( (Space/Enter to activate onPress) because then I have to override validKeys(Up|Down), which means that the developer can't override any other keys. This is a limitation of our implementation of keyboarding on react-native-macos, so I'll leave changing that / settings defaults on Pressable as outside this review.
Changelog

[macOS] [Removed] - Removed 'Space'/'Enter' keypresses calling onClick by default.
Test Plan
In a separate repo (FluentUI Raect Native), I locally commented out this code and fixed my issue where I wanted to override onKeyUp and not onKeyDown.

/azp run

/azp run


Using named queues and multiple process instances

As a new feature, it would be nice if I could start a process instance of background task, with an argument only to pull certain tasks out of a named queue. The task decorator would have an optional queue parameter.
That would allow the user to architect their own multiprocessing if they wanted such a mode of asynchronicity.
It would also allow more flexibility by having per-queue specific options. E.g. threading: having a per-queue setting for whether to run the tasks in that specific queue async or not (when the global BACKGROUND_TASK_RUN_ASYNC is not set).

fyi, I'm maintaining my own fork which supports named queues.
Here is the commit:
https://github.com/december1981/django-background-tasks/commit/cba825c40cbb14dc7a2c54f559c21513e30bd43b

@december1981 are you interested to get your feature into django-background-tasks?

@philippeowagner yes, I think it would be a useful feature to have. What do you think?
I have, by the way, now tested against the existing unit tests, and there are no problems - but I haven't added any additional tests for this new feature, as not sure about the best way to do this.

@december1981 I've just created two PRs to your fork, including a test case for named queues. Would you mind reviewing the requests and then perhaps opening a PR here?

@jvamvas Pull request is up (you'll note - I didn't properly fork from this repository, so I had to create a proper fork and push my branch task-queues to it)


IA-1659 V1 of entity API for mobile

Explain what problem this PR is resolving
Self proof reading checklist

[x] Did I use eslint and black formatters
[x] Is my code clear enough and well documented
[x] Are my typescript files well typed
[x] Did I add translations
[x] My migrations file are included
[x] Are there enough tests

Changes
Explain the changes that were made. The idea is not to list exhaustively all the changes made (Github already provides a full diff), but to help the reviewers better understand:

which specific file changes go together, e.g: when creating a table in the front-end, there usually is a config file that goes with it
the reasoning behind some changes, e.g: deleted files because they are now redundant
the behaviour to expect, e.g: tooltip has purple background color because the client likes it so, changed a key in the API response to be consistent with other endpoints

How to test
Explain how to test your PR.
If a specific config is required explain it here (dataset, account, profile, ...)
Print screen / video
Upload here print screens or videos showing the changes
Notes
Things that the reviewers should know: known bugs that are out of the scope of the PR, other trade-offs that were made.
If the PR depends on a PR in bluesquare-components, or merges into another PR (i.o. main), it should also be mentioned here

Le message au début du commit n'apporte aucunes informations ?? On dirait que c'est le template non modifié ?

@bmonjoie can you confirm that the PR is what you expect in term of API?


example file

In order to speed up the starting from scratch, I would suggest an example file. Pls add the configuration which is depicted in your images.
THX

added!


x/build/cmd/gopherbot: properly link gddo CLs to the gddo issue tracker

It would be nice to have gerritbot also link gddo issues (in addition to golang/go issues).
Eg. a CL with the phrase:
Updates golang/gddo#520
in the commit message should have a link to
https://github.com/golang/gddo/issues/520
But it does not. The current behavior is to link to golang/go#520.
See this CL as an example:
https://go-review.googlesource.com/c/gddo/+/73031
If this is deemed unnecessary, we should at least remove the link to the golang/go#520.
cc @andybons @shantuo

https://go-review.googlesource.com/c/gddo/+/73031
https://go-review.googlesource.com/c/oauth2/+/24946
Try saving the above webpages, run a grep for 520 on the former, for 11811 on the latter, and see what happens.

CC @bradfitz
As you're the Owner of the 2nd CL is the last Comment perhaps you would be inclined to chip in.
cf: https://github.com/golang/scratch/issues/1
The scratch sub-repository by the way has a dummy issue.
Below is a presumed accurate list of sub-repositories, those with an Issues tab are marked.
☐ sys
☒ dep
☐ build
☐ tools
☐ crypto
☐ proposal
☐ text
☐ net
☐ mobile
☒ scratch
☒ protobuf
☒ oauth2
☐ gofrontend
☒ mock
☒ tour
☐ blog
☒ gddo
☒ lint
☐ image
☒ appengine
☐ review
☒ cwg
☐ arch
☐ exp
☐ time
☐ term
☐ sync
☐ perf
☒ geo
☐ playground
☐ debug
☐ example
☒ snappy
☒ groupcache
☐ talks
☐ glog
☒ freetype
☒ sublime-build
☐ benchmarks
☒ leveldb
☒ winstrap
☒ sublime-config

The scratch sub-repository by the way has a dummy issue.

This is OK as the scratch repo is used for testing with our infrastructure in some cases.

@andybons
https://help.github.com/articles/disabling-issues/
So the presumption is that for the unmarked subrepos that issues have been turned off.

This is a dupe of #21072.

Thanks Kevin


How to associate an EIP to an EC2 instance using crossplane

What happened?

I am trying to create an EC2 instance and an EIP and associate the same to the EC2 created.
This is possible in terraform using the EIP association modules. Is there anything similar in crossplane.
I have created an ec2 and eip separately . Manually attached the EIP to the EC2 for the moment.
Unable to identify the right entries in the yaml to associate the EIP to the EC2.
How can we reproduce it?

I see the CRD has a statement that ask user to associate the EIP to the network interface like this.
networkInterfaces:
                    items:
                      description: InstanceNetworkInterface describes a network interface.
                      properties:
                        association:
                          description: The association information for an Elastic
                            IPv4 associated with the network interface.
                          properties:
                            ipOwnerId:
                              description: The ID of the owner of the Elastic IP address.
                              type: string
                            publicDnsName:
                              description: The public DNS name.
                              type: string
                            publicIp:
                              description: The public IP address or Elastic IP address
                                bound to the network interface.
                              type: string
                          type: object

How to associate the EIP to an EC2 like we do it in terraform ?  If anyone is aware of it , please share the knowledge.
What environment did it happen in?
Crossplane version:
crossplane/crossplane:v1.6.2
aws-provider - v0.25.0

@sharigitpersonal did you find a way to fix this? Im not being able to make an association between the Elastic IP and the EC2 instance

Anyone figure this out?

@sharigitpersonal looks like the following will work.  The caveat being you need to supply the subnetId and sg group Ids, vs passing by ref.
    networkInterfaces:
      - associatePublicIpAddress: true
        deleteOnTermination: true
        description: dewey test
        deviceIndex: 0
        interfaceType: interface
        subnetId: subnet-0d46df5ac5d0c185d
        groups:
          - sg-0f7d6cd6594541bba


Achieve only 0.62 test accuracy with same training procedure.

We trained resnet18 following the descriptions in the paper. The parameters are set same as your code. But we only achieved 0.62 test accuracy on mini-imagenet. What do you think might be the reason? Thanks.

Hi, the resnet18 on mini-imagenet accuracy reported in the paper is 0.628, which is very close to 0.62. It might be a random error. You can train it five times and calculate the average.


Adding taskcat package-single subcommand

taskcat configconvert --> taskcat config
updated dockerfile
updated dockerfile
Revert "updated dockerfile"
fixing issue with dockerfile
Adding package-single subcommand

Overview
Brief description of what this PR does, and why it is needed (use case)?
Testing/Steps taken to ensure quality
How did you validate the changes in this PR?
Notes
Optional. Caveats, Alternatives, Other relevant information.
Testing Instructions
How to test this PR Start after checking out this branch (bulleted)

Include test case, and expected output

/do-e2e-tests


Suggestion: Show ETA for decay in Tooltips

Every 24h a resonator looses a small amount of energy, so it would be nice if the mouse over tooltips for portals, resonators and maybe links would show how long it will take until they are decayed.
So if the next drain will kill it you can ask for help, or the other way round, tell your people that it is important to not recharge them, if you want to get rid of some misplaced things.

Is there anything of interest in this issue that could still be implemented?


API Documentation Link Broken

The API Documentation "here" like is broken. Get a 404 page error.
[edit by @smelc] This refers to https://cardano-node.cardano.intersectmbo.org/ being down

@disassembler> do we need a cname stanza in the workflow here (like on cardano-cli)? cc @carbolymer


GitHub issue notebook: why gray background?

When I run my work query I get all the issues with a gray background.
Why not white? I think it would look more similar to GitHub, and would not look disabled as the current gray gives me that effect.

Great that this color is customisable.
@misolori Feel free to close this. I just personaly do not like it, due to the 2 reasons above: does not look like github and looks disabled.

I'll leave this open to see if others feel the same, in which case we can update the default color token in the light theme.

The color is now customizable.


System Properties being recommended, but also deprecated

On the docs for system props it says that users should "[p]lease use the sx prop instead." However, if I go to the documentation for the (sx prop)[https://primer.style/react/overriding-styles], I am told to "[u]se system props instead of the sx prop whenever possible."
This is very confusing. Each page is telling me to use the other. Which one should I actually use?

👋  Hi, @AwesomestCode! Sorry for the confusion. We're moving away from system props on most components (except utility components like Box and Text). I've removed the line about system props in the sx prop documentation. Hope that provides some clarity :)


[Chrome] md-input up/down arrows showing when input type is not set to number

Bug, feature request, or proposal:
Bug
What is the expected behavior?
In all browsers the md-input up/down buttons should be visible only when input type is set to "number".
What is the current behavior?
In Chrome the md-input up/down buttons show even when type="number" is not set and when "style='line-height: 1'" is set on body such as when using this reset.css : http://meyerweb.com/eric/tools/css/reset/
Firefox shows no issue there.
If normalize.css is used instead of reset.css then the issue disappears.
What are the steps to reproduce?
http://plnkr.co/edit/suhu6SElSc2GwEEXMKq2?p=preview
Removing "line-height" on body solves the problem.
So does removing the surrounding md-card-content
Which versions of Angular, Material, OS, browsers are affected?
Chrome Version 52.0.2743.116 m
Chromium Version 51.0.2704.79 Ubuntu 16.04 (64-bit)
"@angular/core": "2.0.0-rc.5",
"@angular2-material/core": "^2.0.0-alpha.7-4",
"@angular2-material/input": "^2.0.0-alpha.7-4"

Quick workaround that works for me:
md-input {
line-height: 1.1;
}

@mmalerba can you produce this on master?

These aren't actually input up/down buttons, they're the scrollbar caps for the placeholder label. I can just set the line-height to normal.


[tf - s3 events] use unique names for role policy and lambda perm

to: @chunyong-lin
cc: @airbnb/streamalert-maintainers
size: small
Background
When creating multiple S3 events from the same bucket, the lambda permission and role policy need to be unique.
Changes

Modify the s3_events main.tf

Testing
Running Terraform in a side account

Coverage remained the same at 97.12% when pulling 19897dc2bc0190ae9cce3352b91125f21503adbd on jacknaglieri-s3-events-mod into 6500d19998dac9cb9468c95c0d93646a82f61074 on master.


creating an visual icons reference

working in a personal project using Base, i found that is very difficult know which class name reference to each icon. therefore i take the time to create a cheat sheet that help you with that. Just is a new html file that show you the icon and the class name assigned to it.

@andarms Sorry for the silence on this one - we've released a new version so I'm closing this for now. It would be good to upgrade the iconkit to Entypo 2 then do this if you're interested.


WIP - Capt 1628/move resetting answers into the forms

WIP remove dependent attributes.
There's some forms that need extracting in the student loans journey before we can fully remove the dependent attributes
Very much just a WIP PR to see what everyone thinks about whether or not we should do this
NOTE we need to decide on how to reset eligible_degree_subject as only LUP eligibility has that attribute

I think refactoring the resetting of dependant answers is much needed.
Just to remind ourselves of some principles around forms:

Forms should be re-usable on different journeys
There's no guarantee the dependant answer will exist on another journey
The ordering of pages may be different on another journey

It seems the changes made so far only apply to the forms in the additional payments journey, which in the short term seems fine, but if we want to re-use those forms in other journeys it is slightly more difficult to do because rather than moving the form class to the app/forms top level we would likely have to also override the save method on journey-specific child classes.
It could get quite messy in the event that the forms are presented in a different order, as the dependent answers changes across the whole journey.
I think this is fine as an interim solution but that we are missing a bit of glue between the forms and the controller which handles this stuff, among other things.

OK I think given

Forms should be re-usable on different journeys
There's no guarantee the dependant answer will exist on another journey

Then this is probably the wrong approach as it couples knowledge of other steps in the form. Likely best to leave the current reset dependent answers implementation as is for the time being.


Ropsten Syncing

I followed the github's instructions of geth --testnet removedb
then ran
geth --rpc --rpcapi eth,net,web3,personal --testnet --syncmode "fast" console --cache=1024
then manually added the bootnodes according to the github
I still have 0 from admin.peers, 0 for eth.blockNumber and eth.syncing is false.
How do I sync? How long will this take? I hear from 1 person on the Stack Exchange that it can take a week (!)

Duplicate of #13


Chinese word characters are 'kana' in info window

I tried uninstalling Japanese Skritter and reinstalling Chinese Skritter, but no change. This has been an issue for a while. I don't mind so much because I use the Pleco link so much...

Very strange, we've seen this issue a few times here as well but not been able to reproduce it.

This isn't just with Chinese.  I've seen chars labelled as kana in the Japanese version too.  Next time I come across it I'll see if I can reproduce it.


[CHANGES.md] - Adding BEAM-9964 to CHANGES.md for Beam 2.22

Per R: @TheNeuralBit email, adding work done on BEAM-9964 to CHANGES.md for Beam 2.22 release

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

I messed this up LOL.  Will create a new PR


Solutions to use correct IIS project location

React to https://github.com/aspnet/AspNetCore/pull/6063

We could probably add a simple PR check that asserts projects referenced by solutions exist.


Blocks cannot be dragged or moved in edit mode using IE10

https://www.concrete5.org/community/forums/customizing_c5/block-dragging-not-working-in-ie10

I've encountered this issue a while ago and found out that in IE10 the mouse JS event in block.js doesn't have clientX/clientY (L482-483) and pageX/pageY (L502) properties defined and it's necessary to get those from the event.originalEvent object instead.

So would the fix be as follows?
Change:
x: event.clientX - my.getElem().offset().left + window.document.body.scrollLeft,
y: event.clientY - my.getElem().offset().top + window.document.body.scrollTop

to:
x: event.originalEvent.clientX - my.getElem().offset().left + window.document.body.scrollLeft,
y: event.originalEvent.clientY - my.getElem().offset().top + window.document.body.scrollTop

And change:
mouse_position = {x: event.pageX, y: event.pageY},

to:
mouse_position = {x: event.originalEvent.pageX, y: event.originalEvent.pageY},

Also, does this solution also fix dragging new blocks onto a page through the Block Type list?

What I have in my code is:
x: (event.clientX !== undefined ? event.clientX : event.originalEvent.clientX) - my.getElem().offset().left + window.document.body.scrollLeft,
y: (event.clientY !== undefined ? event.clientY : event.originalEvent.clientY) - my.getElem().offset().top + window.document.body.scrollTop

and
mouse_position = {
    x: (event.pageX !== undefined ? event.pageX : event.originalEvent.pageX),
    y: (event.pageY !== undefined ? event.pageY : event.originalEvent.pageY)
},

But I have just done some testing and it seems that the jquery.pep library already provides a normalized pageX and pageY properties within the event so the second change could just be:
mouse_position = { x: event.pep.x, y: event.pep.y }

Eventually, it seems the first change is not really necessary to make the dragging work. Would appreciate if anyone could test and confirm.

You could use a MS Virtual Machine to test this...

Hi jaromirdalecky.
I've tried editing block.js with the above changes but nothing is changing.
Even intentionally breaking the file is not changing anything.
All CMS cache settings are turned off, and I'm clearing the cache after I edit the file but nothing changes on the front end.
Either the file is being cached by the CMS, or block.js isn't being called at all...

@Michael-Walsh did you run grunt js in the build folder?


Add support for creating temporary "demo" organizations

Often, folks want to try out Zulip to see what it looks like without creating a long-term account.  We'd like to offer supported, documented way to do this.
We'd like to address this by adding support for creating a "demo org".  Here's a proposed design, each part of which is probably one commit:

We add a new demo_organization_scheduled_deletion_date field on the Realm model that keeps track of which organizations have this property and when they will be deleted (null means not a demo organization).
We add to the development login page which has "Create realm" a "Create demo realm" button.  This should conceptually submit the registration form with an is_demo_organization: true parameter, which at this point just sets the above field and picks the subdomain to be a random domain of the form demo-abcd1234 (below commits will extend this).
We add a /help/demo-organizations page explaining how these work; it should at this point not be linked from the /help/ index, since the feature won't be available yet (and maybe even open with a tip that it isn't available yet).
We include the demo_organization_scheduled_deletion_date in realm section of the /register response via zerver/lib/events.py so that it's available to clients when enabled.  (This is an API change requiring API docs, changelog bump, etc., as normal)
If demo_organization_scheduled_deletion_date != null, we display a banner using the navbar_alerts.js system explaining that this is a demo organization and will be automatically deleted 30 days after creation if it is not turned into a normal organization.  This should be the top priority notice (i.e. above desktop notifications queries) if the organization has less than 7 days left; but can be behind the desktop notifications one in priority before then.
We modify the "Welcome bot" messages and "New organization" emails to emphasize that it is a demo organization and will be automatically deleted in N days.
We modify the billing pages to show some sort of "This is a demo organization" error message and prevent attempting to sign up for a paid plan or request sponsorship.  These error messages should link to the /help/ page explaining demo organizations, including the detail that you can turn them into a normal organization.
We add support to the PATCH /realm endpoint to allow converting a demo organization into a normal organization (the other direction will not be supported) by passing is_demo_organization: false and string_id: string_id. The latter parameter should be ignored except during this transition for now, but we may want to discuss afterwards just offering UI to change the subdomain here.
We add a UI commit to make the "Organization profile" page of organization settings show a red "This is a demo organization notice" with the same copy that we use in the navbar_alerts.js thing. There should be a "Convert organization" link at the end of that notice, which should pop up a small dialog_widget modal asking what subdomain they want to send the above API request.
Possibly that "make it no longer a demo organization" code path should send a restart event to reload all clients after the change, so that the banner disappears?  Not totally sure.
Making an organization no longer a demo organization should probably also email all users a brief notice explaining the new status.
The new user registration form should have a banner explaining that this is a demo organization to new users joining such an organization, as well as the deadline.
The function to create a demo organization should create a ScheduledMessage entry to PM the owner 7 days before it is deleting letting them know about its upcoming deletion (again with a link to the /help/ article).  (This should trigger email notifications as well).
We extend our message_retention_policy cron job to call a new delete_demo_organization function that automatically delete demo organizations older than 30 days, presumably using do_scrub_realm.
We add a checkbox option in the "realm creation" flow to "create_demo_organization" to determine whether a new organization will be a demo organization.
The feature should now be complete!  We adjust the help center to appear in the index, document the feature in marketing pages, etc.
Once we have all this infrastructure setup, we will probably have some specific features that we want to modify for demo organizations; e.g. we might be able to add a "don't give us an email address at all" model for the early phase before you want to invite other users.  We can also think about things like prepopulating special data, etc.

To reduce friction, I wonder if we should default to "Invitations are required for joining this organization" being turned off? And then prompt orgs to turn it on during the conversion process?
Random people would be highly unlikely to find the org, if we auto-generate a 2-3 word name to use in the URL.

I am taking @timabbott's description above and turning it into a checklist for convenience. Also, I have added a few entries of my own based on discussions with @alya. I have also edited existing entries to better reflect the reality of what actually ended up getting implemented. I also ended up removing some entries that are no longer relevant.

[x] We add a new demo_organization_scheduled_deletion_date field on the Realm model that keeps track of which organizations have this property and when they will be deleted (null means not a demo organization).
[x] We add to the development login page which has "Create realm" a "Create demo realm" button.  This should conceptually submit the registration form with an is_demo_organization: true parameter, which at this point just sets the above field and picks the subdomain to be a random domain of the form demo-abcd1234 (below commits will extend this).
[x] We add a /help/demo-organizations page explaining how these work; it should at this point not be linked from the /help/ index, since the feature won't be available yet (and maybe even open with a tip that it isn't available yet).
[x] We include the demo_organization_scheduled_deletion_date in realm section of the /register response via zerver/lib/events.py so that it's available to clients when enabled.  (This is an API change requiring API docs, changelog bump, etc., as normal)
[x] If demo_organization_scheduled_deletion_date != null, we display a banner using the navbar_alerts.js system explaining that this is a demo organization and will be automatically deleted 30 days after creation if it is not turned into a normal organization.  This should be the top priority notice (i.e. above desktop notifications queries) if the organization has less than 7 days left; but can be behind the desktop notifications one in priority before then.
[x] We modify the "Welcome bot" messages and "New organization" emails to emphasize that it is a demo organization and will be automatically deleted in N days. UPDATE: We will not be asking the user for their email initially when they create a demo org, so the follow-up email logic will be disabled.
[ ] We modify the billing pages to show some sort of "This is a demo organization" error message and prevent attempting to sign up for a paid plan or request sponsorship.  These error messages should link to the /help/ page explaining demo organizations, including the detail that you can turn them into a normal organization.
[x] We add support to the PATCH /realm endpoint to allow converting a demo organization into a normal organization (the other direction will not be supported) by passing is_demo_organization: false and string_id: string_id. The latter parameter should be ignored except during this transition for now, but we may want to discuss afterwards just offering UI to change the subdomain here. UPDATE: This has been merged but might not be necessary anymore since we are creating a dedicated conversion flow similar to /new.
[x] We add a UI commit to make the "Organization profile" page of organization settings show a red "This is a demo organization notice" with the same copy that we use in the navbar_alerts.js thing.
[ ] The red banner in the org settings UI should also be a link that redirects the user to the conversion flow. This conversion flow will be similar to the flow for org creation /new. See Alya's mock-ups above for more details on what this might look like.
[ ] When the owner invites a new user, we will prompt the owner for their email and password. Once they have login credentials, we can omit the form fields for email and password from the conversion flow.
[ ] Since we won't be asking the owner for their email upon demo org creation, we need to maybe think about using cookies to remember them when they come back to the demo org.
[ ] Making an organization no longer a demo organization should probably also email all users a brief notice explaining the new status.
[ ] The new user registration form should have a banner explaining that this is a demo organization to new users joining such an organization, as well as the deadline.
[ ] The function to create a demo organization should create a ScheduledMessage entry to PM the owner 7 days before it is deleting letting them know about its upcoming deletion (again with a link to the /help/ article).  (This should trigger email notifications as well).
[ ] We extend our message_retention_policy cron job to call a new delete_demo_organization function that automatically delete demo organizations older than 30 days, presumably using do_scrub_realm.
[ ] The feature should now be complete!  We adjust the help center to appear in the index, document the feature in marketing pages, etc.

That's all for now, I will continue to update this checklist as I discover more work that needs to be done. Thanks!

OK, so I need to update the plan for this issue, since it appears that last checklist does not have the current implementation plan (as well as a few inaccuracies / overcomplicated ideas that we don't want to do). I think it should be mostly safe to not read the above. In short, we have the following implemented thus far:

[x] We add a new demo_organization_scheduled_deletion_date field on the Realm model that keeps track of which organizations have this property and when they will be deleted (null means not a demo organization).

[x] We add a /help/demo-organizations page explaining how these work; it should at this point not be linked from the /help/ index, since the feature won't be available yet (and maybe even open with a tip that it isn't available yet).

[x] We include demo_organization_scheduled_deletion_date in the realm section of the /register response via zerver/lib/events.py so that it's available to clients when enabled.

[x] The realm.demo_organization_scheduled_deletion_date field encodes whether something is a demo organization, and if so, on what date it will be automatically deleted.

[x] There's a handy button in a development environment that lets you create a demo organization.

[x] There's a navbar_alert warning users about the demo organization status and deletion date.

[x] The is_demo_org variable is passed to the followup_day1 template sent when a new account is created, and that email will have a bonus notice for demo organizations.

[ ] We should possibly rename demo_organization_scheduled_deletion_date in the API to realm_demo_organization_scheduled_deletion_date, to follow the policy that Realm settings always have realm_ in their name. (Should be fairly easy, in that PATCH /realm isn't documented yet, and it's not used by non-web clients yet). Though maybe worth an "#api design" thread about whether we want to rename more deeply.

[ ] We should consider renaming flags passed to templates, like is_demo_org that have been used in the above to something that is more similar to the models.py variable; at the very least, s/org/organization/ is probably a good idea.

[ ] We intend to allow you to initially create a demo organization without setting an email address, to make it feel super lightweight.

[ ] Users who haven't sent an email address will be logged in via a cookie, and if they delete the cookie, they can make a new demo org, but there will be no way for them to regain control of the organization.

[ ] One can use the "Change email address" flow to set an email address if one was not set already -- with some care taken to ensure we never email the invalid address.

[ ] Setting an email address is required to invite other users or convert the demo organization.

[ ] Converting a demo organization to a regular organization can be a simple modal where you specify the real subdomain you want; we don't need a /new style page. We don't currently offer a "change subdomain" UI, but we have already added API support for demo organizations using the PATCH /realm endpoint to set a subdomain, so this just needs the UI.

[ ] We add a UI commit to make the "Organization profile" page of organization settings show a red "This is a demo organization notice" with the same copy that we use in the navbar_alerts.js thing.

[ ] The red banner in org settings, when clicked, should present the user with a conversion dialog (see #backend>demo organizations for details):

Opening the conversion modal while you haven't confirmed your email will present you with notice to go confirm your email. This should probably just be a variant of the existing "Change your email address" modal, with an extra/variant sentence, like "First, you need to provide your email address."
If you've already done that, you'll get a simple dialog_widget modal to convert your organization, asking you to provide subdomain, org type, and org name; it'll then execute the conversion via PATCH /realm request.
Some care will likely be required here in handling the 200 response from that request, since we will probably want the browser to redirect to the new subdomain on success via window.location = {new_realm_uri} or similar.

[ ] From a policy perspective, one will need to set one's email address before inviting users. This likely should just pop the same "Change your email address" modal, ideally (for simplicity reasons) as an escape hatch in the function that opens the "Invite users" modal, ideally with the same string as used above.

[ ] Since we won't be asking the owner for their email upon demo org creation, we need to maybe think about using cookies to remember them when they come back to the demo org. Possibly reject requests from devices that do not have said cookie.

[ ] One all the above is done, we can add the flow for creating a demo organization in production; the idea is to do this last, so that we can incrementally merge pieces.

[ ] Making an organization no longer a demo organization should email all users a brief notice explaining the new status and new login URL.

[ ] If the owner has registered with an email, send a warning email 7 days before the org expires.

[ ] We extend our message_retention_policy cron job to call a new delete_demo_organization function that automatically delete demo organizations older than 30 days, presumably using do_scrub_realm. We should leave a bit of extra time (a week?) before deleting the data, but no let the users sign in after the org expires.

[ ] The feature should now be complete!  We adjust the help center to appear in the index, document the feature in marketing pages, etc.

Some parts of the above are prototyped in #19741, however, we will likely need to rework it significantly. I'm going to do a pass of trying to get that PR into a state where it can readily be worked on, next.


Added utility tests.

Description
Added several utility tests.

Related Issue
https://jira.corp.adobe.com/browse/CORE-36777
https://jira.corp.adobe.com/browse/CORE-36779
https://jira.corp.adobe.com/browse/CORE-36783
https://jira.corp.adobe.com/browse/CORE-36784
https://jira.corp.adobe.com/browse/CORE-36785
https://jira.corp.adobe.com/browse/CORE-36786

Motivation and Context
Ensure code is working as expected.

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA or I'm an Adobe employee.
[x] I have submitted a documentation pull request or no changes are needed.
[x] I have made any necessary test changes and all tests pass.
[x] I have run the Sandbox successfully.

I will merge this PR because one of the specs fixes the script that checks for missing tests.


Caching not creating files

I am trying to generate cache for tiles, but some are not being generated, without an error message.
root@map-server ~/brain/tegola # ./tegola cache seed tiles 3/2/3
2022-08-29 10:48:58 [INFO] config.go:317: loading local config (config.toml)
2022-08-29 10:48:58 [WARN] postgis.go:332: Connecting to PostGIS with connection parameters is deprecated. Use 'uri' instead.
2022-08-29 10:48:58 [INFO] providers.go:82: registering provider(type): mappers (postgis)
2022-08-29 10:48:58 [INFO] seed_purge.go:191: zoom list: [0]
2022-08-29 10:48:58 [INFO] cache.go:204: waiting for workers to finish up
2022-08-29 10:48:58 [INFO] worker.go:72: cache seed set to not overwrite existing tiles. skipping map (mappers) tile (0/0/0)
2022-08-29 10:48:58 [INFO] cache.go:214: all workers are done
2022-08-29 10:48:58 [INFO] provider.go:256: cleaning up providers
2022-08-29 10:48:58 [INFO] postgis.go:1021: cleaning up postgis providers

root@map-server ~/brain/tegola/cache/mappers/tiles/3/2 # ll
total 44
drwxr-xr-x  2 root root  4096 Aug 29 00:53 ./
drwxr-xr-x 10 root root  4096 Aug 29 00:54 ../
-rw-r--r--  1 root root    59 Aug 29 00:52 1
-rw-r--r--  1 root root 28051 Aug 29 00:53 4
-rw-r--r--  1 root root   362 Aug 29 00:53 5

It's not generating the files, and to not return issues, anything I should be looking at?
Thanks

@dansku looks like you closed this out, but was the issue related to the missing flag on the seed command? I believe it's --zxy

Hey @ARolek i did close because i didn't know anyone would answer it.
When I ran
./tegola cache seed --min-zoom 2 --max-zoom 3
there were some bigger tiles (1.4mb) on zoom 2 that didn't get cached, and tegola didn't return any error or anything.
the only way I got it to cache is by making the request via wget and waiting it to cache, as wget has a default timeout of 900s it, in the end worked out.
have you seen something like this?

Can you post your config? If you're using the postgis provider, you should move to the mvt_postgis provider for better results.
https://tegola.io/documentation/configuration/#providers

here is the config, i will check the provider
hostname = "domain.com"
port = ":8080"

[webserver.headers]
Access-Control-Allow-Methods = "GET, OPTIONS"
Access-Control-Allow-Origin = "*"

[cache] # configure a tile cache
type = "redis"

# register data providers
[[providers]]
database = "maps"
host = "xxx"
name = "xxx"
password = "xxx"
port = 5432
srid = 4326
type = "postgis"
user = "tegola"

#------------------------------------

[[providers.layers]]
geometry_fieldname = "geom"
id_fieldname = "h3_index_int"
name = "hiot_hotspots"
sql = "SELECT ST_AsBinary(geom) AS geom, h3_index_int, count, id FROM hiot_hotspots WHERE geom && !BBOX!"

[[providers.layers]]
geometry_fieldname = "geom"
id_fieldname = "h3_index_int"
name = "hiot_hotspots_denylist"
sql = "SELECT ST_AsBinary(geom) AS geom, h3_index_int, count, id, denylist FROM hiot_hotspots WHERE geom && !BBOX! AND denylist"

[[providers.layers]]
geometry_fieldname = "point"
id_fieldname = "h3_index_int"
name = "hiot_hotspots_points"
sql = "SELECT ST_AsBinary(point) AS point, h3_index_int, id FROM hiot_hotspots WHERE point && !BBOX!"

#------------------------------------

[[maps]]
# center = [22.4, -5.22, 3.0] # set the center of the map so the user is auto navigated to Bonn
name = "mappers"

#------------------------------------

[[maps.layers]]
max_zoom = 14
min_zoom = 7
provider_layer = "mappers.hiot_hotspots"

[[maps.layers]]
max_zoom = 14
min_zoom = 7
provider_layer = "mappers.hiot_hotspots_denylist"

[[maps.layers]]
max_zoom = 6
min_zoom = 2
provider_layer = "mappers.hiot_hotspots_points"

Yeah you're using the postgis type for the provider. Look at the mvt_postgis provider for better results. Also make sure you have indexes on you're geometry columns.

Change provider type, give me a new error:
./tegola cache seed  --min-zoom 2 --max-zoom 3
2022-09-06 05:25:24 [INFO] config.go:317: loading local config (config.toml)
2022-09-06 05:25:24 [WARN] postgis.go:332: Connecting to PostGIS with connection parameters is deprecated. Use 'uri' instead.
2022-09-06 05:25:24 [INFO] providers.go:82: registering provider(type): mappers (mvt_postgis)
2022-09-06 05:25:24 [INFO] seed_purge.go:191: zoom list: [2 3]
2022-09-06 05:25:24 [INFO] cache.go:204: waiting for workers to finish up
2022-09-06 05:25:24 [INFO] worker.go:92: seeding map (mappers) tile (2/3/3) took: 105ms
2022-09-06 05:25:24 [INFO] worker.go:92: seeding map (mappers) tile (3/0/0) took: 105ms
2022-09-06 05:25:24 [INFO] worker.go:92: seeding map (mappers) tile (3/0/5) took: 140ms
2022-09-06 05:25:24 [INFO] worker.go:92: seeding map (mappers) tile (3/1/0) took: 154ms
2022-09-06 05:25:24 [INFO] worker.go:92: seeding map (mappers) tile (3/0/7) took: 165ms
2022-09-06 05:25:24 [INFO] worker.go:92: seeding map (mappers) tile (3/1/7) took: 165ms
2022-09-06 05:25:24 [INFO] worker.go:92: seeding map (mappers) tile (3/1/6) took: 168ms
2022-09-06 05:25:24 [INFO] cache.go:214: all workers are done
2022-09-06 05:25:24 [INFO] provider.go:256: cleaning up providers
2022-09-06 05:25:24 [INFO] postgis.go:1021: cleaning up postgis providers
Error: error seeding tile ({Z:2 X:2 Y:1}): ERROR: Unknown geometry type: -739748096 - Unknown (SQLSTATE XX000)

This could be an issue?!
I will investigate

Yea, you need to change you're query up a bit. Please refer to the link I posted earlier.

Yeah you're using the postgis type for the provider. Look at the mvt_postgis provider for better results. Also make sure you have indexes on you're geometry columns.

yeah just realized i don't, adding them now

Here's the best documentation on the mvt_postgis provider: https://github.com/go-spatial/tegola/blob/master/mvtprovider/postgis/README.md

Yea, you need to change you're query up a bit. Please refer to the link I posted earlier.

ahh i see, working on it!

@ARolek that's a massive difference in performance!
Just this SRID=4326;POLYGON((-149.4079546040616 61.5682647740014,-149.416689067466 61.56599382773844,-149.4174479028639 61.56157822934728,-149.4094751212302 61.55943382297276,-149.4007425395111 61.56170418788818,-149.3999808578964 61.56611954041555,-149.4079546040616 61.5682647740014))
is returning this error
could not register providers: error fetching geometry type for layer (hotspots): layer (hotspots) returned unsupported geometry type (<nil>)

What a massive difference in performance!
Valid Geometries: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection.
And this is the cell:
SRID=4326;POLYGON((-149.4079546040616 61.5682647740014,-149.416689067466 61.56599382773844,-149.4174479028639 61.56157822934728,-149.4094751212302 61.55943382297276,-149.4007425395111 61.56170418788818,-149.3999808578964 61.56611954041555,-149.4079546040616 61.5682647740014))

Glad that worked for you!

Glad that worked for you!

thank you for the help, so close from nailing this side of things ;)
any idea why it could be returning NIL?

This is inside the cell:

I would need to look at the data. You can turn on SQL debugging to see the query tegola is forming up and then inspect the results against the database directly.
https://tegola.io/documentation/debugging/

Will do, 5AM here, will go to sleep and check this in the morning.
Thank you very much 🚀

I am facing a similar issue: I ran the command expecting to get tiles from zoom levels 0 to 7, but the result only includes a few of them, not all the tiles in the area  zoom 0-7.

@Rub21 can you post the cache part of your config?

Sure, here is my  👉  config . Maybe I missed something, but setting bounds=-180,-85.05112878,180,85.05112878 did not work.  maybe that was removed. But using the tile-list  to 0/0/0 an setting the zoom from 0-7 works fine.
$ echo "0/0/0" > tile-list.tiles
$ tegola cache seed tile-list tile-list.tiles \
    --config=/opt/tegola_config/config.toml \
    --map=osm \
    --min-zoom=0 \
    --max-zoom=7\
    --concurrency=128 \
    --overwrite=true

@ARolek It seems that i'm facing exactly the same issue as @Rub21. I'm using Dockerimage "tegola:latest" with mvt_postgis.
The following does not work correctly (only one tile per zoom level). It seems to seed empty tiles for the wrong bbox.
docker exec -it tegola-2 /opt/tegola cache seed \
  --config /opt/tegola_config/config.toml \
  --map hoehenkurven_1700 \
  --bounds "5.9,45.8,10.5,47.8" \
  --min-zoom 0 \
  --max-zoom 15 \
  --overwrite

Whereas this works like a charm:
docker exec -it tegola /opt/tegola cache seed tile-name "6/33/22" \
  --min-zoom 0 \
  --min-zoom 15 \
  --config /opt/tegola_config/config.toml \
  --map hoehenkurven_1700 \
  --format "/zxy"

@Rub21 and @callsumzg I appreciate the reports, but I'm still not sure exactly what the root cause of this issue is. In v0.20.0 there were some changes with how the geom package was used in the codebase and we're still working through some regressions. I wonder if this issue is related.
Can you please try the v0.19.0 version of tegola and report back?
cc @gdey

@Rub21 Thank you for the quick reply.
I tried version v0.19.0 as you suggested and the seeding with "--bounds" parameter works now as expected. :-)
Can i help you any further to debug this?

I tried version v0.19.0 as you suggested and the seeding with "--bounds" parameter works now as expected. :-)

Ok nice!

Can i help you any further to debug this?

Are you familiar with Go? The next step is hunting down the cause of the issue and developing a test case. Is this something you can help with?

It looks like https://github.com/go-spatial/tegola/commit/e5a736695710e7004181ac291983ef449fa9284e touched the tile seeding / purging code last. The commit is associated with some changes @gdey made to generating slippy tiles in the geom package. Looking at the v0.1.0 tag the last commit is https://github.com/go-spatial/geom/commit/55e666d67bc5969a5f2e09b17185f72727e5f0f9. Traversing the code we reach the following function which has the core math:
https://github.com/go-spatial/geom/blob/55e666d67bc5969a5f2e09b17185f72727e5f0f9/slippy/tile_grid.go#L153-L161.
Here's the core math that needs to be looked at: https://github.com/go-spatial/geom/blob/master/slippy/maths.go#L55

@ARolek can you release v0.21.0? I believe those issues have since been addressed. The newest image with tag edge should be including it for you to test @callsumzg.

Are you familiar with Go? The next step is hunting down the cause of the issue and developing a test case. Is this something you can help with?

@ARolek Unfortunately, I have zero experience with Go. With Python, yes, but that probably won't help much with this project.

@ARolek can you release v0.21.0? I believe those issues have since been addressed. The newest image with tag edge should be including it for you to test @callsumzg.

That would be great. If I can’t contribute a code fix, at least I can help with testing. Just let me know when it is ready.

@ARolek can you release v0.21.0? I believe those issues have since been addressed. The newest image with tag edge should be including it for you to test @callsumzg.

I just looked at the draft release and you're right! this was fixed by @gdey in the upcoming release. I believe there's still an issue with the geoprocessing operations for providers other than mvt_postgis. I will note that in the release.
I will cut a release this week.

@callsumzg & @Rub21 I just cut v0.21.0 which should address this issue. Can you please watch the release page and when your respective build architecture is ready give it a test? Please report back your results.

@ARolek Thank you for the release. I tried v0.21.0, but the issue persists. The following works perfectly with v0.19.0, but not in later versions:
docker exec -it tegola /opt/tegola cache seed \
  --config /opt/tegola_config/config.toml \
  --map hoehenkurven_1700 \
  --bounds "5.9,45.8,10.5,47.8" \
  --min-zoom 10 \
  --max-zoom 16 \
  --overwrite

The newer releases >v0.19.0 work only with the following cache seed command:
docker exec -it tegola /opt/tegola cache seed tile-name "6/33/22" \
  --config /opt/tegola_config/config.toml \
  --map hoehenkurven_1700 \
  --min-zoom 0 \
  --max-zoom 15 \
  --format "/zxy"

The command is borked as of this commit. We are attempting to resolve tiles on a wenmercator grid with wgs84 bound coordinates still.
that’s the reason the cache command with zxy works, but the bounds one does not.

Thanks for the help testing. I have pinged @gdey to investigate to see if we can get tile seeding with bounds working near term as we work towards getting some of the other geom processing fixed.

It’s not the geom processing, just how it is being utilized in the seed_purge in my opinion. Either we allow bounds to be either webmercator or wgs coordinates and determine the correct grid for either, or we fix resolving tiles to one grid but communicate the correct bounds to use.

@ARolek Thank you for the release. I tried v0.21.0, but the issue persists. The following works perfectly with v0.19.0, but not in later versions:
docker exec -it tegola /opt/tegola cache seed \
  --config /opt/tegola_config/config.toml \
  --map hoehenkurven_1700 \
  --bounds "5.9,45.8,10.5,47.8" \
  --min-zoom 10 \
  --max-zoom 16 \
  --overwrite

The newer releases >v0.19.0 work only with the following cache seed command:
docker exec -it tegola /opt/tegola cache seed tile-name "6/33/22" \
  --config /opt/tegola_config/config.toml \
  --map hoehenkurven_1700 \
  --min-zoom 0 \
  --max-zoom 15 \
  --format "/zxy"

What is the SRID of that map? I'm trying to figure out the new code is not working. I believe @iwpnd is correct. We are currently defaulting to SRID 3857, which I believe is what it was before.

@iwpnd @ARolek @callsumzg
Just pushed up a PR with a new option to specify the grid.
https://github.com/go-spatial/tegola/pull/1024

It’s not the geom processing, just how it is being utilized in the seed_purge in my opinion. Either we allow bounds to be either webmercator or wgs coordinates and determine the correct grid for either, or we fix resolving tiles to one grid but communicate the correct bounds to use. Shall we create a ticket for this one specifically?


###dfaf

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...
...

No information provided or steps to replicate - Closing 😞