Doc kotlin swift

#96 & #104 + General cleanup and updates
@jaakla @csobier

Made a few small comments @Nikituh , otherwise, looks good!
After those fixes, and Jaak approves, we should merge PR. Then I can create a staging url for Docs. (We should probably confirm that all the newly added tabpanes appear correctly in the output)

I know, viewing what you're actually doing is hard. @Nikituh give this a check, looks like a lot of empty tabs. Is that correct?
Okay, here is the PR with staging: https://github.com/CartoDB/docs/pull/1208
Here is the staging url:  http://mobile-staging.docs.carto-staging.com/docs/carto-engine/mobile-sdk/
You will need credentials to view, ask Systems if you need login help.


Update package version

Updates package version to 0.8.0 after merging https://github.com/Expensify/react-native-key-command/pull/18

Lol 😂

Day after comp review 😛
I 👀 you all hehe


Proper management of the order of modifiers

Certain modifiers will behave differently depending on the order in which they're applied, so some kind of control should be available for that

With the way modifiable actions are handled (applyBefore, push ModifiedExecutionEffect on the stack, applyAfter) it is possible to manage this ordering issue through the careful use of applyBefore and applyAfter. Is this enough, or is a proper priority system needed?

If a choice is presented, this means a new action to order the modifiers. Since an order is already returned for modifiers that are selected, could it work if all modifiers (mustUse ones included) are put in the choices, with the restriction that those must be selected? Allowing the player to change the order if they wish


Height scaling not working.

On installing the latest update  (v<IP_ADDRESS>), I shrank back to base height.  Customize+ doesn't seem to be factoring overall height scaling from the .pose file anymore.

You should be able to scale the root bone just as before, try setting it again in the edit window.

Yep, that helped fix it up.  For some reason, even the original .pose file dropped it somehow.  More on Anamnesis than here.  Thank you!~


add num_timepoints & num_docs_by_timepoint for DTModel

The current tomotopy.DTModel  is missing some features about the number of timepoints and documents. Suggest adding following properties into DTModel.

num_timepoints (or t) : the value that is input as t of __init__
num_docs_by_timepoint : the number of documents belonging to each timepoint

Hi @bab2min , thanks a lot for this great work!
Are you planning to implement these features soon? It is quite crucial to be able to use the num_docs_by_timepoints parameter in order to be able to use your library.
This is another interesting resource you might be interested in https://github.com/GSukr/dtmvisual
thanks a lot!

Hello @ebergam, thanks for your attention to my work!
Currently I'm implementing the next version of tomotopy, and it will include this enhancement. So please wait a few more days.

Great, looking forward!
Thank you @bab2min :)


Add a method for converting to an array (not a slice)

We have from_array, but it would be nice if we could get to_array() if Rust's const implementation allows it (it might not yet, but presumably should at some point).

Currently it's not possible to make it const without #![feature(const_precise_live_drops)].


--> src/platform_impl/emscripten/mod.rs:1067:23
     |
1067 |             _ => Some(Key3),
     |                       ^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Key3;
     |

error[E0425]: cannot find value `Numpad4` in this scope
    --> src/platform_impl/emscripten/mod.rs:1070:50
     |
1070 |             ffi::DOM_KEY_LOCATION_NUMPAD => Some(Numpad4),
     |                                                  ^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Numpad4;
     |

error[E0425]: cannot find value `Key4` in this scope
    --> src/platform_impl/emscripten/mod.rs:1071:23
     |
1071 |             _ => Some(Key4),
     |                       ^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Key4;
     |

error[E0425]: cannot find value `Numpad5` in this scope
    --> src/platform_impl/emscripten/mod.rs:1074:50
     |
1074 |             ffi::DOM_KEY_LOCATION_NUMPAD => Some(Numpad5),
     |                                                  ^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Numpad5;
     |

error[E0425]: cannot find value `Key5` in this scope
    --> src/platform_impl/emscripten/mod.rs:1075:23
     |
1075 |             _ => Some(Key5),
     |                       ^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Key5;
     |

error[E0425]: cannot find value `Numpad6` in this scope
    --> src/platform_impl/emscripten/mod.rs:1078:50
     |
1078 |             ffi::DOM_KEY_LOCATION_NUMPAD => Some(Numpad6),
     |                                                  ^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Numpad6;
     |

error[E0425]: cannot find value `Key6` in this scope
    --> src/platform_impl/emscripten/mod.rs:1079:23
     |
1079 |             _ => Some(Key6),
     |                       ^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Key6;
     |

error[E0425]: cannot find value `Numpad7` in this scope
    --> src/platform_impl/emscripten/mod.rs:1082:50
     |
1082 |             ffi::DOM_KEY_LOCATION_NUMPAD => Some(Numpad7),
     |                                                  ^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Numpad7;
     |

error[E0425]: cannot find value `Key7` in this scope
    --> src/platform_impl/emscripten/mod.rs:1083:23
     |
1083 |             _ => Some(Key7),
     |                       ^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Key7;
     |

error[E0425]: cannot find value `Numpad8` in this scope
    --> src/platform_impl/emscripten/mod.rs:1086:50
     |
1086 |             ffi::DOM_KEY_LOCATION_NUMPAD => Some(Numpad8),
     |                                                  ^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Numpad8;
     |

error[E0425]: cannot find value `Key8` in this scope
    --> src/platform_impl/emscripten/mod.rs:1087:23
     |
1087 |             _ => Some(Key8),
     |                       ^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Key8;
     |

error[E0425]: cannot find value `Numpad9` in this scope
    --> src/platform_impl/emscripten/mod.rs:1090:50
     |
1090 |             ffi::DOM_KEY_LOCATION_NUMPAD => Some(Numpad9),
     |                                                  ^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Numpad9;
     |

error[E0425]: cannot find value `Key9` in this scope
    --> src/platform_impl/emscripten/mod.rs:1091:23
     |
1091 |             _ => Some(Key9),
     |                       ^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Key9;
     |

error[E0425]: cannot find value `A` in this scope
    --> src/platform_impl/emscripten/mod.rs:1094:27
     |
1094 |         "A" | "a" => Some(A),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::A;
     |

error[E0425]: cannot find value `B` in this scope
    --> src/platform_impl/emscripten/mod.rs:1095:27
     |
1095 |         "B" | "b" => Some(B),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::B;
     |

error[E0425]: cannot find value `C` in this scope
    --> src/platform_impl/emscripten/mod.rs:1096:27
     |
1096 |         "C" | "c" => Some(C),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::C;
     |

error[E0425]: cannot find value `D` in this scope
    --> src/platform_impl/emscripten/mod.rs:1097:27
     |
1097 |         "D" | "d" => Some(D),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::D;
     |

error[E0425]: cannot find value `E` in this scope
    --> src/platform_impl/emscripten/mod.rs:1098:27
     |
1098 |         "E" | "e" => Some(E),
     |                           ^ not found in this scope
help: possible candidates are found in other modules, you can import them into scope
     |
5    | use event::VirtualKeyCode::E;
     |
5    | use std::f32::consts::E;
     |
5    | use std::f64::consts::E;
     |

error[E0425]: cannot find value `F` in this scope
    --> src/platform_impl/emscripten/mod.rs:1099:27
     |
1099 |         "F" | "f" => Some(F),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::F;
     |

error[E0425]: cannot find value `G` in this scope
    --> src/platform_impl/emscripten/mod.rs:1100:27
     |
1100 |         "G" | "g" => Some(G),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::G;
     |

error[E0425]: cannot find value `H` in this scope
    --> src/platform_impl/emscripten/mod.rs:1101:27
     |
1101 |         "H" | "h" => Some(H),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::H;
     |

error[E0425]: cannot find value `I` in this scope
    --> src/platform_impl/emscripten/mod.rs:1102:27
     |
1102 |         "I" | "i" => Some(I),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::I;
     |

error[E0425]: cannot find value `J` in this scope
    --> src/platform_impl/emscripten/mod.rs:1103:27
     |
1103 |         "J" | "j" => Some(J),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::J;
     |

error[E0425]: cannot find value `K` in this scope
    --> src/platform_impl/emscripten/mod.rs:1104:27
     |
1104 |         "K" | "k" => Some(K),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::K;
     |

error[E0425]: cannot find value `L` in this scope
    --> src/platform_impl/emscripten/mod.rs:1105:27
     |
1105 |         "L" | "l" => Some(L),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::L;
     |

error[E0425]: cannot find value `M` in this scope
    --> src/platform_impl/emscripten/mod.rs:1106:27
     |
1106 |         "M" | "m" => Some(M),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::M;
     |

error[E0425]: cannot find value `N` in this scope
    --> src/platform_impl/emscripten/mod.rs:1107:27
     |
1107 |         "N" | "n" => Some(N),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::N;
     |

error[E0425]: cannot find value `O` in this scope
    --> src/platform_impl/emscripten/mod.rs:1108:27
     |
1108 |         "O" | "o" => Some(O),
     |                           ^
help: a tuple variant with a similar name exists
     |
1108 |         "O" | "o" => Some(Ok),
     |                           ^^
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::O;
     |

error[E0425]: cannot find value `P` in this scope
    --> src/platform_impl/emscripten/mod.rs:1109:27
     |
1109 |         "P" | "p" => Some(P),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::P;
     |

error[E0425]: cannot find value `Q` in this scope
    --> src/platform_impl/emscripten/mod.rs:1110:27
     |
1110 |         "Q" | "q" => Some(Q),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Q;
     |

error[E0425]: cannot find value `R` in this scope
    --> src/platform_impl/emscripten/mod.rs:1111:27
     |
1111 |         "R" | "r" => Some(R),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::R;
     |

error[E0425]: cannot find value `S` in this scope
    --> src/platform_impl/emscripten/mod.rs:1112:27
     |
1112 |         "S" | "s" => Some(S),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::S;
     |

error[E0425]: cannot find value `T` in this scope
    --> src/platform_impl/emscripten/mod.rs:1113:27
     |
1113 |         "T" | "t" => Some(T),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::T;
     |

error[E0425]: cannot find value `U` in this scope
    --> src/platform_impl/emscripten/mod.rs:1114:27
     |
1114 |         "U" | "u" => Some(U),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::U;
     |

error[E0425]: cannot find value `V` in this scope
    --> src/platform_impl/emscripten/mod.rs:1115:27
     |
1115 |         "V" | "v" => Some(V),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::V;
     |

error[E0425]: cannot find value `W` in this scope
    --> src/platform_impl/emscripten/mod.rs:1116:27
     |
1116 |         "W" | "w" => Some(W),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::W;
     |

error[E0425]: cannot find value `X` in this scope
    --> src/platform_impl/emscripten/mod.rs:1117:27
     |
1117 |         "X" | "x" => Some(X),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::X;
     |

error[E0425]: cannot find value `Y` in this scope
    --> src/platform_impl/emscripten/mod.rs:1118:27
     |
1118 |         "Y" | "y" => Some(Y),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Y;
     |

error[E0425]: cannot find value `Z` in this scope
    --> src/platform_impl/emscripten/mod.rs:1119:27
     |
1119 |         "Z" | "z" => Some(Z),
     |                           ^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Z;
     |

error[E0425]: cannot find value `Apostrophe` in this scope
    --> src/platform_impl/emscripten/mod.rs:1121:21
     |
1121 |         "'" => Some(Apostrophe),
     |                     ^^^^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Apostrophe;
     |

error[E0425]: cannot find value `Backslash` in this scope
    --> src/platform_impl/emscripten/mod.rs:1122:22
     |
1122 |         "\\" => Some(Backslash),
     |                      ^^^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Backslash;
     |

error[E0425]: cannot find value `Colon` in this scope
    --> src/platform_impl/emscripten/mod.rs:1123:21
     |
1123 |         ":" => Some(Colon),
     |                     ^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Colon;
     |

error[E0425]: cannot find value `NumpadComma` in this scope
    --> src/platform_impl/emscripten/mod.rs:1125:50
     |
1125 |             ffi::DOM_KEY_LOCATION_NUMPAD => Some(NumpadComma),
     |                                                  ^^^^^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::NumpadComma;
     |

error[E0425]: cannot find value `Comma` in this scope
    --> src/platform_impl/emscripten/mod.rs:1126:23
     |
1126 |             _ => Some(Comma),
     |                       ^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Comma;
     |

error[E0425]: cannot find value `NumpadEquals` in this scope
    --> src/platform_impl/emscripten/mod.rs:1129:50
     |
1129 |             ffi::DOM_KEY_LOCATION_NUMPAD => Some(NumpadEquals),
     |                                                  ^^^^^^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::NumpadEquals;
     |

error[E0425]: cannot find value `Equals` in this scope
    --> src/platform_impl/emscripten/mod.rs:1130:23
     |
1130 |             _ => Some(Equals),
     |                       ^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Equals;
     |

error[E0425]: cannot find value `LBracket` in this scope
    --> src/platform_impl/emscripten/mod.rs:1132:21
     |
1132 |         "{" => Some(LBracket),
     |                     ^^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::LBracket;
     |

error[E0425]: cannot find value `Period` in this scope
    --> src/platform_impl/emscripten/mod.rs:1133:21
     |
1133 |         "." => Some(Period),
     |                     ^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Period;
     |

error[E0425]: cannot find value `RBracket` in this scope
    --> src/platform_impl/emscripten/mod.rs:1134:21
     |
1134 |         "}" => Some(RBracket),
     |                     ^^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::RBracket;
     |

error[E0425]: cannot find value `Semicolon` in this scope
    --> src/platform_impl/emscripten/mod.rs:1135:21
     |
1135 |         ";" => Some(Semicolon),
     |                     ^^^^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Semicolon;
     |

error[E0425]: cannot find value `Slash` in this scope
    --> src/platform_impl/emscripten/mod.rs:1136:21
     |
1136 |         "/" => Some(Slash),
     |                     ^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
     |
5    | use event::VirtualKeyCode::Slash;
     |

error[E0603]: struct `MonitorHandle` is private
  --> src/platform_impl/emscripten/mod.rs:13:13
   |
13 | use window::MonitorHandle as RootMonitorHandle;
   |             ^^^^^^^^^^^^^

warning: unused `#[macro_use]` import
  --> src/lib.rs:82:1
   |
82 | #[macro_use]
   | ^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: unused import: `VirtualKeyCode::*`
   --> src/platform_impl/emscripten/mod.rs:697:9
    |
697 |     use VirtualKeyCode::*;
    |         ^^^^^^^^^^^^^^^^^

error[E0107]: wrong number of type arguments: expected 0, found 1
  --> src/event_loop.rs:34:53
   |
34 |     pub(crate) event_loop: platform_impl::EventLoop<T>,
   |                                                     ^ unexpected type argument

error[E0107]: wrong number of type arguments: expected 0, found 1
   --> src/event_loop.rs:167:53
    |
167 |     event_loop_proxy: platform_impl::EventLoopProxy<T>,
    |                                                     ^ unexpected type argument

error: aborting due to 204 previous errors

Some errors occurred: E0107, E0412, E0422, E0425, E0432, E0433, E0603.

https://github.com/spennydl/winit/tree/web-sys looks promising (rust-windowing/winit/pull/845)


update from socketio/socketio-parser

fixes binary blob encoding in from client

closing in favor of #3


Creeper Origin (Forge)

The Creeper Origin in my multiplayer keeps randomly exploding even if my hand are not on my keyboard.
Please have a look at it but take your time!
Thank you for taking the time of day/night to read this and have a good day/night.

Creeper origin is provided by another mod or datapack. This is not something built into the mod, please ask the person that created the origin for help.


fix: building for alpine

Uses qemu to host arm64 alpine container
Change the base image to node:14.16.0-alpine to align with our current supported build image for VSCode core https://github.com/microsoft/vscode-linux-build-agent/blob/f29bb53bf6d3e673e0fef69e1840a0fb752a99dd/alpine-x64/Dockerfile#L2, so that minimum libstdc++ support is satisfied.

alpine-arm64 is now built correctly
node.napi.musl.node: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, stripped

Downside of running on qemu is that overall build now takes 35m to complete instead of previous 11m. I will see if we can use cross compile as an alternative in a follow-up PR.


Istanbul University's domain added.

@nurullah I am sorry, the domain ogr.iu.edu.tr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Website slow

The website is slow (again); takes between 20 and 30 seconds to load a page. Sometimes it's fast.
http://forum.arduino.cc/index.php?api&pm&callback=unreadpm&callback=jQuery111002576620285874871_1483671688741&_=1483671688742 takes anywhere between 10 and 25 seconds (checked 3 times).
See http://forum.arduino.cc/index.php?topic=427488.msg3070539#msg3070539
Win8, Firefox 50.1.0
05:12 South African time

Confirmed.
IPad displays corrupt pages, especially the top part of a site us doubled and behaves strangely when trying to scroll down. Valid for browsers Chrome and Safari.
rpt007

Seems to be OK now on my side since a number of hours after I reported initially; some feedback would be nice from the webmaster that it is (temporarily?) fixed would be nice ;)

Responsiveness - yes (as long as it lasts …)
But: look at the screen of my iPad, no matter if I use Chrome or Safari:

Am 08.01.2017 um 12:36 schrieb sterretje<EMAIL_ADDRESS>Seems to be OK now on my side since a number of hours after I reported initially; some feedback would be nice from the webmaster that it is (temporarily?) fixed would be nice ;)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/arduino/forum-issues/issues/218#issuecomment-271145564, or mute the thread https://github.com/notifications/unsubscribe-auth/AKHoUQoeq84VJNuFm1d8-LtKACze9ZAAks5rQMpNgaJpZM4LcXM2.


Proposal to increase default replica counts when default PDB is in use

This is a proposal for "fixing": https://github.com/istio/istio/issues/12602
I based the logic on what i found in gateways/istio-egress.
This is just a proposal, another option could be to set defaultPodDisruptionBudget.enabled = false in global.yaml or update documentation to the effect that default installs must be scaled before node maintenance is possible.

I think this needs some more thought. These components shouldn't all be treated as equal as @linsun said.
The best example is certmanager, it takes certmanager between 10-15 seconds to start up and 1-5 minutes to process cert requests using letsencrypt and up to days with other issuers. Is the, worst case, 15% extra latency for cert issuance something you'd want to guard against? Maybe, but we're talking edge case scenario here. Probably not a candidate for disruption budget or HA by default.
The mixer and anything connected to the Adapter API is on the other end of the spectrum. Would i accept logging falling out during maintenance? Probably not.
Is it a goal that the default install should be ready for production out of box? In that case there's more work to be done. There's nothing stopping k8s from scheduling all mixer pods on the same node and in the same zone with the current config. So a single node failure can still take everything down and with the popularity of spot/preemtible nodes this is actually not that unlikeley.

@linsun well, while Pilot is down any freshly scheduled pod would be blocked on Envoy waiting for config, wouldn't it?
Maybe that's an edge case, as multiple things have to go wrong to trigger failure, but node maintenance is exactly one of those scenarios where a couple of Pod reschedules are pretty likely...

@linsun well, while Pilot is down any freshly scheduled pod would be blocked on Envoy waiting for config, wouldn't it?
Maybe that's an edge case, as multiple things have to go wrong to trigger failure, but node maintenance is exactly one of those scenarios where a couple of Pod reschedules are pretty likely...

You also need the sidecar injector (and maybe citadel?) for new pods, as an extra data point

@howardjohn @linsun Pilot was an example. Sure we need injector and probably Gateways. While I do think it is unfortunate that Citadel is currently a singleton, it is probably the least problematic with regard to HA - not sure if SDS changes that...

What about adding new global options like this:
global.HA = {
  controlplane: {
    enabled: false,
    podAntiAffinity: {
       preferredTopologyKeys: [],
       requiredTopologyKeys: [],
    }
  },
  mesh: {
    enabled: true,
    podAntiAffinity: {
      preferredTopologyKeys: ["failure-domain.beta.kubernetes.io/zone"]
      requiredTopologyKeys: ["kubernetes.io/hostname"]
    }
  }

enabling HA for mesh, enables PDBs and replicas on components that affect traffic in the mesh, while controlplane enables it on components required to make changes to the mesh.
The podAntiAffinity could be naively configured to do the best it could without knowing the cluster topology:
podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            podAffinityTerm:
              labelSelector:
                matchExpressions:
                  - key: app
                    operator: In
                    values:
                    - istio-ingress
              topologyKey: "failure-domain.beta.kubernetes.io/zone"
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
                matchExpressions:
                  - key: app
                    operator: In
                    values:
                    - istio-ingress
            topologyKey: "kubernetes.io/hostname"

It still doesn't give regional HA. In the case zone-1 goes down while maintenance on zone-2 has all nodes down there then all istio-ingress pods will be rescheduled in zone-3. It's the best i can come up with without requiring user config. This would be a large change, since antiAffinity like this increases scheduling load.

The underlying issue can prevent cluster autoscaler from removing unutilized nodes.  I'm running istio 1.0 from the helm chart.  The singleton istio control plane pods happen to be on under utilized nodes, but CA cannot evict them due to the PDB.  So the node pool will never scale down.
This is an unfortunate default, and has been very difficult to track down.  I'd be very happy to have the option to require at least 2 replicas when a PDB could prevent autoscaling.  Alternatively, a flag to disable the PDBs could workt too.
IMO, this is a separate issue from enabling solid HA deployments from the helm charts.

@rvandegrift: Such a flag exists already: global.defaultPodDisruptionBudget.enabled = false. The only other change that could be done for 1.1 or 1.0 is to flag this as a known issue in the documentation. Any change of default behavior here would be a breaking change.

@rvandegrift: Such a flag exists already: global.defaultPodDisruptionBudget.enabled = false.

Oh thanks - this does exist in 1.1, but not 1.0 so I hadn't noticed.  That's a pretty good reason for us to upgrade.

The only other change that could be done for 1.1 or 1.0 is to flag this as a known issue in the documentation. Any change of default behavior here would be a breaking change.

Fair enough, though I'd think there's still value in fixing a future release.  I haven't gone through the history to understand the current defaults, but I wonder how many folks would choose the existing situation over defaults with a working cluster autoscaler.

@rvandegrift PDB is introduced Istio from v1.1, there is flag to disable the PDBs, but the spec(minAvailable: 1) can't be customized: https://github.com/istio/istio/blob/release-1.1/install/kubernetes/helm/istio/values.yaml#L370-L375

Sorry, post vacation and long thread, what is the plan for this PR ?
I believe we MUST have both a 'demo' profile with low resource as well as 2-3 easy 'prod' installs, with
reasonable defaults.  And at least one of the profiles needs to have a proper 2-3 replicas for each component, and be tested in the stability cluster.

@costinm: That is fair. Closing this, this is not how i would do it or want istio setup. My current istio setup scripts set global.defaultPodDisruptionBudget.enabled = false. And apply the following PDBs afterwards:
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  labels:
    app: istio-egressgateway
    istio: egressgateway
    release: istio
  name: istio-egressgateway
  namespace: istio-system
spec:
  maxUnavailable: 35%
  selector:
    matchLabels:
      app: istio-egressgateway
      istio: egressgateway
      release: istio
---
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  labels:
    app: istio-ingressgateway
    istio: ingressgateway
    release: istio
  name: istio-ingressgateway
  namespace: istio-system
spec:
  maxUnavailable: 35%
  selector:
    matchLabels:
      app: istio-ingressgateway
      istio: ingressgateway
      release: istio
---
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  labels:
    app: policy
    istio: mixer
    istio-mixer-type: policy
    release: istio
  name: istio-policy
  namespace: istio-system
spec:
  maxUnavailable: 35%
  selector:
    matchLabels:
      app: policy
      istio: mixer
      istio-mixer-type: policy
      release: istio
---
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  labels:
    app: telemetry
    istio: mixer
    istio-mixer-type: telemetry
    release: istio
  name: istio-telemetry
  namespace: istio-system
spec:
  maxUnavailable: 35%
  selector:
    matchLabels:
      app: telemetry
      istio: mixer
      istio-mixer-type: telemetry
      release: istio

Those four components are installed with the following helm values:
    autoscaleMin: 3
    podAntiAffinityLabelSelector:
    - key: app
      operator: In
      values: $ISTIO-COMPONENT
      topologyKey: "kubernetes.io/hostname"
    podAntiAffinityTermLabelSelector:
    - key: app
      operator: In
      values: $ISTIO-COMPONENT
      topologyKey: "failure-domain.beta.kubernetes.io/zone"

That gets me HA on all components in the request path while conserving resources on the control plane components and most importantly no interference with node maintenance.


Remove version: MonkeysAudio.MonkeysAudio version 1.028

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://monkeysaudio.com/files/MAC_1028.exe
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 694)


feat: :sparkles: Detect custom error pages

Closes #1
This is the first time I have ever written any Crystal, so let me know if there's anything I did wrong. However, this is a fairly simple change and works as expected after testing.

LGTM, thanks!

Awesome, thank you! Should this be a new GitHub release (v1.1.0)?

Done!


Implement schema validation in Collector

[x] tests and linter show no problems (npm t)
[x] tests are added/updated for bug fixes and new features
[x] code is properly formatted (npm run fmt)
[ ] description of changes is added in CHANGELOG.md
[x] update .d.ts typings

I believe that Collector should not know about schemas, it may depend on abstract interface (function validate). @Bespaliy

Closed in favour of https://github.com/metarhia/metautil/pull/248


Select Field limited by user data

Bug report
What I did:
What I expected to happen:
I want to be able to add where clause to select 2 field for create and update. This is limited by user data. For example, a user can only select locations that belong to the users company. SO I want to add
->where('company_id','=',Auth::user()->company_id)  to the end of the field definitions.
What happened:
What I've already tried to fix it:
Use global scopes & select 2 ajax.
Backpack, Laravel, PHP, DB version:
I'm not sure where to look on this. how would I accomplish this? Also for admins this would not be the case. Admins could select all. But that is easily done by if/ else.

In the locations controller you can add a global scope, or a scopedRelation that return the relationship where the conditions are meet, eg.
In your Location model:
public function scopedLocation() { return $this->where('company_id', backpack_user()->company_id); }

When defining the field, in the entity  key, you use the scopedLocation instead of the location relation.
This is pseudo-code, but hope it helps you.
BR,
Pxpm

Yup, I'm using @pxpm 's solution in a bunch of places and it works great. Thanks for sharing @pxpm .
Cheers!

PS. If you have a lot of entries (1000+), I recommend using the select2_from_ajax field type instead. Since you define the results, it's a lot more customizable. We're working on ways to make it even easier to use, since it's a bit uncomfortable to create a route for it, but it is a good solution to a lot of select2 customization issues.

@pxpm I needed a little more granular control than that. So what I ended up doing was making a custom select field that took a eloquent query. Then I did all my work in the model.


rate limited! the limit is 10000 requests every 24 hours

On the current version of hacs-govee.
Describe the bug
Govee devices go unavailable, log states Warning: Could not connect to Govee API: API: API-Error 429: {"message":"rate limited! the limit is 10000 requests every 24 hours. X-RateLimit-Reset in Http Response Header shows the reset time."}
Soon after, you get Error Error setting up entry govee for govee
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 383, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/govee/init.py", line 67, in async_setup_entry
await hub.rate_limit_delay()
AttributeError: 'Govee' object has no attribute 'rate_limit_delay'
How can we avoid hitting the limit? Any way to increase the limit?
Has the local API been released yet?|
Edit: Local API has been released but only works for select devices. Of course, only half of my devices support it.

Same just happened to me even though I almost don’t use the lights controlling via the integration

Same here!
For testing I have also requested a new API code. Now I get the error message:
No connection possible. Is the API key correct and the internet connection ok?
Since I am not the only one, I think that the problem is not with me.

The same thing has happened to me too , so annoying.

Happens to me too. I can't see where there are 10000 API calls a day. This could be a new regulation from govee?

I can't control my Goovee Light either ... Same Error Rate limit exceed .... Has anybody a workaround ? or a solution ?

I haven't tried much yet. Planning to set my Govee lights back up through Alexa and HA, rather than through HA then to Alexa. That way at least my voice commands won't count towards the polling limit.
I'm sure there's a way to get them strictly working through Alexa and letting HA control them through there, which would solve the polling issue because it calls from a non-limited API.
Ridiculous we even have to do all this when they promised a local API long ago.

Also got this message. Not sure how it was exceeded.

same problem

This just happened to me this morning after installing second set of LED strips this weekend. I've been using it a bit this weekend more than usual for testing but nothing extreme. I'

I've got same issue poll set to 600

I was able to fix this by changing the Poll interval to 40 as per here as I didn't realise there was a need to delay having two devices

Where in the heck in that long thread is the instructions HOW to change the poll interval?

Where exactly in that thread?

If anyone wants to help..
Looking into triggering my govee devices via Alexa routine through Home Assistant to avoid the API limit. Might be a decent work around until now, especially just for basic on/off.

After doing the math (86400 sec in a day / 10000 requests) = 11.57 sec per request
So setting your Polling Interval at 12 instead of the default of 10 should fix the issue.

I've run into this after adding a second light to my account. It happened two days in a row. Yesterday I set up a counter to increment the number of these I call something that changes the state of these lights and it's only a combined couple dozen yesterday, so it's not raw state changes that are causing the issue.
Given that I had the poll interval set to the default value of 10 and double the number of devices, this had also doubled the state calls and that's what's causing the issue?

same here.

For me change poll interval to 60 solved problem. I have 2 govee devices. If someone has more devices, this value i think should be increased to a larger value depending on how many devices You have

I’m having the same issue. I have 2 devices with the poll limit set to 600 & it’s still not working.

Same, only installed yesterday, and already doesn't work :( I'm going to wait 24H and try tommorow again, maybe it will start working

I was hoping it would reset for me after midnight but I’m well into my 2nd day of this issue & it still hasn’t been resolved.
Sent from my iPhone
On May 21, 2023, at 2:33 PM, SergioSerrao @.***> wrote:

Same, only installed yesterday, and already doesn't work :( I'm going to wait 24H and try tommorow again, maybe it will start working
—
Reply to this email directly, view it on GitHubhttps://github.com/LaggAt/hacs-govee/issues/107#issuecomment-1556252643, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2LZY7JCOIROPS4DEBQGYMLXHJNXZANCNFSM6AAAAAAVNUUQ4A.
You are receiving this because you commented.Message ID: @.***>

Same here.
After adding a second device I can't control none of them.
Tried different intervals but didn't help:
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.govee.config_flow
Source: custom_components/govee/config_flow.py:34
Integration: Govee (documentation, issues)
First occurred: 18:12:10 (5 occurrences)
Last logged: 18:25:38

Cannot connect: API: API-Error 429: {"message":"rate limited! the limit is 10000 requests every 24 hours. X-RateLimit-Reset in Http Response Header shows the reset time."}
Traceback (most recent call last):
  File "/config/custom_components/govee/config_flow.py", line 68, in async_step_user
    user_input = await validate_api_key(self.hass, user_input)
  File "/config/custom_components/govee/config_flow.py", line 34, in validate_api_key
    raise CannotConnect(error)
custom_components.govee.config_flow.CannotConnect: API: API-Error 429: {"message":"rate limited! the limit is 10000 requests every 24 hours. X-RateLimit-Reset in Http Response Header shows the reset time."}
```
`

I was able to fix mine. I requested a 2nd API Key from Govee, then setup a 2nd Govee integration using the new API Key. I set the poll interval to 600 & I haven’t had any issues since. The devices automatically populated with the same names, etc & all of the previous automations were still active with the new integration. After everything was confirmed to be working I deleted the original integration.  I hope this works for you!

@zayspringer:
Deleted my Integration. Restart. Added it again. Restart.
Tried to add Govee again with new API-Key.
No difference. Doesn't work.
Tried Govee-API with an API-Tester and with old and new API-Key. Both get the response that I posted.
If I read the numbers in the Response-Header correctly, I need to wait 24 hours. Which I will do tomorrow

After waiting 24 hours. It worked.
Hopefully it will stay that way when I start adding new devices

hey @Stormster I've had this integration going on for a long time and have been a victim of this issue a lot, especially the more I added govee products to my integration.
I went to ChatGPT and fed it all the information I could from what I know of:

The integration
The Govee API
User comments in forums and this is what it told me. (in my case, for 4 products), but the critical piece here is the logic and math on how to find the correct pull interval:

Logical Analysis:

Daily API Limit: 10,000 calls per 24 hours. Since you have 4 devices, this effectively becomes 10,000 / 4 = 2,500 calls per device per 24 hours.
Per-Minute API Limit: 60 calls per minute according to Home Assistant and 10 per minute per device from Govee's API documentation. The more stringent limit is 10, which is applicable per device.
User Activity: Besides the automated polling, consider the manual interactions you might have like adjusting brightness or turning devices on/off. Assume an average of 50 such manual actions per device per day as a placeholder.

Configuration:

Reserve for Manual: 50 manual actions x 4 devices = 200 calls per day are reserved for manual actions.
Daily Available for Polling: 10,000 total - 200 reserved = 9,800 for automated pulls. Per device, this would be 9,800 / 4 = 2,450 pulls.
Pull Interval: There are 86,400 seconds in a day. 86,400 / 2,450 pulls = 35.28 seconds per pull per device to stay under the daily limit.
Per-Minute Safeguard: 60 seconds / 10 = 6 seconds is the quickest you could safely pull without hitting the per-minute limit. Since our calculated value is higher, it is safe.

Recommendations:

Optimal Pull Interval: Based on daily and per-minute limits, setting the pull interval to around 35-40 seconds should keep you safe from hitting the API rate limits while still providing fairly real-time updates.


Made HasActive public so I can wait for it to come alive again

I am using a worker process that shoots things into ES. It needs to wait until the connection is alive again before continuing.

Opening up these things is probably not a good idea. It may introduce races etc.
Also, hasActive is going away in the near future. It is replaced by a more robust mechanism introduced in this branch. That will eventually be merged into master.

But you provide no way to see if the connection is alive right? Nor has that been introduced in that branch... The feature request is a reasonable one in my opinion, perhaps a discussion might be more fruitful if you did not shoot it down right away :disappointed:

I see what you are after. But introducing a problem to get a feature is not the right decision, don't you think?
I have the same problem in my code, and I solve it on the client side. I watch for errors, time out, and retry. Maybe you can do the same?

BTW: Here's a snippet of code we use to process bulk requests. They can fail, and we simply try again. Maybe this helps tackling your problem.
// bulkCommit commits bulk actions to Elasticsearch. When an error
// occurs, it retries the operation several times before failing.
// An error is returned via the Response channel.
func bulkCommit(r *IndexRequest) error {
	sleepSeconds := int64(1)
	numRetries := r.numRetries

	startTime := time.Now().UTC()
	reqid := utils.NewUUID()

	for {
		res, err := r.service.Do()
		if err != nil {
			logf("bulk [%s]: indexing failed with %v; %d more retries", reqid, err, numRetries)
			numRetries -= 1
			if numRetries < 0 {
				logf("bulk [%s]: indexing finally failed with %v", reqid, err)
				r.Response <- err
				return err
			}
			logf("bulk [%s]: indexing sleeps for %s", reqid, time.Duration(sleepSeconds)*time.Second)
			time.Sleep(time.Duration(sleepSeconds) * time.Second)
			sleepSeconds *= 2
		} else {
			if !res.Errors {
				logf("bulk [%s]: indexing succeeded with no errors in %s [took=%dms]", reqid, time.Now().UTC().Sub(startTime), res.Took)
			} else {
				logf("bulk [%s]: indexing failed with errors in %s [took=%dms]", reqid, time.Now().UTC().Sub(startTime), res.Took)
				for _, item := range res.Failed() {
					logf("bulk [%s]: item %s failed with: %v", reqid, item.Id, item.Error)
				}
			}
			break
		}
	}

	r.Response <- nil
	return nil
}

I did not say I did not agree with the fact that this way it introduces a race condition, but that can be solved by adding a dedicated reader for the variable that can later be rewritten to look into the new mechanism.
I do think that it would be nice to hook into the already existing code instead of having to check for the ErrNoClient code specifically after each call and build the timeout code in my worker too.
I had similar code that I wanted to replace by a guard that would hold everything at one spot...

I prefer this above my worker:
for {
  if p.Client.HasActiveConnection() {
    break
  } else {
    log.Println("[ES] Waiting for connection to recover.")
    time.Sleep(5 * time.Second) // or exponential back-off
  }
}

But I can also fake it by setting a variable whenever an ErrNoClient err is returned. But then I'd have to do another call to see if the connection has been recovered. I tried Ping() but that did not default to the client url but to the default_url so i had to find another call to use as a check. It just feels like the client should expose that state.

While there might be a way to expose whether or not we have an active connection, there is no way to make this safe other than calling out to ES. The connection could be down again right after HasActiveConnection() reported true back to you.
Can you take a look into the official clients and see if they expose that functionality? Then I might review their implementation and try to find a way to get it in.
To use the ping service with another URL, set it via the URL(...) function. To get the status of your cluster, use the cluster nodes info API or the cluster health status.

If I look at other libraries that do connection management internally (like AMQP) I see a pattern of a notifyClose channel and a notifyConnect channel. Would a solution like that be acceptable?

I understand. However, I know that AMQP uses a persistent TCP connection to the server. With a persistent connection, you can detect if you have a connection or not. Elasticsearch on the other hand uses a HTTP request/response mechanism. You typically only see failure when requests go wrong.

I think the main issue here is that you cannot use a check like this to really determine if the connection is up or down. I understand that. It's more that I want to link the state of my worker to the state of your pinger.
Currently I added something like this:
// returns a boolean indicating if the connection is alive.
func (c Client) HasActiveConnection() bool {
  c.mu.Lock()
  defer c.mu.Unlock()
  return c.hasActive
}

But I am aware that adding this might cause confusion if other see this as a trustworthy check instead of a representation of the pinger state :)

For your scenario, I'd implement a pinger in my own code that does e.g. a HEAD / request on your ES servers and report availability back with a channel. BTW: You can use the Ping service for that; just set the URL individually and set HttpHeadOnly(true) on the service. That shouldn't be too hard, and it is also very lightweight for the ES servers as well.
But in any case, to make your application robust, you should be prepared for errors to be returned anytime you interact with ES, either through Elastic or directly via HTTP.

It's already quite robust, this was just a way to clean up the logs and not have the worker try when we can already know it won't work :)
I'll implement it myself for now :) Tnx!


Handle php fatal error

It would be great to catch all exceptions not only SearchException to have to know what feature was failed, especially when progress formarter is used

which catch are you talking about ?

In RuntimeStepTester, when some users code runs it can be throw any kind of errors.
https://github.com/Behat/Behat/blob/a998d45dca71340d5dd79b60fe1b6f7c70ff08fe/src/Behat/Behat/Tester/Runtime/RuntimeStepTester.php#L73
I think it's affect all behat users, cause some times error was happen and I can't recognize what feature was produce it.

All step definitions go through CallCenter::makeCall, which catches all exceptions. The catch you're referring to is only there to catch exceptions from inside definitions search routine.

This is not resolve my issue. When I use progress loader I can't recognize what feature was produce the exception.

You didn't describe issue - you asked for a feature. I pointed that feature is already implemented as part of Behat core, granting closure of this particular ticket.
I'm afraid we can't help you much until you describe your issue clearly. I'd use separate ticket for that. Please make sure you provide enough context so that we can actually help you debug the issue instead of guessing what's wrong.


Material editor fixes

Adds missing variable types as known types and fixes the material name editing.
Resolves #594, resolves #598

Is it ok to have to matrices listed? They bring a bit odd light values as editable....

Is it ok to have to matrices listed? They bring a bit odd light values as editable....

I'd say "no". What's the use case for changing the projection matrix?

Is it ok to have to matrices listed? They bring a bit odd light values as editable....

I'd say "no". What's the use case for changing the projection matrix?

I took them out


[FEATURE] Please add the ability to automatically generate chat heading after query

You can find the auto-generate chat title in the settings in the left menu.


GUI not working

Windows build number:
22000.708
Your Distribution version:
22.04
Your WSL versions:
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.41
MSRDC version: 1.2.3213
Direct3D version: 1.601.0
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22000.708
Steps to reproduce:
run xeyes or any other GUI program it produces
user@mypc:~$ xeyes
Error: Can't open display: :0
WSL logs:
stderr.log
weston.log
pulseaudio.log
WSL dumps:
no files in /mnt/wslg/dumps
Expected behavior:
the UI program should start but it doesn't
Actual behavior:
Error: Can't open display: :0

I believe that this is the same problem that I am seeing.
wslg version 0.47 does not manifest this problem.
What appears to be happening is that the newer wslg versions somehow link their /mnt/wlsg/.X11-unix directory to /tmp/.X11-unix in the distribution, in my case Ubuntu.
During the ubuntu initialization, the systemd startup services remove everything in /tmp. This is now also removing the X0 file in /mnt/wslg/.X11-unix directory. So the old posts about doing a ln -s no longer work.
I worked around this issue by modifying the /usr/lib/tmpfiles.d/x11.conf configuration file, and commenting out all the lines:
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# See tmpfiles.d(5) for details

# Make sure these are created by default so that nobody else can
# or empty them at startup
#D! /tmp/.X11-unix 1777 root root 10d
#D! /tmp/.ICE-unix 1777 root root 10d
#D! /tmp/.XIM-unix 1777 root root 10d
#D! /tmp/.font-unix 1777 root root 10d
#D! /tmp/.Test-unix 1777 root root 10d

# Unlink the X11 lock files
#r! /tmp/.X[0-9]*-lock

I hope this helps.
Btw, I tried disabling the systemd-tmpfiles-setup service, but that didn't work.
If anyone can provide details as to how the later versions of wslg export their /mnt/wslg/.X11-unix directory to the distributions, that would be most appreciated.

did not work for me.

Non of workaround worked for me. Completly removed Ubuntu, WSL, Virtual machines, etc from optional features then reinstalled again

@carylewis
Thanks - you've saved me!!

I found that sometimes wslg creates /tmp/.X11-unix/X1 instead of /tmp/.X11-unix/X0 but still exports DISPLAY=:0 which will not work as apps will try to find X0, in this case exporting DISPLAY=:1 should make it work. note that if wslg creates /tmp/.X11-unix/X<num> then you need to export DISPLAY=:<num> respectively.

Thanks all for reporting the issue and analyzing, I think we understand the issue, but would like to double check, do you install and run multiple Linux distros on WSL when this issue occurs? thanks!

I am not using multiple distros, but this issue is most notable when I close wsl with wsl --shutdown and quickly open another terminal tab. While going through the weston source I also found that it does create X1 if X0 already exists but cannot verify that, as by the time terminal opens its gone.

@tusharsnn, your observation of weston code is right, and there is recent change in sharing instance of system-distro, and this leads multiple distro to share same instance of system distro file system accidentally, and that causes second distro to see existing X0 lock file by first distro, then end up X11-unix on incremented index. Since the timing of the raising the issue report on this problem and that WSL change introduces is closely aligned, so we believe the reverting back system-distro sharing would solve the issue, thanks!

This issue is fixed by WSL version 0.67.6 or newer.

Hi all, WSL 0.70.0 is just released from Store, https:://aka.ms/wslstorepage, and this should address the issue, please update it by wsl --update, and if the problem still persists, please let us know by reopening this issue, thanks!


 Have tried in both Brave and Firefox and same issue occurs. Noticed some other users experiencing this in the Telegram so have raised issue. Please let me know if I can help with any further testing.

Is this still with the release candidate testversion v1.9.0rc1 or still with v1.8.0?

I'm running v1.8.0

We already fixed a lot on the WebUI/API side .. please try if the sd card update with Release Candidate v1.9.0rc1 already fixes your problem: https://github.com/rootzoll/raspiblitz/tree/v1.9#downloading-the-software

Will do and let you know if issue persists.

I'm on version 1.10.0 and I'm having the same problem. It's persisted for a few days now. I've rebooted but it's the same.

@TheLuvCBD can you log in to your RaspiBlitz and take a look at the blitz API logs? Looking for any errors in there. Thank you.
sudo journalctl -f blitzapi

I'm on version 1.11.0 and I'm having the same problem.

sudo journalctl -f blitzapi results in Failed to add match 'blitzapi': Invalid argument

There are two other issues reporting similar problems - listing here to be tested/closed if fixed:

#4431
#4631

Could be fixed by https://github.com/fusion44/blitz_api/pull/272


[Improvement] add dragOptions to the SageSortable component

Description

[x] Add a dragClass to the options located in the React Sortable repo
This change should be added to dragClass before the {...rest}

Design

Additional Information

Note -> When we close this issue we want to remove this shim here:
https://github.com/Kajabi/kajabi-products/blob/main/app/javascript/apps/quizzes/QuizBuilder/components/QuestionsEditor/QuestionsEditor.jsx#L36-L37


"non-ASM statement in naked function is not supported" when building for armeabi

@mraleph
Please have a look at a new wiki I built for flutter engine build
Android-Builds-Supporting-armeabi
I met up with a problem "non-ASM statement in naked function is not supported", where the code seems to be your commit.
So how can I fix the clang error?
KyleWongdeMacBook-Pro:skia kylewong$ flutter doctor -v
[✓] Flutter (Channel unknown, v0.8.2, on Mac OS X 10.14 18A389, locale en-CN)
• Flutter version 0.8.2 at /Users/kylewong/Codes/fwn_idlefish/flutter
• Framework revision 5ab9e70727 (2 weeks ago), 2018-09-07 12:33:05 -0700
• Engine revision 58a1894a1c
• Dart version 2.1.0-dev.3.1.flutter-760a9690c2
[!] Android toolchain - develop for Android devices (Android SDK 28.0.2)
• Android SDK at /Users/kylewong/Library/Android/sdk
• Android NDK at /Users/kylewong/Library/Android/sdk/ndk-bundle
• Platform android-28, build-tools 28.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
✗ Android license status unknown.
[!] iOS toolchain - develop for iOS devices (Xcode 10.0)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.0, Build version 10A254a
• ios-deploy 1.9.2
! CocoaPods out of date (1.5.0 is recommended).
CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
For more info, see https://flutter.io/platform-plugins
To upgrade:
brew upgrade cocoapods
pod setup
[✓] Android Studio (version 3.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 27.1.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

This should fix it - https://dart-review.googlesource.com/c/sdk/+/76021 though it is hard to actually provide a reliable work-around for this bug.

@mraleph
Got it. Thanks.


FormatException: Unexpected extension byte (at offset 5)

just following the instructions in the error message that flutter doctor reported.
Here is the full text of the message:
.
lawrenceemke@JET:/usr/bin$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.8.1, on Debian GNU/Linux 11 (bullseye) 5.10.91-13997-ge796c79ffe45, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[!] Android Studio (not installed)
[☠] IntelliJ IDEA Community Edition (the doctor check crashed)
✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at
https://github.com/flutter/flutter/issues.
✗ Format Exception: Unexpected extension byte (at offset 5)
[✓] Connected device (2 available)
! Doctor found issues in 2 categories.
lawrenceemke@JET:/usr/bin$
I am trying to run flutter under Intelli Idea
I believe I installed all of the required software as listed on your web-site
I used Intelli "Jetbrains-toolbox" to install Android-SDK and all appropriate
plugins

This is already fixed in #96325. The fix has landed only in the master channel currently, if you don't want to switch channel you have to wait for it to be released in the another channels as well.

how do i switch to the master channel
On Sat, Jan 22, 2022 at 4:41 PM Mattia @.***> wrote:

This is already fixed in #96325
https://github.com/flutter/flutter/pull/96325. The fix has landed only
in the master channel currently, if you don't want to switch channel you
have to wait for it to be released in the another channels as well.
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/97041#issuecomment-1019370861,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABIO2TUEJVQXBHVY76SLANTUXMXDNANCNFSM5MRA6S5A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

This issue was previously reported in #94060 and has since been fixed. The fix is on master but it hasn't rolled out to stable yet. It should sometime in the future.
To switch to master:
flutter channel master
flutter upgrade

Closing this as a duplicate.


None rename server

What's in this PR?
Update the servername component to allow editing as well!!!
Probably need a Dom to be happy with the words e.g. Connnect to Jenkins is kinda cheating

Just 2 small things:

Change the uppercase S to lowercase 'Update Server name' -> 'Update server name'  and lose the full stop at the end
Spacing: can we add a margin top so there's a gap between the box and the header component so it looks more like this design?


refactor(plot): separate Bokeh class functions into classes

Description
This PR separates the functions of the Bokeh class into a separate class and delegates processing to it.
Related links

JIRA ticket: https://tier4.atlassian.net/browse/RT2-627
To reproduce:

ipynb
architecture file
trace data

Notes for reviewers
I have confirmed that there are no regressions using CARET_report.

Pre-review checklist for the PR author

[x] I've confirmed the contribution guidelines.
[x] The PR is ready for review.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[x] The PR has been properly tested.
[x] The PR has been reviewed.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] (Optional) The PR has been properly tested with CARET_report verification.
[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

LGTM!


Gmail not received on successful registration

Hi Guys, I was testing this login and I was so excited it works until I found that Gmail did not received confirmation email. So I had to manually confirm Yes in MYSQL Database in order to enable login. Can anyone know whats going on and/or fix that issue?

login your gmail account:

Click on the google apps Icon
Click Account
Locate security and click on it
scroll down and turn off 2-step verification
scroll down again and turn On Less Secure App Access

after this try signing up again

here are the image preview of it in case of any challenges

Hey Isaiah,

Thank you so so much for this answer.

The email had finally arrived with like 3-4 hours of delay and with notifications that it might be a spam.

I hope your email is going to work.

Using this occasion I would like to ask you about emailer.php license, can I use emailer license on my commercial project without any restriction?

I ask because I initially though that all the files have one license but I latre discovered that there is a separate license for emailer.

Regards.

Maciej

Sent: Sunday, April 21, 2019 at 3:23 PM
From: "Isaiah Joel"<EMAIL_ADDRESS>To: daveismyname/loginregister<EMAIL_ADDRESS>Cc: Maciej5<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [daveismyname/loginregister] Gmail not received on successful registration (#31)
here are the image preview of it in case of any challenges
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

My files you can do whatever you like with them for the mailer their licence is available https://github.com/PHPMailer/PHPMailer/blob/master/LICENSE

Hi David,

Thank you for your answer.

Is there anyone who provides free or paid support in case I want to incorporate this files into my project?

Regards

Maciej

Sent: Sunday, April 21, 2019 at 5:01 PM
From: "David Carr"<EMAIL_ADDRESS>To: daveismyname/loginregister<EMAIL_ADDRESS>Cc: Maciej5<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [daveismyname/loginregister] Gmail not received on successful registration (#31)
My files you can do whatever you like with them for the mailer their licence is available https://github.com/PHPMailer/PHPMailer/blob/master/LICENSE
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I've just tried this on another server with gmail and mine is not working at all but works find when I use another providers SMTP so I'm thinking the issue is with Gmail.
I recommend to use a SMTP service. I'm using Office365 since I use them for my emails. Mailgun is a popular one too.
I'm happy to provide support, my Slack group is better for general support https://daveismynameblog.slack.com/join/shared_invite/enQtMzA2MjU4NjExNTU4LThlMTVkY2M2ZTE0MmUzZjk1MDY5N2E3MjQ0NTY2ZmQzOGVhZTgyN2M5NzIyMzk5M2ZlN2VjYmRiYjM2MGM4NDg

Thank you
Sent: Thursday, May 09, 2019 at 8:29 PM
From: "David Carr"<EMAIL_ADDRESS>To: daveismyname/loginregister<EMAIL_ADDRESS>Cc: Maciej5<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [daveismyname/loginregister] Gmail not received on successful registration (#31)
I've just tried this on another server with gmail and mine is not working at all but works find when I use another providers SMTP so I'm thinking the issue is with Gmail.
I recommend to use a SMTP service. I'm using Office365 since I use them for my emails. Mailgun is a popular one too.
I'm happy to provide support, my Slack group is better for general support https://daveismynameblog.slack.com/join/shared_invite/enQtMzA2MjU4NjExNTU4LThlMTVkY2M2ZTE0MmUzZjk1MDY5N2E3MjQ0NTY2ZmQzOGVhZTgyN2M5NzIyMzk5M2ZlN2VjYmRiYjM2MGM4NDg
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you
Sent: Thursday, May 09, 2019 at 8:29 PM
From: "David Carr"<EMAIL_ADDRESS>To: daveismyname/loginregister<EMAIL_ADDRESS>Cc: Maciej5<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [daveismyname/loginregister] Gmail not received on successful registration (#31)
Closed #31.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Merge acceptation changes back into develop

@miggol This merge conflict was caused purely by your '2-space indentation' changes in proposal_form.html, otherwise this PR would've merged fine. So I'm throwing this conflict over to you ;)


Plugin gets reinstalled and restarts Jenkins on Puppet daemon run but NOT manual run

Setup
rtyler/jenkins 1.7.0
puppet/archive 1.1.2
Ok, so I've searched on this issue quite a bit the last couple of days and am running into what I believe is a unique situation that I'm hoping someone can help me with.
I have a list of plugins that I'm maintaining via the puppet-jenkins module; everything works fine when running puppet manually (puppet agent -t), however on the timed daemon runs puppet thinks there's a change with 2 plugins, reinstalls them, and restarts the service:
puppet-agent[23599]: (/Stage[main]/Jenkins::Plugins/Jenkins::Plugin[gitlab-plugin]/Archive[gitlab-plugin.hpi]/ensure) replace archive: /var/lib/jenkins/plugins/gitlab-plugin.hpi from (sha1)8085eadd90eeb0adf06a833a9f636924e6abe853 to (sha1)
puppet-agent[23599]: (/Stage[main]/Jenkins::Plugins/Jenkins::Plugin[gitlab-plugin]/File[/var/lib/jenkins/plugins/gitlab-plugin.hpi]/owner) owner changed 'root' to 'jenkins'
puppet-agent[23599]: (/Stage[main]/Jenkins::Plugins/Jenkins::Plugin[gitlab-plugin]/File[/var/lib/jenkins/plugins/gitlab-plugin.hpi]/group) group changed 'root' to 'jenkins'
puppet-agent[23599]: (/Stage[main]/Jenkins::Plugins/Jenkins::Plugin[groovy]/Archive[groovy.hpi]/ensure) replace archive: /var/lib/jenkins/plugins/groovy.hpi from (sha1)243329f6480354ac164abcd42db1b70f989b78f2 to (sha1)
puppet-agent[23599]: (/Stage[main]/Jenkins::Plugins/Jenkins::Plugin[groovy]/File[/var/lib/jenkins/plugins/groovy.hpi]/owner) owner changed 'root' to 'jenkins'
puppet-agent[23599]: (/Stage[main]/Jenkins::Plugins/Jenkins::Plugin[groovy]/File[/var/lib/jenkins/plugins/groovy.hpi]/group) group changed 'root' to 'jenkins'
jenkins: jenkins: client (pid 21602) exited with 143 status
puppet-agent[23599]: (/Stage[main]/Jenkins::Service/Service[jenkins]) Triggered 'refresh' from 3 events

This led me to look at facter, and lo and behold those 2 plugins (gitlab-plugin and groovy) are missing:
ace-editor 1.1, active-directory 2.0, analysis-core 1.82, ansicolor 0.4.3, ant 1.4, antisamy-markup-formatter 1.5, branch-api 1.11.1, build-monitor-plugin 1.11+build.201701152243, build-pipeline-plugin 1.5.6, cloudbees-folder 5.16, conditional-buildstep 1.3.5, copyartifact 1.38.1, credentials 2.1.10, cucumber-testresult-plugin 0.9.7, cvs 2.13, display-url-api 0.5, durable-task 1.13, email-ext 2.54, envinject 1.93.1, extended-read-permission 1.0, extensible-choice-parameter 1.3.3, external-monitor-job 1.7, git 3.0.1, git-client 2.2.1, git-server 1.7, gradle 1.25, greenballs 1.15, handlebars 1.1.1, hipchat 2.0.0, icon-shim 2.0.3, javadoc 1.4, job-dsl 1.53, job-node-stalker 1.0.5, jquery 1.11.2-0, jquery-detached 1.2.1, junit 1.19, ldap 1.14, mailer 1.18, mapdb-api <IP_ADDRESS>, matrix-auth 1.4, matrix-project 1.8, maven-plugin 2.14, momentjs 1.1.1, msbuild 1.26, nested-view 1.14, nuget 0.6, pam-auth 1.3, parameterized-trigger 2.32, performance 2.0, pipeline-build-step 2.4, pipeline-graph-analysis 1.3, pipeline-input-step 2.5, pipeline-milestone-step 1.3, pipeline-rest-api 2.4, pipeline-stage-step 2.2, pipeline-stage-view 2.4, plain-credentials 1.3, run-condition 1.0, scm-api 1.3, scoverage 1.3.1, script-security 1.25, ssh 2.4, ssh-credentials 1.12, ssh-slaves 1.12, structs 1.5, subversion 2.7.1, swarm 2.2, token-macro 2.0, translation 1.15, warnings 4.59, windows-slaves 1.2, workflow-aggregator 2.4, workflow-api 2.8, workflow-basic-steps 2.3, workflow-cps 2.24, workflow-cps-global-lib 2.5, workflow-durable-task-step 2.8, workflow-job 2.9, workflow-multibranch 2.9.2, workflow-scm-step 2.3, workflow-step-api 2.7, workflow-support 2.12, xvfb 1.1.3
While running puppet facts does in fact show the 2 plugins involved:
"jenkins_plugins": "ace-editor 1.1, active-directory 2.0, analysis-core 1.82, ansicolor 0.4.3, ant 1.4, antisamy-markup-formatter 1.5, branch-api 1.11.1, build-monitor-plugin 1.11+build.201701152243, build-pipeline-plugin 1.5.6, cloudbees-folder 5.16, conditional-buildstep 1.3.5, copyartifact 1.38.1, credentials 2.1.10, cucumber-testresult-plugin 0.9.7, cvs 2.13, display-url-api 0.5, durable-task 1.13, email-ext 2.54, envinject 1.93.1, extended-read-permission 1.0, extensible-choice-parameter 1.3.3, external-monitor-job 1.7, git 3.0.1, git-client 2.2.1, git-server 1.7, **gitlab-plugin 1.4.4**, gradle 1.25, greenballs 1.15, **groovy 1.30**, handlebars 1.1.1, hipchat 2.0.0, icon-shim 2.0.3, javadoc 1.4, job-dsl 1.53, job-node-stalker 1.0.5, jquery 1.11.2-0, jquery-detached 1.2.1, junit 1.19, ldap 1.14, mailer 1.18, mapdb-api <IP_ADDRESS>, matrix-auth 1.4, matrix-project 1.8, maven-plugin 2.14, momentjs 1.1.1, msbuild 1.26, nested-view 1.14, nuget 0.6, pam-auth 1.3, parameterized-trigger 2.32, performance 2.0, pipeline-build-step 2.4, pipeline-graph-analysis 1.3, pipeline-input-step 2.5, pipeline-milestone-step 1.3, pipeline-rest-api 2.4, pipeline-stage-step 2.2, pipeline-stage-view 2.4, plain-credentials 1.3, run-condition 1.0, scm-api 1.3, scoverage 1.3.1, script-security 1.25, ssh 2.4, ssh-credentials 1.12, ssh-slaves 1.12, structs 1.5, subversion 2.7.1, swarm 2.2, token-macro 2.0, translation 1.15, warnings 4.59, windows-slaves 1.2, workflow-aggregator 2.4, workflow-api 2.8, workflow-basic-steps 2.3, workflow-cps 2.24, workflow-cps-global-lib 2.5, workflow-durable-task-step 2.8, workflow-job 2.9, workflow-multibranch 2.9.2, workflow-scm-step 2.3, workflow-step-api 2.7, workflow-support 2.12, xvfb 1.1.3"
The weird thing is that a manual puppet run works as I'd expect:
root@aws-nv-d-jenkins-2-master01:~# puppet agent -t -v
Info: Using configured environment 'development'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for aws-nv-d-jenkins-2-master01.valkyrie.net
Info: Applying configuration version '1492552615'
Notice: /Stage[main]/Splunk::Install/Exec[facter_variable]/returns: executed successfully
Notice: Applied catalog in 4.48 seconds

What could be happening to cause this issue?

I've been running into this myself.  I was able to fix it by adding the digest_string param to the swarm plugin call in master.pp and also changing the define in plugin.pp to user the user and group parameters of archive.

Well, I've upgraded Jenkins to the latest LTS release (2.46.2) and most of its plugins and the issue "fixed itself".  Will close...


Add an ocean smoother class

Description

closes #1060

Creates a class that provides a quick setup for using oops::Diffusion to smooth any of our fields by our usual correlation lengths (Rossby radius and min grid multiplier in the horizontal, and constant / mixed-layer-depth-based vertical)
The default parameters have been set to provide something reasonable, you can use them with the following yaml:
horizontal: {}
vertical: {}

If you only want horizontal smoothing, for example, remove vertical: {} from the yaml.
For a full list of the yaml parameters available, see OceanSmoother::Parameters in the header file.
Testing
A ctest has been added that creates a random increment, applies the smoothing, and saves the result, checking that the values are reasonable (e.g. smoothing all ones results in all ones)
Also, I have tested with the 1/4 deg grid and it seems reasonable (note that the intensity is lower in the Southern hemisphere because the MLD is larger there)

And looking at a cross-section along the tropical Pacific, the increment (bottom) is spread within the mixed layer (top)  correctly

This will be tested more rigorously when I use it with the refactored background error stddev and balance Jacobians.

Oops, looks like I have a divide by zero somewhere, thanks Intel compiler


Error after following instructions

I followed the instructions and examples on this page and on running the script I got this error:
All files must be specified for database snapshot creation. Missing the file "ggc".
The article needs a note saying the NAME parameter must be the same as the logical name of the data file, otherwise error 5127 is shown.

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

ID: f75a530e-446a-a521-c186-488cbed9b463
Version Independent ID: 417b56a6-e21c-c7d1-8fe9-04caf78fd3a4
Content: Create a Database Snapshot (Transact-SQL) - SQL Server
Content Source: docs/relational-databases/databases/create-a-database-snapshot-transact-sql.md
Product: sql
Technology: configuration
GitHub Login: @stevestein
Microsoft Alias: sstein

@rkhjjs  Thank you for the feedback.
The documentation has been updated.


Support for window.scrollX and window.scrollY

Hi, I'm not sure how to add requests for inclusion of availability of browser features, but I would love to see the status of the following feature across browsers:
https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollX
https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY
If you need additional information I'm willing to provide more.

+1

+1

+1

+1

+1

+1

+1

+1 I was just about to add this

and also the aliases window.pageYOffset and window.pageXOffset
https://developer.mozilla.org/en-US/docs/Web/API/Window/pageYOffset
https://developer.mozilla.org/en-US/docs/Web/API/Window/pageXOffset

Available at https://caniuse.com/#feat=mdn-api_window_scrolly & https://caniuse.com/#feat=mdn-api_window_scrollx


Out of Date

Unfortunately plugin does not support the latest versions of the IntelliJ IDE.

Version? Works for me on linux (2016.1.3/145.1617).

Ah sorry, its actually too upgraded. 143.* is the latest platform published with PHPStorm.

Fixed in 0.0.3. The idea gradle plugin was overwriting the build range to be the latest (145.+). Commit 335e383b20c53fbd934202d380fd5edfbc472bbd.


Preserve aspect ratio and make size changeable

Depends on https://github.com/JuliaWGPU/WGPUCanvas.jl/pull/5

tested the example included and on cube and splat.jl examples. works on my side. Thanks.

I will merge this after wrapping error as commented here https://github.com/JuliaWGPU/WGPUCanvas.jl/pull/5#discussion_r1527462294. Let me know its conflicting with anything.

Thank you @ut112002 and @VarLad. I really appreciate it.


Add option to settings_checkbox for adding text in italics to the checkbox label.

First commit is for adding option to settings_checkbox.
Second commit is to change the parens text for presence_enabled to be in italics.

https://github.com/zulip/zulip/pull/23025#issuecomment-1256575882

Screenshots and screen captures:

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

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

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

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

Completed manual review and testing of the following:

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

There are some more settings which have text in parens, not sure we need to convert them to italics, but just mentioning them while we are at this.
![Screenshot from 2022-09-24 20-09-51](https://user-images.githubusercontent.com/35494118/192104253-3775b553-a2da-46
d0-9d47-78af8ab7129c.png)

Thanks for flagging those other parentheticals! Hmm, I would also italicize "(useful for testing)". @timabbott what do you think?

We also wanted to change the "Enable read receipts" org setting to use this new function.

I have done this in the first commit itself and mentioned in commit message description.
Updated the PR description to mention it.

Ah, great -- thanks!

@timabbott updated the PR as asked above.

Merged after removing that tr tag (and updating the { to {{ as required when doing so). I also added a bonus commit to remove "useful for testing"; that's content that belongs in the documentation, not here.


Enhance shenyu-web module unit test

Task
Task List

[ ] Enhance shenyu-web module unit test，make its coverage rate is more than 80%

Please assign to me Enhance shenyu-web module unit test task.

I will finish this. in this weekend. I've been a little busy lately.

I will finish this. in this weekend. I've been a little busy lately.

Hi~ what is the progress? @wyc192273

Hi, is anyone do this? if no one, plz assign to me, thank you.

Hi, is anyone do this? if no one, plz assign to me, thank you.

I think no body do this for a long time .
And In order to improve our UT Coverage .  you cat just do it .  thank you.


Support count queries with joins

In our app, we have more complex scopes with joins + distinct_on that cause something like the following error when you call .count on it. This PR fixes this, and also runs against actual Postgres rather than SQLite to more proactively surface issues like these in the future.
ERROR:  column \"customers.id\" must appear in the GROUP BY clause or be used in an aggregate function

Thank you for looking into this and adding tests! I will review this shortly and cut a new release.

This has been working well for us on production for a few months now -- any chance we could this merged?

Thanks for the bump. I totally forgot about this PR.

@machty Thank you for your work on this! This is now released as v1.5.0.


Clarify DreamHost provider is for VPS product

DreamHost has a VPS product and a cloud product, based on OpenStack.
This patch clarifies that the libcloud provider for DreamHost is for
the VPS product, not for DreamCloud.
Signed-off-by: Stefano Maffulli<EMAIL_ADDRESS>

Merged, thanks.


band functions set ignoreunjoined which cannot be controlled by end user and leads to NaN's

original discussion: https://bosun.slack.com/archives/general/p1465389219000241
in an alert like https://gist.github.com/anonymous/9478adf8147c3899ce7c64755ccfe97c
where $now and $past are queries for the same data, but different times, often tagsets exist only in $now and not in $past, e.g. for newly created series that only have recent data.
so $cluster_frac and warn and crit become NaN for those particular tagsets.
i also tried nv($val,0) but the NaN just seems to "come through"
from slack

kylebrandt
10:09 AM @dieter: Have an idea, not sure what to do about it yet though
10:10
cmd/bosun/expr/graphite.go:101 sets ignore unjoined, and when that is set, the NaN substition that takes place at cmd/bosun/expr/expr.go:~425 is not done
10:11
So it looks like we automagically drop things that don’t have past when joined with Band
10:11
OpenTSDB’s band does the same thing

see rest of discussion on slack. but it looks like basically band functions should use ignoreunjoined internally, but then unset that flag when their data will be used with other terms/factors, so that it's up to users to achieve the desired behavior. don't-ignore should be the default behavior everywhere probably, and should be able to override it ad-hoc

So want to get this right this time. Band is used to get a sample of history. So we get
HistoricalSet Operator CurrentSet
Things that can happen that would cause join errors if we have no special "flags" and assuming the join within history all works:

An item can be missing from the historical set but be in the current set
An item can be in the historical set but not in the current set

For case 1:
a) Could be a new item was introduced
b) Less likely, but could be an item that was out during all of the historical period
For Case 2:
a) Something was decommissioned
b) Something has disappeared, and it wasn't supposed to.

1a - Story, the current behavior where new things by default are ignored if there is no history is not an acceptable default IMO since it can result in not getting alert one would expect to get without knowing this pitfall.

Note: lookupSeries also seems to set this flag:
	lookupSeries := func(e *expr.State, T miniprofiler.Timer, series *expr.Results, lookup, key string) (results *expr.Results, err error) {
		results = new(expr.Results)
		results.IgnoreUnjoined = true
...

Note (all in cmd/bosun/expr/expr.go):

The short circuiting happens in operate(op string, a, b float64) (r float64).
union is where the joining of items in a set happens, as well as NaN substitution when ignoreUnjoined and ignoreOtherUnjoined are not set: // union returns the combination of a and b where one is a subset of the other. func (e *State) union(a, b *Results, expression string) []*Union
walkBinary calls union then calls operate. Since union is called is before operate, operate is unable to short circuit because the items have already been dropped before operate can short circuit them.

Looks like it was probably added to fix https://github.com/bosun-monitor/bosun/issues/177 and we never marked it

Had a thought, although I think I don't like it.
We could make this a non-breaking change by allowing unjoinedOk = false in the alert configuration. Or logic is then to cancel the automatic inclusion of unjoinedOk with band functions if the user has set it to false.
Why I am wary of this:

I sort of regret the unjoinedOk behavior magically happening when you use band. Even though this may often be what the user may want, they should make the choice, and the documentation should just recommend considering this parameter with the usage of the functions and explain why.
Currently we don't have anything where you set it to "false" like that. They are really just on/off flags, and this makes it a more complicated state.

So I think I might rather eat the breaking change then having a flag that sometimes gets enabled by default depending on the functions used in the expression.

Also, FWIW I bet Matt suggested this was a bad idea and I didn't listen :-/


TryCancel crashes with segment fault

What version of gRPC and what language are you using?
1.47
What operating system (Linux, Windows,...) and version?
CewntOS 7.9
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc7.3
What did you do?
TEST(ServerContextTest, TryCancelTest) {
grpc::ServerContext mock_context;
mock_context.TryCancel();
}
What did you expect to see?
it should run normally.
What did you see instead?
Segment fault

Anything else we should know about your project / environment?

As answered last time,

What should be called before TryCancel is called ?
Thanks.

@springile You need to actually perform an RPC. https://grpc.io/docs/languages/cpp/quickstart/ might be a good resource to look at on how to perform an RPC.


fix version inference regression

Fixes https://github.com/electron-userland/electron-packager/issues/441
This brings get-package-info back into the mix, so directories are properly traversed for package.json files containing electron or electron-prebuilt. The work is broken up into two functions now to work around the resolve issue that causes an error to be thrown when a given set of props are not found.
cc @malept @kevinsawicki

Now using ES6 string interpolation. I was avoiding it because I thought maybe this project needed to work on older versions of node. But no!
  "engines": {
    "node": ">= 4.0"
  }

I was avoiding it because I thought maybe this project needed to work on older versions of node. But no!

Yep. And I'm paying for that decision because you can't actually enforce a Node engine version as far as I know. :cry:

Thanks for the patch, @rahatarmanahmed. I merged #446. If this passes CI, let's ship it!

Sounds good. Just needs a NEWS entry and some rebasing.

There's that error again :disappointed:

Added news, squashed. Last CI run passed on all six builds. This is ready. :fingers_crossed:

Argh https://travis-ci.org/electron-userland/electron-packager/jobs/151351051

Rerunning that build. Pretty sure this is just more flakiness.

Doesn't really fix #441 then, right?

Yep. And I'm paying for that decision because you can't actually enforce a Node engine version as far as I know.

@malept You can be really mean and do something like this in index.js
if (parseInt(process.versions.node[0], 10) < 4) {
  throw new BigNastyError('Get a better node version plz')
}

@MarshallOfSound I would, but I think I get a SyntaxError before that can be executed.

Doesn't really fix #441 then, right?

The flakiness on Travis has not been unique to Node 4. I was seeing it on all node versions and platforms. I think this is ready to 🚢

As far as I can tell, it's always been with that specific test, though.

@malept what do you say we ship this since it is definitely an improvement to a known bug in the latest release? We can address the flakiness if it turns out to be an issue.

Sure. The only thing I object to in this PR is the assertion that it fixes #441.


Problem with validation

Hi, I have a problem with jquery validation. I am using the option "disabledWhenParentNotSelected" with some drop down list; the last one is required for my model but the rest no. The problem is that I select an option in the first ddl, the second is enabled but the rest no so if a click on submit button, the form is send because my last ddl is disabled and validation can't read it. I have been testing and I have been observed that if ddl have attributte "readonly" instead "disabled" this field is validated. ¿There is any way to change disabled by readonly when I set disabledWhenParentNotSelected: true or something similar?
Thanks a lot.

Unfortunately there is no way to change disabled by readonly but you can set  disabledWhenParentNotSelected to false and then add readonly to all the dropdowns manually.
You can also add custom validation logic to your form.


Unable to use PAM authentication with sssd on CentOS 7

Gitea version (or commit ref): release/1.8
Git version: <IP_ADDRESS>
Operating system: CentOS 7
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
Hi. I've posted this on Discord, but I've been suggested to file an issue about it.
I've been trying to make Gitea work with PAM in my CentOS 7 to no avail.
First, I've compiled from sources to enable PAM (#2679). I'm using branch release/v1.8.
Then I've installed the executable and initialized the program (initial configuration; database, etc.). I'm using SQLite3, by the way (I might revise that later).
My system (CentOS 7) is recently configured, and is linked to active directory through SSSD. Users from my AD enabled to do so can log into the server through sshd using their AD password; no problems with that.
In the admin page, I've created a PAM "Authentication Source" with name "system-auth", which is a valid entry in /etc/pam.d.
Then I've added a user account with:
Username: short_name
Authentication source: system-auth
Authentication Sign-In Name: myuser@mydomain
Full Name: John Carpenter
E-mail address<EMAIL_ADDRESS>(User account is valid and active; myuser@mydomain is permitted to log into the server via sshd).
When I go to the login page, I cannot log in; I'm being rejected as bad username or password.
If I use "short_name" for the "Username or Email Address", the system logs:
2019/07/03 16:04:40 [D] Session ID: b0c6b19b2e843638
2019/07/03 16:04:40 [D] CSRF Token: [....hidden...]
2019/07/03 16:04:40 [D] Template: user/auth/signin
2019/07/03 16:04:40 [I] Failed authentication attempt for short_name from <IP_ADDRESS>
If I use "myuser@mydomain", the system logs:
2019/07/03 16:05:42 [D] Session ID: b0c6b19b2e843638
2019/07/03 16:05:42 [D] CSRF Token: [....hidden...]
2019/07/03 16:05:43 [W] Failed to login 'myuser@mydomain' via 'system-auth': user does not exist [uid: 0, name: myuser@mydomain, keyid: 0]
2019/07/03 16:05:43 [D] Template: user/auth/signin
2019/07/03 16:05:43 [I] Failed authentication attempt for myuser@mydomain from <IP_ADDRESS>
I've tried with a different domain user and with the other user I only get the first kind of log, whether I try short_otheruser or otheruser@mydomain (weird!).
I don't know what else to check for, I'm completely lost here. Can anybody help me with this?

Maybe you should login with your login name but not email address.

That's the first attempt I mentioned (16:04:40) with "short_name". I tried all combinations I could think of, to no avail:
short_name                      Gitea's own user name
Full name                       Gitea's user description
myuser@mydomain                 Domain user name, "e-mail" format
mydomain\myuser                 Domain user name, old NETBIOS format
myuser                          Domain user name, with no domain info
myemailaddress@myemailserver    E-mail address

I've also tried with a user whose e-mail address is the same as the domain user name "e-mail" format, just in case. All combinations rendered one of the two above results.

For additional info, I'm using PAM for Apache 2.4 as well in the same server (same pam.d entry):
<Location /restricted>
        AuthType Basic
        AuthName "PAM test users"
        AuthBasicProvider PAM
        AuthPAMService system-auth
        Require valid-user granted
</Location>

It works fine.

@guillep2k OK, so this might be a difficult one to debug.
First of all looking at:
https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/models/login_source.go#L580-L603
you need to be logging in with what you're calling the short_name.

Now LoginViaPAM is called by ExternalUserLogin: https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/models/login_source.go#L605-L634
Which likely is called by UserSignIn: https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/models/login_source.go#L636-L721
in two places: https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/models/login_source.go#L698
https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/models/login_source.go#L712

OK looking at your log files. Now in the short_name case, the lack of a
[W]  Failed to login 'myuser@mydomain' via 'system-auth': user does not exist [uid: 0, name: myuser@mydomain, keyid: 0]
Tells me that you're likely going down the first case line 698.

Now looking at https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/routers/user/auth.go#L141
The most likely place to be logging: "Failed authentication attempt for " - The likely way you're getting this particular log message is https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/routers/user/auth.go#L163-L166 - and presumably you're just getting the username_password_incorrect form. However, please check that you're not getting a prohibited login as https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/routers/user/auth.go#L169-L173 will look the same in the logs
Which puts us right back to: https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/models/login_source.go#L581-L586
in particular line 583.
Of course we never log the original error so we can't find out more information from this - but it does tell us where to look... You're going to have to look at the PAM logs and perhaps add some more system PAM logs.
However, if I had to guess what the problem is, I suspect that the Gitea running user is not allowed to make PAM requests and thus you get an "Authentication failure".

Of course we never log the original error so we can't find out more information from this - but it does tell us where to look... You're going to have to look at the PAM logs and perhaps add some more system PAM logs.
However, if I had to guess what the problem is, I suspect that the Gitea running user is not allowed to make PAM requests and thus you get an "Authentication failure".

Thanks, @zeripath . The users I tested with are certainly enabled to login. I use ssh to enter the system with any of them.
This system is not yet operational (I need this authentication in order to go live), which means that I won't have any problems adding log messages wherever in the source files we like for our investigation. I've never used golang, but just tell me the easiest way to log a string with parameters and I'll add them here and there in the compilation. Somethig like:
// Call and print these variables:
// Will one of the three forms work? What's the name of the function I should call?
gitea_general_log(LOG_ALWAYS,"var1 %s, var2 %s, var3 %s\n", (string) var1, var2 as String, var3.toString() );

You don't necessarily need to tell me all the places and variables to print (you gave me some good pointers). I can narrow it down by doing multiple tests and come back here when I've got something with more substance.

@guillep2k Sorry I was away from the computer for most of today.
So if you want to check what pam returns you should simply add a log.Debug("Underlying PAM Auth for login: %s Error: %v", login, err) to
https://github.com/go-gitea/gitea/blob/fcda2d5b35ec9bec9a8e8fa0a0fb04cb21593648/models/login_source.go#L582
You could add username, password logging to that Debug call .
However, I suspect the problem is with your PAM configuration. Are you sure that the server user actually running the Gitea server (not the one trying to log in to Gitea) has permission to lookup users in PAM and to do PAM authentication? You should be able to switch on the debug logging for PAM at the PAM level too.

@zeripath Thank you for your support. I've finally made it work. The problem was that I was confused about the meaning of the different "Authentication Sources" fields. I used Authentication Name for the name of the file at /etc/pam.d I wanted to use (system-auth), and PAM Service Name as... a text description. I've finally realized what was happening by using strace to see how was the program accessing pam.d, and it was:
open("/etc/pam.d/This is Gitea's PAM authentication service" ...)
Silly me!
I've changed the PAM Service Name to system-auth and everything worked flawlessly.
By the way, if anyone is interested, failing the first file gitea will attempt to use /etc/pam.d/other.