The scrubbing scrollbar UI hides the bottom line of the terminal -- often the most important line!

Most of the typing in any terminal session (once the scrollback has been filled) happens on the very bottom line. But in the Asciinema playback UI (which is otherwise lovely 😁❤), the bottom line is covered whenever you mouse over the video!
This can make it quite difficult to scroll through a video and find the place you were looking for, because you can't see what the user is typing while you're scrolling!
This also makes it extremely difficult to copy/paste from the line that the user is about to enter into the terminal.
(For an example, here is an asciicast i recorded, where a lot of the action is happening on the bottom line, but you can't see it when the scrolling UI is displayed):

Some ideas/proposals:

Would it be possible to have the scrollback UI "push up" all the text by one line, so that you can still see the text on the bottom line? Rather than hovering up over the text?
Or could you just have the scrollback UI be always present? (I'm sure this is less desirable, aesthetically.)
Or could the scrollback UI be somewhere else besides the bottom? Maybe the top? Or on the side? (The side might be too easily confused with an actual scrollback, which it of course isn't, thanks to things like ncurses.)

This has also been discussed in #90.

I have potential solution ready in #215. Need to do some cross-browser testing before I merge but it looks promising.

#215 has been merged and released in v3.2.0.


Make use of new stuff in the Redis DataSource API

Needs Quarkus 3.6.0

I assume we can use 3.6.0.CR1 for this, right?

I guess so! I've added the upgrade to this PR, let's see

I rebased this onto main in order to make sure everything still works with the latest changes I made there.

I've updated Quarkus from 3.6.0.CR1 to 3.6.0 now.

@cescoffier can you please review?


Version 7.25.2 missing prop-types with typescript parametrised props

The following works alright in 7.25.1:
type Props<ValueType> = {
  value: ValueType;
  onClick: (value: ValueType) => void;
};

// prettier-ignore
const Button = <T,>({ onClick, value }: Props<T>) => {
  return <button onClick={() => onClick(value)}>BUTTON</button>;
};

const valueObj = {
  aprop: 'avalue'
};

export default function App() {
  return (

a button

      <Button onClick={(value) => console.log(value)} value={valueObj} />

  );
}

With version 7.25.2 same code results in react/prop-types errors
7:23  error  'onClick' is missing in props validation  react/prop-types
7:32  error  'value' is missing in props validation    react/prop-types

Seems like maybe #3064 caused this regression; cc @vedadeepta?

I have the same problem since 7.25.2

Yeah, will investigate tomorrow.

Can confirm with a similar setup here.  Locking down to the previous version by adding this temporary Yarn resolution to package.json is a temporary workaround:
    "resolutions": {
        "eslint-plugin-react": "7.25.1"
    }


Allow configuration of URI path encoding.

I'm attempting to deal with URIs that have some special requirements (taken from RFC8040 Section 3.5.3) for how encoding is performed - particularly with regards to how , is handled. As it stands, trying to handle the special case in that RFC "on top" of the existing Uri structure in sttp results in double-encoding since sttp, itself, wants to perform the encoding and is unaware of these special considerations.
Now, asking sttp to become aware of these particular constraints of my admittedly uncommon use case is a bit much. Instead, I'd like some way to inject some configuration (similiar, perhaps, to how QueryFragmentEncoding is handled) that allows me to at least disable or modify sttp's built in encoding.
An example of the configuration structure:
sealed trait PathEncoding
object PathEncoding {
  // (default) Automatically encode all path segments
  case object All extends PathEncoding

  // Disable segment encoding and assume provided segments
  // are already properly encoded.
  case object Disabled extends PathEncoding
}

This would require changes in encoding (during toString) similiar to how query parameter encoding is already performed based this configuration provided during Uri construction.

It looks like this request is, perhaps, similar (at least in proposed solution) to #287.

I think that escaping should be an instance provided to a constructor in some way so escaping can be completely customized. Also adding something like @adamw mentioned using a Literal class would also be a good thing as well for simple cases.
@adamw, what do you think? I'd like to move off a forked version of sttp. Literal would take care of the immediate need and seems useful in the long run anyway.

I suppose the paths could change to be a sequence of some kind of abstract type, e.g.:
sealed abstract trait PathSegment
case class Literal(seg: String) extendsPathSegment {
  override def toString: String = seg
}
case class Escaped(seg: String) extends PathSegment {
  def encode(x: String): String = ???
  override def toString: String = encode(seg)
}

case class Uri(path: List[PathSegment], ...) {
   // somewhere in here...
  val encodedPath: String = path.map(_.toString).mkString("/")
}

However, that would at least break compatibility with existing API users. Thoughts on that compatibility issue?

If we are to break compatibility, now is a good time (as there's a lot of breaking changes in the v2 branch already). The only thing is that the changes would have to be done on the v2 branch.
+1 on PathSegment. It's probably a better name than PathFragment, as it might cause confusion with Fragment, which is also part of the uri :). Maybe we should also then have QuerySegment instead of QueryFragment?
Finally, would the encoding strategies be re-useable? So both path & query fragments would consist of a string + an encoding strategy. A potential problem is that the encoding strategies could behave differently depending on context, but maybe this could be made to work consistently.

I suppose, then, I see two paths:

My original suggestion which could probably go in the 1.x release line immediately.
What's suggested here, to be done for inclusion in 2.x.

On my end, I have a rather short term need for this feature and would rather not take Mx releases into production code. As a result, I lean towards the original proposal. That said, I also see value in the greater flexibility of what's being suggested here with PathSegment. So, I can take on a few piles of work:

Just do the work in v2 to introduce the PathSegment content. I can, on my end, fork a release of 1.x which fixes my short term need. I can, later, upgrade to the real 2.x release series when they are available.
Do both and release a 1.x that contains my original suggestion, and then immediately rips it out in 2.x favor of the PathSegment approach.
Abandon the PathSegment approach completely and go with the original suggestion (which should be able to go in both 1.x and 2.x).

I really don't like the idea of internally forking builds on my end. That said, I can do that. Just looking for some guidance on release timelines and what the "right" path in terms of this library itself.
I intend to raise a PR soon for the original proposal - mostly because I already have the code sitting on my machine. I'm perfectly happy if that gets closed for some other path/solution/whatever, but may as well put it out there for comment.

It might be less of a breaking change to just add a method to Uri that is def unencoded: String that returns the string but not encoded. You can change things underneath the hood. But at least the only API change is that one method. We would need to change code though. And in the future unencoded could absorb any flags/types/config things that are decided on.

@aappddeevv I'm not sure how adding that method would help things, but I'm probably missing some crucial insight. After all, the underlying backends would still use toString in order to serialize things which would then apply encoding? Are you suggesting that those backends, based on some kind of configuration, instead call unencoded in some situations? Perhaps you can elaborate more?

It's equivalent to a flag on the object. I probably goofed in returning a string in my comment above. In my hack, I justed added boolean flag to turn off encoding for toString. Sorry for the confusion.

So, my original proposal was effectively a flag as you describe. The only difference is using an abstract type to declare intention rather than a Boolean. This is a bit cleaner overall because it is expandable if ever needed and more clear in behavior to the caller.

Yes, they are both flags.

@adamw Thanks for the quick merge! Looks like you are on a bit of a PR merge rampage :)
I suppose the question still remains on what we'd like the 2.x API to look like. I'm happy to supply code to that end as well.

Thanks! I think #309 is a good short term fix, but for v2 I'd prefer to have segments, I thinks that's a more flexible solution (more local). I saw you submitted a PR for that, I'll take a look tomorrow/next week :)

I've implemented an approach similar to #310, but more backwards compatible and more flexible, using the idea of having the encoding as an arbitrary function. See: https://github.com/softwaremill/sttp/blob/v2/model/shared/src/main/scala/sttp/model/Uri.scala
@jonathanhood would this work for you as well?

Ya, that seems fine to me. Lots of that actually looks the same as the PR I raised, so should be fine.

Closing this issue, as it now seems to be resolved in 1.x and 2.x sttp releases.


Add commit message rules

I think, that I shouldn't test this.  Am I correct? Thanks

@kantord please, move this issues directly to done, no need to get it tested in our internal QA. Thank you.

I thought it was in Done already :-) Sorry


Uncaught TypeError: Cannot read property 'ownerDocument' of null

This issue is still happening, if you go to https://reactcommunity.org/react-autocomplete/custom-menu/ and type a letter and erase it repeatedly you can see the multiple errors on the console.

Hi Thomas! Thanks for reporting this. The problem you're detailing is actually due to an error in the example's renderMenu implementation. renderMenu's contract is so that it expects - and requires - that every entry in items (the first argument it is passed) is present in the returned tree.
The reason for this is that we do not wish to have to continuously check if the items prepared by renderItem are present in the DOM or not, and then have to adjust the internal workings of the highlight order and keyboard navigation to account for hidden/missing entries. I hope this makes sense.
I've fixed the example and updated the documentation to be more explicit on this matter. Again, thanks for letting us know!


refactor out parse5

parse5 which is used to convert html to hast brings contributes an additional 180kB to the bundle size and is the next easiest thing to remove. The ideal solution would probably use hast-util-from-dom for the browser and https://github.com/syntax-tree/hast-util-from-parse5 for node environment.

Fix in #7


when connected to server, activities get shared automatically

when connected to server, activities get shared automatically without even clicking network button.
I tested with both dev.sugarizer.org and local server on even different laptops in dev branch .
also tested on https://dev.sugarizer.org/
The issue doesn't occur in master branch.
from this issue several activities are having problem like In last one loses activity we are not able to play vs computer mode(single player mode).
see below

The issue was not there until some weeks ago ( when i was developing chess activity).
will be very helpful if other contributors can verify this issue.

Hey @prakashujjwal1010, I tried to replicate the issue on my side but I wasn't successful. The activity was not being shared automatically after opening it. I tried running the local server and also on https://dev.sugarizer.org/. Could you explain the steps you followed? Or could you mention other activities you are facing this issue with?
I did notice a different strange behavior: If I click on the single-user mode (left one with icon: zoom-home.svg) in the presence palette, it still shares the activity. Only this time the styling of the presence palette is a little off, as can be seen in the GIF uploaded by you.
I think it's happening after lib/sugar-web/presence.js was updated to show the connected users. The problem you are facing might also be linked to this. @llaske, can you confirm the odd behavior on your side?

Steps to replicate the issue:

Log in as a new user,
open any activity and share it by clicking on the network palette.
now stop the activity
now when you open any other activity , it will get shared automatically

Weird, I still couldn't replicate it. :(
I tried it with a different browser too. Try clearing your browser cache, maybe that'll help?

yes, i tried clearing cache also...but still getting the same.
i even tested it on my phone browser, still getting the issue...
:(

@prakashujjwal1010 could you try with different network speed (choose from the Network sheet in the Chrome dev window)?

@llaske @dhruvmisra please try this :

go to https://dev.sugarizer.org/
sign in as a new user
open paint activity from home view or list view

( i've tested this on different laptop )
yes, @llaske  i have tried with different speeds on different laptops with different internet connections.

Yes! It happened with me too. Paint automatically shared an instance. I opened Last One Loses, it didn't  share it automatically but once I shared it myself and closed the activity, every time I open it again it shares it automatically.

Unfortunately I can't reproduce on my side, even with the detailed steps :-(
I've fixed in https://github.com/llaske/sugarizer/pull/813 the related issue https://github.com/llaske/sugarizer/issues/811.
@prakashujjwal1010 @dhruvmisra Could you check if it fix also this issue on your side?

@dhruvmisra , yes you are right the issue doesn't exist when connected to local remote sugarizer-server but when connected to dev.sugarizer.org, it is there.
@llaske , when connected to sugarizer-server it solves the #811  on my side.
but when connected to https://dev.sugarizer.org/ now network button is not working means the activity is not getting shared on clicking network button. :(
don't know the reason behind this difference when connected to different servers, as it should behave same

@prakashujjwal1010 thanks for the detailed description of the issue. It helps me a lot to understand the problem. The difference with a local server and dev.sugarizer.org - and also the reason why I can't reproduce the issue on my side - is that it depends of the network latency to accept connection.
I've finally reproduce the issue on my side by forcing my local server to 1 second wait before accepting connection (here for information).
With this one second latency I was able to reproduce both issue: automatic share and disable of network buttons.
I've updated the https://github.com/llaske/sugarizer/pull/813 PR to integrate the fix.
@prakashujjwal1010 @dhruvmisra could you test again on your side to see if it works now?

I changed the network throttling in Chrome Dev tools to 'Mid-tier mobile' and I was able to reproduce the issue using local server as well.
@llaske The PR does fix the issue. No problems after network throttling as well.
Also thanks to @prakashujjwal1010, now that I have your attention on Last One Loses activity, I think the workflow after sharing the activity can be improved. As you can see, the user who shares the activity can't play the game until some other user connects and is also stuck if the connected user leaves in the middle. (As pointed out by @sarthak-g in #722). I think the solution proposed to let the user play against computer is good and feels intuitive.
I agree that the duration of the LOL game is small but I think that shouldn't be a reason to provide a bad experience (restarting to play if activity got shared) to the user. What do you say?

@llaske , the issue is fixed now, on my side. thanks.
@dhruvmisra , yes I think letting user play until another user connects or if opponent leaves in the middle is a good idea.

Thanks to both of you.
@dhruvmisra I'm agree regarding Last One Loses activity. Please fill an issue regarding that.

Fixed in https://github.com/llaske/sugarizer/commit/95e9cd2b0f26d48a058b01fd7928c9ee97928467


curl module for nova

From #108:

check for the output of a http request for locally running service. Recent versions of curl can also access and check http services exposed through unix domain sockets (docker, for example).

Solved by FDG


create docs about setting up for production

The first draft for this is done, will go through revisions as we go.


there is a error when I make it

The error is happened at the link mement, as shows follows:
/nls-sdk-cpp-master/lib/linux/libssl.so: file format not recognized; treating as linker script
/nls-sdk-cpp-master/lib/linux/libssl.so:1: syntax error

the libssl.so is a 64-bit library and compiled with GCC 4.1.2. please check the gcc version.


Remove need for NET_BROADCAST

As requested in both https://github.com/1Password/connect/issues/22 and https://github.com/1Password/connect/issues/21, this removes the need for the containers to obtain the NET_BROADCAST capability by no longer depending on the auto-discovery of each other.
Bumps Connect to 1.5.0 to use the new OP_BUS_PEERS option.

Should we make a note about these static port assignments in the README?

Should we make a note about these static port assignments in the README?

Good question. Afaik, these ports are internal to the pod created by this Helm chart only. So I am inclined to say: no, this is an internal detail that is practically never relevant for the user.
But I may be wrong there. Do you have a specific case in mind where this would be relevant to know?

Should we make a note about these static port assignments in the README?

Good question. Afaik, these ports are internal to the pod created by this Helm chart only. So I am inclined to say: no, this is an internal detail that is practically never relevant for the user.
But I may be wrong there. Do you have a specific case in mind where this would be relevant to know?

The only case I can think of is a customer preferring to use certain ports to adhere to any network firewall rules. We could defer this until a customer raises the issue, however.


changed test_requirement.txt removed one line

Description

Fixing the Github issue #119 Remove trufflehog pinned dependency in test_requirements.txt
Development notes

QA notes

Checklist

[ ] Read the contributing guidelines
[ ] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[ ] Added new entries to the RELEASE.md file
[ ] Added tests to cover my changes

Legal notice

[ ] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Hi there, changes were done (included my name in RELEASE.md updated the lower bound of trufflehog to be trufflehog>=2.1.0, <3.0, as requested.

But I got an error in my git push … possibly because my local version cloned from kedro-viz is outdated (?), would you please kindly guide me? Thanks!!!

Hey @ANA-POTJE, thanks for this. It all seems fine here, so your git push seems to have worked. If you're getting an error, you might try git pull before git push but it's hard to say without the error.
Could you also please tick the legal notice box in the PR so we can merge your PR in? :)

Hi Zain, "legal notice" box is ticked … I hope all ready for merge now? ;)

Merged. :)

That's great!!! Very happy to help! :)))


More Python3.9 deprecations

Running pytest with the new Python 3.9.4 shows a number of deprecation warnings about future failures to anticipate:
============================= test session starts ==============================
platform linux -- Python 3.9.4, pytest-6.2.0, py-1.10.0, pluggy-0.13.1
[....]
=============================== warnings summary ===============================
chunk.doctest::chunk.doctest
<doctest chunk.doctest[11]>:1: DeprecationWarning: invalid escape sequence .
classify.doctest::classify.doctest
classify.doctest::classify.doctest
classify.doctest::classify.doctest
classify.doctest::classify.doctest
classify.doctest::classify.doctest
nltk/util.py:64: DeprecationWarning: formatargspec is deprecated since Python 3.5. Use signature and the Signature object directly
argspec = inspect.formatargspec(args, varargs, varkw, defaults)
corpus.doctest::corpus.doctest
<doctest corpus.doctest[232]>:2: DeprecationWarning: invalid escape sequence .
corpus.doctest::corpus.doctest
<doctest corpus.doctest[272]>:1: DeprecationWarning: invalid escape sequence .
data.doctest::data.doctest
<doctest data.doctest[63]>:1: DeprecationWarning:
Function BufferedGzipFile() has been deprecated.  Use gzip.GzipFile
instead as it also uses a buffer.
data.doctest::data.doctest
<doctest data.doctest[67]>:1: DeprecationWarning:
Function BufferedGzipFile() has been deprecated.  Use gzip.GzipFile
instead as it also uses a buffer.
gensim.doctest::gensim.doctest
<doctest gensim.doctest[7]>:1: DeprecationWarning: Call to deprecated __getitem__ (Method will be removed in 4.0.0, use self.wv.getitem() instead).
gensim.doctest::gensim.doctest
/usr/lib64/python3.9/site-packages/gensim/models/keyedvectors.py:877: FutureWarning: arrays to stack must be passed as a "sequence" type such as list or tuple. Support for non-sequence iterables such as generators is deprecated as of NumPy 1.16 and will raise an error in the future.
vectors = vstack(self.word_vec(word, use_norm=True) for word in used_words).astype(REAL)
gluesemantics.doctest::gluesemantics.doctest
<doctest gluesemantics.doctest[55]>:1: DeprecationWarning: invalid escape sequence \P
gluesemantics.doctest::gluesemantics.doctest
<doctest gluesemantics.doctest[65]>:1: DeprecationWarning: invalid escape sequence \P
gluesemantics.doctest::gluesemantics.doctest
<doctest gluesemantics.doctest[71]>:1: DeprecationWarning: invalid escape sequence \P
probability.doctest: 410 warnings
nltk/tag/hmm.py:396: DeprecationWarning: np.int is a deprecated alias for the builtin int. To silence this warning, use int by itself. Doing this will not modify any behavior and is safe. When replacing np.int, you may wish to use e.g. np.int64 or np.int32 to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
B = -np.ones((T, N), np.int)
probability.doctest::probability.doctest
nltk/probability.py:1456: UserWarning: SimpleGoodTuring did not find a proper best fit line for smoothing probabilities of occurrences. The probability estimates are likely to be unreliable.
warnings.warn(
relextract.doctest::relextract.doctest
<doctest relextract.doctest[15]>:1: DeprecationWarning: invalid escape sequence \s
toolbox.doctest::toolbox.doctest
/usr/lib64/python3.9/codecs.py:905: DeprecationWarning: 'U' mode is deprecated
file = builtins.open(filename, mode, buffering)
toolbox.doctest::toolbox.doctest
<doctest toolbox.doctest[90]>:1: DeprecationWarning: invalid escape sequence |
[....]

Thanks for this @ekaf

#2698 fixes some of these


[TextField] - OutlinedInput properties inaccessible from TextField API

The Textfield API is offering us the possibility of configuring the different components which the current component is wrapping by means of properties such as InputLabelProps, InputProps or FormHelperTextProps, but in v.3.0.0 the variant outlined was introduced in TextField, so I guess OutlinedInputProps should be included between all available props the component has.

[X] This is not a v0.x issue.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behaviour
The TextField API containing the property OutlinedInputProps to give the possibility of configuring the OutlinedInput props.
Current Behaviour
(Included in next section)
Steps to Reproduce
After upgrading to v.3.1.1, we set the variant="outlined" and wanted to configure the classes of the OutlinedInput but isn't accessible as a prop.
We are also getting a warning with the next configuration:
<UITextField
  id="name"
  variant="outlined"
  label="Name"
  value={this.state.name}
  margin="dense"
  InputProps={{
    classes: {
      underline: underlineStyles
    }
  }}
/>

The reason is because all variants ('standard' | 'filled' | 'outlined') are using the InputProps to config the Input or OutlinedInput:
https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/TextField/TextField.js#L135
and for example, the classes prop of both components are different, different CSS API, so for that reason I guess that the solution could be adding a new prop OutlinedInputProps to the TextField as it is done for InputLabelProps, InputProps or FormHelperTextProps.

Context
We are trying to override the styles of the TextField with variant="outlined" but it is not possible.
More specifically, trying to override the styles of NotchedOutline prop of classes object.
Your Environment

Tech
Version

Material-UI
v3.1.1

React
v16.4.2

Browser
Chrome v69.0.3497.100

TypeScript
v3.0.3

The TextField API containing the property OutlinedInputProps to give the possibility of configuring the OutlinedInput props.

@alc0034 You have the InputProps property for this use case.

More specifically, trying to override the styles of NotchedOutline prop of classes object.

The NotchedOutline is kind of a private component. We might have to change the implementation use SVG over the label. What do you want to change?

@oliviertassinari thanks for your reply. You can reproduce the typeError here: https://codesandbox.io/s/rj278pyo2m
Creating the codesanbox I realised that it is working without any problem with JS and in TS is working but a typeError is thrown and it is basically saying: '{ notchedOutline: string; }' is not assignable to type 'Partial<Record<InputClassKey, string>> because notchedOutline is a key of OutlinedInputClassKey and classes in InputProps has 'Partial<Record<InputClassKey, string>>
InputProps={{
  classes: {
    notchedOutline: classes.notchedOutline
 }
}}

So the classes property of InputProps should admit all ClassKeys, InputClassKey and OutlinedInputClassKey to be shared between all variants 'standard' | 'filled' | 'outlined'

@oliviertassinari Is there any update about this? my team is having the same issue, thanks.

@oliviertassinari  I have a question which is related to the initial request, about the OutlinedInputProps that could be available under the Textfield API.
Because currently we don't have any access to customize a class property of the OutlinedInput.
As said by @alc0034 we can change the color of the border like this :
InputProps={{
  classes: {
    notchedOutline: classes.notchedOutline
 }
}}

But this will change the border color without taking care of the focus property.
So if we want to change the color of the border on a focused state, I would use the focused class API from the OutlineInput component, which seems to not be accessible.
Is there any way to do that ?


Razor component code does not offer outlining on regions

If you use a #region #endregion in the code section of a razor component, the editor does not offer outlining around it as per other c# code.
I know you can put code in a separate source file, but since outlining is available in @code then regions should probably be honored.
Configuration

Regression?

Other information

CC. @Pilchie
ASP.NET related, possibly on the IDE/language service side


undefined userId considered in context

Describe the bug
In our React app, we had been updating the Unleash context's userId field in the following way:
useEffect(() => {
  updateContext({userId});
}, [userId])

until we noticed that there was an issue with the variant splitting for one of our feature flags - a flag with control and challenger variants, each with 50% weight.
Initially, the userId is undefined until an account is created, and seems like the undefined value is sent to the context as a string because the splitting issue is just for a single flag used before an account is created.
Steps to reproduce the bug

Create a feature flag with 2 variants
Assign 50% weight to each variant
set undefined to the userId context field
monitor how many times both variants have been assigned

Expected behavior
When a userId is undefined in the context, a sessionId should be used in order to distinguish the different users calling the proxy/server.
Logs, error output, etc.
No response
Screenshots
No response
Additional context
No response
Unleash version
unleashorg/unleash-proxy:v0.11.7
Subscription type
Pro
Hosting type
Hosted by Unleash
SDK information (language and version)
@unleash/proxy-client-react v3.5.1, unleash-proxy-client v2.4.2

Hi, @SimeonKostov! Thanks for reporting this. But I'm not sure I understand exactly what the bug you are describing is. Could you elaborate?
You say that "there was an issue with the variant splitting for one of our feature flags". What was that issue? You later refer to it as the "splitting issue". What exactly is happening? Are you not seeing the split? Or is it "flip-flopping" between rerenders?
And in terms of the variant configuration, what have you set as the stickiness? Are you using the "default" stickiness?
Looking at it locally and some of the tests we've got (plus a few more I just added), things seem to be working as expected on my end 🤔  Looking forward to get some clarification on your end.

Someone informed me that this probably comes from this community slack thread that has a lot more context, so I'm putting the link here for that case.
I don't know exactly what's happening here, but I tried reproducing the case you were seeing in the tests in #147, but it seems to work as expected.
Regarding undefined being stringified to "undefined", shouldn't you see it in the query parameters you send in that case? I also can't reproduce that in the tests in any way. Not ruling it out completely, but I'm not sure why it would behave that way outside the tests 🤔

@thomasheartman Sorry for the confusing description!

Someone informed me that this probably comes from this community slack thread that has a lot more context, so I'm putting the link here for that case.

True! The issue is related to this thread.
This was our case:

We used to update our Unleash context in the following way from the top-level component of our React app:

useEffect(() => {
  updateContext({userId});
}, [userId])

We have a feature flag with control and challenger variants with a weight of 50%
The feature flag above is used on a step in our funnel where a user is not created yet and so the first time updateContext is called, should be called with {userId: undefined}
From our analytics, we noticed that there was a major difference between the leads that had seen the control and those that had seen the challenger - for the period 01.03-03.03 the numbers were 569 (control) vs. 84 (challenger)
After we noticed this difference, added a check to the place where we are updating the context (in the top-level component) and since that change, the numbers started to equalize.

useEffect(() => {
  if (userId) {
    updateContext({userId});
  }
}, [userId])

Those observations made us think that there is a problem with sending an undefined userId. Hope this explain the case better!
Apologize in advance if this turns out to be a fake alarm!

I know you already checked the query parameters in the thread, but could I ask you to double check that it does not send a userId parameter when you set userId to undefined? At least as far as I can understand, that could rule out the "undefined might be stringified" hypothesis. As I said, the tests I added in https://github.com/Unleash/unleash-proxy-client-js/pull/147 do not add that query param to url.

I am confirming that the userId parameter has not been sent while the userId is undefined.

I'm actually beginning to think that this might be something that's happening on the Proxy and not in the client. But I know you talked a bit about that in the thread too (with the 500 curl requests and all) 🤔

True, I made some curl requests, but I haven't added any context to the requests. Those tests seemed to work fine - always returning the same result

Hey, @SimeonKostov! So we've talked about this a little bit internally, but unfortunately we haven't been able to reproduce it. The issue seems serious, but because no one else has reported this, it seems probably that the issue is on your end.
Can you reproduce this with a completely clean Unleash setup running locally as well?
If you could provide us with a reproducible example, then we'd be more than happy to have a look at it, but without that, there's not much more we can do here, I'm afraid.

@sighphyre Didn't you find out what the cause of this was? Has that change propagated to the Proxy?


[Request-for-external] Codeunit 7171 "Sales Info-Pane Management"

Hi, I was wondering if it would be possible to change the procedure GetItem in Codeunit 7171 from local to external.
My team and I use this procedure a lot in our code, and changing it to external would be a huge help.
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Unable to run superagi with gpt-3.5

I tried running superagi with gpt-3.5 it gives an error. With gpt-4 it's working fine. Please look into this.

hi I am looking to contribute can I have this issue

I think this issue has already been picked by @COLONAYUSH

@SalemHella do you want to pick this feature  https://github.com/TransformerOptimus/SuperAGI/issues/114  ? or you can go though issues list

@Cptsnowcrasher I don't mind looking for another one if this one is taking


[Hotfix] Use the correct version of backoff

In two files, including (critically) pkg/messaging/direct_messaging.go, the github.com/cenkalti/backoff package was imported referencing the wrong module, missing /v4 at the end. This caused an older version of the package (2.2.1) to be used instead.
Because of that, every time we returned backoff.Permanent (such as within invokeWithRetry), the permanent error was ignored. This caused a variety of issues including retrying when  up to a panic.
For example, when invoking CallLocal over gRPC and receiving an UNAUTHENTICATED or UNAVAILABLE error, then a connection error, the policy would retry even though that error was meant to be permanent.
Worse, when the response was for example UNIMPLEMENTED or another gRPC error code, which should have been a permanent error, the policy would have retried regardless and eventually (due to a chain of events), daprd would have panicked.

Is this a regression? If so, can you point out when/where it occured?

@yaron2 this is the PR that added the regression: https://github.com/dapr/dapr/pull/4609 It was added in 1.8.
User who reported this issue said it was working fine in 1.7.

@yaron2 this is the PR that added the regression: #4609 It was added in 1.8.
User who reported this issue said it was working fine in 1.7.

Alright, I agree this requires 1.8.2.

/ok-to-test


The requested module does not provide an export when using barrel export with Prisma

Describe the bug
What I am doing
Importing from a barrel export of @prisma/client causes a syntax error at runtime: "The requested module x does not provide an export y"
e.g.
// bug.ts
export * from '@prisma/client'

// App.tsx
import { UserRole } from './bug.ts'
// Syntax error on runtime "The requested module bug.ts does not provide an export UserRole"

Notably, just importing directly from @prisma/client works perfectly fine.
// App.tsx
import { UserRole } from '@prisma/client' // Works fine

I have no reason to suspect this is a Prisma-specific issue as the same usage in create-react-app has no issues.
Reproduction
https://github.com/ryanjchr/vite-prisma-incompatibility
Steps to reproduce
yarn install
yarn dev

System Info
System:
    OS: macOS 13.2
    CPU: (10) arm64 Apple M2 Pro
    Memory: 121.80 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 19.6.0 - ~/.nvm/versions/node/v19.6.0/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v19.6.0/bin/yarn
    npm: 9.4.0 - ~/.nvm/versions/node/v19.6.0/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Firefox: 111.0.1
    Firefox Developer Edition: 112.0
    Safari: 16.3
  npmPackages:
    @vitejs/plugin-react: ^3.0.0 => 3.1.0
    vite: ^4.0.0 => 4.2.1

Used Package Manager
yarn
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Looks like our interop code needs to handle star re-exports:
https://github.com/vitejs/vite/blob/f09551f18d56771a5e539ac15cf41bcb413dfc31/packages/vite/src/node/plugins/importAnalysis.ts#L859-L864

It seems impossible that re-export * from a cjs module cause we don't know what cjs module contains after esbuild prebundle. Maybe we should directly throw an error


Remove version: netless-io.flat version 1.7.0

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

URL: https://github.com/netless-io/flat/releases/download/v1.7.0/Flat-1.7.0.exe
Status Code: 200
(Automated message - build 897)

Close with reason: Package still available.;

URL: https://github.com/netless-io/flat/releases/download/v1.7.0/Flat-1.7.0.exe
Status Code: 200
(Automated message - build 897)


Login handler for login

The PR brings in a login handler.

LoginHandler has the behavior for constructing and sending the login packet.
The LoginHandlerContext is a POCO which provides all the information needed for login. It takes the information needed from ConnectionHandlerContext, and then creates new properties for the handler to work on.

Testing?

I have an E2E test, which can be run by pointing it to a SQL server. After the data is sent to the server, I inspected if the server logs contain any information about a malformed packet. The login is working fine with SQL Auth. The test demonstrates how the testing can be done. However the validation is manual.

The small writes need to be tackled more effectively. I have added a TODO and we need a consensus on the strategy. Right now the intention is to have a working login path, so that the functionality can be added on top of this.

cc @edwardneal

@edwardneal  there was a sense of urgency to get this in, and I know that there is a bunch of changes that would be needed as pointed out in your review comments. I wanted to acknowledge your review comments..
@cheenamalhotra  is working to light up the "Read" login response, and needed this PR merged.
We will have this working E2E and then have a benchmark ready. And we will be able to test the perf improvement hypothesis with benchmarks

Thanks @saurabh500 !
@edwardneal
Please feel free to open a GH issue and tag it with ClientX for any pending feedback and we will triage it :)

Thanks for the update - looking forward to seeing the login response code land! I'll wait for that to come through, look at performance benchmarking and see if any of my comments still hold in light of that. The thought behind SecureString usage sits separately to that... I'll give it a little more thought and submit it separately.


Remote work updates

Hello,
Thanks for putting this list together!
While researching these companies I noticed that a few now include remote-work option (see links alongside company names). We could probably update the remote column in the sheet with this data.
alphasheets (remote acceptable for contractors)
https://michael-gao-q5ib.squarespace.com/jobs/
vacation-labs (remote acceptable for haskell opening)
http://www.vacationlabs.com/we-are-hiring/software-engineer-haskell/
clearmatics (under header "Where we work")
https://www.clearmatics.com/careers/
kadena  (instance of a job posting with remote option available)
https://www.reddit.com/r/haskell/comments/7uuq0z/kadena_is_hiring_haskell_developers/
lumi (Engineering and Other jobs tagged REMOTE)
https://www.lumi.com/jobs
obsidian-systems (instance of past job posting with remote option available)
https://www.reddit.com/r/haskell/comments/49jjff/haskell_opportunities_at_obsidian_systems/
superpowers-corp (under WE ARE HIRING, remote considered on a case by case basis)
https://www.superpowerscorp.com/
tripshot (remote accepted but eligibility to work in the US needed)
https://www.tripshot.com/hiring/
tweag (hackernews job posting and tweag blog post mention remote acceptable)
https://news.ycombinator.com/item?id=16496787
https://www.tweag.io/posts/2018-02-08-internships.html

Thanks! I added these

@erkmos You're welcome!


Make the plugin compatible with Angular 2 out of the box

Currently you need to manually register the "FrescoDrawee" tag with the nativescript-angular/element-registry like so:
import * as elementRegistryModule from 'nativescript-angular/element-registry';

elementRegistryModule.registerElement("FrescoDrawee", () => frescoModule.FrescoDrawee);

Where are we doing this registration? In main.ts before calling bootstrap?

@karan1149 yes before you call the .bootstrapModule(...); function, like this.


add sharding-transaction module, refactor transaction manager. for #990

add sharding-transaction module, refactor transaction manager. for #990

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@d6612b6). Click here to learn what that means.
The diff coverage is 8.69%.

@@          Coverage Diff           @@
##             dev    #1068   +/-   ##
======================================
  Coverage       ?   55.03%
======================================
  Files          ?      642
  Lines          ?    12657
  Branches       ?     2048
======================================
  Hits           ?     6966
  Misses         ?     5243
  Partials       ?      448

Impacted Files
Coverage Δ

...e/transaction/common/event/XaTransactionEvent.java
0% <ø> (ø)

...nsaction/common/event/TransactionEventFactory.java
0% <ø> (ø)

...e/transaction/weakxa/WeakXaTransactionManager.java
0% <ø> (ø)

...gsphere/transaction/common/TransactionContext.java
0% <ø> (ø)

...ere/transaction/xa/AtomikosTransactionManager.java
0% <ø> (ø)

...ansaction/common/listener/TransactionListener.java
0% <ø> (ø)

...ere/transaction/common/event/TransactionEvent.java
0% <ø> (ø)

...ansaction/common/event/WeakXaTransactionEvent.java
0% <ø> (ø)

.../io/shardingsphere/core/util/EventBusInstance.java
0% <ø> (ø)

...n/common/config/ProxyTransactionConfiguration.java
0% <0%> (ø)

... and 9 more

Continue to review full report at Codecov.

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

publish transaction modification in 3.1.0


docs(changelog): release 1.12.2

Codecov Report

Merging #694 (cc40fd2) into main (866ed89) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #694   +/-   ##
=======================================
  Coverage   43.50%   43.50%
=======================================
  Files          74       74
  Lines        8923     8923
=======================================
  Hits         3882     3882
  Misses       4671     4671
  Partials      370      370

Continue to review full report at Codecov.

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


Ingestion - Tableau Lineage

Is your feature request related to a problem? Please describe.
Lineage Support for Tableau

Fixed with #2850


CSS-Refactor: Adjust border design

Tasks

[ ] 具体的にどのように変更するかは岩崎さんと相談の上すすめること。

Writing the Issue

[ ] Write each task for this issue using checkboxes
[ ] Write all verbal instructions as tasks

Before Working on the Issue

[ ] Assign yourself
[ ] Share your screen on Discord
[ ] Write which issue you are starting on Slack
[ ] Git: Fetch the latest main
[ ] Git: Create a branch with the name of the issue

Pre-PR Checks

[ ] Insure that changes include only what is necessary for this PR
[ ] Implement necessary Unit tests
[ ] Implement necessary E2E tests
[ ] Perform functionality checks

#646

試作してみました。確認いただいて意見いただければと思います。


Isolate networks for docker containers by challenge

Currently the code which generates the docker compose file does not specify any network configuration, which will result in all containers using the same network. This would result in challenges involving RCE to allow users to access any container on the network.

Solved in commit bae45d085703af1f442b6d792e604a421baf73b4


cli decrease the timeout for server reachable check

Is your enhancement related to a problem? Please describe.
Now CLI configured with an unreachable server takes a long time to timeout.
Need to decrease the timeout for server reachable check.

Environment

CLI version: 73e6ce88f4205e030d30ff4276e82d687c0ccdd0

Test Result:
When unable to connect to the server, about 20-second waiting period is required.
 ~/.walrus/ time walrus version
access https://walrus.tsfxwx.com failed
walrus version  0.05s user 0.03s system 0% cpu 20.202 total

Environment

Walrus version: main 4eef11db3efc80ce93bb17814e5e8fb822d75d45
UI version: dev-8ceaed8

Test Result:
The current response takes 10 seconds. The timeout duration can be further reduced.

This is caused by the office network(proxy).
Under the office network, could access the unreachable network.

After switching to the mobile network, couldn't access it, and the walrus cli response time is around 3 second

Environment

Walrus version: main 4eef11db3efc80ce93bb17814e5e8fb822d75d45
UI version: dev-94aee09

Test Result:

When the domain name cannot be resolved

 ~/seal/ time w version
clientVersion:
  version: main
  gitCommit: 4c1b4a42d2281ef308519aed71c0dac46cff6c87
  isDevVersion: true
walrus version  0.04s user 0.01s system 50% cpu 0.106 total

When the domain name can be resolved but cannot be connected

 ~/seal/ time w version
clientVersion:
  version: main
  gitCommit: 4c1b4a42d2281ef308519aed71c0dac46cff6c87
  isDevVersion: true
walrus version  0.04s user 0.01s system 1% cpu 3.058 total

When the address can be connected, but the Walrus service is inaccessible.

 ~/seal/ time w version
clientVersion:
  version: main
  gitCommit: 4c1b4a42d2281ef308519aed71c0dac46cff6c87
  isDevVersion: true
walrus version  0.04s user 0.03s system 0% cpu 10.143 total


Remove SkipLinuxAzSecPack from RP and Gateway VMSS

Which issue this PR addresses:
Fixes ARO6610
What this PR does / why we need it:
To remove SkipAzSecPack=true tag during the next release for security sprint.
Test plan for issue:
N/A
Is there any documentation that needs to be updated for this PR?
N/A
How do you know this will function as expected in production?
VMSSes will no longer have the tag.

/azp run ci


bug:Navbar issued resolved

Hey @Anureng, I left quite a few comments. These will have to be fixed before the PR can work.
Outside of the comments this is still an issue

The font sizes of the links do not match, the color is off as well.
Also if you look here, the menu is very far from the right side of the screen here. It needs to be closer to the side. This is how it is in your PR

This is how it was originally

Let me know if you have any questions.


flow_from_directory doesn't create enough batches

Hello I have an issue with flow_from_directory to yield enough data.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10

TensorFlow version (use command below): TF 2.5

Python version: 3.7

CUDA/cuDNN version: CUDA 11.2

GPU model and memory: GTX 1660 TI

Describe the current behavior
I wanted to yield data with flow_from_directory method. But it didn't work well.
Describe the expected behavior
I expected to have enough batches for my training.
Standalone code to reproduce the issue
` from tensorflow.keras import layers
from tensorflow.keras import models
from tensorflow.keras import optimizers
from tensorflow.keras.preprocessing.image import ImageDataGenerator
import matplotlib.pyplot as plt
import os
new_DS = r'C:\Users\lucas\Projets Code\ConvNet Dogs And Cats\cats_and_dogs_small'
train_folder = os.path.join(new_DS, 'train')
test_folder = os.path.join(new_DS, 'test')
train_datagen = ImageDataGenerator(rescale=1./255, rotation_range=40,width_shift_range=0.2,height_shift_range=0.2, shear_range=0.2, zoom_range=0.2, horizontal_flip=True)
validation_folder = os.path.join(new_DS, 'validation')
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(train_folder,target_size=(150,150),batch_size=32, class_mode='binary')
validation_generator = test_datagen.flow_from_directory(validation_folder, target_size=(150,150),batch_size=32, class_mode='binary')
model = models.Sequential()
model.add(layers.Conv2D(32, (3,3), activation='relu',input_shape=(150,150,3)))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(64, (3,3), activation='relu'))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(128, (3,3), activation='relu'))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(128, (3,3), activation='relu'))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Flatten())
model.add(layers.Dropout(0.5))
model.add(layers.Dense(512, activation='relu')) #provides learning features from all the combinations
#of the features of the previous layer
model.add(layers.Dense(1,activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer=optimizers.RMSprop(lr=1e-4), metrics=['acc'])
history = model.fit(train_generator, steps_per_epoch=100, epochs=100, validation_data=validation_generator,validation_steps=50)
model.save('cats_and_dogs_2.h5')
acc = history.history['acc']
val_acc = history.history['val_acc']
loss = history.history['loss']
val_loss = history.history['val_loss']
epochs = range(1,len(acc)+1)
plt.plot(epochs,acc,'bo', label='Training acc')
plt.plot(epochs, val_acc,'b', label='Validation acc')
plt.title('Training and validation accuracy')
plt.legend()
plt.figure()
plt.plot(epochs, loss, 'bo', label='Training loss')
plt.plot(epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.legend()
plt.show()
`
Other info / logs Include any logs or source code that would be helpful to
Here is what I got in my terminal :

To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2021-03-13 06:51:31.781669: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Device interconnect StreamExecutor with strength 1 edge matrix:
2021-03-13 06:51:31.792390: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1310]
2021-03-13 06:51:32.680059: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:176] None of the MLIR Optimization Passes are enabled (registered 2)
Epoch 1/100
63/100 [=================>............] - ETA: 22s - loss: 0.7003 - acc: 0.4875WARNING:tensorflow:Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least steps_per_epoch * epochs batches (in this case, 10000 batches). You may need to use the repeat() function when building your dataset.
WARNING:tensorflow:Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least steps_per_epoch * epochs batches (in this case, 50 batches). You may need to use the repeat() function when building your dataset.
100/100 [==============================] - 44s 418ms/step - loss: 0.6964 - acc: 0.4993 - val_loss: 0.7465 - val_acc: 0.5000

@LucasColas
Note that steps_per_epoch is the number of batches to consume in one epoch. You can omit it to enable the model to go through the whole dataset once every epoch. If steps_per_epoch is mentioned, make sure that you have atleast batch_size*steps_per_epoch*epochs number of individual samples in your dataset.
Hope this helps.

I use flow_from_directory so it generates batches of augmented data...

@LucasColas,
In order to expedite the trouble-shooting process, could you please provide the dataset you are using and all the files required to run the code. Thanks!

How can I send the dataset ? It's a very large folder

@LucasColas
Note that steps_per_epoch is the number of batches to consume in one epoch. You can omit it to enable the model to go through the whole dataset once every epoch. If steps_per_epoch is mentioned, make sure that you have atleast batch_size*steps_per_epoch*epochs number of individual samples in your dataset.
Hope this helps.

But flow_from_directory yields data indefinitely, right ?

@LucasColas
Yes, it is infinite, but its termination is handled by model.fit() and steps_per_epoch and epochs parameters. It throws an error when the data is iterated once. For more flexibility, I recommend using tf.data.Dataset.

It's not really useful, is it ?

How can I send the dataset ? It's a very large folder

@LucasColas,
If it's a publicly available dataset you can the link with us or you can also upload the dataset to Google Drive and share the folder with us. Thanks!


Case Tree for Non-Overlap Pattern Matching

The case tree can be used to speed up pattern matching.

Case trees can be used to:

Match in fms
Dismatch in oop


Add chunked transfer-encoding support

Adds support for conveniently sending requests with node-form-data using chunked transfer encoding.
This can be used in cases where the server supports chunked encoding and the content length of readable streams cannot be determined without buffering and will assist some users in working around issues like #90 until a permanent solution is found.
Usage
Two possible invocation methods can be used.
Custom Submit Option
form.submit({host: 'localhost', port: 80, path: '/', chunked: true}

Custom Header
customHeaders = {
  'transfer-encoding': 'chunked'
}
form.submit({host: 'localhost', port: 80, path: '/', headers: customHeaders}

Notes

Tests include a stream with an indiscernible length (HTTP response with chunked encoding itself).
Supports multiple, chained transfer codings as per RFC7230
chunked submit option will NOT overwrite other custom set transfer-encoding headers.

Closing this PR to fix some issues with support for Node 0.8 that came out of Travis.

I think we're ready to drop 0.8 support. It's time to include accumulated changes and release 1.0 without 0.8 support.

The only components failing in 0.8 are the tests. I've attempted to work around it but I feel the resultant code is very hacky. If you want to drop 0.8 support i'll reopen this when you're ready. :dancer:

Can you file PR against 1.0 branch? Thank you.


(docs): Move everything except Websites from Showcase into Resources

The Showcase page should only display Websites. Move everything except Websites into the Resources page.
Plan:

Move everything from Resources into Awesome Chakra UI
Fetch the Awesome Chakra UI repo and split the data
Websites go to the showcase.json file
Everything else goes to resources.json with the proper tags

Agreed, would make more sense. So the data will be fetched the the awesome-chakra-ui repo and the and resources.json file will be updated accordingly right?
P.S. - I can work on the issue if it is going to happen

Awesome! Thanks @AnishDe12020! Assigned this issue to you.

Ok, so the resources data and the showcase data have a completely different data structure. The resources data has 2 more fields -  tags, and author. Now, I am not sure how these can be obtained from the awesome-chakra-ui repository as the data is unavailable. The only thing that can be done is to make the aforementioned types optional. Should I do it that way? Also is the image necessary for resources? (because the resources page currently doesn't display any images)
Also, how should I be handling the existing data for resources?

@nikolovlazar How do we create resource data for now?

Hey sorry I didn't reply. How doable do you think it'll be if we added the awesome-chakra-ui links in the resources.json file? Keep the existing ones, just push additional ones from awesome-chakra-ui into it?
Regarding the Author, we can skip it (conditionally render the author label). Regarding the tag, we can add static tags, one for the group and one awesome-chakra-ui for example.
What do you think?

Hey sorry I didn't reply. How doable do you think it'll be if we added the awesome-chakra-ui links in the resources.json file? Keep the existing ones, just push additional ones from awesome-chakra-ui into it?
Regarding the Author, we can skip it (conditionally render the author label). Regarding the tag, we can add static tags, one for the group and one awesome-chakra-ui for example.
What do you think?

Sounds quite doable. Putting the old links on should be easy enough (I guess) but i didn't get the tags part. Is it like the new ones (ones from awesome chakra ui) will have the 'awesome-chakra-ui' tag? Also, just popped into my mind, we can add the existing things in resources.json into awesome chakra ui.
PS - i am on vacation now, will probably work on it next week

Sounds right, @AnishDe12020! Here's the plan:

Move everything from Resources into Awesome Chakra UI
Fetch the Awesome Chakra UI repo and split the data
Websites go to the showcase.json file
Everything else goes to resources.json with the proper tags

Are you still interested in working on this issue?

Sounds right, @AnishDe12020! Here's the plan:

Move everything from Resources into Awesome Chakra UI
Fetch the Awesome Chakra UI repo and split the data
Websites go to the showcase.json file
Everything else goes to resources.json with the proper tags

Are you still interested in working on this issue?

Umm, I am a bit busy with other stuff now, I am unassigning myself. If I get time later on and no one else is working on it, I will do it.

That's okay @AnishDe12020!

Hi,  Can I work on this?

I have questions about the tags of the resources page as well.
How are these tags selected now? Is there a list of tags to choose from？
for example   "Vite", "Advanced", "Theming", "v1.6"
I'm not sure how to tag data from showcase and Awesome Chakra UI

We have no specific system to allocate tags to resources. They mostly highlight the main topics of the resource. There is no right or wrong here :)
Just add them as you think is fitting ;)

A recent refactor makes this issue redundant. We've deprecated the Awesome Chakra UI repo, and only display certain websites in the Showcase section.


B350 PC Mate Unable to disable all lighting & colors confused

Heya,
so the tool does work on my B350 PC Mate, complete with scripts, breathing, flashing and everything but the colors seem to be weird.
For one, I can not turn them off completely. My mainboard LED turns off but my RGB fan (The one connected to the actual header. A cooltek 120 Silent RGB.) only dims down. Strangely enough, it dims down to a pure red color.
Furthermore, all colors seem to kind of have a red touch to them. Setting it to black gives red, setting it to blue gives purple, etc.

The board is running a Nuvoton NCT6795D-M  (ISA A20h) super I/O chip which might handle things slightly differently. I'd love to contribute to this project if you could point me in the right direction on how to research my chip, otherwise I shall investigate on my own.

Here's a screenshot of Super I/O when set to 0,0,0. Step duration: 511 Breathing mode: Disabled Flashing Speed: Disabled

Actually, that one is all disabled. The only difference between that and applied is F0 in E4 tho.

Interestingly enough, if I connect an RGB LED strip, that one turns off completely, while the rgb fan (connected directly to the header) keeps cycling between a low red dim and a slightly less bright red dim (if cycling between two colors was previously selected in the program.)

Hi, you ever solved this?

Interestingly enough, if I connect an RGB LED strip, that one turns off completely, while the rgb fan (connected directly to the header) keeps cycling between a low red dim and a slightly less bright red dim (if cycling between two colors was previously selected in the program.)

At this point, I believe the fan itself might just be unable to shut down completely, since the LED strip receives the correct signal. I had another issue with a bad PCI-E riser cable wrecking havoc on the NVIDIA driver so that took up most of my attention lately. You can consider this issue resolved. Program works as expected on a B350 PC Mate.


Feat/rename hostname to host friendly name

Renaming the variables in the code to improve readability.
Thank @h-alice for inspiring me.
I pull https://github.com/NatLee/telepy/pull/27 in the first, so it may show some codes with commits of the first login HTML. :(

@h-alice please review again, thanks! :3


Dev/newdocs

Specifically, the use of "port" for the environment variables in the examples that contain lines such as this one:
if (!process.env.clientId || !process.env.clientSecret || !process.env.port) {
Please change "port" to the more commonly used "PORT" variable.
the above change will be implemented.

You should make changes off the master branch, the newdoc branch was just an experiment on my end.


Need help with migration of Liquigraph postconditions

Is it possible to convert a Liquigraph changelog XML to a Liquibase XML without using a live database?
We have several postconditions which include a query.  Could you please let us know how to convert this?
Thank you,
Andrew

Hey @andrewjroth, thanks for the report (I somehow missed it before!).
Can you post the change set(s) with the post conditions?

Do you have instructions on how to manually migrate?

@andrewjroth would you be able to share the change sets here or by email (first name dot last name at neo4j dot org)?

For the record, we managed to solve the issue by rewriting each Liquigraph change sets defining post-conditions with queries leveraging APOC (in that case: apoc.nodes.delete for batch node deletion), since APOC was already used for other migrations.


updated to point to ccd def for PRL-1020

JIRA link (if applicable)
pull request to point to ccd PR
Change description
pull request to point to ccd PR
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ X] No

Closing this  as no longer required


protobuf: a test case to reproduce a bug on labels

Fixes https://github.com/prometheus/client_rust/issues/124

I have added a test case to reproduce https://github.com/prometheus/client_rust/issues/124. I was looking into this but couldn't find how to fix. 😓

Code is a bit hard to get due to lack of documentation / generic names. Based on the text::MetricEncoder field family_labels, I assume the protobuf::MetricEncoder labels are also meant to be shared labels.
So if I add this diff
diff --git a/src/encoding/protobuf.rs b/src/encoding/protobuf.rs
index f40338b..d1f58b2 100644
--- a/src/encoding/protobuf.rs
+++ b/src/encoding/protobuf.rs
@@ -193,6 +193,7 @@ impl<'a> MetricEncoder<'a> {
         &'b mut self,
         label_set: &S,
     ) -> Result<MetricEncoder<'b>, std::fmt::Error> {
+        self.labels.clear();
         label_set.encode(
             LabelSetEncoder {
                 labels: self.labels,
@@ -563,7 +564,7 @@ mod tests {
         family
             .get_or_create(&vec![
                 ("method".to_string(), "GET".to_string()),
-                ("status".to_string(), "200".to_string()),
+                ("status".to_string(), "404".to_string()),
             ])
             .inc();

@@ -591,7 +592,7 @@ mod tests {
         assert_eq!("method", metric.labels[0].name);
         assert_eq!("GET", metric.labels[0].value);
         assert_eq!("status", metric.labels[1].name);
-        assert_eq!("200", metric.labels[1].value);
+        assert_eq!("404", metric.labels[1].value);

         match extract_metric_point_value(&metric_set) {
             openmetrics_data_model::metric_point::Value::CounterValue(value) => {

the test you added gets the correct metric labels, but the test encoding::protobuf::tests::encode_counter_family_with_prefix_with_label misses the prefix label.
So I think the problem is that the "family" labels are being populated with normal labels somewhere, can't point to where yet

I'm not fully sure if I understand current implementation, we should separate labels to e.g. const_labels and family_labels like text encoding? @mxinden How do you think? 🙏

@divagant-martian proposal above, namely to clear() the self.labels on a call to encode_family sounds good to me. This is inline with what the text encoder does, namely to override any existing family labels:
https://github.com/prometheus/client_rust/blob/9141c118d3c2194c841edca9219dab6d00a19a81/src/encoding/text.rs#L210
@ackintosh would you mind applying the suggestion from @divagant-martian?

I have applied the suggestion but the encode_counter_family_with_prefix_with_label test fails. 🤔
https://github.com/prometheus/client_rust/actions/runs/3958633415/jobs/6780437752#step:9:575

---- encoding::protobuf::tests::encode_counter_family_with_prefix_with_label stdout ----
thread 'encoding::protobuf::tests::encode_counter_family_with_prefix_with_label' panicked at 'assertion failed: (left == right)
left: 3,
right: 2', src/encoding/protobuf.rs:645:9

I said this test would fail in my comment

the test you added gets the correct metric labels, but the test encoding::protobuf::tests::encode_counter_family_with_prefix_with_label misses the prefix label.
So I think the problem is that the "family" labels are being populated with normal labels somewhere, can't point to where yet

So what I think should happen is that this field should be empty in the new test since none of the labels are shared, but populated with the prefix label in the second test. Still don't know where this change should be done tho

Yeah that is why I said we might want to const_labels and family_labels like text encoding in my comment.

@mxinden @divagant-martian The bug should have been fixed, please have a look. 🙏

I have added a doc for encoding::protobuf::MetricEncoder for now. 🙂

Thanks for the help here @ackintosh and @divagant-martian!

@mxinden Could you please cut a new release? I'm thinking of including this fix in rust-libp2p.

friendly ping @mxinden for whenever you have the time or if you are waiting on important changes for a release :black_heart:

Sorry for the delay. Tagged and published with https://github.com/prometheus/client_rust/pull/133.


Error when modules depend on each other

I have this situation:
File /com/a/A.ts
/// <reference path='../b/B.ts' />
module com.a {
    import B = com.b.B;

    export class A {
        constructor() {
        }

        test() {
            console.log("Test A");
            var b = new B();
        }

        test2() {
            console.log("Test A2");
        }
    }
}

function executeApp() {
    var c = new com.a.A();
    c.test();
}

File /com/b/B.ts
/// <reference path='../a/A.ts' />
module com.b {
   import A = com.a.A;

    export class B {
        constructor() {
            console.log(A);
            var a = new A();
            a.test2();
        }

        test() {
            console.log("Test B");
        }
    }
}

OUTPUT IS:
var com;
(function (com) {
    var b;
    (function (b) {
        var A = com.a.A;
        var B = (function () {
            function B() {
                console.log(A);
                var a = new A();
                a.test2();
            }
            B.prototype.test = function () {
                console.log("Test B");
            };
            return B;
        })();
        b.B = B;
    })(b = com.b || (com.b = {}));
})(com || (com = {}));
var com;
(function (com) {
    var a;
    (function (a) {
        var B = com.b.B;
        var A = (function () {
            function A() {
            }
            A.prototype.test = function () {
                console.log("Test A");
                var b = new B();
            };
            A.prototype.test2 = function () {
                console.log("Test A2");
            };
            return A;
        })();
        a.A = A;
    })(a = com.a || (com.a = {}));
})(com || (com = {}));
function executeApp() {
    var c = new com.a.A();
    c.test();
}
//# sourceMappingURL=compiled.js.map

There is error "Uncaught TypeError: Cannot read property 'B' of undefined"
Possible simple solution is to render imports:
var B = com.b.B;

As function:
var B = function() {
         com.b.B;
}

And all new keywords:
var a = new A();

With:
var a = new (A())();

Than it works.
I test this in console of browser (or onload method):
executeApp();

With this solution its not necessary to do any ordering in output file and no need for references. Is this acceptable solution?
Final output would than be:
var com;
(function (com) {
    var b;
    (function (b) {
        var A = function() {return com.a.A};
        var B = (function () {
            function B() {
                console.log((A()));
                var a = new (A())();
                a.test2();
            }
            B.prototype.test = function () {
                console.log("Test B");
            };
            return B;
        })();
        b.B = B;
    })(b = com.b || (com.b = {}));
})(com || (com = {}));
var com;
(function (com) {
    var a;
    (function (a) {
        var B = function() {return com.b.B};
        var A = (function () {
            function A() {
            }
            A.prototype.test = function () {
                console.log("Test A");
                var b = new (B())();
            };
            A.prototype.test2 = function () {
                console.log("Test A2");
            };
            return A;
        })();
        a.A = A;
    })(a = com.a || (com.a = {}));
})(com || (com = {}));
function executeApp() {
    var c = new com.a.A();
    c.test();
}
//# sourceMappingURL=compiled.js.map

I would consider using external modules with the new ES6 import/export syntax, which the compiler would rewirte the property access to ensure circular depencies are meet.
// module a.ts
import {readA} from "./b";
export var a = 1;
console.log(readA()); // 1
a++;
console.log(readA()); // 2

// module b.ts
import {a} from "./a";
export function readA() {
    return a;
}

This means I can use ES6 import syntax and code compilers to ES5 or am I than relying on ES6?
What is browser support for ES6 (IE specially)?

Hey @pofuk, you can use ES6 module syntax and you'll still be able to target ES3/ES5 using CommonJS or AMD modules.
Browser support is solely dependent on whatever module loader you can use. RequireJS has support extending as far back as IE6, so you can use ES6 module syntax and still target older browsers by adding the --module AMD flag when you compile.

If I got things clear than I have to use external modules and I cant use module keyword for code organization, i have to specify paths to files... This are all reasons that make coding complicated and harder to maintain.
I think compiling in single file is basic functionality that should work.
I think this is bug, not suggestion.
I only suggested possible solution and issue is bug.

Hi,
i want to add, that for us this is also problem. We have larger projects and compiling them into on js file, but then we have to manage the ordering for our modules (resp. namespaces).
I think collecting all namespaces during the compilation and put them as empty object into the beginning of the outputting js file, will solve this issue.
Minimal example of the error condition:
namespace A {
import b = B;
export function errorFn() {
	console.log(b.member);
}
}

namespace B {
export var member = 1;
}

A.errorFn() // Uncaught TypeError: Cannot read property 'member' of undefined

Because the import b=B will import an undefined and the later definition of B has no effect to this.
Creating empty B object in the beginning will solve this.
var B = {}
namespace A {
import b = B;
export function errorFn() {
	console.log(b.member);
}
}

namespace B {
export var member = 1;
}

A.errorFn() // Works like charm

Any comments to this?
Kind regards,
Timo

@Kinchkun this looks like a separate issue; and the solution for one does not really fix the other, although we probably should error in both cases. i would log this issue in a different suggestion to make sure it is not lost.

Simple solution in emmiter.ts:
function emitJavaScript(jsFilePath: string, root?: SourceFile) {
      ....
      var importsEquals: Array<string>;
      ...
}

      ...
      function emitNewExpression(node: NewExpression) {
      ....
             else {
                    var text = (<any>node.expression).text;
                    var isImport: boolean = containsNode(text, importsEquals);
                    if (isImport) {
                        write("(");
                    }
                    emit(node.expression);
                    write("(");
                    write(")");
                    if (isImport) {
                        write(")");
                    }
                    if (node.arguments) {
                        if (isImport) {
                            write("(");
                            emitCommaList(node.arguments);
                            write(")");
                        } else {
                            emitCommaList(node.arguments);
                        }

                    }
                }
            }

            function containsNode(node: string, items: Array<string>) {
                for (var i in items) {
                    if (items[i] == node) {
                        return true;
                    }
                }
                return false;
            }

      ...
      function emitImportEqualsDeclaration(node: ImportEqualsDeclaration) {
                  ....
                  if (isExported) {
                        write(`${exportFunctionForFile}("`);
                        emitNodeWithoutSourceMap(node.name);
                        write(`", `);
                    }

                    importsEquals.push(node.name.text);
                    emitModuleMemberName(node);
                    write(" = ");
                    write("function() { return ");
                    emit(node.moduleReference);

                    if (isExported) {
                        write(")");
                    }

                    write("};");
                    emitEnd(node);
                    emitExportImportAssignments(node);
                    emitTrailingComments(node);

Another solution is much more simple:++
import B = com.b.B;

as
var B = __import("com.b.B");

and at beggining of file emit
var __import = function(importString) {
    // something like __extend
}

Please please fix this or at least mark issue as Milestone == Community to I can subimt fix  because this is really annoying that we have to use fully moduleName.clasName syntax everywhere.

+1 Feeling the same pain

FWIW, the second variant of the problem just happened to me.  I'm still using namespaces in my app because it's convenient to have multiple files contribute to the same namespace and reference definitions exported from the other files without qualification; so far the ordering issues have been manageable and I just don't see how making the ordering issues go away is worth all the boilerplate of ES6 imports and/or qualified references.  I'll believe that I should migrate to ES6 modules when I see the TypeScript compiler implementation do it.
But the suggested workaround of forcing the creation of the namespace isn't any worse than any of the other ordering workarounds I've used so far, so from that point of view, it isn't necessary to do anything more than ensure the issue report is easy to find.  var B = {} gave me a "Duplicate identifier" error and namespace B {} was removed by the compiler because it had no runtime effect, but
namespace B { (() => 0)(); }

worked.

This has tripped 34 people up on Stack Overflow:
https://stackoverflow.com/a/59665223/21115

This has tripped 34 people up on Stack Overflow:
https://stackoverflow.com/a/59665223/21115

This has tripped 34 people up on Stack Overflow: https://stackoverflow.com/a/59665223/21115

85 now
I was stuck for one hour by this... 😅

Ooh, I just got the silver 'Booster' badge 🥈  for this.

Share a link to a post later visited by 300 unique IP addresses.

SO answer now has 121 upvotes.
My thoughts go out to all those who've struggled 💙

OP is about namespaces, not modules in the modern parlance. Closing as declined suggestion


feat: new repositories install hooks

As described in https://typicode.github.io/husky/#/?id=install, this script will make sure that developers will also receive the necessary hooks for having features like commit linting.

@svatwork can you keep working on this? I see your suggestions are based on the new v5, where they don't use auto-install We are using v4 configuration (and install I presume). I wouldn't mind if this PR is used to upgrade to v5 and add the exclusion logic to NOT install the hooks in CI.

Yes, sure.

I just tried a fresh npm install husky and see it installs @v4.3.0. So lets forget it for now.


Build project with gulp and npm

hi @dmonad , sorry for this. I accidentally created a PR to your original repo.
Thanks for the response. We've forked the repo as advised and published the fixed version on our end. Although we are still checking if there will be no issues from there. Hope that's alright.
cc @sarahm7


ENV VAR for client-go scheme registration version

This is a fix for anyone who is consuming the kubevirt client-go package and encounters the "multiple group-version-kinds associated with type *v1.KubeVirt, refusing to guess at one" error when using the controller-runtime packages.
Example. export KUBEVIRT_CLIENT_GO_SCHEME_REGISTRATION_VERSION=v1alpha3 would cause only the v1alpha3 api to be registered when using our KubeVirt v1 client-go package.
The larger issue here is KubeVirt is not generating it's client go using the standard client-gen tooling, which is why we end up in odd scenarios like this. While this workaround with the env var should unblock us now that we have both v1 and v1alpha3 apis supported, our long term approach should be to transition to something that is compatible with client-gen. This will take some time though.
KUBEVIRT_CLIENT_GO_SCHEME_REGISTRATION_VERSION env var for specifying exactly what client-go scheme version is registered

/retest

/retest

/approve
/hold
/cc @nunnatsa
/cc @tiraboschi
giving this a hold until one of you confirms that this works for HCO.

/approve
/hold
/cc @nunnatsa
/cc @tiraboschi
giving this a hold until one of you confirms that this works for HCO.

/hold cancel

/hold cancel

/cherrypick release-0.36

/cherrypick release-0.36

/cherrypick release-0.37

/cherrypick release-0.37


Problem: sequence counters do not get replicated

From Postgres documentation on restrictions of logical replication
Sequence data is not replicated. The data in serial or identity columns
backed by sequences will of course be replicated as part of the table,
but the sequence itself would still show the start value on the
subscriber. If the subscriber is used as a read-only database,
then this should typically not be a problem. If, however, some
kind of switchover or failover to the subscriber database is
intended, then the sequences would need to be updated to the
latest values, either by copying the current data from the
publisher (perhaps using pg_dump) or by determining a
sufficiently high value from the tables themselves.

Solution: prefix local counter values with a node id / system identifier
This way each replica maintains its own counters but IDs are prefixed with the node's identifier.
This is somewhat less efficient as it stores and allocates a bit more data.
The implementation is not perfect and is not grealy optimized yet. At the very least, there's potential for packing smaller pairs that fit into Datum into passing by values instead of pointers.
As part of this commit, I've added Jinja library wrapper that is used to (manually) generate heaps of repetitive code. This is not automated yet as doing this with CMake was too much of a rabbit hole for the time being. In the initial implementation, I was doing all the initialization using C API (to accommodate the repetitivesness), but it was getting large and not very easy to follow, so I had to go back to defining it in C.

I have a concern about the prefix_seq structure. Depending on the sizes chosen, it may have padding, which means it'll waste some space when stored.
Options:
Let it waste space
Keep it as is and understand the wastage. You only incur it if you use unequally sized pairs.
Make it a packed structure
This may be slower to work with on architectures that allow this and an exceptional situation (crash) on others.
Measure performance differences and cautiously allow packed structures on platforms that allow this?
It gets trickier with the internallength setup from SQL. I would need to revert setup method from SQL back to C.
Maybe introduce a prefix_seq_int16_int32_packed type? Again, perhaps only on architectures that would not have a problem with non-aligned offsets.
Remove pairs that get padded
The pairs are:
16:32, 16:64, 32:16, 32:64, 64:16, 64:32
This leaves us with the following:
16:16, 32:32, 64:64
(equal sizes only)
Bonus: remove all but one pair (64:64?)
Fix the size to 128 bits
Effectively, always size for 64:64. It wastes space for anything below 64:64 but provides a very theoretical opportunity for changing the type on the fly (though practically will likely require updating old rows)

I also don't love prefix_seq naming. I don't like the name itself ("prefix_seq") and the lack of brevity in the naming schema: prefix_seq_int16_int32
For the schema, maybe other names can be used?

int16 -> small, int32 -> int, int64 -> big
int16 -> smallint, int32 -> int, int64 -> bigint
int16 -> s, int32 -> i, int64 -> d

int16 -> s, int32 -> i, int64 -> b

1 and 2 are not much shorter or better. 3 and 4 are definitely cryptic.
prefix_seq_sb is shorter than prefix_seq_int32_int64 but to somebody who doesn't know, it is indecipherable.
As for the name itself, other options:

omni_seq.seq
pseq (prefixed)
dseq, distseq or dist_seq (distributed)
omni_seq (omni-present sequence)
shardseq or sharded_seq (sharded sequence)

So far, omni_seq (or, fully-qualified omni_seq.omni_seq) is interesting because it kind of indicates that this sequence can be everywhere throughout the network cluster.

With regard to alignment/packing issue, I think this is what I am going to try:

Make the structure packed
Reorder prefix and val fields by their size. The biggest one goes first and is always self-aligned.
Static assertion will check that the second field (and, for uniformity, the first one) is self-aligned by checking that its offset can be divided by its alignment
Static assertion will check that the struct is sized as a sum of its sizes.

The reordering and packing here should ensure that no trailing padding is done as we're not going to use stride addresses (we're not going to put these structures into an array)

Another concern here is that the syntax of making a column use omni sequence is verbose and requires a pre-created sequence.
It's not exactly a show-stopper, but if it can be made better, then it should be.

Perhaps the concept should not be called " sequences", because sequences are still the same (local sequences), but perhaps " identifier"?

"prefixed identifier"
"distributed identifier"
"omni identifier"


I'm trying to add cpr to wrapdb

Hello,
I'm trying to add cpr to wrapdb. Can you make a repo so I can fork it and push the changes.
Library: https://github.com/whoshuu/cpr
Fork with meson.build that I currenty include in my project: https://github.com/riemass/cpr
Something I created on my local account for test: https://github.com/riemass/cpr-meson-wrap
Also, before pushing to your repo I'm planning on adding version and licence information to meson.build files.

Which version are you planning on wrapping? Must be an official release, as wrapdb does not support "git head" releases or the like.

I've succeeded in wrapping the 1.3.0 version of the project, as that is the most recent tagged version.

Thanks, created.


98 Query Index - write index table and journal stream progress

Only had a few questions regarding asynchronous index writes and its continuation. I also find asyncWriteMessages and batch writing details a bit hard to understand, but as you said, that's a POC and refactorings come later. Hence LGTM. Thanks for your ongoing effort and good work. Cheers!


⚠ Bofrost.fr has degraded performance

In 96377c0, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 883 ms

Resolved: Bofrost.fr performance has improved in bef454d.


Exclude by item name

What do y'all think about the option to exclude by item name? (assuming it's possible)
<include path="/foo">
    <exclude name="__Standard Values" />
</include>

It'd snip off any child (trees, if it had children) that had that name - including descendants
could allow regex for that, since it's a match on name

Final syntax:
    <!--
		NAME PATTERN: Exclude items whose name matches a regex pattern
		NOTE: children of items whose name matches the pattern will also be excluded
		NOTE: regex is case-insensitive (as Sitecore names are case-insensitive)
	-->
	<include name="Name pattern" database="master" path="/sitecore/namepattern">
		<exclude namePattern="^__Standard values$" />
	</include>


Added support for Spark streaming stateful processing

Please add a meaningful description for your change here
fixes #33237
This PR contains these changes

added support for Spark streaming stateful processing

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

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

Run Java PreCommit

R: @kennknowles

Ah can you add a small change to these files, which will cause the ValidatesRunner tests for stateful processing to run?

https://github.com/apache/beam/blob/master/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_Spark.json
https://github.com/apache/beam/blob/master/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_SparkStructuredStreaming.json
https://github.com/apache/beam/blob/master/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_Spark_Java8.json

I don't know the codebase enough at this point to know what is the sharing between the things tested by these jobs.
(incidentally there is a _Java11 trigger file in that directory but the job is gone since 11 is now the default and it is the Java 8 test that is the outlier)

@kennknowles
i touched trigger files!
Thanks!

Run Java_Spark3_Versions PreCommit

@kennknowles
Hi!
Just wanted to give you a gentle ping about my PR as I've been waiting for a review 😊
Would really appreciate your insights when you have a moment.
Thanks a lot!

Acknowledged! I'm on it.


App get crash in some devices when upload an image from camera

I debug the app and the problem occurs here:
Caused by: java.lang.NullPointerException at com.ltapps.textscanner.MainActivity.onActivityResult(MainActivity.java:126)
line number 126 contains:
nextStep(selectedImageUri.toString());
So, it means that selectedImageUri  is null.

The real problem was the image is very big and it cant be upload, so the crop library offers a function setImageUriAsync(uri) that fix the problem.
I tried again and it worked.


May I Share a New Project Based on Your Creation?

Hello,
I've been using your project for my studies and find it extremely helpful. I'm planning to create a new project and share it on GitHub. I've checked the license, which allows for replication, but I wanted to ask for your permission before proceeding.
I appreciate your work and believe sharing my project would contribute to the open-source community. Please let me know if you grant me permission.
Thank you

Sure! Glad that you find it helpful! Please feel free to go ahead!


Short solution needed: "How to generate UUID" (lua)

Please help us write most modern and shortest code solution for this issue:
How to generate UUID (technology: lua)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

How to generate UUID


Feature Request: Recon after superman installation and updates

Hey, thanks for your work on superman.
I'm deploying through Jamf. Documentation says it's not recommended to run a recon (jamf inventory) in the same policy as superman.
I know superman already run recon after a macOS update/upgrade. However, I would like to have superman running a recon after superman installation (first superman install or superman update).
Thanks !

I will not be adding this feature to super because the choice to run a Recon at the end of a Jamf Pro Policy is best handled via Jamf Pro directly.
However, I have updated the Wiki to clarify the issue. The new text reads...
"Avoid adding an inventory collection to your super Policy if you have also enabled the "Collect available software updates" option in the Jamf Pro inventory collection settings. This is to prevent an issue where the softwareupdate process hangs when multiple processes (the jamf binary and super) are simultaneously asking for a list of updates."
In other words, it's fine to include a Recon in your super deployment Policy as long as you DON'T also have the "Collect available software updates" option enabled. Given that the Jamf Pro Patch Management titles are a significantly better method to track available updates, you shouldn't have this inventory collection option enabled anyhow. Then, you can run as many Recons as you want without interfering with softwareupdate or super.

Yep that's what we did in the end. Thanks !


Investigate messages failing to appear via local echo unexpectedly.

We have two reports (one from myself) of messages sometimes failing to appear at all immediately after being sent.
There's a potential explanation for such behavior as an extremely rare event to have happen on poor network (basically where an HTTP request hangs), but given that both reports involve a high quality network, that seems unlikely to be the explanation here, so this deserves deep investigation.
See https://chat.zulip.org/#narrow/stream/9-issues/topic/local.20echo.20issue/near/1458364 for the investigation so far.

Based on the investigation so far, this seems to be quite rare, likely not a regression in the implementation (the relevant code paths appear to have been stable for more than a year) and also not something we can figure out a reproduction recipe for that doesn't involve a networking hang. Adjusting its priority tags based on that.


Handle OAuth errors properly

I've found a case that doesn't match the error message handling scenarios that we currently have. When getting the OAuth access token, if you provide an incorrect secret you will get an error. The response is a 400 JSON response, however it doesn't include a message in the returned object:
#<HTTParty::Response:0x7fadab21aab0 parsed_response={"error"=>"invalid_request", "error_description"=>"Incorrect authorization credentials"}, @response=#<Net::HTTPBadRequest 400 Bad Request readbody=true>, @headers={"server"=>["nginx"], "date"=>["Sat, 23 Apr 2016 13:59:34 GMT"], "content-type"=>["application/json; charset=utf-8"], "transfer-encoding"=>["chunked"], "connection"=>["close"], "status"=>["400 Bad Request"], "x-ratelimit-limit"=>["30"], "x-ratelimit-remaining"=>["29"], "x-ratelimit-reset"=>["1461423574"], "cache-control"=>["no-cache"], "x-request-id"=>["e4a75b48-5a97-43cf-9be7-8a4a43f68589"], "x-runtime"=>["0.065750"]}>

The response is structured this way to complain with the OAuth RFC so we should be able to handle this case in the client too.

That's correct. In the Go client I already patched it as we spotted this issue while working on one of the addons.
https://github.com/aetrion/dnsimple-go/commit/ce4241ee6b4fbbe9e3b106527c8e5a19d783e2e4
So far, all the clients have two methods: a low level request method that performs the http request and wraps the HTTP client, and an higher level method that performs the request and performs some essential validations.
To solve this issue, the approach I used is to bypass the high level method for this endpoint, and handle the error directly. I think we can follow the same approach in the Ruby client as the request method is already an abstraction over the HTTP client.


408 - Refresh queries after giving

Fixes #408
Creator

[ ] Build relevant tests if any apply
[ ] Ensure there are no new warnings
[ ] Upload an animated GIF showcasing the solution (if it applies)
[ ] Set a relevant reviewer

Reviewer

[ ] Run test and make sure all tests pass
[ ] Review function and form on iOS
[ ] Review function and form on Android
[ ] Review function and form on Web
[ ] Review new test logic

@burkeshartsis @conrad-vanl @IsaacHardy This is really more for discussion at this point I think. I'm not certain about what is going on here. Initially, I thought I could just remove the hasQueryParams check around the setPaymentResult call that re-fetches the queries, but it turns out that the setPaymentResult function isn't really happy with "undefined" success and error params. The gift would still go through, but it showed the "Uh Oh!" screen. So I had to set those when hasQueryParams is false.
So...this seems to work. When I go back to the Dashboard after giving the updated data is there. Is there a better way to do this? What am I missing?

Lets let @Lepozepo review this

Ah, I see the problem. The issue is specific to Android and web (because both finish checkout within the same "session"). The logic on PaymentComplete in master is right, the one that's wrong is the one in PaymentConfirmationForm that is also calling setPaymentResult but without the refetch flag set to true. I don't think refetching should be optional for this function so I'm removing that (the dev should not need to know to refetch)

Also this PR was trying to JSON.parse error which returns an error.message string and cannot be parsed (causing the app to crash). Let me double check that is not the case anymore :D

Mmm, there may be a deeper issue here though. The server is responding correctly but the array the component is catching is sometimes doesn't have the new transaction (almost like the client is returning a cached response if you browse away from the success page too quickly). Looking through it.

I think the deeper problem is we can't await for refetch to finish as described here and it seems subsequent re-renders are messing up the internal state in the graphql decorators instance even though the network is returning the correct results. The temporary fix could be setting a pollinterval to ensure results are always fresh but that's pretty inefficient on the server. I'll try recalling setResults again on the confirm screen, it seems that was obscurely fixing the issue ^_^.

:'( nvm, the issue can still occur. I'll set the query to poll instead.

Should be good to go now but I think there's more we can do to make this more efficient later on.

@conrad-vanl let me know what you think ^_^

@conrad-vanl That sounds good. I cannot think of a better place to poll.


Training/testing only layers?

I am now trying to implement the paper:
https://arxiv.org/abs/1604.02878
which detects faces and regresses their bounding boxes at the same time.
For BB regression, I use L_2 distance metric based loss, but in testing I want to use different evaluation metric rather than simply using L_2 distance. For that I want to use some intermediate layers within the network but I found that I can only use the outputs from get_outputs() function in evaluation. Caffe, for instance, has the "phase" keyword so that the network structure can vary between training and testing phases. Dose mxnet have a similar functionality?

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Develop n_plot to accept arithmetic expression

Add functionality for addition using '+' in nplot. For example, the input
argument a+b should count the occurences of a AND b.

Incorporated into https://github.com/learningsimulator/learningsimulator/issues/103


ScrollTo doesn't dispatch an scrollStart event

When using the scrollToElement, you don't receive a scrollStart event, only a scrollEnd event. You should add this._execEvent('scrollStart') to the scrollTo function.

Still an issue. Doesn't dispatch a scrollEnd either.