Ez time filter component and story

This addresses https://github.com/VEuPathDB/web-monorepo/issues/245.
It is primarily based on Visx Brush component, thus I added @visx/brush at web-components's package.json/dependencies. Also made a story file to test.
Some notes are: a) the plot area is made of a kind of density plot for now. It is because it looks good and the mockup one will probably need much more work; b) an example data was taken from Lineplot data (GEMS1 Case Control; x: Enrollment date; y: Weight) for demo purpose; c) the selected range (or filtered area) is expressed as diagonal lines so that background plot (density plot) can be seen; d) initial position of the filter/selection is set to be whole range; e) the brush handle, which is for mouse drag to slide, is currently shown as small rectangles. It is a typical shape that can be found in other tools so I leave it as it: it seems like one can customize it though.
Here is a demo video:
https://github.com/VEuPathDB/web-monorepo/assets/12802305/5d122de3-3be1-4756-aa63-5bc2d2ec00c0

Update 1: made a time filter at SAM https://github.com/VEuPathDB/web-monorepo/pull/320/commits/8440f05c1defbd13751de1ce387b7c16336b215d . A demo video is attached in the following. Though, there are several things to do for working, including unknowns.
a) Currently, a temporary test data is used to show a kind of density plot. Not quite sure what data should be used for this purpose.
b) Although InputVariables component is attached, it is not functional. Similar to a), not quite sure what should be used for that variable tree.
c) since the range of the time filter is changed by dragging each end, I think that a Submit button needs to be made to add the selected range to the filter.
d) the icon and the position of the close/open button are temporary, which can be adjusted later.
https://github.com/VEuPathDB/web-monorepo/assets/12802305/e5409f69-50cf-4d35-aad7-6c3751869048

a) there is this backend ticket, which more or less aims to establish a new endpoint dedicated to providing the data needed for this. the ticket describes providing a response indicating only the presence or absence of data, rather than how much data
b) any variable annotated as temporal should be available in that variable picker.. i suppose we could treat the new endpoint (from the above link) like a more typical viz and add a constraints pattern to it

a) there is this backend ticket, which more or less aims to establish a new endpoint dedicated to providing the data needed for this. the ticket describes providing a response indicating only the presence or absence of data, rather than how much data b) any variable annotated as temporal should be available in that variable picker.. i suppose we could treat the new endpoint (from the above link) like a more typical viz and add a constraints pattern to it c) i dont love a submit button, can we debounce or something? (not sure i fully understand the implications of what im suggesting). also, ideally the text indicating the selected range above the slider could also serve as an input.
how much more work do we think it is to make the bar from the mockups?

Thank you for your detailed information, @d-callan 👍 Honestly, it is not clear how to wire data-related one to the time filter component until I see the response from the backend, so I will wait for the backend to be ready.
As for the submit button, perhaps a kind of debounce may work without submit button as you mentioned. This may not be that clear to a user whether data request is made or not, so perhaps a loading  icon or something like that needs to be displayed not to change the range. Will think about it. In addition, you also mentioned about selected range as an input, which I guess you meant a kind of input form to change values. As far as I know, the sliding bar, which is made of Visx's brush component, is uncontrolled component. Thus it is very hard to manage it from parent component like map. Not quite sure if the following would work without testing, but this may be feasible by moving the range part (and reset icon) into the time filter component (EzTimeFilter.tsx).
For your last comment, "make the bar", I guess you mean thin and thick horizontal bar style at mockup instead of current density plot. I thought that relevant data/response from the backend would include the format of x=time & y=value format, so in this case, it was arguably the easiest way to use Visx's xychart package and AreaClosed (like density plot) component so that x-axis tick & its label and y-axis values are shown with minimum efforts. From my understanding, there is no specific Visx component to display thin and thick horizontal bar style. This means that if we want to have such a bar style, then: 1) they should be made via SVGs manually; 2) this will also mean that x-axis should also be made via SVGs manually. That is, this would involve significant works to be implemented: basically this means that we need to make a specific plot component via d3 only.

On the subject of the bars, what if we just used histo data with all bars having height 1 if there is data and 0 if no data?
So if we get the binned data, for each bin we translate the counts to 0 or 1. Count becomes 1 if the original counts were 1 or higher, and stays at 0 if the original counts for that bin was 0. Then, we do a BarSeries instead of the AreaClosed?
That could mess with the axis a bit, but maybe worth a shot @moontrip ?
The other idea i came up with was doing basically ticks at every point where we have data. So we'd use LineSeries and use the x value of the data for the x1, x2 of each line, and then like 5 and 0 for the y1 and y2.
Anyways, curious if either of the above might be an easier way to get closer to the mockups!

thanks @asizemore. i do have a fairly strong preference to show presence/ absence of data as opposed to 'how much' data. if we can find a way to achieve that without a huge cost, that would be ideal.

Thank you for sharing your thoughts @asizemore 👍 Yes your suggestions can be relatively easier approach than mockup one. Looks like bar approach is more similar to the mockup. Will test it.

Hi @d-callan & @asizemore
I have tested scaled values that represent with (1) or without data (0). In Visx, in general scaleBand is used for Bar plot's x-axis scaling instead of scaleTime (for, e.g., lineplot/time series, etc.). The scaleBand automatically compute bandWidth based on data and plot size, however, it cannot be used for our purpose directly because slider filter does not recognize the x-axis values which is time-based, not bin/categorical. But I found that scaleTime can also be used for Bar plot by computing bandWidth manually, which resolves the aforementioned issue. The first screenshot is a demo version.
I have also tested lineplot (xychart) case with 0 and 1 values (2nd screenshot), but I guess you prefer the bar instead of having slopes between data and no data in the lineplot.
As a side note, I tested debouncing functionality to possibly be used for submitting selected range, and I could implement it with slider action.

Thanks 👍 think you can make it shorter now? Possibly add a custom line annotation across the center of those bars?

Thank you for your comments @d-callan 👍 Can you please confirm my guess in the following? a) so making it shorter means the height of bars (i.e., plot height)? like 2/3 of current height? b) simply adding a horizontal center line in the bar plot?

my issue w the line is primarily that it leaves it a bit ambiguous whether there is or isnt data for July 2009

@d-callan, @asizemore, (and @bobular)
I have addressed feedbacks, center line in the horizontal direction and shorter height. In addition, I figured out how to make the time filter plot be closer to the original mockup, https://github.com/VEuPathDB/web-monorepo/issues/245. This is applied to both components' storybook and SAM, which a screenshot taken from SAM is attached FYI.

Looks very nice DK!

Thanks @bobular 😃

beautiful! i wonder now if its possible to have the label above serve also as an input?

Glad you like it @d-callan :) As for the label/input style, although I will need to investigate more, at this stage there are a couple of issues that need to be addressed. The biggest issue is that the slider, which is made of Visx brush, is uncontrolled component within my knowledge. Thus, there seems to be no explicit way to change the slider position by parent component (e.g., via props): in other words, even if an input range is made and the range values are changed, the slider position won't be changed, which is not good for UI/UX perspective.

ChatGPT3.5 seemed to reluctantly agree that the key approach was OK.
Here are the docs for Brush - as DK says - it seems totally uncontrollable.
https://airbnb.io/visx/docs/brush

@bobular Thank you for your examination 👍 I saw something similar approach somewhere: IIRC, we also used similar one at our Plotly (for thumbnail I suppose). Will check.

Hi @moontrip - did you run into problems making (faking) the controlled behaviour of the <Brush>?
Or have you not been able to get back to this due to time constraints?

Hi @moontrip - did you run into problems making (faking) the controlled behaviour of the <Brush>?
Or have you not been able to get back to this due to time constraints?

Hi @bobular 👋 I think that it may work but as you said, I didn't have time to test it due to time constraints. Actually I did use key approach for other purpose, attach/detach functionality of the filter to the top area and it seems to work fine: didn't commit the latest works yet as it needs some refactoring as well as I am dealing with other ticket (truncation one you commented alot 😄).

Maybe @dmfalke could comment on my suggested use of the key prop?

This will work, but it could be expensive. Changing the value of the key prop causes the component to unmount and mount again. I wonder if we can base the key value off of some state that is incremented only when the input changes? Something like this, roughly speaking:
function EZFilter(props: Props) {
  // Track how many times the input has changed by user
  const [inputChangeCounter, setInputChangeCounter] = useState(0);
  // Generate brush key based on inputChangeCounter
  const brushKey = `iteration-${inputChangeCounter}`;

  // ...

  return (
    <>
      <DateInputs onChange={range => {
        // Update range value in analysis state
        updateRange(range);
        // Increment counter
        setInputChangeCounter(c => c + 1);
      }}/>
      <Brush key={brushKey}/>
    </>
}

Made lots of changes for ez time slider concerning UI and UX feedbacks. Summary is:
changes

changed the  box style of the selected range: no hatched lines, use the same color with HistogramFilter, etc.
reduced some margins to be smaller overall
used dash instead of tilde between dates
removed no data line in the middle
used darker gray (#333 used in floaters for no overlay)
removed x (close) in the top right
removed Reset button: removed forwardref
changed the name from Time Filter to Time Slider
static drawer mode (expand/shrink button): no interaction can be made under drawer mode (minimized); reset to initial value under drawer mode

todo

data request: distribution
post processing response for the time slider data format
applying selected range to filters
adjusting input variable selector

A captured video is attached in the following:
https://github.com/VEuPathDB/web-monorepo/assets/12802305/4e018aac-7c82-4060-9834-abcaac3275b6

@bobular I think that major functionality of the ez time slider now works, even if you want to change some behaviors :) For your convenience, I have tried to add in-line comments as detailed as possible. Some notes are also provided in the following. In addition, For your better understanding of overall behavior of the current ez time slider, I made a video capture in the end of this comment. Thanks again for your kind consideration and willingness to help this work be finished. :thumb
It is worth noting that it is hard for me to find appropriate study to have time variable, thus for test purpose, I chose SCORE S. mansoni Cluster Randomized Trial study for the implementation of the EZ time slider. But technically there is no date variable at the study, I used loose conditions that teporarily allow integer variables as well: for those parts, I made comments, "DKDK TODO", with actual codes (commented out for now) that should be used for Production level. Also, note that due to such loose conditions, some plot's axis label and selected range label may have strange values because the time slider is supposed to accept date only, not number variable. But from the functionality viewpoint, this was good enough to test overall behaviors.
Update

data request to distribution

post processing the backend response for the time slider data format (0 and 1 in y-data and Visx format)

adjusting input variable selector

set a condition to filter out variables at the variable tree: loose conditions for now as mentioned above
set a default variable so that in the beginning of the map instance, the time slider has a plot internally

applying selected range to filters

after testing this, I decided to add submit button. Without that, it may lead to lots of data request when dragging range. Also, another reason is that without submit function, only one slider out of two (left and right) can be utilized: moving one slider results in new data request. The button is located at top right.
tried to change filters object when submitting the selected range of the ez time slider. By doing this, an advantage is that the selected range is shown as a filter chip at top left of the map. Since all data request is designed to respect filters, the plot of ez time slider will be back to its default plot when removing corresponding filter chip: so technically this is similar to a function of reset plot.
noticed that some variables are quite lengthy so variable tree (inputVariables) can take double lines. Thus, as compared to the previous commit, I slightly increase the height of the draggable panel so that Extend/Shrink button is not trimmed.

hide ez time slider if no appropriate variable exists
fixed a display issue when all y values are zeros

https://github.com/VEuPathDB/web-monorepo/assets/12802305/d7db094e-cda7-46db-8b34-70eaa58e509f

@dmfalke @bobular I leave some of my thoughts next to Dave's comment in the following (starting with DK:), hoping that these will help Bob continue this works on my behalf. Please be cautious that some of my comments may be incorrect thus deserve tests with implementations.

Here are my thoughts on a minimal set of things to do for b65:

Minimized mode should be a small handle-looking thing, hanging off the header. It should display the selected time range and an expand icon.

DK: First of all, I am curious whether the selected time range you meant is pure text (like 2002-07-08 - 2022-12-20) or plot. Anyway, just for a clarification, the reason why the current display (like shown in the latest video capture) was made is that Steve wanted to have that style/format in our last mapveu ux meeting several weeks ago.

Expanded mode should have a minimize/collapse icon

It should not make a "big" filter. Instead, it should be stored on the map appState in a dedicated property. The small filter should be appended to subset filters and passed to markers and plots.

DK: As far as I know, if we change/update filter(s) object, then filter chip catches the change and show it: this is why filter chip is shown when applying selected range at the time slider to filter(s). Note that this selected range is automatically reflected when dealing with Add filter, so I thought it was not that bad: in other words, if I set and applied Birth Year range from 2001-01-01 to 2010-01-01 via the time slider, and access to Birth year via Add filter button (top left), then the change was shown in there as well, which may make less confusion to user.

No submit button -- apply the small filter immediately

DK: If we should remove submit button, one way is to move updateFilter() at onSubmitTimeSlider() in the DraggableTimeFilter to onBrushChange() in the EzTimeFilter component: it may need some debounce() but I already implemented it though. A disadvantage without the submit button is that only one side of range can be used as a filtered range at once. Anyway, this work may be tricky and may cause side-effects.

Selection brush should always reflect state of filter (it currently resets, and the bars are filtered, which is not so good)

DK: I thought that the time slider plot (0 or 1 bar) should be changed when applying time slider's range/filter. But based on your  comments, you seem to prefer not to change the plot. IIRC, the data request to distribution backend (for time slider plot) currently has filters dependency, so this can probably be achieved by simply removing the dependency to avoid the plot change. But this also needs some tests.

Maybe have a "reset" or "select all" button in the ez filter

DK: it existed before but removed (using forwardRef). Previous commits may be helpful.

Only appears if the study has a time variable

DK: I think that this was already implemented.

Further UI improvements can be done for b66.

Thanks, @moontrip. See my responses below.

@dmfalke @bobular I leave some of my thoughts next to Dave's comment in the following (starting with DK:), hoping that these will help Bob continue this works on my behalf. Please be cautious that some of my comments may be incorrect thus deserve tests with implementations.

Here are my thoughts on a minimal set of things to do for b65:

Minimized mode should be a small handle-looking thing, hanging off the header. It should display the selected time range and an expand icon.

DK: First of all, I am curious whether the selected time range you meant is pure text (like 2002-07-08 - 2022-12-20) or plot. Anyway, just for a clarification, the reason why the current display (like shown in the latest video capture) was made is that Steve wanted to have that style/format in our last mapveu ux meeting several weeks ago.

I talked with Steve, and he confirmed that we discussed what I described above. There may be a mock-up floating around. If I find it, I will link to it in another comment. I think the selected time range will be displayed as text, for example Collection date: 2012-01-01 - 2018-12-31.

Expanded mode should have a minimize/collapse icon

It should not make a "big" filter. Instead, it should be stored on the map appState in a dedicated property. The small filter should be appended to subset filters and passed to markers and plots.

DK: As far as I know, if we change/update filter(s) object, then filter chip catches the change and show it: this is why filter chip is shown when applying selected range at the time slider to filter(s). Note that this selected range is automatically reflected when dealing with Add filter, so I thought it was not that bad: in other words, if I set and applied Birth Year range from 2001-01-01 to 2010-01-01 via the time slider, and access to Birth year via Add filter button (top left), then the change was shown in there as well, which may make less confusion to user.

One of the requirements for this feature is that it does not impact subsetting. That could change in the future, but for now, we will just make a fake filter and concatenate it with subset filters, and then pass that to markers and plots.

No submit button -- apply the small filter immediately

DK: If we should remove submit button, one way is to move updateFilter() at onSubmitTimeSlider() in the DraggableTimeFilter to onBrushChange() in the EzTimeFilter component: it may need some debounce() but I already implemented it though. A disadvantage without the submit button is that only one side of range can be used as a filtered range at once. Anyway, this work may be tricky and may cause side-effects.

Thanks, this is useful!

Selection brush should always reflect state of filter (it currently resets, and the bars are filtered, which is not so good)

DK: I thought that the time slider plot (0 or 1 bar) should be changed when applying time slider's range/filter. But based on your comments, you seem to prefer not to change the plot. IIRC, the data request to distribution backend (for time slider plot) currently has filters dependency, so this can probably be achieved by simply removing the dependency to avoid the plot change. But this also needs some tests.

In the rest of the EDA application, it is standard that a filter UI is not sensitive to the filter it creates, other than to show the selection.

Maybe have a "reset" or "select all" button in the ez filter

DK: it existed before but removed (using forwardRef). Previous commits may be helpful.

Great, thanks!

Only appears if the study has a time variable

DK: I think that this was already implemented.

Great! I think we just need to modify the constraints for only temporal variables. We'll need to confirm the final criteria, maybe with @d-callan.

Further UI improvements can be done for b66.

Hi @dmfalke - thanks again for your pre-review.
I've now refactored the timeSlider* props into timeSliderConfig and simplified quite a lot.
It's working the same as before, even though I haven't wrapped the setSelectedRange handler passed to EZTimeFilter in a useCallback. Was that OK?


Write shortest possible code: python how to query mysql (python)

Please write shortest code example for this question:
python how to query mysql in python
How to do it:

Go to python codes
Create new file (named in underscore case, should contain key words from title) with md extension (markdown file).
Propose new file with following content (please use all three blocks if possible - title, code itself and explanations list):

# python how to query mysql

```python
code part1 part2 part3 ...
```

- part1 - explain code part 1
- part2 - explain code part 2
- ...

More advanced template for examples and linked solutions. More docs here.

How to get data from Mysql


Adding expressive SSML support

THIS IS A WORK IN PROGRESS PLEASE DON'T MERGE
Adding expressive SSML support

The Pull request looks good. Let me know when you want me to merge it


Changelog / migrate guide for 5.0?

I've read the Medium article about changelog for MobX 4.x, thanks for the detailed explanation.
On the other hand, I found absolutely nothing about mobx-react 5.0.0. The changelog is not updated and the GitHub release doesn't provide any readme either.
Is it safe to use it, and if so, what do we need to take care about when upgrading?

Good question :). MobX-react 5 works literally the same as 4, and doesn't
introduce API or semantic changes. It is just an update to reflect the
internal api changes in MobX 4 itself.
Op za 17 mrt. 2018 om 00:22 schreef Zsolt Ero<EMAIL_ADDRESS>
I've read the Medium article about changelog for MobX 4.x, thanks for the
detailed explanation.
On the other hand, I found absolutely nothing about mobx-react 5.0.0. The
changelog is not updated and the GitHub release doesn't provide any readme
either.
Is it safe to use it, and if so, what do we need to take care about when
upgrading?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mobxjs/mobx-react/issues/440, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABvGhLEdxX-aEy-snNMjUsGPBj9ZuY9mks5tfEkogaJpZM4Sujt2
.

There should still be a CHANGELOG entry for it...

Yeah since I have a problem in my project with mobx 5 when using along with new mobx-react 6 lib for hooks. mobx 4 works fine

@Rootre Please open a new issue if you have some specific issues with that combination of libraries.


Save qfRoundHistory matchingFunds to donation table

As we discussed in Discord we want to show the matchingFunds that we have sent to projects in qf rounds, for this purpose we should create donations
JFYI @MoeNick  @GriffGreen  @laurenluz  @divine-comedian

by tapping on "relate donation with distributed fund " button in admin bro I receive 500 error now , please take a look

I think it's related to test data of "How many photo" project
by testing with another project I haven't seen again this error

1- Same problem that we discussed in previous issue still exists "Total amount raised" in project page doesn't change Giveth/giveth-dapps-v2#3386 (comment)

@MohammadPCh  @alireza-sharifpour
Can you tell me which fields you are using for each text box?

by tapping on "relate donation with distributed fund " button in admin bro I receive 500 error now , please take a look

@maryjaf
Thanks for letting me know, we had a bug that I fixed it

1- Same problem that we discussed in previous issue still exists "Total amount raised" in project page doesn't change Giveth/giveth-dapps-v2#3386 (comment)

It seems after a few minutes these two number will be updated correctly
Is this accepted ? or it should be updated immediately  like "all time donations" field  in "all donation" tab

yeah it's ok. let's call it done.


last version not building for macos (possibly for iOS too)

The error is on the, could you fix please ?
src/hev-socks5-session-tcp.c:176:22: error: variable 'mark' set but not used [-Werror,-Wunused-but-set-variable]
unsigned int mark;
^
1 error generated.
make: *** [build/hev-socks5-session-tcp.o] Error 1
Error: Process completed with exit code 2.

diff --git a/src/hev-socks5-session-tcp.c b/src/hev-socks5-session-tcp.c
index a42ce6b..73a43cb 100644
--- a/src/hev-socks5-session-tcp.c
+++ b/src/hev-socks5-session-tcp.c
@@ -167,16 +167,16 @@ hev_socks5_session_tcp_bind (HevSocks5 *self, int fd,
                              const struct sockaddr *dest)
 {
     HevConfigServer *srv;
+    unsigned int mark;

     LOG_D ("%p socks5 session tcp bind", self);

     srv = hev_config_get_socks5_server ();
+    mark = srv->mark;

-    if (srv->mark) {
-        unsigned int mark;
+    if (mark) {
         int res = 0;

-        mark = srv->mark;
 #if defined(__linux__)
         res = setsockopt (fd, SOL_SOCKET, SO_MARK, &mark, sizeof (mark));
 #elif defined(__FreeBSD__)

Could you please try it?

or test branch: https://github.com/heiher/hev-socks5-tunnel/tree/test

@tozik I have pushed the fixes on master, feedbacks are welcome.


Area 51: Infiltration Audio Issue With Ending Cutscene

This appears to be PC Port exclusive. So when Jonathan says "if what?" he will stutter and say "if if what?" instead of what he's supposed to say in the Outro Cutscene after he shoots the guard in the back. This problem appears in Solo and Co-Op on all difficulties.

This happens on 1964 GEPD too, possibly a 60FPS(+) issue? Not present on XBLA.

Might be! It doesn't seem to happen on reg n64 cart or ED 64 X7.

This is happening due to a bug in the AI list. It's reusing label 0x6c. Labels that are used for loops should be unique within each AI list.
wait_until(406, 0x6c) // first usage of 0x6c
speak(CHR_P1P2, L_LUE_069, MP3_0423, CHANNEL_5, COLOR_07_RED) // "If what?"

wait_until(410, 0x6a)
play_sound(SFX_0176, CHANNEL_6)

wait_until(424, 0x6b)
play_sound(SFX_0177, CHANNEL_6)

wait_until(426, 0x6c) // second usage of 0x6c
play_sound(SFX_0177, CHANNEL_7)

The wait_until macro is:
#define wait_until(time, loopid) \
	beginloop(loopid) \
		if_controller_button_pressed(/*goto*/ 0x54) \
		if_timer_gt(time, /*goto*/ 0x06) \
	endloop(loopid) \
	label(0x06)

beginloop defines the label and yields for a frame, and the endloop macro expands to goto_first(label).
On N64, it's impossible for it to hit the endloop (goto_first) on the last wait_until wait due to the bigger tick delta. On the port it gets hit and jumps back to the first 0x6c, causing it to execute the "If what" a second time. The condition doesn't trigger again after that because the cutscene timer is already past 426.
A proper fix would be to correct the AI list, but since the port is loading it as a binary asset that becomes difficult. A somewhat clean fix would be to find/replace the byte sequence when loading the setup file. An uglier fix would be to change the aiSpeak function to check if that sound number has already been played and avoid playing it a second time.

This is happening due to a bug in the AI list. It's reusing label 0x6c. Labels that are used for loops should be unique within each AI list.
wait_until(406, 0x6c) // first usage of 0x6c
speak(CHR_P1P2, L_LUE_069, MP3_0423, CHANNEL_5, COLOR_07_RED) // "If what?"

wait_until(410, 0x6a)
play_sound(SFX_0176, CHANNEL_6)

wait_until(424, 0x6b)
play_sound(SFX_0177, CHANNEL_6)

wait_until(426, 0x6c) // second usage of 0x6c
play_sound(SFX_0177, CHANNEL_7)

The wait_until macro is:
#define wait_until(time, loopid) \
	beginloop(loopid) \
		if_controller_button_pressed(/*goto*/ 0x54) \
		if_timer_gt(time, /*goto*/ 0x06) \
	endloop(loopid) \
	label(0x06)

beginloop defines the label and yields for a frame, and the endloop macro expands to goto_first(label).
On N64, it's impossible for it to hit the endloop (goto_first) on the last wait_until wait due to the bigger tick delta. On the port it gets hit and jumps back to the first 0x6c, causing it to execute the "If what" a second time. The condition doesn't trigger again after that because the cutscene timer is already past 426.
A proper fix would be to correct the AI list, but since the port is loading it as a binary asset that becomes difficult. A somewhat clean fix would be to find/replace the byte sequence when loading the setup file. An uglier fix would be to change the aiSpeak function to check if that sound number has already been played and avoid playing it a second time.

Good work on finding that!

This should be fixed now. After the autobuild is finished.
It should also now be easier to add patches for other files.

This should be fixed now. After the autobuild is finished. It should also now be easier to add patches for other files.

Yep it's definitely fixed. Good work with the new patcher!

And now this can be closed.


Request to be added as a WP MicroProfiler New Contributor

First name: Jean-Francois
Last name: James
Preferred email<EMAIL_ADDRESS>

Beautiful Jean-Francois,
You have been a MP wordpress contributor since the first week of January, 2019.

I hope to remind you that you could crosspost to this site all your MP video, demo, blog content-- should you wish to do so. :)
Stay healthy and awesome, abrazos fuertes amigo bello!


Use class instead of popperClass

One potential approach from @pzuraq:
https://github.com/pzuraq/liquid-wormhole/blob/master/addon/components/liquid-wormhole.js#L20-L32
https://github.com/pzuraq/liquid-wormhole/blob/master/addon/components/liquid-wormhole.js#L44

Resolved in #28


The main (apps/app) starts but does not load

Describe the bug
The main app starts but does not load the main page
next-forge version
I am using version 2.14.1
This is the latest right now but this happened in the previous versions as well.
To Reproduce
Steps to reproduce the behavior:

Run pnpm dev --filter app

Expected behavior
The "/" page should load.
Solutions Tried

Tried removing .next and node_modules and reinstalling, did not work

Screenshots

Desktop (please complete the following information):

OS: Endeavour OS (Linux)
Browser: Google Chrome

@syndg Thanks for filing this! Can you confirm for me you've filled out all the required environment variables?

Hey @haydenbleasel  yes, I have filled out all of the required environment variables.

Okay, I'll spin up a repl.it and try to repro 👍

Okay, I wasn't able to repro but here were the steps I took:

npx next-forge@latest init test, let the installer run
Open apps/app/.env.local, fill out every variable
Run pnpm dev --filter app
Open localhost:3000

Appears to run fine with no errors in the Terminal.
I'm running MacOS Sequoia so perhaps it's an OS-related thing.
I'll try to repro on a Endeavour OS environment.

Thanks @haydenbleasel  yeah, it's really weird, I followed the setup guide from the docs step by step a lot of times but it's giving me the same issue. Even tried switching to an older version of nodejs, it's probably OS side as you mentioned.

Gotcha. I'm not sure I have the chops to figure out the underlying OS issue, however I will go and verify that next-forge works on certain OS' rather than expecting it to, and update the docs accordingly.

@syndg I've documented my findings here: https://docs.next-forge.com/setup#operating-system.
If you manage to find a way to get Endeavour OS working, let me know!

Is there any way to use it on Arch linux ??


Problems should be sorted by line

The file below produces the following problems:

Notice how the problems appear to be grouped by the provider of the problems, rather than by line. Because of this using F8/shift+F8 to navigate problems jumps all over the file, my expectation is that it goes in order like F3/shift+F3, F4/shift+F4, alt+f3/alt+shift+f3, etc.
Test file:
/**
 * Copyright (c) 2016 The xterm.js authors. All rights reserved.
 * @license MIT
 */

/*
 * A simple utility for cloning values
 */
export const clone = <T>(val: T, depth: number = 5): T => {
  const a = '';

  if (typeof val !== 'object') {
    return val;
  }

  // cloning null always returns null
  if (val === null) {
    return null;
  }

  // If we're cloning an array, use an array as the base, otherwise use an object
  const clonedObject: any = Array.isArray(val) ? [] : {};

  for (const key in val) {
    // Recursively clone eack item unless we're at the maximum depth
    clonedObject[key] = depth <= 1 ? val[key] : clone(val[key], depth - 1);
  }

  return clonedObject as T;
};
(function() {
  function foo() {}
  })();

Yeah, we sort by severity and then by location

Yeah, we sort by severity and then by location

That's not true either though, otherwise the trailing whitespace problem would be first. So when I was using F8 to go through the file it was going down, up, up, down, was quite disorienting.

it is primarily sorted by severity and then by line which IMO makes sense.

If that's by design so be it, not ideal for me but it's probably not worth a setting. I think the secondary sorting should be fixed as part of this though.

After investigating, I figured out that it was broken in last milestone. Fixed it.

Verified


Request: documentation on the open ports for multi-tenant App Services

I've been unable to find documentation listing the ports that are open to the public network for the multi-tenant App Services offering.
I've found documentation for ASEs, but not regular App Services.
I opened support ticket<PHONE_NUMBER>07409 for this and Support was also unable to find anything.

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

ID: ae743313-9367-b465-e31a-5beae33018d1
Version Independent ID: c0cd348d-764a-572b-d900-ff0cffe12a31
Content: Networking features - Azure App Service
Content Source: articles/app-service/networking-features.md
Service: app-service
GitHub Login: @ccompy
Microsoft Alias: ccompy

Please bump this. This is a very common support request. We need official and public documentation that clearly outlines exactly which ports are open to an app service by default as well as how default ports of apps and services (i.e. Visual Studio, FTP(s), SSH, etc.) are handled. This is a normal security consideration that comes up during company audits and is a continuing struggle for CSS to satisfactorily respond from the customer's perspective. Alias jaweiand if you need to reach me internally.

@blackbaud-james-williams  We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Create new Hold state for  GQ Element.

When request is assignment-approved status GQ needs to be populated with elements in Hold state.
The elements in "Hold" states shouldn't be replicated to local WQ.
When request is change to "assigment" state, it should change GQE state to "Availabe" state.

Need to have strict condition for the requests to move to assignment-approved state. Otherwise there might be too many GQ elements created. (might need intermediate status between new to assignment-approved state0

We should probably create a wiki explaining how exactly it's supposed to work, before any work gets done. As you said, it can easily become a bottleneck.

Hi Alan, I started here.  feel free to modify.
https://github.com/dmwm/WMCore/wiki/Unified-Porting

Ok, let me get this one started then. Maybe beginning of the next week once integration phase is over.

(changed my mind a few times on this topic, here is how I think we should proceed)

Unified assigns a workflow (request transition from "assignment-approved" to "assigned")
global workqueue picks up requests in "assigned" status, and does its usual business creating all the GQEs, however, it creates elements in the "New" status. Once it's completed, the request is moved from "assigned" to "acquired"
then the microservice kicks in and query ReqMgr2 for requests in "acquired" status; given the list of requests in that status, microservice queries for their GQEs in the New status:
3.a. set the GQE to "Available" if it doesn't have any input AND secondary data
3.b. according to the SiteWhitelist and data location (input + parents + pileup), check the campaign configuration stored in Couch, run the algorithm ported from Unified and queue blocks and the location they will get subscribed
3.c. once we have the block x location map for all GQEs within a given request, the concurrent PhEDEx subscription is executed
3.d. once all subscriptions are successful, update the GQE status from "New" to "Available"
3.e. last but not least, update the request from "acquired" to "staging" status
3.f. repeat the same for all workflows
at this point, those GQE are eligible to be picked up by any agent.

If there is a problem creating the subscriptions, we can either:
a) retry it once
b) bail out (no status transitions at request neither at GQ level) and retry in the next daemon cycle
I'll document it later and also repurpose this ticket.

Fine with me, but I don't see much changes needed for ReqMgr2ms since in high level view it can perform these actions, i.e. talk to ReqMgr2 and request something for specific status, query GQE, get subscriptions. What you're showing is concrete plan for specific actions, but architecture wise the MS is capable of doing that.

We have discussed a new architecture for the MS Transferor module and this new GQE status is no longer needed. closing


Travis uploads to Anaconda on non-master branches

There was no commit to master today 12/06/2016, yet the 2016.12.06 version seen here was uploaded at 07:11 AM.
When Charles submitted the PR for #455 , Travis tested the merge on master here so it upload to Anaconda, without anyone accepting the pr.
@doutriaux1 is this okay?

Fixed in #465. Merged into master now


ActionDispatch::Flash shouldn't be required

IMO, app.middleware.insert_before(ActionDispatch::Flash, MessageBus::Rack::Middleware) is a bit naïve since you don't know that the project will have it required.  In my rails-api project, it errors out:
=> Booting WEBrick
=> Rails 4.1.8 application starting in development on http://<IP_ADDRESS>:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (<IP_ADDRESS>). Consider using <IP_ADDRESS> (--binding option)
=> Ctrl-C to shutdown server
Exiting
/Users/adam/.rvm/gems/ruby-2.2.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/stack.rb:125:in `assert_index': No such middleware to insert before: ActionDispatch::Flash (RuntimeError)
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/stack.rb:88:in `insert'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/configuration.rb:68:in `block in merge_into'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/configuration.rb:67:in `each'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/configuration.rb:67:in `merge_into'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/engine.rb:497:in `app'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/application/finisher.rb:36:in `block in <module:Finisher>'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/initializable.rb:30:in `instance_exec'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/initializable.rb:30:in `run'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/initializable.rb:55:in `block in run_initializers'
	from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:226:in `block in tsort_each'
	from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
	from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:429:in `each_strongly_connected_component_from'
	from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:347:in `block in each_strongly_connected_component'
	from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:345:in `each'
	from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:345:in `call'
	from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:345:in `each_strongly_connected_component'
	from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:224:in `tsort_each'
	from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:203:in `tsort_each'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/initializable.rb:54:in `run_initializers'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/application.rb:300:in `initialize!'
	from /Users/adam/repos/arcreative/hydrogen-api/config/environment.rb:5:in `<top (required)>'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `block in require'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in `load_dependency'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
	from /Users/adam/repos/arcreative/hydrogen-api/config.ru:3:in `block in <main>'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
	from /Users/adam/repos/arcreative/hydrogen-api/config.ru:in `new'
	from /Users/adam/repos/arcreative/hydrogen-api/config.ru:in `<main>'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in `eval'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in `new_from_string'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:40:in `parse_file'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/server.rb:277:in `build_app_and_options_from_config'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/server.rb:199:in `app'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/server.rb:50:in `app'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/server.rb:314:in `wrapped_app'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/server.rb:130:in `log_to_stdout'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/server.rb:67:in `start'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:81:in `block in server'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:76:in `tap'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:76:in `server'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
	from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands.rb:17:in `<top (required)>'
	from bin/rails:4:in `require'
	from bin/rails:4:in `<main>'

Sure, open to a patch here, the insertion point should be customisable,
message_bus runs fine under rack without rails and you should be allowed to
bypass the railstie if you want
https://github.com/SamSaffron/message_bus/blob/master/lib/message_bus/rails/railtie.rb
I think it would be bypassed if you require false and then insert it where
you want to.
On Fri, Mar 6, 2015 at 6:07 AM, Adam Robertson<EMAIL_ADDRESS>wrote:

IMO, app.middleware.insert_before(ActionDispatch::Flash,
MessageBus::Rack::Middleware) is a bit naïve since you don't know that
the project will have it required. In my rails-api project, it errors out:
=> Booting WEBrick
=> Rails 4.1.8 application starting in development on http://<IP_ADDRESS>:3000
=> Run rails server -h for more startup options
=> Notice: server is listening on all interfaces (<IP_ADDRESS>). Consider using <IP_ADDRESS> (--binding option)
=> Ctrl-C to shutdown server
Exiting
/Users/adam/.rvm/gems/ruby-2.2.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/stack.rb:125:in assert_index': No such middleware to insert before: ActionDispatch::Flash (RuntimeError)     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/stack.rb:88:in insert'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/configuration.rb:68:in block in merge_into'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/configuration.rb:67:in each'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/configuration.rb:67:in merge_into'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/engine.rb:497:in app'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/application/finisher.rb:36:in block in <module:Finisher>'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/initializable.rb:30:in instance_exec'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/initializable.rb:30:in run'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/initializable.rb:55:in block in run_initializers'
from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:226:in block in tsort_each'     from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:348:in block (2 levels) in each_strongly_connected_component'
from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:429:in each_strongly_connected_component_from'     from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:347:in block in each_strongly_connected_component'
from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:345:in each'     from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:345:in call'
from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:345:in each_strongly_connected_component'     from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:224:in tsort_each'
from /Users/adam/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:203:in tsort_each'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/initializable.rb:54:in run_initializers'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/application.rb:300:in initialize!'     from /Users/adam/repos/arcreative/hydrogen-api/config/environment.rb:5:in <top (required)>'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in require'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in block in require'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in load_dependency'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in require'
from /Users/adam/repos/arcreative/hydrogen-api/config.ru:3:in block in <main>'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in instance_eval'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in initialize'     from /Users/adam/repos/arcreative/hydrogen-api/config.ru:in new'
from /Users/adam/repos/arcreative/hydrogen-api/config.ru:in <main>'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in eval'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in new_from_string'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/builder.rb:40:in parse_file'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/server.rb:277:in build_app_and_options_from_config'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/server.rb:199:in app'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/server.rb:50:in app'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/rack-1.5.2/lib/rack/server.rb:314:in wrapped_app'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/server.rb:130:in log_to_stdout'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/server.rb:67:in start'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:81:in block in server'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:76:in tap'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:76:in server'     from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:40:in run_command!'
from /Users/adam/.rvm/gems/ruby-2.2.0/gems/railties-4.1.8/lib/rails/commands.rb:17:in <top (required)>'     from bin/rails:4:in require'
from bin/rails:4:in `'
—
Reply to this email directly or view it on GitHub
https://github.com/SamSaffron/message_bus/issues/24.

I think I just fixed this, try latest, if we fail to insert it after flash we just use it.


Bitwarden nginx 502 + jwilder/nginx-proxy

Hello everybody
I need help.
I have set up bitwarden, and now comes a 502 error.
Do not see the mistake, have already tried different.
Thanks in advance.
config.yml
# Note: After making changes to this file you need to run the `rebuild` or `update`
# command for them to be applied.
#
# Full URL for accessing the installation from a browser. (Required)
url: https://host.xyz
#
# Auto-generate the `./docker/docker-compose.yml` config file.
# WARNING: Disabling generated config files can break future updates. You will be
# responsible for maintaining this config file.
# Template: https://github.com/bitwarden/server/blob/master/util/Setup/Templates/DockerCompose.hbs
generate_compose_config: true
#
# Auto-generate the `./nginx/default.conf` file.
# WARNING: Disabling generated config files can break future updates. You will be
# responsible for maintaining this config file.
# Template: https://github.com/bitwarden/server/blob/master/util/Setup/Templates/NginxConfig.hbs
generate_nginx_config: true
#
# Docker compose file port mapping for HTTP. Leave empty to remove the port mapping.
# Learn more: https://docs.docker.com/compose/compose-file/#ports
http_port: 8000

And here the docker-compose.override.yml file:
docker-compose.override.yml
version: '3'
services:
 nginx:
    ports:
      - 8000
    environment:
      - VIRTUAL_HOST=host.xyz
      - VIRTUAL_PORT=8000
      - VIRTUAL_PROTO=http
      - LETSENCRYPT_HOST=host.xyz
      - LETSENCRYPT_EMAIL=email
    networks:
      webproxy:

networks:
  webproxy:
    external:
      name: nginx-proxy

use bitwarden_rs instead.
its easier to use along with reverseproxy.

Thats my config:
´´´
bitwarden:
container_name: bitwarden
image: 'mprasil/bitwarden'
ports:
- "3012:3012"
volumes:
- '.bitwarden/:/data'
environment:
- VIRTUAL_HOST=vault.domain.com
- VIRTUAL_NETWORK=nginx-proxy
- VIRTUAL_PORT=80
- LETSENCRYPT_HOST=vault.domain.com
-<EMAIL_ADDRESS>- DOMAIN=https://vault.domain.com/
- SIGNUPS_ALLOWED=true
- SMTP_HOST=send.one.com
-<EMAIL_ADDRESS>- SMTP_PORT=587
- SMTP_SSL=true
-<EMAIL_ADDRESS>- SMTP_PASSWORD=xxx123
networks:
- proxy-tier
restart: always

thanks, I could solve the problem differently;)

And how?
Jerome2103<EMAIL_ADDRESS>schrieb am Di., 1. Okt. 2019, 19:30:

thanks, I could solve the problem differently;)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jwilder/nginx-proxy/issues/1319?email_source=notifications&email_token=AAZLBV5DIT6ADIL3XGHJSHDQMOCM3A5CNFSM4IMZ2O62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEACCRBY#issuecomment-537143431,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZLBV2H4CQSGGDDPJACTH3QMOCM3ANCNFSM4IMZ2O6Q
.

rent a mini server now xD


add iterm2 theme

Hi,
Big fan of the colorscheme! I created an iterm2 colorscheme out of it, just thought I'd share it with you and the community in case someone else is interested in using it

thanks for pr


zone_id and zone_name are not allowed to use together, have ability to use additional name

Description
Providing zone_name as per module 'git@github.com:terraform-aws-modules/terraform-aws-route53.git//modules/records?ref=v2.0.0"' throws an error.
module "r53_record_public" {
  source         = "git@github.com:terraform-aws-modules/terraform-aws-route53.git//modules/records?ref=v2.0.0"
  zone_id        = var.r53_public_zone_id
  zone_name  = "${local.aws_tags.project}-${terraform.workspace}.${var.r53_public_zone_domain}"

 records = [{
    name = "${local.aws_tags.project}-${terraform.workspace}.${var.r53_public_zone_domain}"
    type = "A"
    alias = {
      name                   = module.cf_alb_distribution.cloudfront_distribution_domain_name
      zone_id                = module.cf_alb_distribution.cloudfront_distribution_hosted_zone_id
      evaluate_target_health = true
    }
  }]
}

As per TF doc, both cannot be used together.
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/route53_zone
Versions

Terraform: 0.13.4

Provider(s): aws 3.28.0

Module: 2.0.0

Expected behavior

user should have the ability to input custom zone name which should not join with data "aws_route53_zone"
Actual behavior

when we provide zone_name it returns an error
Error: zone_id and name arguments can't be used together.
Additional context

I am not sure if this is the correct approach, but when I tweaked the module and replace name as:
From:
name            = each.value.name != "" ? "${each.value.name}.${data.aws_route53_zone.this[0].name}" : data.aws_route53_zone.this[0].name
To:
name            = each.value.name != "" ? "${each.value.name}" : data.aws_route53_zone.this[0].name
This helped me to have the ability to input custom zone_name and hope if this is a right approach we can work on this bug.
I apologize if I missed providing more information and appreciate any further feedbacks.

You just need to set one of these - zone_name or zone_id. Not both.

What does a custom zone name mean? In any case, you just need to provide whatever you have - zone name or zone id.


Make link clickable in Expense's Description

User story
I cannot able to open the link which is in the description of the expense, I supposed to copy the link from the expense's description.
Best solution for this problem
Make the link clickable so that it will redirect to the new tab of browser
Screenshot

https://opencollective.com/ankidroid/expenses/173391

Hello Sanjay, I believe that if the goal is to write more elaborate descriptions with links and other tools, an interesting and simple way to address this issue would be to use the RichTextEditor as the default instead of a simple input field.
This way, we can create clickable links in the expense descriptions:

Hello Sanjay, I believe that if the goal is to write more elaborate descriptions with links and other tools, an interesting and simple way to address this issue would be to use the RichTextEditor as the default instead of a simple input field.

That's what we do for "Grant" expenses.
For other expense types (receipts, invoices), the goal is to generate a PDF invoice with these items in a table. So we don't want the text to be too long or "too rich" - we could eventually allow bold and italic, but we don't want people to use new lines or other advanced features of a rich text editor.
At this point, I personally consider that keeping a single-line text input is the best approach. We can eventually use something like https://www.npmjs.com/package/linkifyjs to turn the links into real links. But we need to do some more research on the library before moving on, maybe it's an opportunity for us to adopt https://www.npmjs.com/package/interweave.

Oh, nice, I understood now! Following this approach, what can be done is to render the expenses (receipts and invoices) using interweave, but we have to be careful with hydration issues. In this case, I'm not sure if it would be a good approach, but it might be interesting to wait to render the page normally on the server side and only then use interweave to turn links into actual links.
Someting like
        {isMounted ? (
          <Interweave tagName="div" content={content} matchers={[new UrlMatcher('url')]} />
        ) : (
          <DisplayBox
            ref={contentRef}
            maxHeight={maxHeight}
            maxCollapsedHeight={maxCollapsedHeight}
            dangerouslySetInnerHTML={{ __html: content }}
            {...props}
          />
        )}

@Guilherme-NL Interweave has a https://www.npmjs.com/package/interweave-ssr package to handle SSR. I tried it in https://github.com/opencollective/opencollective-frontend/pull/9677, it seems to work.

@Guilherme-NL I still need to get a review of https://github.com/opencollective/opencollective-frontend/pull/9677 from the rest of the core team to make sure that we want to move on with that library. If it gets accepted, then yes, feel free to do open a PR with this change :slightly_smiling_face:


Bump to version v1.21.3

This is for another PHP-only patch release.
#19205 Fix ZTS build shutdown segfault

@stanley-cheung, perhaps doing an RC build and verifying the fixes before doing final release would be a better approach? We also have daily builds pkgs on master if users want to verify fixes.

@srini100 I verified that v1.21.3-pre1 resolves all known PHP issues. So this one should be good to review again. Thanks!


How to fine-tune retrieval task in another language?

Hi, I wonder how I can fine-tune the pretrained model to adapt to tasks (more specifically, retrieval task) in another language like Swedish? What steps do you suggest?

Hej KatieGou,
I did Arabic Image Captioning by directly fine-tuning an Arabic specific BERT with run_captioning.py
I suggest you could do the same with a Swedish BERT, but with run_retrieval.py?

@jontooy How is the performance of the cmodel fine-tuned with Arabic BERT?


Hostname instead of IP for VPN server address

Suggest user that he's able to use hostname instead of IP address in external address configuration.

Thanks, good catch!
I've submitted a commit with clearer language than the original, I hope.


[Bug]:

Version
1.6.2
Node version
Hass OS
Operating System type
Linux
Operating system version
Hass OS
Describe the bug
Integration no longer loading since hass version Home Assistant 2023.8.1
Supervisor 2023.08.1
Operating System 10.4
To reproduce
Start HAS
No entities for Eufy
Screenshots & Logfiles

Additional context
No response

Update -
this work around worked for me
https://github.com/fuatakgun/eufy_security/issues/855#issuecomment-1654875099


bomb.vt crash mac os

RUST_BACKTRACE=1 theattyr
The application panicked (crashed).
Message:  called `Result::unwrap()` on an `Err` value: Error { kind: InvalidData, message: "stream did not contain valid UTF-8" }
Location: /Users/tibbon/.cargo/registry/src/index.crates.io-6f17d22bba15001f/theattyr-0.1.8/src/animation.rs:44

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   1: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
   2: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
   3: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
   4: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
   5: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
   6: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
   7: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
   8: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
   9: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
  10: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
  11: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>
  12: __mh_execute_header<unknown>
      at <unknown source file>:<unknown line>

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.

Mac M1 on MacOS 14.6.1.

It is the expected behavior, the whole program explodes.
Thanks for reporting - I will check this soon 🙂

It should be fixed with the new version - the animation is not rendered correctly for some reason but that's a separate issue, at least it doesn't crash now! :)

Thank you!


Mitigate memory leak

Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.
List which issues are fixed by this PR. You must list at least one issue.
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Tried that first. It is janky because the InspectorService gets initialized
as part of the widget binding layer. Even after removing the check that the
service only registers extensions twice it is a bit off as you have to
manually register the extensions as well. Fine with doing that as well but
this seems like the lesser of two evils. Are there any examples of widget
binding tests that also seek to create a clean binding instance for each
test case?
On Wed, Apr 7, 2021 at 6:58 PM Michael Goderbauer @.***>
wrote:

@.**** commented on this pull request.
In packages/flutter/test/widgets/widget_inspector_test.dart
https://github.com/flutter/flutter/pull/79992#discussion_r609204035:

@@ -234,6 +234,10 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
final TestWidgetInspectorService service = TestWidgetInspectorService();
WidgetInspectorService.instance = service;

tearDown(() {

 service.resetAllState();

Could we avoid creating special API for this by just always instantiating
a new TestWidgetInspectorService for each test run, e.g. in setUp()?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/pull/79992#pullrequestreview-630917598,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJLQPAR7BSA5UPLE2T7O4LTHUEUDANCNFSM42RV5X3A
.

Closing this since the change got cherry-picked into https://github.com/flutter/flutter/pull/79957.


Added a controller at user application with endpoint _jwt

Hi @AieshaShetty , can you please raise your PR against this branch - https://github.com/egovernments/Digit-Core/tree/c4gt-experimental-branch ?


Open access of /jmx and /stats page to all users.

Tested on localhost:

Add in azkaban-users.xml:
<user username="azktest1" password="azktest1" group="azk1" roles="all-except-admin"/>
Launch solo server with username azktest1.
Verify azktest1 can access /jmx and /stats page.

In the current azkaban-users.xml configuration, azkaban user's role is admin. So it will always have the permission to access /jmx and /stats even without my change.

Oh I see. Makes sense.
On Wed, Aug 16, 2017 at 5:05 PM jamiesjc<EMAIL_ADDRESS>wrote:

Merged #1351 https://github.com/azkaban/azkaban/pull/1351.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/azkaban/azkaban/pull/1351#event-1209275620, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACdVMrNJR4SGQpzOv6x9gTSUSXnFifHNks5sY4PNgaJpZM4O5i3l
.


Inconsistent Radius Parameter Units

When the map marker is moved, or the location picker is zoomed, it converts the input units from miles in to metres (understandable because this is the units the Gmaps API uses). However - It appears to always want the initial inputs in terms of miles.
This can cause problems when using it in conjunction with other libraries (such as bootstrap-slider) as the two libraries set the .val() of the  at different times. Here is an example screenshot where the console output shows the problem:

One solution to this problem would be just to have the slider be in metres as well. Is there a way to tell location-picker NOT to convert the input in the radius box from miles to metres, and just to keep everything in metres?
Thanks :)

It turns out I was using a customised version of this library from a colleague - the default version does not convert to miles.
Apologies for the inconvenience. If you would like to delete this issue entirely feel free :)


If responses_*.jsonl isn't found, have a better UI handling

And have better handling from fetch side

The fetch behavior only affects online streaming, batch=True is fine


migrationNamespaces in config file : mix of physical file and  PSR namespace

Introduction
I want to automaticly apply new migration from my Yii2 library installed in the vendor path  with a yii migrate from main project
I use deployer to install app in the production server, i want to have a garanty of correlation between the code version and the database structure.
What steps will reproduce the problem?
My library is in : /vendor/mycompagny/myExtension
/vendor/mycompagny/myExtension/composer.json:
"autoload": {
  "psr-4": {
   "mycompagny\\src\\myExtension\\": ""
   }
}

(note the "src" subdirectory who make namespace!=directory)
I set up the application this way :
<?php
'controllerMap'       => [
    'migrate' => [
      'class' => 'yii\console\controllers\MigrateController',
      'migrationNamespaces' => [
          "vendor\mycompagny\myExtension\migrations",
          ...
          ]

Now if 'myExtension'  have a new version with a new migration i will apply modification with :
composer update
yii migrate

What is the expected result?
the new migration is applied
What do you get instead?
Creating migration history table "migration"...Done.
Total 5 new migrations to be applied:
	vendor\mycompagny\myExtension\migrations\m160614_144018_log_database
	vendor\mycompagny\myExtension\migrations\m160829_112632_histo_counter
	vendor\mycompagny\myExtension\migrations\m160919_124920_historique_view_all
	vendor\mycompagny\myExtension\migrations\m170427_062756_histo_index
	vendor\mycompagny\myExtension\migrations\m170607_062756_log_index
*** applying vendor\mycompagny\myExtension\migrations\m160614_144018_log_database
Exception 'ReflectionException' with message 'Class vendor\mycompagny\myExtension\migrations\m160614_144018_log_database does not exist'

in ./vendor/yiisoft/yii2/di/Container.php:426

Stack trace:
#0 ./vendor/yiisoft/yii2/di/Container.php(426): ReflectionClass->__construct('vendor\\mycompagny...')
#1 ./vendor/yiisoft/yii2/di/Container.php(364): yii\di\Container->getDependencies('vendor\\mycompagny...')
#2 ./vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build('vendor\\mycompagny...', Array, Array)
#3 ./vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get('vendor\\mycompagny...', Array, Array)
#4 ./vendor/yiisoft/yii2/console/controllers/MigrateController.php(195): yii\BaseYii::createObject(Array)
#5 ./vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(724): yii\console\controllers\MigrateController->createMigration('vendor\\mycompagny...')
#6 ./vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(199): yii\console\controllers\BaseMigrateController->migrateUp('vendor\\mycompagny...')
#7 [internal function]: yii\console\controllers\BaseMigrateController->actionUp(0)

What is the origin of the problem ?
The docs claim "namespace setting" but this code search for a file on the disk :
https://github.com/yiisoft/yii2/blob/4e176ca3259083a8c441c70182bc10e96cbfec12/framework/console/controllers/BaseMigrateController.php#L706-L709
Actually :

get files directory from namespace name as a directory name (with alias @ so we MUST have same name as namespace)
search file in this directory
apply migration with namespace defined in the migration file (must comply composer PSR path)

For me the correct way could be :

get files directory from auloload composer file based on namespace name
search file in this directory  (identical)
apply migration with namespace defined in the migration file (must comply composer PSR path)(identical)

How you could bypass the problem ?
Use this setup :
<?php
'controllerMap'       => [
    'migrate' => [
      'class' => 'yii\console\controllers\MigrateController',
      'migrationNamespaces' => [
          "mycompagny\myExtension\src\migrations",
          ...
],
	'params'				 => [],
	'aliases'				 => [
		'@mycompagny' => '@vendor/mycompagny',
	],
          ]

Creating an alias for each vendor just because YiI2 search for a @+namespace is not a good behavior for  me.
Additional info

Q
A

Yii version
2.0.13

PHP version
7.1

Operating system
alpine

after futher reseach it's not a bug
Documentation is not clear in the namespace config part.
It work fine if the vendor library is defined as a yii2-extension
see : http://www.yiiframework.com/doc-2.0/guide-structure-extensions.html
when you type : ```composer require library``
an alias is created in ./vendor/yiisoft/extensions.php :
  '@mycompagny/myExtension' => $vendorDir . 'mycompagny/myExtension/src',

so now in the namespace name :
'controllerMap'       => [
    'migrate' => [
      'class' => 'yii\console\controllers\MigrateController',
      'migrationNamespaces' => [
          "mycompagny\myExtension\migrations",
          ...
          ]

will work correctly
library with yii2 migration or mandatory to be yii2-extension

Do you use namespaced migrations or classic migrations? The latter should be used with migrationPath. --migrationPath accepts an array of aliases since 2.0.12 see https://github.com/yiisoft/yii2/pull/14241
Also related:

https://github.com/yiisoft/yii2/issues/13356
https://github.com/yiisoft/yii2/issues/14481

@schmunk42 thanks for #14241, I solved my task this via migrationPath.
I am disillusioned with migrationNamespaces: it's neither simple nor intuitive. I think migrationPath approach is  better since 2.0.12, as it allows:

Multiple paths
Path aliases

and does not require alias to be the same as namespace (namespace is just not used).
Docs state that benefit of migration namespaces is that it adds origin of the migration to the history

In general, to load migrations from different locations, $migrationNamespaces is the preferable solution as the migration name contains the origin of the migration in the history, which is not the case when using multiple migration paths.

But migrationPath could provide this too, we just need to make is support origin in some way, maybe like this:
            'migrationPath' => [
                'origin1' => '@root/migrations',
                'origin2' =><EMAIL_ADDRESS>            ]

To summarize: I think namespaces should not be used directly as migration origin, because namespace is subject to change. Origin must be specified separately.

To summarize: I think namespaces should not be used directly as migration origin, because namespace is subject to change. Origin must be specified separately.

FYI: Before 2.0.12 I used our extension https://github.com/dmstr/yii2-migrate-command to handle multiple migrations, I modified the migration table structure to include the alias(-path), so mapping would actually possible via aliases. But this would have been a BC-break if introduced into the framework.
The table looked like this:

I faced again the same probleme, and found a solution to correctly use just namespace for migration.
Consider the following structure :
I have a  yii2 extension, directory structure as :
./src/migrations : migration file with namespace company\myExtension
.tests : tests and config file for tests

the composer.json had the following PR4 configuration :
  "autoload": {
    "psr-4": {
      "company\\myExtension\\": "src/"
    }
  },

Now i want to be able tu use the migration, here in a partial of my config file :
    'controllerMap'       => [
        'migrate' => [
            'class'               => 'yii\console\controllers\MigrateController',
            'migrationPath'       => null,
            'migrationNamespaces' => [
                'company\myExtension\migrations'
            ],
        ],
    ],

using the following command to migrate :
./vendor/bin/yii migrate --appconfig=./tests/config.php

i get the following message :
Yii Migration Tool (based on Yii v<IP_ADDRESS>)

No new migrations found. Your system is up-to-date.

the problem is that  the namespace is translated to a directory, without looking for psr-4 relation.
Here is my proposed fix , avaible for discussion :
in file :

vendor\yiisoft\yii2\console\controllers\BaseMigrateController.php, change the function :

   /**
     * Returns the file path matching the give namespace.
     * @param string $namespace namespace.
     * @return string file path.
     * @since 2.0.10
     */
    private function getNamespacePath($namespace)
    {
      //search for psr4 configuration
        $autoload_psr4_file = yii::getAlias('@vendor/composer/autoload_psr4.php');
        if (is_file($autoload_psr4_file)) {
            $autoload_array = require $autoload_psr4_file;

            foreach ($autoload_array as $psr4_namespace => $physical_paths) {

                if (strcmp($psr4_namespace, substr($namespace, 0, strlen($psr4_namespace))) == 0) {

                    return str_replace('/', DIRECTORY_SEPARATOR, $physical_paths[0] . DIRECTORY_SEPARATOR . substr($namespace, strlen($psr4_namespace)));

                }
            }

        }
        //fallback
        return str_replace('/', DIRECTORY_SEPARATOR, Yii::getAlias('@' . str_replace('\\', '/', $namespace)));

    }

and now :
Yii Migration Tool (based on Yii v<IP_ADDRESS>)

Total 4 new migrations to be applied:
        company\myExension\migrations\m181122_120000_hello_world

The following should work:
composer.json
{
    ...
    "autoload": {
        "psr-4": {
          "company\\myExtension\\": "src/"
        }
    }
}

config.php
<?php

return [
    ...
    'aliases' => [
        '@company/myExtension' => '@app/src',
    ],
    'controllerMap' => [
        'migrate' => [
            'class' => 'yii\console\controllers\MigrateController',
            'migrationPath' => null,
            'migrationNamespaces' => [
                'company\myExtension\migrations',
            ],
        ],
    ],
];

Then run ./vendor/bin/yii migrate --appconfig=<path to config.php>

i confirm that the response by @OscarBarrett nearly work for me.
When you launch the migration with the --appconfig=XXX the "@app" is where the config is located.
This work for me :
<?php

return [
    ...
    'aliases' => [
        '@company/myExtension' =><EMAIL_ADDRESS>    ],
    'controllerMap' => [
        'migrate' => [
            'class' => 'yii\console\controllers\MigrateController',
            'migrationPath' => null,
            'migrationNamespaces' => [
                'company\myExtension\migrations',
            ],
        ],
    ],
];


Rollups not showing updated value

I have DLRS with following Relationship Criteria :

It is not calculating on update of child record, I have to calculate it manually.
As I thought I am facing this issue because of Parent_Program__r.Name = 'CRS' condition.
I have modified criteria as :

But still I am not getting the updated values in Aggregate Result Field.
am I missing something? Can someone please help me with this?

@Shraddha-Ingale thank you for including a screen shot. What specific change are you making your the child records that you're expecting to roll up? Which fields are you modifying?
The filter on the Parent_Program__r.Name should be fine as long as you aren't depending on a change on the parent record to fire a trigger on the child. If there is a relevant change on the child record then the filter will still be used to calculate the value to save to the Village__c record.
The way you have these two configured it should recalculate the value when any of the following fields change value
Male: Total_Male_Clients__c, Village__c, IsDeleted, Parent_Program__c, Program_End_Date__c
Female: Total_Female_Clients__c, Village__c, IsDeleted, Parent_Program__c, Program_End_Date__c

Thanks @aheber
Yes, it should recalculate, But it is not even if the value of Total_Male_Clients__c and Total_Female_Clients__c changes.
Do you have any idea what could be the issue?

I'm going on the assumption that to move this to Active you deployed the triggers. Can you confirm? Maybe even going as far as remove then deploy again?

@aheber
Tried the same but issue not yet resolved, Observed one more strange behavior with this DLRS.
After Deleting child record I am getting updated value on Village.

Hello, Any other way that I could try?

@Shraddha-Ingale I'm not sure why this is happening. The best thing I can offer is to get on screen sharing with you and see it in action, or have you set this up in a sandbox and give me a user that I can login with and review. Let me know if you would like to coordinate that with me. (I'm not able to use the support login features)

Thank you for your support. We should get on a call on this week.
I would prefer friday in between 9AM to 2 PM GMT. Let me know your availability.
Thanks.

@Shraddha-Ingale I've been away from my computer most of the week.
Happy to try and make it work after Monday next week.

Hi @aheber
Can we have a call tomorrow in between same time 9AM to 2 PM GMT? Let me know your availability.
Thanks.

@Shraddha-Ingale do you still want to chat about this?


[docs] remove redundant q docstring

q parameter docstring was already shown further above in the docs

thanks @faroit


Skip "The package publishes internal tests or config files" check?

I intentionally publish tests with all of my packages. Could there be an option that skips this check?

Is there a reason you publish tests?

Yes, because since time immemorial, npm explore foo && npm install && npm test is supposed to work, so that you don't need an internet connection to run your deps' tests. That it's become fashionable not to publish tests doesn't change that.
Either way, that's the way all 450+ of my packages are built, and I'd love to use this tool without having to wade through these "suggestions".

Thanks for the explanation. I've not quite used this workflow before, but it still feels like a rare thing to do these days, and I'm not sure if it's fair for users to pay the bandwidth price upfront for this.
At most they'd only patch a certain piece of code regardless of tests to get it work. And if they're considering submitting a fix, they'd need to clone it down anyways.
Also wouldn't npm install still require a network connection?

Nope, npm install works from cache.
Regardless, I'm not asking to change the default, I'm asking for a command line option so i can skip it.

You can use --level warning to only log warnings and errors.

I don't want to hide all suggestions, just this specific one.

At the moment I don't have plans to support ignoring certain messages yet.

Closing this for now as I'd like the library to be more opinionated on certain practices, but I might revisit a more fine-grain ignore option once I figure a plugin implementation for the library, which then ignoring certain "rules" like eslint could be more useful.


Flannel failure after mac-address changes of vxlan device

Hello,
since a few days I have connection problems with my flannel overlay network on kubernetes. I am using Fedora CoreOS 32.20200715.3.0 (current stable) and it boils down to flannel not writing the correct VtepMAC of the flannel.1 device to the node annotations.
Expected Behavior
After booting the node, flannel should write the actual mac address into the node annotation.
Current Behavior
After booting the node, flannel writes an initial mac address into the node annotation, which is changed later on.
Steps to Reproduce (for bugs)

node boots and vxlan device flannel.1 does not exist
flannel daemonset pod starts and creates vxlan device with MAC "6E:B9:D5:E1:19:85" (see attached logs)
flannel writes MAC into node annotation "flannel.alpha.coreos.com/backend-data"
somehow the device changes its MAC address during the initialization process to "8E:8F:A1:B5:44:C1"
overlay network doesn't work anymore

Context
While this is not flannel's fault, it may be some new behaviour of linux network stack, which will result in leaving a non-functional overlay network after a node reboot. It may be a misconfiguration on my side, but since CoreOS is about not messing with the host system, I am tending to the first alternative.

I am using flannel as a daemonset in kubernetes:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
This seems to be affecting only FCOS at the moment, please refer to  comment on issue 574 of FCOS for the most detailed problem description and a solution, which I have successfully applied on my nodes.


Update koji_promote for metadata spec changes

The output.extra.docker section of the metadata now has a string list repositories instead of destination_repo and tag fields.
Some of the metadata values need to be integers: start_time, end_time, epoch for component RPMs (unless it's None).

LGTM


Built-in sprites

Fix https://github.com/CartoDB/carto-vl/issues/535
Stub https://github.com/CartoDB/carto-vl/issues/533

This includes a stub for the sprite guide, but it is marked as WIP, and it won't appear on the dev-center


Request Party System Please.

(Required) What is your Quests version / build number (do not say "latest")?
Quests -3.2.4
(Required) Please describe the problem and how to replicate it. Any console errors?
I dont have any problem i just want to know if you can add a party sistem please? I mean if you have 3 party members and you complete a quest every member get the rewards, and add in requeriments party members minimum for quest if you put 2 you need another user for take that mission you know what i mean? and an option for party members pvp on/off Please? awsome resource love it.

It should be noted that preliminary code for a party system has been present in the plugin since before I took it over from Blackvein. Nothing works, but here's hoping it will be completed someday! A few quick links to those bits:
Permissions: https://github.com/FlyingPikachu/Quests/blob/b4fe66f0366f7ace57a9dcfd370049425c36a62c/src/main/resources/plugin.yml#L110
Commands: https://github.com/FlyingPikachu/Quests/blob/a3e25b0ec00db40f9559971c1888abd416f09a46/src/main/java/me/blackvein/quests/Quests.java#L680
Variable: https://github.com/FlyingPikachu/Quests/blob/329875bd32f49efa51f9c83435acb81b1906eb8b/src/main/java/me/blackvein/quests/util/CK.java#L156

Currently looking at integrating with Parties. Even though the original author of Quests had planned to implement first-party support, I think it may be best to use a purpose-built dependency which can do it better. This is also not a highly requested feature to my knowledge.


Payment logos not shown in drop-in

Describe the bug
Suddenly in the drop-in no payment provider icons are shown in Android in sandbox environment. In iOS it just works fine. It does not work even in older branches so I guess must be related to Adyen backend?
Screenshot:

To Reproduce
Steps to reproduce the behavior:

Open drop in in Android

Expected behavior
Payment methods are shown with their logos
Adyen React Native version 1.1.0

Hi @RyanLinXiang, we made some changes on our side. Can you please confirm that this issue is solved?

@camil-adyen In our project is the same case at the moment


--global-deps is ignored

What version of Turborepo are you using?
1.2.8
What package manager are you using / does the bug impact?
Yarn v2/v3 (node_modules linker only)
What operating system are you using?
Mac
Describe the Bug
Turbo ignores --global-deps value. Tested in vanilla npx create-turbo repo.
Expected Behavior
Turbo shouldn't ignore the switch.
To Reproduce
npx create-turbo@latest
yarn lint # cache miss; ok
echo "// ignore" >> packages/eslint-config-acme/index.js # to break cache
yarn lint --global-deps="packages/eslint-config-acme/*.js" # cache hit, should be miss

I tried to define globalDependencies in turbo.json instead of --global-deps switch and in that way turbo missed cache correctly.

Turbo version : 1.2.8
Windows 10
The behavior when specifying the "globalDependencies" property in turbo.json seem indeed broken .. Anything that I put in there seems ignored..
With the "--global-deps" flag, it seems to work only partially, as only files that are directly at the root of my workspace (ex: --globalDeps="file.json") are considered. Any file that are at least one level deep in a directory (ex: --globalDeps="directory/file.json") are ignored.

This does indeed look like a bug.
I think adding the global deps in turbo.json will work as a workaround, but this flag should also work. Thanks for the report!

After a conversation we may be deprecating this functionality as:

it does not work presently, implying that nobody is relying on it.
turbo.json is a better place for this information in every scenario we are able to identify.

Can you help us understand the use-case where specifying via command line would be better than via turbo.json?

In general, when running test/dev/build/... scripts I don't care about eslint configuration. But when running lint (and only then), I want to depend on extra eslint configuration file. Currently after eslint configuration I mustn't forget to use --force when running lint script.
My root package.json would look like:
"scripts": {
    "build": "turbo run build",
    "dev": "turbo run dev",
    "lint": "turbo run lint --global-deps=...",
}

want to depend on extra eslint configuration file

Is that lint configuration file in your repository? You can specify that file to be included as a dependency when linting using something that looks like "inputs": ["../../.eslintrc.js"]. Also, if you use our recommended linting setup, this is also not typically a requirement. An example of that setup can be found here:
https://github.com/vercel/turborepo/blob/main/examples/basic/.eslintrc.js

I wasn't aware of the inputs option. It seems I don't need anymore --global-deps. Thanks!


Book hasn't been updated for the new <For>

Describe the bug
The book and the example still has the view prop

Thanks. I'm going to do a small fix for now, just so the example as given compiles. The let: syntax doesn't lend itself super well to that example. There's a separate question of updating all the CodeSandboxes to 0.5, which is hard because CodeSandbox is so resource-constrained that updating to a new version, new nightly Rust, etc. for each sandbox example has proved challenging!

I see. Yew has a Dockerfile for their code sandbox. Maybe sth like that would be better?
https://github.com/yewstack/yew-playground


Feature/rebuild referendums

A draft of the new Referendums structure.
All the referendums now will inherit from the class Referendum and each class will have its own implementation of the basic referendum operations: create, update, cancel and evaluate.
I also added a field in the referendums_table which is std::map<string, VariantValue> special_attributes. The idea is that we could have an object like in javascript that can hold several types and we can store the special attributes related to each referendum type, for instance a referendum that wants to change a setting will have different special_attributes than a referendum that wants to push new code.

Ok what types do we have?
I think
settings (changes settings, float or int)
constitution / game guide update (changes game guide)
generic (changes nothing on chain, like the one we have at the moment)
code (propose a code change, this one would provide the new code and abi in tables, like we do with multisig, it would execute a msig proposal basically, which would call set_code and set_abi - no need to have this for the 1st release, just mentioning

Added referendums refactor
Moved voice methods into referendums contract (not all of them and not all of them are being called)
Rebuild tests

Contracts:

[ ] Referendums

Other considerations:

[ ] Permissions need to be updated
[ ] Settings need to be updated

Migrations might be required

All looks good, but huge amount of code, I will go over this n detail once the unit test is working
Only problem was, unit test not passing
./scripts/seeds.js test referendums
Local
-
    Local
  Referendums Settings

    reset referendums
    reset settings
    reset accounts
    init propcycle
    insert test settings
    join users
    create referendum
    update referendum
    delete referendum    ✖  ReferenceError: table is not defined
    ----------------------------------------
        operator: deepEqual
        diff:
        source: at runMicrotasks (<anonymous>)
        at processTicksAndRejections (internal/process/task_queues.js:93:5)

  passed: 0,  failed: 1  of 1 tests  (703ms)

The conflicts... can probably be ignored because that's all the old codebase, no need to deal with that

I will check the tests, maybe something was broken when I merged

all teste passing, merging

I was merging some code in eos-port can you check this is now OK @IanMendozaJaimes


chore: release 0.40.0

Added

Check the Python version used before generating the Dockerfile ([#155])(https://github.com/Substra/substrafl/pull/155)).

Python dependencies can be resolved using pip compile during function registration by setting compile to True
in the Dependency object ([#155])(https://github.com/Substra/substrafl/pull/155)).
Dependency(
      pypi_dependencies=["pytest", "numpy"],
      compile=True,
  )

Dependency objects are now computed at initialization in a cache directory, accessible through the copy_compute_dir method. The cache directory is deleted at the Dependency object deletion. ([#155])(https://github.com/Substra/substrafl/pull/155))

Check created wheels name. (#160)

Changed

BREAKING: Rename generate_wheel.py to manage_dependencies.py (#156)
BREAKING: Move manage_dependencies.py from remote.register to dependency (#158)
BREAKING: local_dependencies is renamed local_installable_dependencies (#158)
BREAKING: local_installable_dependencies are now limited to local modules or Python wheels (no support for bdist, sdist...)([#155])(https://github.com/Substra/substrafl/pull/155)).

Fixed

Set, save & load random.seed and np.random.seed along with torch.manual_seed in TorchAlgo(#151)

The copy_compute_dir method no longer exists, the cache directory is now directly accessible under cache_directory.
I'd change the changelog as follow
- Dependency objects are now computed at initialization in a cache directory, accessible through the `cache_directory` attribute. The cache directory is deleted at the Dependency object deletion. ([https://github.com/Substra/substrafl/pull/155])(https://github.com/Substra/substrafl/pull/155))

@SdgJlbl good catch.. Sorry for that. Thanks a lot !

Done, thanks for the catch 😄

@SdgJlbl good catch.. Sorry for that. Thanks a lot !

I missed it on my final review of your PR too 🙂


Set up Python backend developer workspace

┆Issue is synchronized with this JIRA Task
┆Project Name: Boardwalk-UI
┆Issue Number: BOARD-62

FYI, not sure if this what you are describing, but I have this JIRA ticket where I'm hoping you can point a local Boardwalk against an existing backend, and be able to log in/log out. I think I'm close to having it working.


Error-handling and reporting

Unreadable files lead to Build-Breaker (via MojoExecutionException).
On error the actual group is printed in addition the the error type.

Coverage increased (+1.8%) to 92.958% when pulling f28c6a3132eae69129f22b4a0946a24a89469035 on ChristianLangmann:master into 84ee88b20b0ba5cbb254ec06ea765b0c1b35154f on codecentric:master.


Bottom margin only for stacked columns

How to reproduce
Set 2 series with mergeMode set to Stacked. Apply bottom margin to bottom line component only:
ColumnCartesianLayer.ColumnProvider.series(
        rememberLineComponent(
            color = color2,
            thickness = columnThickness,
            margins = Dimensions.of(0.dp, 8.dp)
        ),
        rememberLineComponent(
            color = color1,
            thickness = columnThickness
        ),
    )

Observed behavior

Both series showing bottom margins
Expected behavior
Only bottom series to have bottom margin
Vico version(s)
2.0.0-alpha.21
Android version(s)
13
Additional information
No response

Hi @ivanleong, with Dimensions.of(0.dp, 8.dp) you're adding an 8 dp margin both at the top and at the bottom of the orange LineComponent. Simply use Dimensions.of(bottom = 8.dp).

Hey that fixed it! However when i use Dimensions.of(bottom = 10.dp). I've noticed that the bottom margins for different columns start to become uneven. What can cause this?

There is a bug with how margins are handled. We'll look into it, but I don't think fixing it will get you what you expect.
That's how it would look after the fix.

The problem is that the normal height of a column might be smaller than the margin. The columns can't be shifted as it would make them incorrect relative to the data.
Could you describe what you are trying to do?

@Gowsky I just need to shift all the columns (stacked) off the bottom axis by x amount. Similar to this graph. It works for a single stack but it gets uneven on multiple stacks

I just need to shift all the columns

You are actually shrinking the bottom one.

It works for a single stack

It doesn't work at all. The columns become shorter than they should be based on the data.
What you are looking to do relates to the y range. For example, in the picture, the minimum y value is effectively less than 0. You can't do this with margins as they are unrelated to the chart data.
You can adjust the y value range by using AxisValueOverrider. We also plan on adding an option to specify vertical padding to the content area in dp. This is related to #448.

@Gowsky Great thanks that seemed to work but unfortunately when i used AxisValueOverrider.fixed(minY = -10f) the padding always varies depending on the maxY value. I'll probably wait for your update on the vertical padding.

You can solve this by calculating the y range dynamically based on the length of the default. All the required information is passed to AxisValueOverrider functions. For example, this adds 10% of the length at the bottom, which is always the same amount of pixels.
override fun getMinY(minY: Float, maxY: Float, extraStore: ExtraStore) = minY - (maxY - minY) * .1f