Update Site settings “info”

Automatically generated by Netlify CMS

👷 Deploy Preview for effervescent-paletas-64cac8 processing.

Name
Link

🔨 Latest commit
d24342bfc8ea70058e8f58ee1acc1eb73f318453

🔍 Latest deploy log
https://app.netlify.com/sites/effervescent-paletas-64cac8/deploys/62e711640888e70007602c12


Event

Builds on PR #48.

Fix: Allow event: prefix within ModulePathExpr and NamepathExpr; defined at http://usejsdoc.org/tags-event.html#syntax and used within module path at http://usejsdoc.org/tags-listens.html#example (fixes #47)

Would you be able to take another look? I think this should be ready now...

Could I ask for an ETA on when you might be able to take a look at this?

Bump...

I've rebased, but it seems I am not able to push my commit to master in jsdoctypeparser, despite seeing myself listed on the project (I guess I need to be enabled for the repo specifically?).
I'm also happy to follow a procedure of submitting PRs if that is desired, but with changes requested here by Kuniwak (and with this project creator no longer active), should I submit a new PR?

Hm, I thought org members would be able to commit freely. I made you an org owner instead of just adding you to the contributor list for the repo. I don't think there's much social difference. Maybe some technical difference.
I'd like to ship 3.1.0 today so I'll go ahead and merge this PR along with your others.


Rails 4

Providing support for Rails 4.0. Seems to be working as we tested in a Rails 4 vanilla app.

[ ] Check out has_many associations. Do they now accept scope as well?

:+1:

gusanillo added @franciscoj


address(this).balance randomly set to msg.value instead of increased during stateful invariant test

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (e0afc7c 2023-04-22T00:03:37.411928847Z)
What command(s) is the bug in?
forge test -m invariant -vvv
Operating System
Linux
Describe the bug
When running stateful fuzz test on simple Vault contract, after a random deposit() the Vault's address(this).balance randomly gets set to msg.value instead of being incremented, making the stateful test fail - doesn't happen all the time, seems random. This occurred while fuzzing a larger contract so I've created the bare minimum proof of concept to show the bug.
Files in zip:

output.txt - shows failed test run, note how at depositCount = 4, balance = amount while totalDeposited was increased by amount, balance should have kept increasing as well but got set to amount (msg.value)
src/Vault.sol - very simple Vault contract with only 1 function deposit()
test/Vault.t.sol - setUp() & invariant_() tests
test/InvariantVault.t.sol - handler
test/utils/AddressSet.sol - utility for handler

vault.poc.zip

Yea @devdacian if you can provide a repo that we can pull down and run forge test on to show the bug that'd be great. Also don't want to download an untrusted zip file 😅

@mds1 thank you for letting me know, have done as requested https://github.com/devdacian/foundry-bug-report-4808

The problem is that sometimes the actor you prank as is the vault address, so the vm.deal line overwrites the balance of the vault, so it's no longer in sync with totalDeposited. You can see this from the traces, copied below, where it has the name of the Vault contract in the args for the deal/prank calls
  [96416] InvariantVault::deposit(51466168253907808369)
    ├─ [0] console::log(Bound Result,<PHONE_NUMBER>907808364) [staticcall]
    │   └─ ← ()
    ├─ [0] VM::deal(Vault: [0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f],<PHONE_NUMBER>907808364)
    │   └─ ← ()
    ├─ [0] VM::prank(Vault: [0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f])
    │   └─ ← ()
    ├─ [14004] Vault::deposit{value:<PHONE_NUMBER>907808364}()
    │   ├─ [0] console::log(actor          : , Vault: [0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f]) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] console::log(amount         : ,<PHONE_NUMBER>907808364) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] console::log(balance        : ,<PHONE_NUMBER>907808364) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] console::log(depositCount   : , 5) [staticcall]
    │   │   └─ ← ()
    │   ├─ [0] console::log(totalDeposited : ,<PHONE_NUMBER>4168748199) [staticcall]
    │   │   └─ ← ()
    │   └─ ← ()
    └─ ← ()

  [26769] VaultTest::invariant_addrBalance_eq_totalDeposited()
    ├─ [2305] InvariantVault::totalDeposited() [staticcall]
    │   └─ ←<PHONE_NUMBER>4168748199
    ├─ emit log(: Error: a == b not satisfied [uint])
    ├─ emit log_named_uint(key:       Left, val:<PHONE_NUMBER>907808364)
    ├─ emit log_named_uint(key:      Right, val:<PHONE_NUMBER>4168748199)
    ├─ [0] VM::store(VM: [0x7109709ECfa91a80626fF3989D68f67F5b1DD12D], 0x6661696c65640000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000001)
    │   └─ ← ()
    └─ ← ()


issue with LOOKUP tables

Hello,
I have trouble with lookup tables.
I need patients to be generated by age and gender, so I choose table transition and gave all the values as per the example given.
I named the column headers according to the states. later, named the tables and downloaded the files and saved them in (main/resources/modules/lookup tables ).
after generating the data and analyzing, I found the data is not generated accordingly.(lookup table probabaility)
Is there anything else i missed to perform on lookup tables?
how much should be given as  the default probability?(I tried both 100% and 0%)(still not working).
here I am attaching my JSON of that lookup tables.

this is how I hardcoded my data for lookup tables
age,gender, HIV_Positive, HIV_Test_Negative
0-4,F,0.02,0.98
5-9,F,0.11,0.89
10-14,F,0.08,0.92
15-19,F,0.12,0.88
20-24,F,0.34,0.66
25-29,F,0.6,0.4
30-34,F,0.95,0.05
35-39,F,0.87,0.13
40-44,F,0.119,0.881
45-49,F,0.106,0.894
50-54,F,0.117,0.883
55-59,F,0.09,0.91
60-64,F,0.62,0.48
0-4,M,0.06,0.94
5-9,M,0.05,0.95
10-14,M,0.13,0.87
15-19,M,0.05,0.95
20-24,M,0.06,0.94
please let me know if made any mistakes in the process or if i need to add any other step.(please let me know if any other details are missed to help out)
Appreciate your help.
Regards
Bhavana

You shouldn't have both default probabilities be 1... both numbers should sum to 1. So, you could make one 1 and the other 0, for example.
Also, do not copy and paste out of the JSON window. Use the Download button.
The JSON, after you download it, should look something like this (this example is not complete):
  "New_State": {
      "type": "Simple",
      "lookup_table_transition": [
        {
          "transition": "New_State_2",
          "default_probability": 0.8,
          "lookup_table_name": "file.csv"
        },
        {
          "transition": "New_State_3",
          "default_probability": 0.2,
          "lookup_table_name": "file.csv"
        }
      ]
    },

The JSON file should be in src/main/resources/modules/your_module.json (or whatever you name the JSON file) and the CSV table should be in src/main/resources/modules/lookup_tables/file.csv. Notice that the paths are different. The file name in the JSON needs to match the file name in the lookup_tables folder.
The results are not going to be exact, but they should be close, especially as you generate more and more patients. If you have probability of 0.96, do not expect exactly 96 out of each 100 to have the result in question. Generate at least 10K patients to see the results at scale.
Also, use the covid-19 lookup tables as working examples.

Appreciate your response and time
I did followed the same way as you have mentioned and generated 10k patients but none of the patients are in the given age range as in the lookup table. when I give probability as 0.3 for positive condition and 0.7 for negative condition.
300/10k are generated positive and 700/10k are negative.
however, the generated 700 &300 are not in the age ranges provided in the lookup tables.
please let me know how to deal with this
Thankyou
Appreciate your help.

Try setting exporter.years_of_history = 0

You might be filtering out old data.

hi @jawalonoski
Thankyou for taking time out to help me.
After changing the above setting also, lookup tables are not working. it is just generating the numbers based on the default probability, but not by age and gender (lookup table).

This is how I am giving my probabilities by age and sex into the module builder and then I kept the downloaded csv files in their destination.
Please help me with this.

Please help me with this.

The instructions I provided previously about where to place the JSON and CSV files should work (illustrated below), if you follow them carefully. Make sure the module references hiv_data.csv and not lookup_tables/hiv_data.csv.
/synthea
  /src
    /main
      /java
      /javascript
      /resources
        /costs
        /geography
        /modules
          hiv.json <--- put your module here
          /lookup_tables
            hiv_data.csv <---- put your table here

At this point, there isn't much more I can do, unless you point me to a GitHub repository.

Hi @jawalonoski
here I am attaching the git hub repository link for modules and lookup folder.
I have attached the complete module  folder.
mod.json is the json file which is in module folder
https://github.com/vbchinnam/synthea
Please let me know if any other things are needed to help us.
Thankyou so much for being patient and help
Much appreciated.

Hi @jawalonoski
Following up to see if you got a chance to check my repository.
Appreciate your help.

These modules function.
Steps I took:
cd git/
mkdir vbchinnam
cd vbchinnam/
git clone https://github.com/vbchinnam/synthea.git
cd ~/git/synthea
cp ~/git/vbchinnam/synthea/modules/final_hiv.json src/main/resources/modules/
cp ~/git/vbchinnam/synthea/modules/lookup_tables/*.csv src/main/resources/modules/lookup_tables/
rm -R output/
./run_synthea -p 1000 --exporter.csv.export=true --exporter.years_of_history=0
grep "75622-1" output/csv/observations.csv
grep "45260-7" output/csv/observations.csv
grep "25836-8" output/csv/observations.csv

The lookup tables are being found and they are functioning without error.
Let's look at the data in ./output/csv/observations.csv:
Tests

Gender
Age
HIV Negative
HIV Positive

F
0
270
275

M
0
328
312

ART

Gender
Age
Count

F
0
275

M
0
312

VLS

Gender
Age
Count
Min
Average
Max

F
0
275
10772.9
476470.4345
992186.8

M
0
312
3458.7
518117.4574
999684.1

Expected vs. Actual
So what is the problem?
Well, for one thing, everyone is aged 0 years. You probably didn't expect that.
Second, the distribution is closer to 50/50 than anything in your hit_data.csv table. Why?
Well, because everyone is a newborn baby. Your table does not have an entry for anyone under 15 years old, so the module reverts back to your default probabilities.... which are 50% for each outcome.
Why is everyone a newborn baby?
Because all patients in Synthea start as newborn babies. Your module doesn't have any Delay states, or Guard states, or even Encounters. So, the module executes immediately as soon as the baby is born. Right inside the maternity ward the nurses are administering an HIV test.
Probably not what you wanted.
See Age: Guard vs. Delay for an explanation.
How do you fix this problem?
Use a Delay, or a Guard, or both. And what the heck, an Encounter as well. I tried this solution (you'll have to recreate this on your own):

Final Results
I ran another 1000 patients.
337 tested negative, and 28 tested positive (see table below for breakdown).
What about the rest of the patients? The other 635 patients? Well, they weren't tested. That is because the Delay state I added above (randomly delays between 0 and 49 years) did not finish for all the patients.

Gender
Age
HIV Negative
HIV Positive
Total

F
15
9

9

M
15
13

13

F
16
5

5

M
16
12

12

F
17
12

12

M
17
6

6

F
18
11
1
12

M
18
7

7

F
19
10

10

M
19
9

9

F
20
4

4

M
20
4

4

F
21
2

2

M
21
3

3

F
22
16

16

M
22
18
2
20

F
23
3
1
4

M
23
3

3

F
24
1

1

M
24
4

4

F
25
17
1
18

M
25
11
1
12

F
26
1
1
2

M
26
6

6

F
27
5
1
6

M
27
2

2

F
28
19

19

M
28
10
2
12

F
29
4

4

M
29
1

1

F
30
3

3

M
30
3
1
4

F
31
8

8

M
31
12
1
13

F
32
5

5

M
32
3

3

F
33
3
1
4

M
33
2
2
4

F
34
12
1
13

M
34
4
1
5

F
35
1

1

M
35
2

2

F
36
3
1
4

F
37
6

6

M
37
6
1
7

F
38
1

1

M
38
3

3

M
39
1

1

F
40
6
1
7

M
40
2
2
4

F
41
3

3

F
42
2

2

M
42
5
1
6

M
43

1
1

F
44
3

3

M
44
1

1

F
45
3

3

M
45
2

2

F
46
1
2
3

M
46
2
1
3

M
47
1

1

M
48

1
1


Functions to get the static evaluation, and resume full strength

Resolves #35 by updating the documentation for get_top_moves, to note that full strength is used even if the user lowered elo or skill level.
Resolves #37 by adding a function to get the static evaluation. Also slightly updated the docs for get_evaluation to specify what is done in more detail.
Added a function that allows the user to reset stockfish back to full strength, if they had previously lowered the elo or skill level.

@kieferro Great, thx! I've added one more commit, which issues warnings if stockfish is set on a lower strength in some functions. I'll merge the PR in a day or two if there's nothing in this commit you'd prefer changed, and if nothing else comes up in discussions related to this PR.

@johndoknjas The last change with the warnings looks good.

I'll merge the PR in a day or two if nothing else comes up in discussions related to this PR.

:+1:


Add a destroy function

Currently there is no way to destroy the network directly, this merge request
attempts to solve that issue.
There are accompanying tests, but they have an issue where they don't exit
if this test fails.
It would be nice if there was a way to exit the test if the process handles
are above a certain threshold, although preliminary tests show that there
wasn't really a correlation between the number of handles and requests open
and whether or not the test would exit.

Signed-off-by: Cody W. Eilar<EMAIL_ADDRESS>

This doesn't appear to destroy if announce is set to true on any network joins.

@bencevans That's unfortunate. I guess I didn't test with that setting. When I have some time I'll take a look at getting the test to pass with both announce: true and announce: false

Fixed in latest


Skype4J seems to ignore/not receive messages from users with particular unicode display names

the display name tested had symbols like ρ, є, υ, ∂, ν, я

Cannot reproduce. Any errors?

none


Improve Tutorials / Samples

It would be really nice to have a more complete set of tutorials/samples to work with.
E.g. None of the samples use Geometry Instancing,Indirect Buffers.
From the Vulkan/Metal docs it is also not clear, because each API handles this slightly differently.
Best,
Marc

Yeah I agree, more example code would be nice. I've gotten requests for a lot of different types of examples, so it's hard to choose which ones to implement in the time I have for it.

Sure. Thats totally understandable
For me at least I like to reimplement stuff from  learnOpenGL
I think the advanced examples are very good.

@mellinoe
By the way, do you accept donates? I would like to donate for tutorials/samples purposes.
For example, would be nice to have some of these tutorials http://www.rastertek.com/tutdx11.html or http://www.rastertek.com/tutdx11s2ter.html to be adapted (copy-paste is welcomed too, in context of technique descriptions, since these tutorials pretty well written though a lot of code) to Veldrid & C#.

@Krakean I don't take donations at the moment, no. For me, it's just a matter of not having enough time to dedicate to samples and all of my other projects. It's still something I want to do, though, and I understand they are very important for new folks trying to learn the library.
Which of the samples from rastertek do you think would be the most interesting to port over to Veldrid?

For me I like to focus on these topics when I start with a new API:

Uniforms
Instanced Buffers
Offscreen Rendering

Granted Veldrid-Samples covers these aspects, but they are a bit convoluted.
The biggest offender is Shader-Gen (sorry :octopus: ).
I think its really cool but it doesn't help when wanting to do the absolute minimum in terms of shader programming.
I think a good first step would be to rewrite the shaders in their simplest form.

@geoeo i think shader gen really helps with doings the minimum work required... Not using shader gen is 4 times the work

@feliwir I dont think it helps when trying to learn a new Graphics API. Since its 2 technologies competing in the same tutorial. I try to keep things separated when I'm learning new things.
But thats just how I like to learn stuff.

Writing the shaders 4 times is obviously more work, but I can understand where the feedback is coming from. I've tried to keep the "basic" tutorials off of ShaderGen so that they are more approachable. Some of the others were actually ported over from other code of mine which was already using ShaderGen. I think I agree with the general sentiment that the introductory example code should try to be as self-contained and simple as possible, even if it means writing the shaders multiple times. Honestly, it's not THAT much work for me to copy-paste the shaders and adapt them to different languages.

If there's a poll for examples... my vote goes on skinning/morphing...  I am working on a generic c# glTF loader, and I was considering using veldrid as a render engine as a proof of concept.
In terms of animation, something that keeps me puzzled is how to achieve morphed animation using the GPU... theoretically a model can come with many morph targets, but the whole thing is not very GPU friendly... at least to my rusted GPU knowledge

@vpenades I think it would be great to use Veldrid for that. I'm happy to provide pointers if something is unclear.
There is an existing sample that covers (basic) skinning, but nothing with morph targets. I'm not really familiar with morphing animations (seems like they aren't widely used in games), but the naive way to do it would be to simply upload all of the vertex keyframe data into a large buffer. Each frame, upload a new time value and do the keyframe interpolation in the vertex shader.

@mellinoe Morph targets are quite tricky to handle, and with glTF they're specially complex, because they can be used along with skinning animation. They're typically used for things like facial animation or cloth.
glTF defines a number of vertex channels, the classic ones: Position, Normal, Texcoords, skin weights, etc. Any of these channels can be subject to morphing, so it can lead to lots of weird combinations.
In practice, what I've seen is morph targets that have Position, Normal and Tangent for every channel.
But with glTF, any attribute can be morphed; for example, Texture coordinates, to make texture distortion animation over a surface. or even skin weights themselves, to change the weights based on pose.
There's also the issue of the limit of attributes a vertex can have, which, I think, it's 16.  If you have 3 morph targets binded, which have Position+Normal+Tangent, they already consume 9 out of 16 slots, leaving 7 for skinning, texture coords, color, etc.... it's really at the limit.

I guess I was thinking of it in a slightly different way. Instead of passing the data as per-vertex attributes, you could just pass them in a buffer (ResourceKind.StructuredBufferReadOnly), and read them in the vertex shader. This is sometimes called "vertex pulling". In my mind, you need to do this anyways because you'll want to sample multiple keyframes in the shader to interpolate between them. But again, I don't really know much about this kind of morph animation, and I'm getting the impression that glTF supports a lot of complex features that might require something different

If you have 3 morph targets binded, which have Position+Normal+Tangent, they already consume 9 out of 16 slots

I think most systems nowadays support 32 attributes, but I think you will be fine if some (or all) of the animated attributes end up in a structured buffer.

you're probably right; my GPU knowledge stops at DirectX9, things like structured buffers, etc are unknown to me.
my gltf repo is here, it's still a mess and I'm still figuring out namespaces and which helper classes I include or leave them out.  The interesting bit is the SharpDX demo, which I use as an use case. It just loads the geometry into Dx and renders it.

I'd like to use Veldrid with GTK# but I can't find anything like that. I also would like to know how to get back the texture from the GPU and export it to a stream as PNG for example


stablehlo.uniform_quantize cannot be serialized to bytecode

What happened?
The MLIR module containing stablehlo.uniform_quantize/dequantize ops failed during bytecode serializing with error
loc("custom-call.6"): error: failed to legalize operation 'stablehlo.uniform_quantize' that was explicitly marked illegal

However, the MLIR module can be serialized to readable format
module @IrToHlo.18 attributes {mhlo.cross_program_prefetches = [], mhlo.is_dynamic = false, mhlo.use_auto_spmd_partitioning = false} {
  func.func @main(%arg0: tensor<10xf32>, %arg1: tensor<10x3x3x3xf32>, %arg2: tensor<1x3x10x10xf32>) -> tensor<1x10x8x8xf32> {
    %0 = stablehlo.constant dense<0.000000e+00> : tensor<1x10x8x8xf32>
    %1 = stablehlo.uniform_quantize %arg2 : (tensor<1x3x10x10xf32>) -> tensor<1x3x10x10x!quant.uniform<i8:f32, 1.000000e+00>>
    %2 = stablehlo.uniform_dequantize %1 : (tensor<1x3x10x10x!quant.uniform<i8:f32, 1.000000e+00>>) -> tensor<1x3x10x10xf32>
    %3 = stablehlo.uniform_quantize %arg1 : (tensor<10x3x3x3xf32>) -> tensor<10x3x3x3x!quant.uniform<i8<-127:127>:f32, 1.000000e+00>>
    %4 = stablehlo.uniform_dequantize %3 : (tensor<10x3x3x3x!quant.uniform<i8<-127:127>:f32, 1.000000e+00>>) -> tensor<10x3x3x3xf32>
    %5 = stablehlo.convolution(%2, %4) dim_numbers = [b, f, 0, 1]x[o, i, 0, 1]->[b, f, 0, 1], window = {stride = [1, 1], pad = [[0, 0], [0, 0]], lhs_dilate = [1, 1], rhs_dilate = [1, 1], reverse = [0, 0]} {batch_group_count = 1 : i64, feature_group_count = 1 : i64, precision_config = [#stablehlo<precision DEFAULT>, #stablehlo<precision DEFAULT>]} : (tensor<1x3x10x10xf32>, tensor<10x3x3x3xf32>) -> tensor<1x10x8x8xf32>
    %6 = stablehlo.broadcast_in_dim %arg0, dims = [1] : (tensor<10xf32>) -> tensor<1x10x8x8xf32>
    %7 = stablehlo.add %5, %6 : tensor<1x10x8x8xf32>
    %8 = stablehlo.maximum %7, %0 : tensor<1x10x8x8xf32>
    %9 = stablehlo.uniform_quantize %8 : (tensor<1x10x8x8xf32>) -> tensor<1x10x8x8x!quant.uniform<i8:f32, 1.000000e+00>>
    %10 = stablehlo.uniform_dequantize %9 : (tensor<1x10x8x8x!quant.uniform<i8:f32, 1.000000e+00>>) -> tensor<1x10x8x8xf32>
    return %10 : tensor<1x10x8x8xf32>
  }
}

Steps to reproduce your issue
The StableHLO with uniform_quant/dequant op is generated from PyTorch -> PyTorch/XLA -> StableHLO. To reproduce the bug e2e requires changes in PyTorch/XLA and HLO->StableHLO converter. The change hasn't been merged to PyTorch/XLA head.(But will be merged soon as experimental feature) Please let me if repro e2e is needed.
This function is used to serialize stablehlo bytecode in PyTorch/XLA
Version information
StableHLO commit 46a2506405a0c1ade5327b9e476a32781221b075
from openxla/xla: 51b59cfb1999c6f1b3ec59851675044b2c502aae

cc @GleasonK

Thanks for reporting! Will take a look early next week.

Hey @GleasonK, any update on this issue? We're currently using a workaround for this that we'd like to get rid of.

The issue is related to propagation of signless information for integer storage type during PyTorch to StableHLO export.
StableHLO, as bootstrapped from MHLO, inherits signless integers which was added in MHLO for some legacy reasons. Because of that signless integers are treated as signed.
During PyTorch --> HLO export,
we create signed integer (e.g. si8) (from here and  here) as storage type and store in in the attribute string dictionary.
During HLO --> Stablehlo,
we create a signed integer as the storage type of UniformQuantizedType (here).
During StableHLO -> VHLO, we do not convert such signed type (cs), following the rational that only signless integers are considered to be signed integer unless https://github.com/openxla/stablehlo/issues/22 is resolved.
Note that this issue was not reproduced when we serialize using a string format of an in-memory representation  mainly because si8 in a Stablehlo in in-memory module representation is pretty printed as i8 which can be serialized w/o any issue.
My proposal is for PyTorch -> StableHLO export to generate signless integers for storage type. Here is the propotype of the proposal: https://github.com/pytorch/xla/pull/6613

@lsy323 Can you please check if the proposal https://github.com/pytorch/xla/pull/6613 works with your setup before I sent it for PR review.

Any status update here? Reassigning to Sandeep who will have a better idea on how to triage (or perhaps https://github.com/pytorch/xla/pull/6613 should mark this as fixed on submit)?

Per suggestion from @lsy323, we will review+land https://github.com/pytorch/xla/pull/6613  once the ci is clean.

Thanks @sdasgup3! Issue resolved in https://github.com/pytorch/xla/pull/6613


Awake Icon in taskbar

Microsoft PowerToys version
"0.63.0"
Installation method
GitHub
Running as admin

[X] Yes

Area(s) with issue?
Awake
Steps to reproduce
After activating the Awake mode "Keep screen on" and restarting, the Awake icon is no longer visible in the taskbar. Only via the Powertoys settings and the switching off and on again of the function was the icon reappeared.
✔ Expected Behavior
The icon remains visible.
❌ Actual Behavior
The icon was no longer visible.
Other Software
No response

/reportbug


Unable to bind another script events

Hello,
I am newbie to the tooltipster development. It looks working great when i working directly with that. But i am using Ubaplayer also to play with the audio files. When i play only with the ubaplayer script, it works greatly. As a combination it fails.
The issue with this is, when tooltipster is binded to the element, all the existing listeners from other scripts have not been worked.
The Ubaplayer have some click events, those are not binding. (https://github.com/brianhadaway/UbaPlayer)
Is there any suggestion that i can work with both with out issues?
Ex: Google . It plays correctly with ubaplayer. When tooltipster is binded, it is redirected to that path. Click events from ubaplayer is missing. It is override by tooltipster.
Could you please provide any solution?

Hello, please try with Tooltipster v4 (on the v4 branch): if the caught click events are the issue, it has been fixed in v4. There a couple changes in v4, post here again if you run into an issue. Thanks

Hello,
Thank you for your response. Still there is no solution with the v4 version.
For your reference i have created the small plunker.
http://plnkr.co/edit/4HgYkJC3Yu6CYUKO5ImK?p=preview
When you click on the first link, the song will be played.
When you click on the second link, tooltip with action link available. when you click that it is being redirected. That shouldn't happened. Because both the links have same href value.
It is highly appreciable when you provide the solution or reference to solve.

Please verify in mozilla browser for the clear problem.

The plunker uses v3, not v4. But I can already tell you that the issue does not lie within Tooltipster, because Tooltipster does absolutely nothing to your content. There must be something wrong in your bindings, but it just cannot be Tooltipster v4 that does that. Maybe you cloned divs without their bindings (I did not go into the details of your code).

Even v4 does the same thing. Any how thank you very much for your valuable comments. Closing this issue unable to provide the solution.

Np, good luck debugging your app.


query: multiple 'query.replica-label' flag

Thanos, Prometheus and Golang version used:
thanos, version 0.7.0 (branch: HEAD, revision: c6eaf68bec32aefd280318eaef6121d6ddb20d10)
  build user:       circleci@f199bdee6152
  build date:       20190902-15:43:19
  go version:       go1.12.5

What happened
I got this error message when I tried to use multiple flags on the query component:

flag 'query.replica-label' cannot be repeated

What you expected to happen
As implemented on this PR (https://github.com/thanos-io/thanos/pull/1362), I was expecting to be able to use multiple flags :) maybe I'm missing something.
I even saw on the CHANGELOG this topic described:

#1362 query.replica-label configuration can be provided more than once for multiple deduplication labels like: --query.replica-label=prometheus_replica --query.replica-label=service.

I also followed the latest documentation that instruct on how to use it.
How to reproduce it (as minimally and precisely as possible):
docker run --rm thanosio/thanos:v0.7.0 query --query.replica-label=prometheus_replica --query.replica-label=prometheus_region

Error parsing commandline arguments: flag 'query.replica-label' cannot be repeated
usage: thanos query [<flags>]

cc @krasi-georgiev

Are you using release v0.7.0? #1362 is not included in it. If you want to use this feature, you can build from master.

@yeya24 yeah, maybe I got confused, idk.. I saw this change on the CHANGELOG under v0.7.0, that's why

Hi, maybe it is our fault. #1362 is merged after v0.7.0 released.
Will fix CHANGELOG soon. Sorry for that.


ziti_shutdown doesn't guard against NULL/incomplete intialized context

I had a context which did not fully initialize due to  failed to login: INVALID_AUTH[-12](The authentication request failed). When that context is passed to ziti_shutdown ztx->session is NULL and free_ziti_session(ztx->session); will cause a crash

free_ziti_session calls model_free() (https://github.com/openziti/ziti-sdk-c/blob/master/library/model_support.c#L193) which guards against NULL pointer being passed


fix(test/chores): Buildscripts and E2E script shebangs

Pull Request template
Please, go through these steps before you submit a PR.
Why is this PR required? What issue does it fix?:
In some OSes bash is in different location (e.g. NixOS), So using /usr/bin/env bash is a better option
What this PR does?:
Changed shebangs from /bin/bash to /usr/bin/env bash
Does this PR require any upgrade changes?: No
If the changes in this PR are manually verified, list down the scenarios covered::
Any additional information for your reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Checklist:

[ ] Fixes #
[x] PR Title follows the convention of  <type>(<scope>): <subject>
[ ] Has the change log section been updated?
[ ] Commit has unit tests
[ ] Commit has integration tests
[x] (Optional) Are upgrade changes included in this PR? If not, mention the issue/PR to track:
[x] (Optional) If documentation changes are required, which issue on https://github.com/openebs/openebs-docs is used to track them:

PLEASE REMOVE BELOW INFORMATION BEFORE SUBMITTING
The PR title message must follow convention:
<type>(<scope>): <subject>.
Where:

type is defining if release will be triggering after merging submitted changes, details in CONTRIBUTING.md.
Most common types are:

feat      - for new features, not a new feature for build script
fix       - for bug fixes or improvements, not a fix for build script
chore     - changes not related to production code
docs      - changes related to documentation
style     - formatting, missing semi colons, linting fix etc; no significant production code changes
test      - adding missing tests, refactoring tests; no production code change
refactor  - refactoring production code, eg. renaming a variable or function name, there should not be any significant production code changes

scope is a single word that best describes where the changes fit.
Most common scopes are like:

data engine (localpv, jiva, cstor)
feature (provisioning, backup, restore, exporter)
code component (api, webhook, cast, upgrade)
test (tests, bdd)
chores (version, build, log, travis)

subject is a single line brief description of the changes made in the pull request.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.22%. Comparing base (8feeaa0) to head (271b185).
Report is 36 commits behind head on develop.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #351      +/-   ##
===========================================
- Coverage    98.66%   97.22%   -1.44%
===========================================
  Files            2        2
  Lines          673      902     +229
===========================================
+ Hits           664      877     +213
- Misses           5       18      +13
- Partials         4        7       +3

Flag
Coverage Δ

bddtests
97.22% <ø> (-1.44%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


fn ref redirects

problem with fn ref. i can’t find a way to link to specific pages. m2html uses iframes (1990s tech), which have limitations in general. one big issue thats not specific to the iframes, is that each page redirects to the fn ref home if navigated to, unless as part of the iframe. this means one cannot link to a page externally.
solution: we either need to remove the redirect from m2html frames, or rewrite it to remove the iframe.
Here's the issue code in the html:

commenting it out fixes it. however, need to add a button to go back to iframes.

fixed it with this:

tested works. now can link to iframe pages.

nvm, still an issue. switching to template blue fixing it by removing iframes


Removed Galileo nav rate change. Slightly reduced Galileo's maximum tracking channel.

The current setting we use is incorrect for a 2 Hz configuration. The update interval is set to 166 Hz and sample for calculation is set to 500 and is outside of the chip's capability. This causes NEO-M8 to fallback to the default 1 Hz update rate and is not really desirable.
According to answer from Ublox forum, we actually do not need to tune down the nav rate when enabling Galileo at all as the chip will automatically scale down as necessary. I have been able to confirm this behavior, that is, the nav rate only goes down when Galileo is being tracked and stays at 10 Hz when no Galileo satellite was used in the calculation (and appears to scale down linearly as the number of Galileo satellite tracked goes up). Adding a toggle switch for Galileo is also no longer necessary as older chip user should receive no negative impact from enabling Galileo with this change. The increased update rate should help AHRS calculations greatly.
This PR also reduces the maximum tracking channel of Galileo from 8 to 5 as there are currently only 11 operational satellite inside the Galileo system and it is not likely to observe more than ~5 satellites at a given point on earth. With this change we free up 3 more tracking channels for GPS/GLONASS/SBAS.
Before:

After:

I confirm that this 2 Hz configuration is wrong. No need to change the RATE configuration from what is used for ublox 7.
Furthermore as of February 2019 there are significantly more GALILEO satellites up so that the max. number could be set to 10 which is the maximum that the ublox 8 chip can do anyway.

Anyone able to test with higher tracking channel settings, now that there are more active Galileo satellites?

We are successfully running ublox 8 units with 10Hz and Galileo now for more than a year in the Stratux Europe. I can prepare a pull request if you want to bring these changes back.

And furthermore we have set the number of tracking channels for Galileo to 10 and it workes fine. As we speak, 22 Galileo sats are active: https://www.gsc-europa.eu/system-service-status/constellation-information


DRAFT: Add simple integration tester to validate upstream compatibility

Do not merge, not ready yet
TO-DO:

[ ] Add integration testing into CI flow
[ ] Add round-trip testing (binary <-> text, depends on #187)
[ ] Add equivalence testing
[ ] General cleanup

Out of 647 regular tests, we are passing 541! Roughly a 83% test pass rate!! 🥳


Add support to network v2 🐡

This PR brings the first and main step to add support for networking for v2 compose files 🐹.

Create a docker/network package, with testing
Add some yml to try it out
Update some stuff in container and service. Note though there is a lot of FIXME(s)/TODO(s) because some of the things added will be refactored/moved with service.go and container.go refactoring.

There is probably still some weird edge cases where it does not works correctly but it does the job for the main use cases. What is still to do :

[ ] Complete unit tests, depending on docker/engine-api#238 to mock NotFound network errors and thus test the call to NetworkCreate.
[ ] Add some integration tests

As said before, I made some changes against my will because of the way Container and Service interact with the current code base ; they will be taken care of when refactoring them to make Container a little bit less intelligent (and way less talkative with the API) and Service a little bit more :angel:.
/cc @joshwget @ibuildthecloud @shouze
Closes #294
🐸
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>

Awesome job!

Other than the one comment, everything within project looks good to me! I think an EmptyNetworks struct similar to EmptyService would be handy, but I can add that in a follow up PR if you'd like.
I'm not very familiar with Docker networking, so I can't really review the docker package changes all that well. Integration tests would definitely be nice :smile:

Ok unit tests are completed, tried it out on some networks v2 compose files, the only thing that is not implemented is the new networkMode options (container:mycontainer, service:myservice)..
And still need some integration tests.

To not repeat stuff, I did not write integration test (CliSuite), and I'm using the network part of the acceptance test to validate the behaviour.
To run all network acceptance tests, you can do the following
$ ACCEPTANCE_TEST_ARGS="-k network" make test-acceptance
# […]
============================================================== test session starts ==============================================================
platform linux2 -- Python 2.7.11 -- py-1.4.31 -- pytest-2.7.2 -- /home/vincent/lib/go/src/github.com/docker/libcompose/venv/bin/python2.7
rootdir: /home/vincent/lib/go/src/github.com/docker/libcompose/venv/compose, inifile: tox.ini
plugins: cov
collected 108 items
tests/acceptance/cli_test.py::CLITestCase::test_config_external_network Running process: 7653
FAILED
tests/acceptance/cli_test.py::CLITestCase::test_run_detached_connects_to_network <- tests/integration/testcases.py Running process: 7657
Running process: 7665
Killing networks_app_1 ... done
Killing networks_db_1 ... done
Killing networks_web_1 ... done
Removing networks_app_1 ... done
Removing networks_db_1 ... done
Removing networks_web_1 ... done
PASSED
tests/acceptance/cli_test.py::CLITestCase::test_run_interactive_connects_to_network <- tests/integration/testcases.py Running process: 7679
Running process: 7687
Running process: 7695
Killing networks_app_1 ... done
Killing networks_web_1 ... done
Killing networks_db_1 ... done
Removing networks_app_1 ... done
Removing networks_web_1 ... done
Removing networks_db_1 ... done
PASSED
tests/acceptance/cli_test.py::CLITestCase::test_up_external_networks <- tests/integration/testcases.py Running process: 7709
Running process: 7716
Killing networks_web_1 ... done
Removing networks_web_1 ... done
PASSED
tests/acceptance/cli_test.py::CLITestCase::test_up_missing_network <- tests/integration/testcases.py Running process: 7726
FAILED
tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_network_config <- tests/integration/testcases.py Running process: 7731
Killing networks_another_1 ... done
Killing networks_simple_1 ... done
Removing networks_another_1 ... done
Removing networks_simple_1 ... done
PASSED
tests/acceptance/cli_test.py::CLITestCase::test_up_with_external_default_network <- tests/integration/testcases.py Running process: 7742
Running process: 7749
Killing networks_simple_1 ... done
Killing networks_another_1 ... done
Removing networks_simple_1 ... done
Removing networks_another_1 ... done
PASSED
tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_aliases <- tests/integration/testcases.py Running process: 7760
Killing networks_web_1 ... done
Removing networks_web_1 ... done
PASSED
tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_mode <- tests/integration/testcases.py Running process: 7769
Stderr: time="2016-06-23T19:58:34+02:00" level=info msg="[0/5] [bridge]: Starting "
time="2016-06-23T19:58:34+02:00" level=info msg="[0/5] [host]: Starting "
time="2016-06-23T19:58:34+02:00" level=info msg="[0/5] [container]: Starting "
time="2016-06-23T19:58:34+02:00" level=info msg="[0/5] [none]: Starting "
time="2016-06-23T19:58:34+02:00" level=info msg="[0/5] [service]: Starting "
time="2016-06-23T19:58:34+02:00" level=error msg="Failed Starting service : Error response from daemon: network service:bridge not found"
time="2016-06-23T19:58:34+02:00" level=info msg="[1/5] [host]: Started "
time="2016-06-23T19:58:35+02:00" level=info msg="[2/5] [container]: Started "
time="2016-06-23T19:58:35+02:00" level=info msg="[3/5] [none]: Started "
time="2016-06-23T19:58:35+02:00" level=error msg="Failed to start: service : Error response from daemon: network service:bridge not found"
time="2016-06-23T19:58:35+02:00" level=info msg="[4/5] [bridge]: Started "
Error response from daemon: network service:bridge not found
Stdout: Creating network "networks_default" with driver ""
Killing networks_container_1 ... done
Killing networks_bridge_1 ... done
Killing networks_none_1 ... done
Killing networks_host_1 ... done
Removing networks_container_1 ... done
Removing networks_bridge_1 ... done
Removing networks_none_1 ... done
Removing networks_host_1 ... done
FAILED
tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_static_addresses <- tests/integration/testcases.py Running process: 7784
Killing networks_web_1 ... done
Removing networks_web_1 ... done
PASSED
tests/acceptance/cli_test.py::CLITestCase::test_up_with_networks <- tests/integration/testcases.py Running process: 7794
Killing networks_app_1 ... done
Killing networks_db_1 ... done
Killing networks_web_1 ... done
Removing networks_app_1 ... done
Removing networks_db_1 ... done
Removing networks_web_1 ... done
PASSED
=================================================================== FAILURES ====================================================================
___________________________________________________ CLITestCase.test_config_external_network ____________________________________________________
tests/acceptance/cli_test.py:231: in test_config_external_network
    assert 'networks' in json_result
E   AssertionError: assert 'networks' in "No help topic for 'config'"
______________________________________________________ CLITestCase.test_up_missing_network ______________________________________________________
tests/integration/testcases.py:50: in wrapper
    return f(self, *args, **kwargs)
tests/acceptance/cli_test.py:627: in test_up_missing_network
    assert 'Service "web" uses an undefined network "foo"' in result.stderr
E   AssertionError: assert 'Service "web" uses an undefined network "foo"' in 'time="2016-06-23T19:58:31+02:00" level=fatal msg="Failed to read project: Service \"web\" uses an undefined network \"foo\"" \n'
E    +  where 'time="2016-06-23T19:58:31+02:00" level=fatal msg="Failed to read project: Service \"web\" uses an undefined network \"foo\"" \n' = ProcessResult(stdout=u'', stderr=u'time="2016-06-23T19:58:31+02:00" level=fata...ed to read project: Service \\"web\\" uses an undefined network \\"foo\\"" \n').stderr
_____________________________________________________ CLITestCase.test_up_with_network_mode _____________________________________________________
tests/integration/testcases.py:50: in wrapper
    return f(self, *args, **kwargs)
tests/acceptance/cli_test.py:641: in test_up_with_network_mode
    self.dispatch(['-f', filename, 'up', '-d'], None)
tests/acceptance/cli_test.py:129: in dispatch
    return wait_on_process(proc, returncode=returncode)
tests/acceptance/cli_test.py:50: in wait_on_process
    assert proc.returncode == returncode
E   AssertionError: assert 1 == 0
E    +  where 1 = <subprocess.Popen object at 0x7f40a5910510>.returncode
====================================================== 97 tests deselected by '-knetwork' =======================================================
============================================== 3 failed, 8 passed, 97 deselected in 12.42 seconds ===============================================
# […]

Right now, one tests fails because of logrus (will be handled a little later), one because the config file is not implemented yet (see other PR) and the final one on network-mode because this PR do not implement it… I'm thinking of implementing it in a follow-up PR (because this one is big enough…).

All right @joshwget gonna merge this and we'll iterate over this in case of bug or anything else :wink:


help-docs: Fix cross-links to help center pages about linking to Zulip.

Renames the main heading of Linking to your organization, aka "Linking to Zulip" to match up with the sidebar index title and replaces the "Link to a stream or topic" section with a regular "Related articles" section.

Fixes "Linking to Zulip" cross-link title in Link to a message or conversation.

Fixes: #22590.

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

@alya Ready for review.

Looks great to me! Thanks for the extra bits of cleanup, @drrosa !
@timabbott ready for your review.

Merged, thanks @drrosa!


Add better error reasons

Current error messages dont display what the error was. This will extract the error message from the response if provided an make debugging errors much easier.
An alternative approach could be to put the code where the error is generated instead: lib/message_media_messages/controllers/messages_controller.rb#L345
Example before:

Example after:

Great job @TigerWolf! Thanks for your contribution :D


Fix modeline for inspect.

Enable modeline options for inspect command.

Release Note
Enable modeline support for inspect.

I think it would be useful to provide tests for the various additional use cases:

modeline-specified dependency added using mvn notation
modeline-specified dependency added using "simple" notation for a camel component
modeline-specified dependency added using jitpack notation
several modeline-specified dependencies written on several lines

I have added some tests. The value of the dependency does not matter at this point. What we were missing for modeline is the addition of these dependencies when inspect was used.

I think it would be useful to provide tests for the various additional use cases:

modeline-specified dependency added using mvn notation
modeline-specified dependency added using "simple" notation for a camel component
modeline-specified dependency added using jitpack notation
several modeline-specified dependencies written on several lines

I have added some tests. The value of the dependency does not matter at this point. What we were missing for modeline is the addition of these dependencies when inspect was used.

@apupier there is a flaky e2e that fails from time to time, and that we need to investigate. I've relaunched the failing job.

@apupier there is a flaky e2e that fails from time to time, and that we need to investigate. I've relaunched the failing job.


improve error mesage when Publish is not enabled

When someone who hasn't registered tries to use bridgy publish from a domain with multiple users, an error message is returned containing all the accounts on the domain that have registered. It should probably just direct them towards https://brid.gy

agreed! feel free to send a PR if you want!

done https://github.com/snarfed/bridgy/pull/649


Issues in mdview

I was playing around with the sample to compile to html using pandoc, and came across these issues
File watching
At https://github.com/c-smile/sciter-js-sdk/blob/37851e58eea46c9ecc15500bfbe41971b66ddbd9/samples.sciter/applications.quark/mdview/main.js#L180 it should be Settings.saveState()
Rendering images
Any images added as ![alt-text](./relative/link) do not resolve correctly, and a checkered board is shown(presumably the default image). I'm reasonably sure that this is the same issue as the next one.
Following local links
Links added as [link text](local/file/path.md) are not resolved as a file://but rather as a this://, which leads the app to ask the os to handle it. While I'm not sure if this is an error in sciter or in my implementation, shouldn't this happen by itself? How do I fix this?

Also, mathjax doesn't seem to work, with an error "Mathjax(?): not a function". Is this expected? How do I work around this?

What does ./ (dot) mean in context of URLs like  ./relative/link ?
It has a meaning of "current folder" Inside linux shells or cmd process in Windows. But in URLs?

Also, mathjax doesn't seem to work, with an error "Mathjax(?): not a function". Is this expected? How do I work around this?

Mathjax is a plugin. So it will work if you will add that plugin to sources of the mdview.
So far mdview adds just one plugin - HeaderIds


Necessity of unsafe weights

The use of weights for proof search makes complete sense, but it also seems basically impossible to make an informed guess at what weights to choose when adding a new rule. As long as the proof terminates in a reasonable amount of time, I assume they do not matter much. Isabelle's auto does not require weights for unsafe rules (not sure if it even has them tbh), which is more user friendly. Should there be something like a default weight, just like safe rules have a default penalty?
/cc @astahfrom

Huh, I didn't know that about auto! But even if users always chose a default weight, that would make it equal to breadth-first search, which might still scale better than (depth-limited) depth-first search, no? Not in all cases of course, and the question about complexity is warranted as well.

It's not really about saving me from typing, but from having to make any decision at all at that point (which documentation stating "when unsure, 50% is a sensible default value" would also more or less achieve) as well as documenting in the code that I didn't make a decision, which is different from explicitly choosing 50% when I in fact think that's a good approximation.

My difficulty is the following.
Say I have some nice lemma and I want to register it as an unsafe rule so it is automatically applied for me.
Now I find myself imagining all possible future proof obligations where my lemma applies: will this be useful for 1% of them? 25%? 50%?
This feels very hard to quantify.

As a side-comment, this seems like the kind of thing reinforcement learning could be used for. Not necessarily using neural-networks, but as dynamic probability adjustment. The challenge would be defining a metric that allows to measure progress (maybe minimizing open goals?).
It's mostly about term, and not tactic mode, but we have published some preliminary work. We intend to evaluate this in the context of synthesizing lean proofs, and Aesop may be a good shortcut for the implementation, because of the explicit weights.

Unsafe rules now have a default success probability of 50%. I think that's all that's likely to happen in the short term, so I'll close the issue for now.
@alcides I've thought a bit about fancier prioritisation methods as well. I won't implement anything like that right now because it's unclear whether Aesop is even suitable for large searches where accurate prioritisation would make a difference. We also don't have data yet to quantify, say, the usefulness of particular rules.
On a more conceptual level, I designed Aesop as a white-box search tactic where users can understand and control what is going on. This is one of the few advantages it has over a hammer or an SMT backend, which are more powerful but also notoriously opaque. Putting any sort of automatic prioritisation in there compromises this white-boxiness, so I'm not too keen on it. However, it may turn out that users don't care about this sort of control anyway (as this thread suggests, and I've heard similar things about Isabelle's auto); in that case I'll have to rethink the design.
Of course, if you'd like to use Aesop for experiments I'd be honoured and happy to help.


Oracle Sharded Database Disaster Recovery across data centre in Kubernetes

Hello,
Is it possible to implement replication of Oracle Sharded Database in Kubernetes for cluster to cluster replication of Oracle Databases on Kubernetes
Scenario:
If we have a Sharded Database in Cluster-1 in Data Centre 1 and if we have to set up a Disaster Recovery of the Sharded Database in Cluster-2 in Data Centre 2 and then replicate the Shards in Data Centre1 using Oracle Data Guard or Oracle Active DataGuard.
All the shards in PR will be replicated to DR. At present we plan to have 1 shard per microservice and all these shards will be replicated to DR. All writes will go to one data centre only. All shards will have 2 replica in PR and a mirror replica in DR . If shard 1 fails in PR, it will failover to replica of the shard in the same data centre. When we switchover to DR we shall work on the Shard Replica in DR. So there will be 3 copies of the data at any point of time (2 in PR and one in DR)
Please inform us if the same is possible using Kubernetes. Please provide the YAML. In case it is not possible , please inform what approaches of switchover from PR to DR are possible in Shard Database for Kubernetes.
Whenever we switch over to DR, the applications in Data Centre 2 will access the DataCentre 2 DB which would have all the data as it is being synced by Oracle DataGuard.

Please check with @psaini79

@viju2008
This is possible and we need to make sure all the pods between the 2 DCs are reachable. Can you create Oracle SR and connect with us? we can discuss the design and requirement in detail

We do not want the kubernetes cluster to span across datacentre. They will be two indepenedent cluster. Connectivity between the DCs is available

Sure. Do you have access to Oracle SR? If yes, can we connect? In general, we should be able to reach the pods using service. However, it requires some more testing and we can discuss it in details once we see your network diagram.

SR 3-29175456701


pull request for e2e test at 02/03/2017 11:26:06

:white_check_mark: Validation status: passed
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.


Support of source-maps

Is there are any possibility to have error tracking in Polymer?

my idea is:
according to https://github.com/PolymerLabs/polybuild polybuild tool is the same as:
vulcanize --inline-css --inline-scripts --strip-comments index.html | polyclean | crisper --html index.build.html --js index.build.js
the order is:

vulcanize produces one html formatted file.
polyclean uses uglifyjs internaly and perform some cleaning
crisper is used to separate already uglyfied and minified js from html

as far as I know uglifyjs doesn't work with html files as input so polyclean manually cuts parts of js code', put it through uglifyjs and paste it back (I hope I understood correctly how polyclean works). That's why creating of source maps is useless in this context.
my idea is to change the order of polyclean and crisper and modify polyclean to allow using external options for uglifyjs2:
new order:

vulcanize produces one html formatted file.
crisper is used to separate formatted js from html.
polyclean uses uglifyjs internaly and perform some cleaning (in this case we need to use on both js and html files)

So first you will have html file and formatted js file and only then you can use uglifyjs2(call from polyclean or standalone?) with --source-map and --source-map-include-sources options.
Now you can keep tracking your errors using produced source-map which already contains formatted copy of js file produced in step 2.

+1


Added healthcheck timeout support.

Added a timeout option to cluster healthcheck. In cases when client was completely cut off from Cassandra, the times for generating healthcheck responses were very long.

Thanks for this.
Out of interest... wouldn't it be safer to have the health check use the same timeouts as any other query? otherwise you might get a situation where the app reports unhealthy when it's actually healthy by typical usage standards?
On a similar note, what about defaulting the timeout or making it optional?

In our case this timeout is more bound to the monitoring side of things, and we don't treat this as an incident, just a warning. Timeouts for other queries are different per application and will eventually raise an incident. The problem is that dw does not return partial results, it waits for all healthchecks to complete, and so our monitoring gives up on the wait...
When you mention defaulting or making the timeout optional, you mean performing a sync query when the parameter is not set? Or just setting it by default to some very large value?

Thanks, that makes sense.
My previous comment about default / optional was just to ensure backwards compatibility with existing clients. I actually misread your commit, where I see you've already provided a default value of 2 seconds - sorry about that. Do you know if this is the same timeout value currently used, or if the timeout could be derived from other config if not explicitly set? In other words, how can we include this new feature without breaking / changing the behaviour for existing clients?
On that note, please could you update the README to include the new config option.

I ran into the issue when testing a network failure scenario on a six-node cluster with two seeds configured, and I think the result came back after 30 seconds. There were no non-default settings for the connections, and I didn't test if this was dependent on the number of hosts/seeds or not.
The readme and javadoc are now also updated. The default is still at 2 seconds. It probably makes sense to keep the value fairly low, since DW executes health checks sequentially.

Thanks. The last commit seems to have messed up formatting, so it's pretty hard to see what has changed. Please could you reinstate the original formatting and I'll merge it in?

Sorry about that, this should be better!

FYI... this change has just been released under version 2.2-dw0.9-cs2.1 and should appear in Maven Central sometime this evening.


Add UI Object instead of using a flag which cannot be changed later

Part of #7849

Codecov Report

Merging #8261 (ca60918) into main (1e711a6) will decrease coverage by 0%.
The diff coverage is 82%.

@@          Coverage Diff          @@
##            main   #8261   +/-   ##
=====================================
- Coverage     71%     71%   -1%
=====================================
  Files        369     370    +1
  Lines      22804   22835   +31
  Branches    3475    3472    -3
=====================================
+ Hits       16410   16430   +20
- Misses      4955    4968   +13
+ Partials    1439    1437    -2

Impacted Files
Coverage Δ

...datascience/interactive-common/notebookProvider.ts
76% <ø> (ø)

src/client/datascience/jupyter/jupyterExecution.ts
62% <0%> (-1%)
:arrow_down:

...lient/datascience/jupyter/liveshare/serverCache.ts
80% <ø> (ø)

src/client/datascience/kernel-launcher/types.ts
100% <ø> (ø)

src/client/datascience/types.ts
100% <ø> (ø)

...ent/datascience/jupyter/jupyterNotebookProvider.ts
60% <45%> (-2%)
:arrow_down:

...science/jupyter/kernels/kernelDependencyService.ts
81% <66%> (ø)

src/client/datascience/jupyter/kernels/kernel.ts
78% <70%> (+<1%)
:arrow_up:

...client/datascience/raw-kernel/rawJupyterSession.ts
71% <71%> (+<1%)
:arrow_up:

src/client/datascience/displayOptions.ts
100% <100%> (ø)

... and 9 more


Code Editor

Component to Improve
UI/UX
Describe Your Suggestion
Add a code editor to the editor application. In conjunction with hot-reloadable resources (#26), this would allow scripts and shaders to be edited within the editor.

[X] Add Zep ImGuiColorTextEdit (Zep refused to work correctly) to the editor
[ ] Make it reload the resource its editing on save

this shouldn't take all too long to do

closing due to this only having one task that is also being tracked in the editor PR

The pr referred to no longer exists, reopening


fixed some typos in timestamp

I wanted to read into distributed systems some more, so I read though your timestamp and fixed some typos while I'm at it :D

Hey there, thanks for the PR!
While reading through the changes I noticed a few other mistakes I made which are probably worth including in this (you can tell I wrote a lot of these docs late at night lol)


Invalid symbol ? detected.

I only use ? as the  ternary conditional operator, does it allowed?

Nope. The PA do not allow the use of ternary operators.

Just use if else statements

not allowed

not allowed

Thank you for that comment mChew!

not allowed

Thank you for that comment mChew!

no problem yushanedi :)

if else statements can be used instead!

Thanks guys, Ive changed it to if else.


fix(rust): Make Zebra build with the latest nightly Rust

Motivation
Zebra doesn't build on the latest nightly Rust due to a compiler bug:
https://github.com/rust-lang/rust/issues/105044
Solution
It seems like it's going to be tricky to diagnose the bug, so I rewrote the code to avoid it.
I also dealt with some new clippy lints and compiler warnings.
Review
Anyone can review this fix. It's not urgent.
Reviewer Checklist

[ ] Will the PR name make sense to users?

[ ] Does it need extra CHANGELOG info? (new features, breaking changes, large changes)

[ ] Are the PR labels correct?
[ ] Does the code do what the ticket and PR says?
[ ] How do you know it works? Does it have tests?

Failed due to #5384

Failed due to #5384

The underlying rustc bug was fixed in nightly-2022-12-09 in https://github.com/rust-lang/rust/issues/105009


Add ClusterChecker metrics for remote healthchecks

Coverage decreased (-0.02%) to 91.574% when pulling d0a3c281ef87ead77917c3d76bb4735fcc249e2c on mprimi:master into f7ef137d4febefceaa2dddd3eff739bcf9fba40b on Netflix:master.


GIthub workflow and updates

Added support for workflow(s)
I have added two workflow(s) for this repsitory
For every pull request,
If the file is runnable or not is checked, here is an example of preview here.

Whikst a successful workflow checks will be like this

Linting issues will be checked:
For unused variables, error, etc.
The linting is done using flake8 and black

Basic django check will be performed

python3 manage.py check

For anything that may break the server from ever starting

like missing symbols import
basic indentation error, etc

For every commit to push to main
The container image will be created and pushed to github container repository(GHCR)
@utsavdotdev we will need to use organization or your's github personal access token (classic) with following permissions

read:packages
write:packages
delete:packages

after you get this done, you will need to put this in this repository's github actions secret as CR_PAT. This is needed to push the repository to GCHR server.

@n1rjal , As mentioned personal access token has been configured and set as secret in GitHub action.


Update modes - do not force a programming paradigm

I was thinking about https://github.com/pygfx/pygfx/issues/495 and decided to see if I can implement a closed loop render mode with wgpu-py and glfw.
In the end, it turns out to be impossible because of the Canvas abstraction we provide. This exercise has helped me understand #430 much better.
I thought it was optional to use the GUI layer, but it really isn't. There's quite a bit of code in wgpu/backends/wgpu_native/_api.py that is tightly coupled to the API provided by the Canvas abstraction. Things such as querying surface info and buffer sizes. I don't believe it is strictly necessary to do this via a canvas abstraction, is that right?
What it means: I can't render a triangle to the screen using the wgpu_native backend with glfw, unless I re-implement the Canvas API. That means I am also bound to its design choices in terms of event loop and abstraction.
Is our Canvas abstraction and it's API based on any public specs such as webgpu or something by w3c? I don't think so right?
I think this poses a major problem for wider adoption of the wgpu-py library.
@almarklein Let's discuss this in a call before we address it any further.
These are the offending bits of code in _api.py:
https://github.com/pygfx/wgpu-py/blob/570738c9b9dcf49e734cf7cea7cb0cf925a785f9/wgpu/backends/wgpu_native/_api.py#L194-L202
https://github.com/pygfx/wgpu-py/blob/570738c9b9dcf49e734cf7cea7cb0cf925a785f9/wgpu/backends/wgpu_native/_api.py#L365-L369
https://github.com/pygfx/wgpu-py/blob/570738c9b9dcf49e734cf7cea7cb0cf925a785f9/wgpu/backends/wgpu_native/_api.py#L463-L466
https://github.com/pygfx/wgpu-py/blob/570738c9b9dcf49e734cf7cea7cb0cf925a785f9/wgpu/backends/wgpu_native/_api.py#L491-L495
https://github.com/pygfx/wgpu-py/blob/570738c9b9dcf49e734cf7cea7cb0cf925a785f9/wgpu/backends/wgpu_native/_api.py#L546-L549
Summarized, the following things are currently tightly coupled to the Canvas abstraction:

get surface id
checking vsync flag
get size in physical pixels

Ultimately I'd prefer to see if we can completely decouple the backend from the gui package.

Yes, the WgpuCanvasInterface class defines what is needed. It can be used as an interface (as the name suggests)- it does not have to be subclassed.
https://github.com/pygfx/wgpu-py/blob/570738c9b9dcf49e734cf7cea7cb0cf925a785f9/wgpu/gui/base.py#L8-L60
We also have a test to make sure this works:
https://github.com/pygfx/wgpu-py/blob/570738c9b9dcf49e734cf7cea7cb0cf925a785f9/tests/test_gui_glfw.py#L159-L163
The _vsync attribute being checked is something we should probably refactor. Perhaps make it part of the WgpuCanvasInterface too.

To respond to your questions:

I can't render a triangle to the screen using the wgpu_native backend with glfw, unless I re-implement the Canvas API.

Yes, some parts. Perhaps we can improve our docs on how this works. The example in this PR will certainly help.

That means I am also bound to its design choices in terms of event loop and abstraction.

I don't think this is the case.

Is our Canvas abstraction and it's API based on any public specs such as webgpu or something by w3c? I don't think so right?

No.

I think I can see what your idea is now after having had some more time to play with it. I could implement a minimal Canvas class that exposes only the needed methods, but keep control flow out of it. That's cool. I'll try to do that in this branch next.

I think I can see what your idea is now after having had some more time to play with it.

Definitely room to improve the docs in this regard then 😅

Well, I think it's just unexpected that the Canvas interface from the gui package defines an API that you must use to work with the rust backend.
In essence that means it's actually a type defined by the rust backend. That's the unclear part.


<gap:splash doesn't work for me

This does not work for me:
<gap:splash
I have to use
<splash

all right - thanks

Hi, we don't really track the issues on this repo and we ask that folks having problems with PhoneGap please use our forum:
https://forums.adobe.com/community/phonegap


I suspect there is some code done for this package but its not pushed

I would love to help out with this plugin. My interpretation of Document of Correctness was that you have started coding the plugin, but I could not find the code pushed on the repo.

Thanks for wanting to help :)
The code for this plugin is contained in my blog's repo here.  I don't know what directory structure and naming is needed yet, so I haven't yet included in this repo.  I wrote Documentation of Correctness to while all that information is still fresh in my mind.


NameError: name 'latitudes' is not defined

I installed the newest version of gmplot on my machine. but when I execute the sample code:
import gmplot
gmap = gmplot.GoogleMapPlotter(37.428, -122.145, 16)
gmap.plot(latitudes, longitudes, 'cornflowerblue', edge_width=10)
gmap.scatter(more_lats, more_lngs, '#3B0B39', size=40, marker=False)
gmap.scatter(marker_lats, marker_lngs, 'k', marker=True)
gmap.heatmap(heat_lats, heat_lngs)
gmap.draw("mymap.html")
It gave me the following error message.
NameError                                 Traceback (most recent call last)
 in ()
3 gmap = gmplot.GoogleMapPlotter(37.428, -122.145, 16)
4
----> 5 gmap.plot(latitudes, longitudes, 'cornflowerblue', edge_width=10)
6 gmap.scatter(more_lats, more_lngs, '#3B0B39', size=40, marker=False)
7 gmap.scatter(marker_lats, marker_lngs, 'k', marker=True)
NameError: name 'latitudes' is not defined
What is going on with my operation here?

There are some dummy variables in the example code. Put some latitudes and
longitudes in 'latitudes'  and 'longitudes' variables, as well as the other
placeholder variable names and you should be good to go.
gmap.plot(latitudes, longitudes, 'cornflowerblue', edge_width=10)
Michael Woods
On Oct 31, 2016 7:20 PM, "mjbcncs"<EMAIL_ADDRESS>wrote:

I installed the newest version of gmplot on my machine. but when I execute
the sample code:
import gmplot
gmap = gmplot.GoogleMapPlotter(37.428, -122.145, 16)
gmap.plot(latitudes, longitudes, 'cornflowerblue', edge_width=10)
gmap.scatter(more_lats, more_lngs, '#3B0B39', size=40, marker=False)
gmap.scatter(marker_lats, marker_lngs, 'k', marker=True)
gmap.heatmap(heat_lats, heat_lngs)
gmap.draw("mymap.html")
It gave me the following error message.
NameError Traceback (most recent call last)
 in ()
3 gmap = gmplot.GoogleMapPlotter(37.428, -122.145, 16)
4
----> 5 gmap.plot(latitudes, longitudes, 'cornflowerblue', edge_width=10)
6 gmap.scatter(more_lats, more_lngs, '#3B0B39', size=40, marker=False)
7 gmap.scatter(marker_lats, marker_lngs, 'k', marker=True)
NameError: name 'latitudes' is not defined
What is going on with my operation here?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/vgm64/gmplot/issues/27, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABml03GY5kWvQ_X9jBvjeLjWLlxriZh9ks5q5qHsgaJpZM4KluCl
.

Yes, thanks. I figured it out somehow.

gmap.plot(38.428, -122.145, 'cornflowerblue', edge_width=10)

File "C:\Python27\lib\site-packages\gmplot\gmplot.py", line 119, in plot
path = zip(lats, lngs)
TypeError: zip argument #1 must support iteration
im getting this error, any idea why?

Yup. The first two args need to be lists or tuples. So [38.428]  for
example.
Michael Woods
On Nov 6, 2016 7:39 PM, "likui01"<EMAIL_ADDRESS>wrote:

gmap.plot(38.428, -122.145, 'cornflowerblue', edge_width=10)
File "C:\Python27\lib\site-packages\gmplot\gmplot.py", line 119, in plot
path = zip(lats, lngs)
TypeError: zip argument #1 https://github.com/vgm64/gmplot/pull/1 must
support iteration
im getting this error, any idea why?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/vgm64/gmplot/issues/27#issuecomment-258740738, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABml04zPF9jGkucrIK3fP2z9ChOlRhs3ks5q7p1ugaJpZM4KluCl
.

Thank you so much

okay, one more question.
does it plot absolute coordinates or relative.
i gave it set of same coordinates in a list. it should have mark the same point multiple times. but it plot a route.
do you why?

Should be absolute. What did the path look like?
Michael Woods
On Nov 6, 2016 8:37 PM, "likui01"<EMAIL_ADDRESS>wrote:

okay, one more question.
does it plot absolute coordinates or relative.
i gave it set of same coordinates in a list. it should have mark the same
point multiple times. but it plot a route.
do you why?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/vgm64/gmplot/issues/27#issuecomment-258745750, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABml07hydtu9q-B00T9PocBWD5eX01qVks5q7qsTgaJpZM4KluCl
.

okay, i found the error.
is it possible to save it as a image, instead of html

The map is generated by Google when the page loads so needs a browser. You
could screen capture?
Michael Woods
On Nov 7, 2016 4:01 AM, "likui01"<EMAIL_ADDRESS>wrote:

okay, i found the error.
is it possible to save it as a image, instead of html
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/vgm64/gmplot/issues/27#issuecomment-258818085, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABml0x8Mjk5SVe4NetcrLi0sEBdDfr_vks5q7xMEgaJpZM4KluCl
.


Proposal: Make paths in config.json relative to storage path

For easier portability of the machine storage metadata about machines, it would be beneficial to have all paths relative to the storage engine path, this would make portability between users easier, and sharing of the machine metadata.

:+1:

:+1:

This can come in handy https://gist.github.com/mapio/0069e9980aa3656e993a

+1

:+1:

Any progress on this?

My hopes with zerotier synching across my different machines are destroyed... :tired_face:


Add tests with mock server & test documentation

Purpose
This PR focuses on implementing comprehensive tests for the connector. It introduces a mock server and adds documentation to support testing in both mock and live environments.
Checklist

[ ] Linked to an issue
[ ] Updated the changelog
[x] Added tests
[x] Updated the spec
[ ] Checked native-image compatibility

Error
This error occurs in the testCreateTranscription() test case, when it runs using the mock server.

Ballerina Test directory should be renamed as ballerina/tests.


Upgrade test next app to next13

This upgrade is a little tricky... next13 introduces a fair amount of new concepts to next.js
Still feel it's important to move forward with the most up to date configurations / so this isn't stale.
https://beta.nextjs.org/docs/upgrade-guide#upgrading
https://nextjs.org/blog/next-13
Also - nice writeup on hydration errors:
https://codingwithmanny.medium.com/understanding-hydration-errors-in-nextjs-13-with-a-web3-wallet-connection-8155c340fbd5

Next 13 is gonna have to smooth out a little before we upgrade.


[CDSToolkit][ConsentMgr] - User Id search filter is not working without having<EMAIL_ADDRESS>

Description:
User Id search filter is not working without having<EMAIL_ADDRESS>It gives an error "No Active consents to display" when search the consent with valid userid in email format but not having<EMAIL_ADDRESS>Search for<EMAIL_ADDRESS>
Search for "admin<EMAIL_ADDRESS>
Suggested Labels:
Suggested Assignees:
Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:
[Any related issues such as sub tasks, issues reported in other repositories (e.g component repositories), similar problems, etc. ]

Duplicate the user id search text when click on search button.
Steps to reproduce:

Enter username without @carbon.super. Eg<EMAIL_ADDRESS>Click on search button.
Verify the user id search text box. It automatically adding user1<EMAIL_ADDRESS>addtionally to the text that we have entered. Eg: Can observed the text filed value as this. "user1@wso2.com,user1<EMAIL_ADDRESS>


Move regex-capi to 2021 & inline format-args

This makes the code a bit easier to read and smaller.
The capi crate was updated to the 2021 edition to avoid accidental panic! and other edge cases with inlined formats.
Some of it was done with this command, and later fixed by hand:
 cargo clippy --workspace --allow-dirty --fix --benches --tests --bins -- -A clippy::all -W clippy::uninlined_format_args

fixed

@BurntSushi hi, friendly ping - let me know if anything else is needed for this and other regex PRs. Thx!


chown: invalid user: ‘user:user’

Description
When running initial setup it will fail on "chown: invalid user: ‘user:user’"
OS
My OS is:

[ Ubuntu 22.04 ] Linux

Docker
The output of docker version:
Docker version 20.10.21, build 20.10.21-0ubuntu1~22.04.3

The output of docker-compose version:
docker-compose version 1.29.2, build unknown
docker-py version: 5.0.3
CPython version: 3.10.6
OpenSSL version: OpenSSL 3.0.2 15 Mar 2022

o3tanks.sh line 367
readonly USER_NAME='user'
readonly USER_GROUP="${USER_NAME}"
These defaults should not be there, since they can cause this issue.

Looks like issue was posted in wrong project somehow? Ignore and close it.


Compile to a standalone executable

Solved by https://github.com/lucifer1004/MonkeyLang.jl/commit/45674cf09fa48afa46565a677f03ce0fe75ce1d7


feat: add RingerModeDetector.swift

Hey! 👽
With the help of this theory, I corrected the implementation of the switch state detection method.
Аs a result, the first "unknown" is updated to the current status when we launch the application
Check result - veed.io

Hi @kirillvikhlyaev, thank you for contributing to the plugin! I have left some questions regarding the swift portion of the code as I am unfamiliar with swift. Hope you don't mind addressing them :)


Quickstart script not working due to typo

https://github.com/logzio/logzio-helm/blob/9e7a62d285ab8c7ba444a87e05c629581bc73c45/quickstart-metrics.sh#L112
You wrote the chart name twice instead of once, which causes your script to fail.

@dorsharon  this is not a typo. The first logzio-k8s-metrics is the installation name at the target cluster, the second one is the chart name

According to helm docs, you should provide a chart name and a path to the chart, which you do via the - - repo flag.
Anyway, when trying to run this using helm 2.16, this script fails.
Removing the second parameter made it work correctly.

Yes, the script's target is Helm 3. Thanks for letting us know the problem in older versions, we will issue a fix for backward compatibility

Helm 2 will reach its end of life by the end of Nov. 2020


Link out of date

Minor issue (would have emailed but couldn't find an address) - the link to CsvReader in the description is to https://www.nuget.org/packages/CsvReader/, which is indicated as removed. A current one is evidently https://www.nuget.org/packages/LumenWorksCsvReader/. I assume it should point there.

Thanks I'll update it

Fixed


[Spike] Identify components without examples and/or macro options file

Background
Following a review of #2076, it was identified that several components do not have examples and/or macro options files.
The following components have already been identified as not including a _macro-options.md file:

error
field
fieldset
icons

However, due to the age of the previous ticket, we should check all components again.
Tasks

Look at each component and list any that do not have an example and/or a macro options file.
Raise further tickets to add examples and/or macro options files to these components.

Based on the inputs from prev tech session,I have recorded components that might/ might not require an example so we can discuss in next tech session
List of Components that have examples in Foundation:

Address-output
Icon
List
Quote

List of components that can have a example

Modal
Message
Message list

Based on conversation from tech session, I will create a new ticket to to move the list examples from foundation to its component.


Way to extract content body data from request?

I started playing around with some of the example repos that are available, specifically the AssemblyScript  one, and was wondering if there was a way to pull data from the body of a request like the example below or would you need to send the data in via query parameters?
curl -d 'hello world' -H 'Content-Type: text/plain' http://localhost:3000/as-hello

It looks like the CONTENT_LENGTH is updated correctly, but I dont see an env var available for request body data.

The request body is provided on stdin.  Not sure what the idiom is in AS for reading that I'm afraid.

I was able to figure it out. It looks like it was due to the as-wasi version being out of date and an issue with reading from Stdin  in that version.
Once I upgraded both as-wasi and assemblyscript to latest I was able to read the request body with the following:
const reqBody= Descriptor.Stdin.readString();

Console.log(defstr(reqBody, "EMPTY"));

Thread with some info on it https://github.com/bytecodealliance/wasmtime/issues/2373


Tensorflow-determinism not working with conda tensorflow-gpu

I have tested tensorflow-determinism on my windows computer with tensorflow-gpu 1.14. The tensorflow-determinism is installed in Anaconda prompt using pip.
However, the output of the program is different on each run.
I have tested everything on another computer with the same/identical code but the only difference is that tensorflow-determinism is installed via pip on windows cmd.
For some reasons unknown to me, I cannot install tensorflow via pip on windows cmd on the former machine and I think this is the reason why it is not working.
If possible, I hope you can address this issue. Thanks

Hi,
I'm not sure that I fully understand what you're doing. Let me try to repeat it back to you and then you can tell me if this is correct or not.
You have a Python program (e.g. myprog.py), which uses TensorFlow, and which contains the following:
import tensorflow as tf
from tfdeterminism import patch
patch()
# Run on one GPU, set all the seeds, if using tf.data then only use one worker.
# Now do some training and print a summary of trainable variables at the end of training

You have two PCs, both running windows. Let's call those two machines A and B.
On machine A, you do the following in Anaconda Prompt:
pip install tensorflow-gpu==1.14.0
pip install tensorflow-determinism
python myprog.py
python myprog.py

And you end up with different trainable variable summaries at the end of the two runs.
On machine B, you do exactly the same thing, but using Windows CMD rather than Anaconda Prompt. In that case you end up with the same trainable variable summaries at the end of the the two runs?

Thanks for the prompt feedback.
I will continue from the machine A and B point.
On machine A, I do the following in Anaconda prompt:
conda install tensorflow-gpu==1.14.0
pip install tensorflow-determinism
python myprog.py

The outcome is not deterministic (varies each time). I could not install TensorFlow through cmd in machine A due to Cuda installation failure (I do not know why but I spent almost 2 days to solve it). Hence I installed TensorFlow with conda but tensorflow-determinism through pip but inside Anaconda prompt.
On machine B, I do the following in windows CMD:
pip install tensorflow-gpu==1.14.0
pip install tensorflow-determinism
python myprog.py

The result is deterministic.
Machines have different CPU, RAM or GPU configurations (I did not check each, but I guess this should be irrelevant).
Hope it is more clear now.

Hi @duncanriach, sorry for hijacking the thread, but I saw this comment from you that worried me:
patch()
# Run on one GPU, set all the seeds, if using tf.data then only use one worker.

You mention running on one GPU, so do you mean that tensorflow-determinism would not give deterministic behavior with more than one GPU? In my case I use Keras (with a TF backend) in a NGC TensorFlow container under Linux. Thanks!

@AndreaPi, the comment you quote was specifically intended for debugging the OP's issue. I wanted to make sure that, for simplicity, we're dealing with his issue in a single-GPU environment.
Regarding deterministic multi-GPU training: once you have deterministic single-GPU training, multi-GPU training should be deterministic. I've only played with Horovod (and recommend it) for organizing the multi-GPU partial gradient reductions, and as stated here, you will need to disable Tensor Fusion (unless that has now been fixed) if training with more than two GPUs.

@Eugen2525, on machine A, please will you share the output from both the conda install tensorlflow-gpu==1.14.0 and the pip install tensorflow-determinism. Please also find the path to the python that is getting run. I don't know how to do that in Anaconda Prompt in Windows. It would be the equivalent of result of entering which python in Linux.
I suspect that the TensorFlow and tensorflow-determinism packages are getting installed with different instances of python, so they can't both be imported at the same time. If this is true, then I'm surprised that your program runs at all on machine A.
Also, at the Anaconda Prompt, enter the interactive python interpreter (by just running python, rather than running python myprog.py) and then manually enter the following, and show me what the responses are:
import tensorflow as tf
import tfdeterminism
patch()


How to return a validated response from a groupby query (nested models)?

First check

[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the FastAPI documentation, with the integrated search.
[x] I already searched in Google "How to X in FastAPI" and didn't find any information.

Description
I'm using the project generation template but with a MySQL db.
Life was great, living the dream and all..
I've implemented a couple of endpoints with SQLAlchemy and Pydantic models, the CRUD's and ENDPOINT's.. up until I had to return a response which resultset should be a nested model resulting from a groupby (a nested JSON).
Is it possible to query my db, groupby two columns (for example) and return a validated response?
Additional context
Given the following example of:
Pydantic Model for a location dimension
class Locations(BaseModel):
    id: int
    continent_name: str
    country_iso_code: str
    country_name: str
    city_name: str
    city_abbrev: str

SQLAlchemy model:
class d_locations(Base):
    id = Column(Integer, primary_key=True)
    continent_code = Column(String(5), default="", nullable=False, index=True)
    continent_name = Column(String(40), default="", nullable=False, index=True)
    country_iso_code = Column(String(5), default="", index=True, nullable=False)
    city_name = Column(String(45), default="", nullable=False)
    city_abbrev = Column(String(5), default="", nullable=False)

my CRUD for getting data the way I want:
def get_all(self, db_session: Session) -> List[d_locations]:

        locations = (
            db_session.query(
                d_locations.id,
                d_locations.continent_name,
                d_locations.country_iso_code,
                d_locations.country_name,
                d_locations.subdivision_1_iso_code,
                d_locations.subdivision_1_name,
            )
            .group_by(d_locations.continent_name, d_locations.country_name,)
            .all()
        )
        return locations

This returns a list of tuples. Should it return a Pydantic obj?

My endpoint where I implement the GET:
@router.get("/locations", response_model=List[Locations])
def read_locations(
    *, default_result_class=None, db: Session = Depends(get_db),
):
    """
    Retrieve items.
    """
    location = crud.locations.get_all(db)

    # locations = groupby("continent_name", locations)
    # for cont in locations:
    #     locations[cont] = groupby("country_name", locations[cont])

    return location

Mind the commented groupby (from the toolz package) where I try to do the groupby I want.

It's easy to return something like this:
[
  {
    "continent_name": "Africa",
    "id": 49518,
    "country_iso_code": "RW",
    "country_name": "Rwanda",
    "city_abbrev": "some_random_city",
    "city_name": "some_random_abbrev"
  },
  {
    "continent_name": "Africa",
    "id": 49519,
    "country_iso_code": "RW2",
    "country_name": "Rwanda2",
    "city_abbrev": "some_random_city2",
    "city_name": "some_random_abbrev2"
  },
  ...
]

But I'd like to instead, return something like this:
[
  {
    "continent_name": "Africa",
    "id": 49518,
    "countries": [
         {"country_iso_code": "RW",
          "country_name": "Rwanda",
          "city_abbrev": "some_random_city",
          "city_name": "some_random_abbrev"
         },
         {"country_iso_code": "RW2",
         "country_name": "Rwanda2",
         "city_abbrev": "some_random_city2",
         "city_name": "some_random_abbrev2"
         },
         ...
  },
   ...
]

I have no problem defining a second model for the response. That's the easy part!
The problem is I'm getting a List[tuple,tuple,tuple,tuple,tuple,] from both CRUD and Endpoint. As such I see several problems:

If I'm going to return a response that conforms not to the returning Model (List[Locations])) but to another Model adapted to the nesting I wanna do with the groupby how/where can/should I map the response back (again?!) to a Pydantic object?
mapping back to a Pydantic model seems unnecessary work

I might be asking a obvious question, but so far I haven't found a way to do this...

mapping back to a Pydantic model seems unnecessary work

I think that would actually be the way to go. From your list of tuples, convert it to a list of dicts, and return that, so that the data has the shape expected by your Pydantic model.
The thing is that your Pydantic model is expecting a data shape, but you are passing a different data shape. And it doesn't have a way to magically guess how to map from the data that you are returning to the model that you defined.
Maybe there's a way to make SQLAlchemy return dicts instead of tuples, maybe with something like https://docs.sqlalchemy.org/en/13/orm/query.html#sqlalchemy.util.KeyedTuple but I don't really know.


Strong consistent cache with synchronous writes can return stale data during a network partition

version: 4.3.4
A network partition between the servers could result in allowing a strong consistent cache with  synchronous writes to return stale or old data.
steps to reproduce:

setup a cluster with three servers s1, s2, s3 and two clients c1,c2
populate a cache with some value
cut the network between (the primary node + c1) and (the other 2 servers + c2)
let c2 put some new value to the cache
let c1 read the value, it will return the old value

4x tc-server is not tracked here. The 5.0 tc-core line being developed here is a major break from that code line. That being said, 4x line does not support split brain prevention but if you would still like to report it and track it, http://jira.terracotta.org is the correct place.


wheel Propagation

My understanding is that wheel propagation stops double scrolling on touch devices when set to true.  is there a way to implement this on the react version? thanks.

My understanding is that wheel propagation stops double scrolling on touch devices when set to true. is there a way to implement this on the react version? thanks.

You can use this following code:
<PerfectScrollbar
  option={{
    wheelPropagation: true
  }}
>
  ... SCROLLBAR CONTENT HERE ...
</PerfectScrollbar>


Trouble deploying on Heroku

Hi Christian,
First off, awesome starting point for a Webpack app!
I've tried to follow your blog post with the current code to get it running on Heroku, but I can't get it to work. Are there differences between the steps you recommend there and the repo's current state? I see it was originally written last April.
Here's exactly what I've done:

Added the deploy.js file to the root with the exact code from the blog post
Added the postinstall script to package.json, which runs 'node deploy'
Moved all the dev dependencies to prod dependencies
Added a NODE_ENV=production config var on Heroku

When I deploy to Heroku, the app says it builds successfully. But when I run heroku open, I'm just hit with a Application Error. Here's what the logs say:
2015-10-18T06:15:44.281256+00:00 heroku[web.1]: Starting process with command npm start
2015-10-18T06:15:46.529826+00:00 app[web.1]:
2015-10-18T06:15:46.529838+00:00 app[web.1]: ><EMAIL_ADDRESS>start /app
2015-10-18T06:15:46.529840+00:00 app[web.1]: > babel-node server
2015-10-18T06:15:46.529841+00:00 app[web.1]:
2015-10-18T06:16:44.564574+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2015-10-18T06:16:44.564574+00:00 heroku[web.1]: Stopping process with SIGKILL
2015-10-18T06:16:45.228070+00:00 heroku[web.1]: Process exited with status 137
2015-10-18T06:16:45.242940+00:00 heroku[web.1]: State changed from starting to crashed
Thanks!

Hi there!
Make sure that your express application sets the port to: process.env.PORT when in production, as Heroku puts the port as an environment variable.

Just closing this. Hopefully it worked out :-)

I had to tweak my package.json to the following for it to work in Heroku. Of course, I'm pretty sure babel-node isn't recommended for production, so perhaps an even better approach would be a pre-compile babel and then a pointer to the compiled version of the server.js.
"start": "./node_modules/.bin/babel-node server.js"
@christianalfoni - BTW: Your blog posts and repos on webpack have been instrumental for me in breaking down how it all this works. I'm using this as a starting point, but am adding a few tweaks like SEO and Falcor integration. Keep up the awesome work.

@jmlivingston Yes indeed, have to transpile server code to normal ES5 for production :-)
Glad it has been helpful, thanks for the feedback! :+1:


Tidy up the repository

There are still a few things left over from the transition to Hera 2.0 development.

Remove the /docs folder, as it is not necessary anymore
Write a proper development setup & info notice for README.md
Switch to MIT license as it is more common and better fits our case
Add tags to the repository
Look into Github actions (automation)
Disable Github wiki (We don't use it right now and probably won't in the near future. Can just be reenabled if we need it)
Update CONTRIBUTING.md with new branch tags

Github actions will be discussed at a later point.
Don't disable github wiki. Instead we use it for stuff like a HeraCommunicationInterface guide.
The readme file should be a guide on how to start Hera locally

Closing this as most of the items on the list are complete or outdated


Resolve globus-uploader bottleneck

While diagnosing problems with the full-field generation process, I noticed that the overall pipeline is still working through February (2/8 in process as of 4/19).  The current globus-uploader assumes a single process.  We can easily parallelize this by adding another status (e.g., PENDING).
For example, changing from
"SELECT * FROM globus_tasks WHERE status = '%s' order by completed ASC limit 1" % status
to
"UPDATE globus_tasks set status = 'PENDING' WHERE globus_id IN ( SELECT globus_id FROM globus_tasks WHERE status = '%s'  order by completed ASC limit 1) RETURNING *" %status
would allow us to run multiple globus-uploaders.  Of course, this might just identify more downstream bottlenecks, but would get more than  a slow trickle moving through the pipeline.

@dlebauer I made a temporary change yesterday to see if we could easily parallelize the globus-uploader component.  The system is now working through 2/9 at a rate of ~2-3 days worths of data per day.  There's no way it will make it through the complete backlog before next week, and scaling the cluster nodes alone won't help and will require more fundamental system changes.
Given our discussion yesterday about the sorghum planting next week and that the winter wheat isn't a focus, I'm inclined to flag the remaining dates for future processing.  In short, I would change the state of all unprocessed tasks for February, March and (maybe) early April.  Any new data would be processed and work through the backlog with any free cycles.
Is this acceptable?

Blocked by https://github.com/terraref/computing-pipeline/pull/409

@craig-willis that sounds like a good plan though it would be okay to hold off until we know the planting date and see if we are close enough.
What does 'change the state' mean? This would prioritize new data?
@NewcombMaria when is Sorghum planting planned?

@dlebauer
Yes. The way the globus-uploader works now each task can have a state of SUCCEEDED (transfer complete), PROCESSED (submitted to clowder), ERROR (re-try later), or FAILURE (don't retry later).   The processing loop starts with tasks in the SUCCEEDED state then, once those are complete, moves on to tasks in the ERROR state.
I'm confirming with Max, but I believe if I put the current backlog into the ERROR state, any newly transferred data will be processed first.

Re-opening this since it's really still a problem and actively being worked on.

As of today, we're running 2 uploaders because of failures with Elastic Search
The problem with ES is actually not related to load, it's because Puppet is restarting the nodes too frequently because of incorrectly identified changes.  However, the more uploaders running, the more errors we see.
I've manually set the status to BACKLOG for pre-April data. We will manually stage in the backlog once we can better predict our daily pipeline processing rates.

https://github.com/terraref/computing-pipeline/pull/441
This PR adjusts status handling because there was a dict not shared between parallel instances which would result in duplicates potentially. Merged and deployed.

We can close this issue when we merge: https://github.com/terraref/computing-pipeline/pull/443


Issue 43: taxon prefix not being used.

begin looking into why NCBI_Taxon prefix does not get used when serializing to turtle. I've discovered that if the bit after a prefix begins with a number, then the prefix does not get used. I've updated the relevant github issue asking for advice from the annotation gang

closed due to inactivity