Glam-props (like styled-props) ?

There is already a good explanation about the utility of this lib here
I found this very useful with styled-components and I would like to do it for glamorous too.
The problem is that glamorous don't support functions as rule values like this :
let MyDiv = styled.div({
   color: 'red',
   fontSize: props => props.big ? '20px' : '10px',
})

So it's not possible to do the following
let MyDiv = styled.div({
   color: 'red',
   fontSize: glamProps(styles.fontSize)
})

So I did it by passing an object instead
const styles = {
  size: {
    big: 30,
    medium: 21
  },
  lineHeight: {
    big: 30,
    medium: 24
  },
  fontFamily: {
    primaryFont: globals.font.title,
    secondaryFont: globals.font.heading
  },
  color: {
    default: globals.color.black,
    reverse: globals.color.white
  }
}

const Title = glamorous.text(
  glamProps({fontSize: styles.size, default: 'size'}),
  glamProps({lineHeight: styles.lineHeight, default: 'lineHeight'}),
  glamProps({fontFamily: styles.fontFamily, default: 'fontFamily'}),
  glamProps({color: styles.color, default: 'color'})
)

Title.defaultProps = {
  color: 'default',
  size: 'big',
  lineHeight: 'big',
  fontFamily: 'primaryFont'
}

And here is glamProps function
export default obj => props => {
  const objKey = Object.keys(obj)[0]
  const map = obj[objKey]
  const keysFromProps = Object.keys(map).filter(key => props[key] !== undefined)

  const keyFromProps = keysFromProps[0]
  if (map[keyFromProps]) {
    return { [objKey]: map[keyFromProps] }
  }

  const fallback = Object.values(obj)[1]
  if (fallback) {
    if (props[fallback] && map[props[fallback]]) {
      return { [objKey]: map[props[fallback]] }
    }
  }
}

My question is the following : is this useful ? Is there a better way to do it ? What if I want to use theme variables :( ?
How do you guys handle that kind of glamorous components when dealing with a lot of css properties modified by props ?
<Button primary small />
<Button secondary big />

Hey @bulby97, looks like a fairly handy helper method.
You could setup a useGlamProps helper method to be passed to a glamorous component factory which would then allow you to write something like follows and follow the existing styled-props style of writing css-in-js.
const MyDiv = styled.div(
    ...
    useGlamProps((glamProps) => ({
        fontSize: glamProps(styles.size)
    }))
)

I've setup a codesandbox example with useGlamProps that shows how this would work.
If you do end up using this pattern and turning it into a package please let us know as it would be great to add it to the integrations section on the new website!
At my workplace we've built some internal helpers to achieve something similar. See below for some non working example code that demonstrate how it works.
const theme = {
    // this is used by createComponentTheme to select component theme
    'toplevel-theme-key': 'toplevel-theme-key-value',

    font: 'Sans',
}

// the toplevel-theme-key-values accept either an object or a function which has props similar to glamorouses interface.
const componentTheme = createComponentTheme({
    'toplevel-theme-key-value': (props) => ({
        fontWeight: props.large ? 600 : 400,
    }),
    'toplevel-theme-key-othervalue': {
        fontWeight: 500,
    },
})

const MyDiv = glamorous.div(
    { /* static styles */ },
    // theme is the glamorous theme passed to the glamorous component factory argument
    productTheme((theme) => ({
        fontFamily: theme.font,
    })
    // theme is based on the current product theme and selects the component theme above
    componentTheme((theme) => ({
        fontWeight: theme.fontWeight,
    })
)

const Component = () => (
    <ThemeProvider theme={theme}>
        <MyDiv large>
    </ThemeProvider>
)

Thanks for that @luke-john!
Another thing to consider is that even though glamorous doesn't support inline functions, it does support something like this:
const MyDiv = glamorous(
  {color: 'red'},
  props => ({fontSize: props.big ? 20 : 10}),
  // ... add as many of these as you like
)

Not quite as ergonomic, but if you're building helper functions (like with styled-system) it actually looks quite nice:
import { space, width, fontSize } from 'styled-system'

const Box = glamorous.div(space, width, fontSize)

Oh, also:

If you do end up using this pattern and turning it into a package please let us know as it would be great to add it to the integrations section on the new website!

That would be awesome. You could also add it as an example if you'd rather not worry about making it into a package.
I think that this is as far as we'll go in glamorous though, so I'm going to go ahead and close this. Please feel free to continue to comment and if you have any suggestions, we can reopen and discuss :smile:

Thanks guys !

@luke-john Will do !
What do you think about this ?
I did find a way to pass theme, dunno if it's the best.
I implemented bindStyles too, like styledProps did.
https://codesandbox.io/s/qYv7QqlMD

@bulby97 looking great. You may want to consider simplifying the useBindStyles along the following lines.
  bindStyles(stylesToBind)(styles => ({
    padding: styles.padding,
    borderRadius: styles.borderRadius,
  }))

See below for a codesandbox example of how this could work.
https://codesandbox.io/s/Q1oMKrQg9

Awesome! Thank you! I really need to increase my coding skills 😅

@luke-john @kentcdodds here we go ! https://github.com/bulby97/glam-props

Sweet! Wanna make a PR to add it to the related projects? :smile:

I'm having a talk with the creator of styled-props. Seems like he's planning to make styled-props compatible with most css-in-js libs, so I'll let you know ;)

That's great!


Schema can use defined order of fields (vs. alphabetically)

2.3.0 will change Introspection to sort the columns/fields by the order in the database instead of alphabetically. That means that all the schema examples in the documentation now also theoretically can default to having a more defined order of fields (e.g. id first, then grouped by meaning or similar), as that will be what our users will experience.

Closed by #751


✨ Tests

I'm opening this pull request for this branch, pushed by @AnandChowdhary with 5 commits.

CLA Assistant Lite bot ✍ All contributors have signed the CLA

:tada: This PR is included in version 1.5.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Isort fixes auto-generated files

Not sure what causes it (maybe profile = black in isort config which we have in pyproject.toml?), but when we run isort over auto-generated files, sometimes it results in modifications.

Can you provide an example of such modification?

Ok, will do when I catch them.


mmdetection3d cannot start training ？

I use "python tools/train.py projects/openlanev2/configs/baseline.py" to start training, while an error is raised.
Traceback (most recent call last):
File "/home/ooxx/miniconda3/envs/openlanev2/lib/python3.8/site-packages/mmcv/utils/misc.py", line 73, in import_modules_from_strings
imported_tmp = import_module(imp)
File "/home/ooxx/miniconda3/envs/openlanev2/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 843, in exec_module
File "", line 219, in _call_with_frames_removed
File "/data/mmdetection3d/projects/openlanev2/baseline/init.py", line 2, in
from .datasets import *
File "/data/mmdetection3d/projects/openlanev2/baseline/datasets/init.py", line 2, in
from .openlane_v2_dataset import *
File "/data/mmdetection3d/projects/openlanev2/baseline/datasets/openlane_v2_dataset.py", line 34, in
from openlanev2.dataset import Collection
ModuleNotFoundError: No module named 'openlanev2.dataset'
What should I do to fix this ?

Hi, currently the plug-in model requires the v1.0.0 version of the code base.

寄件者: HelloGit @.>
寄件日期: Tuesday, August 1, 2023 9:47:51 AM
收件者: OpenDriveLab/OpenLane-V2 @.>
副本: Subscribed @.***>
主旨: [OpenDriveLab/OpenLane-V2] mmdetection3d cannot start training ？ (Issue #61)
I use "python tools/train.py projects/openlanev2/configs/baseline.py" to start training, while an error is raised.
Traceback (most recent call last):
File "/home/ooxx/miniconda3/envs/openlanev2/lib/python3.8/site-packages/mmcv/utils/misc.py", line 73, in import_modules_from_strings
imported_tmp = import_module(imp)
File "/home/ooxx/miniconda3/envs/openlanev2/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 843, in exec_module
File "", line 219, in _call_with_frames_removed
File "/data/mmdetection3d/projects/openlanev2/baseline/init.py", line 2, in
from .datasets import *
File "/data/mmdetection3d/projects/openlanev2/baseline/datasets/init.py", line 2, in
from .openlane_v2_dataset import *
File "/data/mmdetection3d/projects/openlanev2/baseline/datasets/openlane_v2_dataset.py", line 34, in
from openlanev2.dataset import Collection
ModuleNotFoundError: No module named 'openlanev2.dataset'
What should I do to fix this ?
―
Reply to this email directly, view it on GitHubhttps://github.com/OpenDriveLab/OpenLane-V2/issues/61, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AG7IMOGZXHPWG2XI276RXLTXTBN4PANCNFSM6AAAAAA27BMHXA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@faikit I use the v1.0.0 version of the code base, while another error is raised.
Traceback (most recent call last):
File "tools/train.py", line 263, in
main()
File "tools/train.py", line 119, in main
cfg = Config.fromfile(args.config)
File "/home/ooxx/miniconda3/envs/openlanev2/lib/python3.8/site-packages/mmcv/utils/config.py", line 340, in fromfile
cfg_dict, cfg_text = Config._file2dict(filename,
File "/home/ooxx/miniconda3/envs/openlanev2/lib/python3.8/site-packages/mmcv/utils/config.py", line 183, in _file2dict
check_file_exist(filename)
File "/home/mi/miniconda3/envs/openlanev2/lib/python3.8/site-packages/mmcv/utils/path.py", line 23, in check_file_exist
raise FileNotFoundError(msg_tmpl.format(filename))
FileNotFoundError: file "/data/mmdetection3d/projects/openlanev2/configs/baseline.py" does not exist
What should I do to fix this ?

Please check the file structure, it is a little bit strange that the mmdetection3d folder is under the data folder.

寄件者: HelloGit @.>
寄件日期: Tuesday, August 1, 2023 10:15:10 AM
收件者: OpenDriveLab/OpenLane-V2 @.>
副本: faikit @.>; Mention @.>
主旨: Re: [OpenDriveLab/OpenLane-V2] mmdetection3d cannot start training ？ (Issue #61)
@faikithttps://github.com/faikit I use the v1.0.0 version of the code base, while another error is raised.
Traceback (most recent call last):
File "tools/train.py", line 263, in
main()
File "tools/train.py", line 119, in main
cfg = Config.fromfile(args.config)
File "/home/ooxx/miniconda3/envs/openlanev2/lib/python3.8/site-packages/mmcv/utils/config.py", line 340, in fromfile
cfg_dict, cfg_text = Config._file2dict(filename,
File "/home/ooxx/miniconda3/envs/openlanev2/lib/python3.8/site-packages/mmcv/utils/config.py", line 183, in _file2dict
check_file_exist(filename)
File "/home/mi/miniconda3/envs/openlanev2/lib/python3.8/site-packages/mmcv/utils/path.py", line 23, in check_file_exist
raise FileNotFoundError(msg_tmpl.format(filename))
FileNotFoundError: file "/data/mmdetection3d/projects/openlanev2/configs/baseline.py" does not exist
What should I do to fix this ?
―
Reply to this email directly, view it on GitHubhttps://github.com/OpenDriveLab/OpenLane-V2/issues/61#issuecomment-1659460430, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AG7IMOGOEC36SO4ZEPFTQMDXTBRC5ANCNFSM6AAAAAA27BMHXA.
You are receiving this because you were mentioned.Message ID: @.***>

@faikit Thank you very much! Folder OpenLane-V2 should be inside folder mmdetection3d, and training is ok now.


Updates base images

This PR contains the change created by make update-base-images
Updates base images

/kind cleanup

/test pull-cert-manager-master-e2e-v1-22


Savings

Done changes in the Fixed deposit application in the payments and receipts.

Coverage remained the same at 87.036% when pulling c18bd35e91c9b3f4cd577acd8d9348216f7132c3 on swethanaretla:savings into<PHONE_NUMBER>5f2cdc48f0c8e512ca9fb73744c925 on MicroPyramid:master.


Namadillo: IBC -> Decide how to access chain registries

We are using the Cosmos chain registry and the Namada chain registry in Namadillo, and we should decide how we want to access these. We don't know which chains/assets we need to look up at compile time, so a static configuration won't work.
Possibilities:

Currently as of #1216 we are loading the whole cosmos registry at once. This leads a jump in the bundle size (from an initial ~5kB jumps to ~8kB).
Still use the registry packages installed from npm, but dynamically import what we need. Better for bundle size but if registry information changes then Namadillo needs updated.
Call a remote server for the registry information. Keeps bundle size lower and no need to update Namadillo to get the latest information, but relies on server being up for Namadillo to work.

For the second option, we can use this glob import https://vite.dev/guide/features.html#glob-import

Another reference: https://github.com/cosmology-tech/chain-registry/tree/main/v1/packages/client


Apostrophe question

Hi @frankrausch, I was wondering if you had seen this 2015 article titled Which Unicode character should represent the English apostrophe? (And why the Unicode committee is very wrong.) and what you think about it.
In the article, the author argues that writing the apostrophe with a U+2019 (RIGHT SINGLE QUOTATION MARK, "’"), despite being form recommended by the Unicode standard, is wrong and that U+02BC (MODIFIER LETTER APOSTROPHE, "ʼ") would be the semantically better choice.
To be clear, I’m not saying that Typographizer should switch from U+2019 to U+02BC because a general-purpose library like this should adhere to the standard if possible. I’m simply wondering what you think about this.
Feel free to close this issue.

Hi @ole, thanks for this interesting perspective!
I do think that this article brings up some valid points, especially the problem that—if you follow the recommendations—one code point is used for two very different purposes, which is, well, not ideal.
But using deviating from common industry conventions just to do something “semantically right” is especially dangerous if you don’t even see the difference, because the two marks look identical. Non-breaking space in source code, anyone?
Also I’m pretty confident that an apostrophe is not a modifier letter. An apostrophe is punctuation; it doesn’t change the meaning of a letter or a word, but is a stand-in for skipped letters.
If you use an em dash for a similar same purpose, would it become a modifier, too? I don’t think so. Example: “I don’t believe this bull—”
Lastly, I’m not sure if the MODIFIER LETTER APOSTROPHE will be rendered with the correct glyph in all operating systems, layout engines, etc. I’m not even sure if it is meant to be used as an apostrophe, or if it modifies the previous letter for certain languages, like a diacritic. Haven’t done any research on this though, it’s a hunch. :)
Closing the issue, thanks!

Thanks for the thoughtful reply. I agree!


Make API requests and response typesafe

Feature Request
This package does not really utilize TypeScript as the title of the package promises.
The parameters of the request are of type any, so the IDE can't help with autocompletion and
the compiler can't check if the parameters are valid. Also the response of the client seems to
be just the unprocessed flatbuffers object from @openmeteo/sdk without any processing.
This has a few problems:

user needs to understand and work with low level flatbuffers types and convert values
user must use indices to map requested parameters to returned data
all values are optional (nullable), so client code needs to check each value before using.
In the examples this leads to lots of ! non-null assertions sprinkled over the code, which is
typically an indicator for sub optimal typing.
IDE can't provide autocompletion on the response
compile can't check if you try to access wrong weather variables

I propose a solution, that abstracts away the flatbuffers objects and instead returns something that is
typed as a subset from the JSON response of the API. Converting is done internally, only "normal" JavaScript
types like number and string are used and you don't need to manage indices yourself:
const data = await fetchWeatherData({
    latitude: 49.0699764,
    longitude: 11.614277,
    timezone: 'Europe/Berlin',
    forecast_days: 3,
    daily: ['sunshine_duration', 'sunrise', 'sunset'],
  })

const sunrise = new Date(data.daily.sunrise[0])
console.log('sunrise day 1', sunrise)

I have created a PoC package at @atombrenner/openmeteo so you can play around with my idea a bit.

I agree, all the advantages TS offers are not taken advantage of here thus far. Love your PoC @atombrenner !

@patrick-zippenfenig thanks for the kind response :-)
I found your package while trying to use the "so called API" from DWD Icon where you have to parse files on your own with a very unaccessible docu. So the open-meteo API is already incredibly useful for me.
I have a question to the ever-growing number of parameters. To be useful, each parameter must be  documented.
I added all parameters from the open-meteo website. The enums in my package should ideally be created from the docs. Unfortunately the the structure of the website did not allow easy generating, e.g. multiple parameters documented together. If new parameters are added, someone needs to implement and document them, so I would believe the parameter growth rate should eventually slow down.
If new parameters are added we would just need a new version of the packages.
You could even use new parameters with old packages if you knew the name of the new parameter.
As you mentioned, the schema of the parameters seems to be optimizable, e.g. all those temperature variants. Maybe adding parameters for the requested aggregation or height. If there is a system behind the construction of the parameter names, maybe we could use string template literals to construct them automatically.
I am no expert in meteorology, as a hobbyist I am probably fine with a subset of those metrics. We could have standard parameters and advanced parameters, to give beginners an easy start.

To be useful, each parameter must be documented.
I added all parameters from the open-meteo website. The enums in my package should ideally be created from the docs.

Sure, adding more variables in future package versions is an option. The issue is that many variables like temperature_500hPa are available at ~60 different pressure levels. Multiplied by roughly 10 different pressure variables you already get 600 variables. Right now I am working on weather forecasts from previous days with variable names like temperature_2m_previous_day1, temperature_2m_previous_day2, ..._day3, ..._day4 and so on.
This is also the reason why the FlatBuffers response encodes attributes for pressure level or previous day separately:
table VariableWithValues {
  variable: Variable;
  unit: Unit;

  value: float; // Only used for current conditions
  values: [float]; // Contains a time series of data
  values_int64: [int64];  // Only for sunrise/set as a unix timestamp

  altitude: int16;
  aggregation: Aggregation;
  pressure_level: int16;
  depth: int16;
  depth_to: int16;
  ensemble_member: int16;
  previous_day: int16;
}

A solution could be to change how weather variables are requested. Dummy code:
let temperature_2m = OmVariable(variable: .temperature, altitude: 2)
let wind_speed_2m = OmVariable(variable: .wind_speed, altitude: 10)

let temperature_2m_max = OmVariable(variable: .temperature, altitude: 2, aggregation: .max)
let temperature_2m_min = OmVariable(variable: .temperature, altitude: 2, aggregation: .min)

// Translates `OmVariable` to a string `temperature_2m` (inefficient!)
let params = Params(
  latitude: 12,
  longitude: 34,
  hourly: [temperature_2m, wind_speed_2m],
  daily: [temperature_2m_max, temperature_2m_min]
)
let results = api.fetch(url, params)

// `.get()` matches all attributes like variable, altitude, aggregation, pressure_levels and returns a potential match
let temperature_2m_data = results.hourly.get(temperature_2m)
let wind_speed_2m_data = results.hourly.get(wind_speed_2m)
let temperature_2m_max_data = results.daily.get(temperature_2m_max)
let temperature_2m_min_data = results.daily.get(temperature_2m_min)

// Note: the Ensemble API returns multiple temperature_2m results with different `ensemble_member` attributes from 0...51.
let temperature_2m_ensembles= results.hourly.getMultiple(temperature_2m)

/// Note: Technically different weather domains could be encoded as well, but requires larger changes to the API backend
let temperature_2m_gfs013 = OmVariable(variable: .temperature, altitude: 2, domain: .gfs013)
let temperature_2m_hrrr = OmVariable(variable: .temperature, altitude: 2, domain: .hrrr)

This could be more scalable. For this implementation a different API endpoint would be useful to accept the attribute-based variable definition directly instead of string parsing or encode the request using FlatBuffers. The benefit is, that all enumerations from the FlatBuffers definitions can be used directly. The drawback is, that it requires more logic for each supported programming language.
If I only consider the Swift programming language, I would use some kind of annotations:
struct MyWeatherData {
  @Variable(variable: .temperature, altitude: 2)
  let temperature2m: [Float]

  @Variable(variable: .precipitation)
  let preciptation: [Float]
}

let params = Params(
  latitude: 12,
  longitude: 34,
  hourlyClass: MyWeatherData.self
)

let results = api.fetch(url, params)

print(results.hourly.temperature2m)

I am not sure which is the right path to take forward. The functionality and variety of data of the API changed quite a lot over the last years. Keeping everything consistent is quite a hard job.

I understand what you mean with variable count explosion. Just a few thoughts:

the underlying parameters in your example are temperature, pressure and height. Only  those need to be documented. The combination causes the number explosion.
the length of an url is limited to a few KB, having thousands of long variable names in the same query will technically not be feasible
if you store such a huge number data points (variables), maybe a time-series database (e.g. InfluxDB or Prometheus) can give you some inspiration of how to query them
for complex use cases it's probably better to use a time-series query language instead of url query parameters
it's OK to have different endpoints for different use cases. E.g. separating historical data retrieval from forecast data, or maybe even have an hourly, daily endpoint.
Having a one-size-fits-all approach rarely makes everyone happy. A hobbyist user like myself is overloaded with complexity (e.g. I don't need pressure levels at all.  An expert user doing research with historical data would be more happy with a powerful time-series query language which also allows various statistical aggregations.

I am quite happy with my approach of offering only a solution for a simple forecast use case. Thanks to the naming conventions I parsed the variable names from the website and excluded variables that I don't understand (collapsed parameters, especially temperature per pressure level ;-)

I understand what you mean with variable count explosion. Just a few thoughts:

the underlying parameters in your example are temperature, pressure and height. Only  those need to be documented. The combination causes the number explosion.
the length of an url is limited to a few KB, having thousands of long variable names in the same query will technically not be feasible
if you store such a huge number data points (variables), maybe a time-series database (e.g. InfluxDB or Prometheus) can give you some inspiration of how to query them
for complex use cases it's probably better to use a time-series query language instead of url query parameters
it's OK to have different endpoints for different use cases. E.g. separating historical data retrieval from forecast data, or maybe even have an hourly, daily endpoint.
Having a one-size-fits-all approach rarely makes everyone happy. A hobbyist user like myself is overloaded with complexity (e.g. I don't need pressure levels at all.  An expert user doing research with historical data would be more happy with a powerful time-series query language which also allows various statistical aggregations.

I am quite happy with my approach of offering only a solution for a simple forecast use case. Thanks to the naming conventions I parsed the variable names from the website and excluded variables that I don't understand (collapsed parameters, especially temperature per pressure level ;-)


Describe in readme how I can run the CI on my machine

README's section Development installation has not enough information to run the service. I was trying to run the ci, but it turns out that I need:

FASTLANE_CI_ENCRYPTION_KEY
then FASTLANE_CI_USER and FASTLANE_CI_PASSWORD
then FASTLANE_CI_REPO_URL
then FASTLANE_CI_INITIAL_CLONE_EMAIL and FASTLANE_CI_INITIAL_CLONE_API_TOKEN

What are those env variables? What should I set?

Thanks, I'll add this information to the README 👍


sanitize_layout_and_length uses scan_accounts

Problem
trying to get rid of mmaps on append vecs.
We can't support lifetimes for iterating accounts.
Summary of Changes
sanitize_layout_and_length uses scan_accounts
Fixes #

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 82.0%. Comparing base (3310625) to head (c0b886a).
Report is 6 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1030   +/-   ##
=======================================
  Coverage    82.0%    82.0%
=======================================
  Files         859      859
  Lines      232854   232858    +4
=======================================
+ Hits       191031   191058   +27
+ Misses      41823    41800   -23


Create a dedicated model for creating new players

Changed the CreatePlayer operation to use a dedicated model instead of the Player entity model.
A new NewPlayerDto model has been introduced that defines the minimal required properties that are necessary to create a new Player.  (PlayerDto is not used since we do not want to specify a PlayerId).
When creating a new Player, we also check if there exists a Team for the specified TeamId.  If not, a BadRequest is returned.

I've seen in the code that we have a ValidateModelAttribute action-filter.  However, since all our controllers are decorated with the ApiController attribute, I believe that the ValidateModelAttribute filter is no longer required.

I've seen in the code that we have a ValidateModelAttribute action-filter. However, since all our controllers are decorated with the ApiController attribute, I believe that the ValidateModelAttribute filter is no longer required.

Yes, would be good to remove it in a seperate PR.


Removing unnecessary usage of intrinsic lock

Collection.synchronizedList is called while creating both allServerListand upServerList, but these lists are guarded by explicit ReadWriteLocks. While this may be considered not harmful, it leads to extra lock contention, i.e. reader threads will have to wait to acquire the intrinsic lock (that makes no distinction between read and write operations), while they could have move forward acquiring just the explicit read lock. On top of that, the use of synchronizedList and explicit locks complicates the task of understanding how concurrency is handled in the BaseLoadBalancer.
The aforementioned contention issue is probably not that noticeable because, as soon as any of the lists is updated, it's replaced with a non-synchronized list, since a new ArrayList<Server>() is performed. So, it reinforces the idea that the use of Collection.synchronizedListis unnecessary.

NetflixOSS » ribbon » ribbon-pull-requests #5 SUCCESS
This pull request looks good

Since the server lists are immutable it probably makes sense to also make the unmodifiable by calling aCollections.unmodifiableList at the time the member variables are set.  Also, it may be possible to remove locking entirely by tracking the server lists in an AtomicReference and using CAS operations.


Mac Extension Attributes

Wonderful piece of software, thank you so much!
I am seeing an issue with the Mac Extension Attributes.
Error for all items:
Literal carriage return. Run script through tr -d 'r' .
Thanks

My mistake

😃
You probably figured it out - shellcheck is complaining about the carriage return character:
https://github.com/koalaman/shellcheck/wiki/SC1017
Pretty common if parts of the script have been copied (in my experience, usually from one text-editor to another with different settings).
You favourite text editor (ie. Atom, Visual Studio Code) should have some built-in function to strip out these characters.
tr -d '\r' < script.sh   > fixed_script.sh will also get the job done 👍


Adding monitor-fail option.

Hi!
This option is missing per http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#4-monitor fail
Well, hopefully not anymore :)

Thanks for the PR @akowalik-transporeon :+1:


Detect infected area of the vegetables and identify the severity

Just want to ask, is it possible to detect infected area of the vegetables and identify the severity using this library? hope someone will answer, thanks @akondas hope you give me idea.

The question is: are you able to collect such data that will allow you to create a model with meaningful results?

The question is: are you able to collect such data that will allow you to create a model with meaningful results?

actually i'am really confused where to start, but i want to do it by using kmeans clustering.

In my opinion it's best to start by collecting the right amount of data. The best collection will be one in which samples and their labels are found from above, so that it is clear what is to be in the entrance and what to exit.
I do not know your domain, but I bet that the entrance will be a photo/scan of the vegetables and label with contamination level? (or something like that).

In my opinion it's best to start by collecting the right amount of data. The best collection will be one in which samples and their labels are found from above, so that it is clear what is to be in the entrance and what to exit.
I do not know your domain, but I bet that the entrance will be a photo/scan of the vegetables and label with contamination level? (or something like that).

i think you got me hehe, you are actually right thats what i want to do, i created sample prototype hope you can take a look,

Hi.  I am quite interested in ur work.
How are u able to determine the area of interest in the image.  And then find similar areas in other images


Test flight updates

Overview
This PR includes the following proposed change(s):

Updates to TestFlight scripts & iOS config - confirmed working.

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Refactoring / Documentation
[ ] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Screenshots
Please add any relevant UI screenshots if applicable.
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] New and existing unit tests pass locally with my changes

/rebase


coprocessor_plugin_api: Use atomic for allocator functions

What problem does this PR solve?
Problem Summary:

The current implementation causes a segmentation fault whenever an allocation/deallocation occurs.
The coprocessor plugin version check matches any version except the one requested.

What is changed and how it works?
AtomicPtr<AllocFn> stores a pointer to a function pointer, so the deref on line 50 and 53 is incorrect as the types don't match (*mut AllocFn vs AllocFn).
Also inverts the version check for the coprocessor plugins.
Related changes
Check List
Tests
Unit test
The unit tests unfortunately do not catch this issue, since the allocator function pointers are not used during the tests: https://github.com/tikv/tikv/blob/master/components/coprocessor_plugin_api/src/util.rs#L90
Since coprocessor_plugin_api gets included as a dev-dependency we cannot set #[global_allocator] since it would conflict with https://github.com/tikv/tikv/blob/master/components/tikv_alloc/src/lib.rs#L129-L130.
There is some discussion about it here: https://github.com/tikv/tikv/pull/10112
Manual test (add detailed scripts or steps below)
I have done manual testing by loading and using a coprocessor plugin successfully in tikv.
Side effects
Release note
Use atomic crate for coprocessor_plugin_api allocator functions

/cc @andylokandy @skyzh @Jibbow

Is it possible to remove the #[cfg(test)] indeclare_plugin!()?

/test

Hi, you may need to sign DCO in your commit.

Yes, I can remove it. But it still doesn't trigger the segmentation fault as long as example_plugin is a dependency of tikv. I think it is because the two #[global_allocator] statements conflict. If I remove example_plugin and compile it manually, I can trigger the segmentation fault (on the master branch) in the tikv tests
$ cargo test -p tikv -- registry
    Finished test [unoptimized + debuginfo] target(s) in 0.27s
     Running unittests (target/debug/deps/tikv-e3e5fec05f3ffa46)

running 5 tests
error: test failed, to rerun pass '-p tikv --lib'

Caused by:
  process didn't exit successfully: `/home/user/workspace/tikv/target/debug/deps/tikv-e3e5fec05f3ffa46 registry` (signal: 11, SIGSEGV: invalid memory reference)

However, then this will require another build step (to build example_plugin before running the tests). Related discussion here: https://github.com/tikv/tikv/pull/10112

Yes, I can remove it. But it still doesn't trigger the segmentation fault as long as example_plugin is a dependency of tikv. I think it is because the two #[global_allocator] statements conflict. If I remove example_plugin from the tikv dependencies and compile it manually, I can trigger the segmentation fault (on the master branch) in the tikv tests

+1
Also ran in this issue

/lgtm

/lgtm

This command is disabled, so you may need to use GitHub review functionality to approve this PR :(

/lgtm

This command is disabled, so you may need to use GitHub review functionality to approve this PR :(

ah whoops, thanks!

/merge


function signatures are missing after jax.jit with the latest jax

Description
Currently (tested with jax==0.3.21), the function signatures are missing after decorated with jax.jit.
I found a previous issue, and the function signatures can be correctly preserved with jax==0.2.10.
I created a colab notebook to illustrate this issue.
What jax/jaxlib version are you using?
jax v0.3.21
Which accelerator(s) are you using?
CPU/GPU
Additional system info
python 3.9.12
NVIDIA GPU info
No response

Thanks for the report. Do you know what mechanism jedi uses to determine the signature? jax.jit currently sets all the attributes that functools.wraps sets on wrapped functions, and runtime signature inspection appears to be correct:
import inspect
import jax
@jax.jit
def foo(x: int, y: float):
    return x + y
print(inspect.signature(foo))

(x: int, y: float)

It seems that Jedi obtains function signatures using its own implementations, and I don't know about the details for now.
However, AFAIK, Jedi can handle decorated functions:
import jedi

code = '''
from functools import wraps
def dec(func):
    def wrapper(*a, **k):
        return func(*a, **k)
    return wraps(func)(wrapper)

@dec
def foo(x: int, y: float):
    return x + y
foo('''

s = jedi.Script(code, path="")
s.get_signatures(11, 4)

[<Signature: index=0 foo(x: int, y: float)>]

Hi @jakevdp , I found that the internal implementation of wraps leads to this issue. I replaced the wraps in the file api.py with fucntools.wraps, and jedi gets the expected signatures:
○ → ipython
Python 3.9.12 (main, Apr  5 2022, 06:56:58)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.2.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import jedi

In [2]: !sed -n 54,59p /home/lanlin/.pyenv/versions/3.9.12/envs/jedi/lib/python3.9/site-packages/jax/api.py
                        treedef_is_leaf, treedef_children, Partial)
from ._src.util import (unzip2, curry, partial, safe_map, safe_zip, prod,
                        split_list, extend_name_stack, wrap_name, cache,
                        HashableFunction)
from functools import wraps       # -----> this line
from . import lib

In [3]: code = '''
   ...: import jax
   ...: @jax.jit
   ...: def foo(x: int, y: float):
   ...:     return x + y
   ...: foo('''

In [4]: s = jedi.Script(code, path="")

In [5]: s.get_signatures(6, 4)
Out[5]: [<Signature: index=0 foo(x: int, y: float)>]

In [6]:

I've been looking into this, but I'm still quite confused. It's not JAX's version of wraps alone that's causing issues; it work when used directly in a decorator, e.g.
script = """
from jax._src.util import wraps

def decorator(f):
  @wraps(f)
  def wrapped(*args, **kwargs):
    return f(*args, **kwargs)
  return wrapped

@decorator
def f(x: int, y: int) -> int:
  return x + y

f(1, 2)
"""
import jedi
s = jedi.Script(script, path="")
s.get_signatures(14, 2)

[<Signature: index=0 wrapped(x: int, y: int)>]

My current theory is it has something to do with the fact that the object returned by jax.jit is not a function, but an instance of a CompiledFunction object which is implemented in C++. Somehow that's preventing JAX's version of wraps from working correctly.

I'm going to close this, as it's not clear that there's anything we can do on JAX's side to fix the issue.


Link to "Narrow jumbotron" on v4 Examples docs 404s

From http://v4-alpha.getbootstrap.com/examples/ the link to
http://v4-alpha.getbootstrap.com/examples/jumbotron-narrow/ causes a 404 not found.

seems to be fixed an current v4 branch

Duplicate of #17174. Please search more next time. Thanks.


Update KafkaConsumerConfig.scala

client.rack was added recently with kafka 2.4 allowing rack aware consumers.

@Avasil Updating some missing values in the kafka consumer conf

@Avasil Don't know if you would consider doing another release candidate for this. Since the KafkaConsumerConfig is final. I can't extend it to contain this variable. And would love to just apply this to the conf versus modifying the KafkaConsumerOberservable in my own code.

@AdrielVelazquez I actually plan to do a release today with some other changes so you don't have to wait for long. :)
Although it's also possible to add other properties with properties: Map[String, String] parameter


Added support for Django 1.11 and Python 3.6

@rlucioni please review

Leaving as two separate commits, since they are two independent changes.


Resource not accessible by integration when creating new issue / adding book

Hi there, I'm getting an error when creating a new issue saying Resource not accessible by integration.
Is there a step I'm missing or something?
You can see the failed action here: https://github.com/hammygoonan/books/actions/runs/3889210955/jobs/6637283083

It looks like this is because the token doesn't have permission to create a comment. Could it be that the default permission of your token is readonly? https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token

I had some success changing Workflow permissions to "Read and write permissions". The actions were still failing but getting far enough through to update the README.md file.
You can see an example here.

Perfect. Can you please delete the lines starting and including - name: Dispatch AnandChowdhary/everything update in all the workflows? You don't need those.

That looks like it's got it. Thanks!

⚠ This issue has not seen any activity in the past 2 months so I'm marking it as stale. I'll close it if it doesn't see any activity in the coming week.

Hi There! i am getting the same error

Can you please show me your repository?

Can you please show me your repository?

Ok lwt me explain!
i create the repo using "Use this template" and i saw the Initial Action run and passed but no error given but it says Permission denied to github-actions bot so i manually give permissions and re ran the workdlow and it runs and changes files Check the commit here

This should be fixed now if you create a template repository again. I added the condition that ensures that AnandChowdhary/everything is only updated if it's my repository in https://github.com/AnandChowdhary/books/blob/e979de6ab8ca8dcc94c244371d943e56571d9e14/.github/workflows/bookshelf-new-issue.yml#L25


Cannot dprint in ethernet/dataflow_api.h due to circular dependency

Currently dprint.h includes  "ethernet/dataflow_api.h", which means we cannot currently include dprint.h in dataflow_api.h.
This makes debug in data_flow_api.h very difficult, and we need it promptly for multichip debug.

Lowered priority of this issue from P0 -> P1 due to workaround.

Should be fixed (I tested and I can print from "ethernet/dataflow_api.h") with https://github.com/tenstorrent-metal/tt-metal/pull/5357


Support multiple documentation : one by version

The attributes object of the plugins registration function can have a multiple property which indicates that it's okay to load the plugin multiple times in the same server.
I think this plugin could be loaded multiple because you could provide a documentation for each version.
More generally, how do you handle different versions of your hapi with hapi-swagger ?
I try something like that without any success :
[1,2].forEach(function(version) {
   server.register({
      register: HapiSwagger,
      options: {
        info: {
          'title': `API Documentation for the version ${version}`,
          'version': version.toString()
        },
        documentationPath: `/v${version}/documentation`,
        jsonPath: `/v${version}/swagger.json`,
        basePath: `/v${version}/`,
        pathPrefixSize: 2,
      }
    });
});

In my routes, only /v1/documentation is generated but contains docs for both version 1 and version 2 of the API.

Hi At the moment hapi-swagger is designed to be installed once per a server connection.
There are number of way you could document multiple version of an API
Using multiple connections
You could load multiple connections put the routes for each version of your API into your own custom plug-ins. i.e. a plug-in for v1 routes and another for v2. Then add the hapi-swagger to all the connections but only one the custom plug-ins with API routes to a connection. The resulting port base urls will be created
http://localhost:3000/documentation
http://localhost:3001/documentation
There is a simple example of connections in https://github.com/glennjones/hapi-swagger/blob/master/bin/test-server-connections.js
Using tags to filter routes
You could use the tags feature. Instead of just adding tag=['api'] to each route also tag it with the version of the API i.e. tag=['api', 'v1'] or tag=['api', 'v2'] you can then add the tag as a querystring to the document url i.e.
http://localhost:3000/documentation?tags=v1
http://localhost:3000/documentation?tags=v2
Consider using h2o2 proxy plug-in
If the URL structures for the document page do not match what you need consider using  https://github.com/hapijs/h2o2 and proxy to create URL structure you need  and pass on the request.  ie change it to
http://localhost:3000/v1/documentation
http://localhost:3000/v2/documentation
I would pick the multiple connections method. I hope that helps. Can you let me known how you get on so I can close the issue.

I think that you can close the issue. Thank you.
I picked the tags to filter the api on the right version and I redirect /v1/documentation to documentation?tags=v1.


Possible bug: Action not performed if task has dependency component added via run_template()

Suppose the following setup: two tasks templates (task1 & task2) and two run_template functions, where in one task2 is added as  dependency from task1 and the second just runs task1.
My intuition would be that both run1 and run2 will open the task terminal for task1 in a split, but in actuality only run2 does.
Is this a bug or for some reason intended?
local _, overseer = pcall(require, "overseer")

overseer.register_template({
  name = "task1",
  builder = function(params)
    return {
      cmd = {
        "echo",
        "task1",
      },
    }
  end,
})

overseer.register_template({
  name = "task2",
  builder = function(params)
    return {
      cmd = {
        "echo",
        "task2",
      },
    }
  end,
})

local run1 = function()
  overseer.run_template({ name = "task1", autostart = false }, function(task)
    if task then
      task:add_component({
        "dependencies",
        task_names = {
          "task2",
        },
        sequential = true,
      })
      task:start()
      overseer.run_action(task, "open hsplit")
    end
  end)
end

local run2 = function()
  overseer.run_template({ name = "task1", autostart = false }, function(task)
    if task then
      task:start()
      overseer.run_action(task, "open hsplit")
    end
  end)
end

Thanks for providing a minimal example! This behavior is expected, though I agree that it's perhaps not intuitive or ideal. In the case of run2(), you should see a log line (also in :messages) that says [WARN] Cannot perform action 'open hsplit'. This is what happens when the action precondition is not met
https://github.com/stevearc/overseer.nvim/blob/c17a27821396d76d1ac5759ccefaa000f10d534d/lua/overseer/task_list/actions.lua#L114-L117
What's happening is when task1 is started, it actually does not immediately start running, because it has to kick off its dependencies and wait for them to start. Since it doesn't immediately start running a process, it does not yet have a terminal buffer, and the open hsplit action fails because the bufnr is nil.
The easiest way around this is to wait until the task really starts before opening the split:
task:subscribe("on_start", function()
  overseer.run_action(task, "open hsplit")
  return false -- this will unsubscribe the callback
end)

I see, thanks for the explanation! I have another question, why is the output "task1" from the task1 command (echo task1) not appearing in the opened task terminal, when running it?

Uh...that is definitely unexpected and I cannot reproduce that behavior. You're saying after running the template with {cmd = {"echo", "task1"}}, when you open the terminal via any means there's nothing in the buffer? Does it at least show the [Process exited 0] message?

Yep, this is how it looks, after running task1:

The terminal opened via action (with [Process exited 0] but without output) and the Overseer task list to the right (with output). The terminal is also empty (except [Process exited 0]) if I open it via the task list.

Interesting. And it's not just that the text has been scrolled off of the window? If you focus the terminal and go to the top, it still doesn't have the text?
I wonder if maybe something is swallowing the first line of output. If you echo two or three lines, do any of them show up?
Last question: what version of Neovim are you using?

No, it's not scrolled off the window, the text is not there. Here is a test with 4 lines of output:

My neovim version is NVIM v0.8.0-dev.
This is just odd, the cat --help output does not show up in the task terminal, but for docker --help it does.

Well I tried on neovim nightly and I still couldn't reproduce it. This is very strange behavior, and quite possibly a bug in neovim. Do you see the same issues if you directly run the echo/cat command with :call termopen(['cat', '--help'])? Just trying to narrow it down to a minimal repro

You are correct, the output of :call termopen(['cat', '--help']) is also empty, and it is not an issue with Overseer.
The culprit was the following auto command:
vim.api.nvim_create_autocmd(
  { "TermEnter", "TermOpen" },
  {
    command = "set ft=terminal",
    group = vim.api.nvim_create_augroup("TermGroup", { clear = true })
  }
)

After changing it to the below one, everything works.
vim.api.nvim_create_autocmd(
  { "TermEnter", "TermOpen" },
  {
    command = "call timer_start(50, { tid -> execute('set ft=terminal')})",
    group = vim.api.nvim_create_augroup("TermGroup", { clear = true }),
  }
)

Setting the filetype of a terminal buffer, immediately after creating it, seems to be the cause.

Whoah, that's still pretty surprising. Do you have any behavior in a ftplugin/terminal.lua file that could explain the buffer clearing?
Also, some general info that may help:

Terminals set buftype = terminal. In many cases, you can use that instead of setting the filetype.
The TermOpen event is dangerous, because the termopen() function will cause it to be triggered even though the current buffer is not a terminal. I recommend that any actions you take in this autocmd you first check if vim.api.nvim_buf_get_option(0, 'buftype') == 'terminal'

Very strange, but glad you got it working. Closing this out as it sounds like the original issue is resolved


Use samba mirror for ccache and rsync packages

Reverts 4fc349c.  We already use the samba mirror for rsync in omnibus-software, and the currently specified mirror doesn't seem to be consistently more stable.
cc @opscode-cookbooks/ociv

This will revert back to using a url that we explicitly moved away from using: https://github.com/opscode-cookbooks/omnibus/commit/4fc349c5a61e4344193e463aee316cbeabbd79fe

I couldn't install from the url we specified in 4fc349c and I can install from the old one; rsync is doing the same thing.  I'll investigate further.

Ready for review, @opscode-cookbooks/ociv.

:+1:


Code and tag missing for 0.3.0 release

Hi !
https://pypi.python.org/pypi/wagtail-factories inidcate that current version is 0.3.0 and released on 2017-05-16 and this repository latest commit date is 2017-05-10 and latest tag is 0.2.0 so it seems that last commits and tag (and CHANGES have not been pushed to this repository.

done


Remove the check for TrackerHit3D from edm4hep

BEGINRELEASENOTES

Remove the check for TrackerHit3D from edm4hep

ENDRELEASENOTES
TrackerHit3D was introduced in https://github.com/key4hep/EDM4hep/pull/252 and appeared first in v00-99. Actually later than I thought because the PR was merged in February but we didn't make a tag until July. In any case k4FWCore doesn't compile with EDM4hep before v00-99 for multiple reasons, so we may as well remove the checks.

I updated the required version of EDM4hep to 0.99 since k4FWCore doesn't build with previous versions (with or without this PR).


Updated the release script.

The changes ensure the script runs the following in order :

Trigger tests with old npm version
Updates version based on the change type (e.g major, minor, patch, etc)
Rebuilds the lib using new version to regenerate dist folder (this includes testing with new version)
Commits and tags to git the latest changes.
Pushes all changes and updated tags to origin.
Triggers the publish mechanism

How to test :

Clone the project and pull down the branch
Run npm install
Modify the release script to temporarily remove :  && npm publish from line 8 of the release script.
Run npm npm run release:minor
It should do the above changes and push the changes to your branch in remote.
Ensure the package version has been updated in package.json, package-lock.json, dist folder includes files created with updated version no.

Thanks @shriniketsarkar for taking care of this. Could you update the instruction to the latest in this file as well? https://github.com/cerner/cerner-smart-embeddable-lib/blob/master/RELEASE.md

Thanks @shriniketsarkar for taking care of this. Could you update the instruction to the latest in this file as well? https://github.com/cerner/cerner-smart-embeddable-lib/blob/master/RELEASE.md

Updated the readme here : https://github.com/cerner/cerner-smart-embeddable-lib/pull/50/commits/9deea5ce4fbc68e81dbf5648c367cd48bb14de7f

This file was the previous / old file. We can either remove it, or delete the content and provide the link to the new steps in this file

Have we thought of using Github Actions for CI and Release ?

Yup we have thought of it but this project's uplift has been on a back burner as we always had priority stuff to work on. Hopefully we will get there sometime soon.


Speed up web scraping process by adding multi-threading

See title. There might be two parts to this: scraping in parallel, parsing in parallel.

@CTrando
https://github.com/CTrando/UCSD-Planner-Helper/commit/cd33da645d4faa4682787d005fde832d22bf1170


server: add some todos for future cleanup

As a follow-up https://github.com/istio/istio/pull/23684 - added few comments for future cleanup
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@ramaraochavali: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-telemetry-k8s-tests_istio
36c537616c38439757a66fdccd9be1b7cade4000
link
/test integ-telemetry-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-telemetry-k8s-tests_istio

@ramaraochavali: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
d9de48491310f62017982e5b0a292b8dc6743958
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Comments and documentation

Hi, can you include re-utxoid-nft in this pull?

Hey @mainnet-pat , sorry I missed your comment. The NFT branch should be in now.


Docker volume path can't be served as static app

Bug report
Docker volume path can't be served as static app.
Firstly thanks to maintainer folks for such a cool headless (Best one i ve used so on). Here is what I got
Describe the bug
I am trying to conteierize my app within docker and also do serve some uploads, so in order to prevent upload file loss ive decided to store those in separate docker volume. The error says it cant find the volume path
A clear and concise description of the bug.
Like this
My Static app configuration
new StaticApp(
	{
		path: '/uploads/',
		src: process.env.NODE_ENV === 'production' ? `/media/uploads/` : `uploads/`,
		fallback: '/'
	}
)

When I run docker I also specify my volume (-v /a:/b) and it works fine. But i get this error during docker build:
- Initialising Keystone CLI
ℹ Command: keystone build
-
✔ Validated project entry file ./index.js
- Initialising Keystone instance
✔ Initialised Keystone instance
- Exporting Keystone build to ./dist
✖ Exporting Keystone build to ./dist
[Error: ENOENT: no such file or directory, stat '/media/uploads'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'stat',
  path: '/media/uploads'
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Error response from daemon: The command '/bin/sh -c yarn install && yarn migrate && export COOKIE_SECRET=$(openssl rand -hex 32) && yarn build && yarn cache clean' returned a non-zero code: 1
Failed to deploy 'daiana_dev Dockerfile: ./docker/Dockerfile':

To Reproduce
I hope the reproduce process is qiute clean from above. Just try to add volume path as static app path
Expected behaviour
I understand that it might occur during build time when volume is still not inited but asking this kind requirement during buildtime (not launch time) seems quite irrational
I actually hoped it will host static app from any runtime real location specified.
System information

OS: macOS BigSur
Docker any
Browser any

Btw, the native express serve static works fine^ that is why I proposed bad behaviour of StaticApp
configureExpress: app => {
  app.set('trust proxy', 1);
  app.use('/uploads',
    static(process.env.NODE_ENV === 'production'
      ? `/media/uploads/`
      : `static/uploads/`, options));
}


[Component] [Chip] Create Chip component

Quick description
https://forge.prestashop.com/browse/VAL-280
Technicals specifications

Figma : https://www.figma.com/embed?embed_host=notion&url=https%3A%2F%2Fwww.figma.com%2Ffile%2FYxI7gWKwOKc0QGMvaTal8j%2Fbranch%2F3jVKOxfv8VAVuFQhwOh4ID%2FPrestaShop-Design-Kit%3Ftype%3Ddesign%26node-id%3D17545%3A88352%26mode%3Ddesign%26t%3DmTjKIFMXosiSHCEs-1
Notion : https://www.notion.so/prestashopcorp/Documentation-1aeb6404f56b498f9f89a77088ed70f2?pvs=4
Zeroheight : https://zeroheight.com/34f250d18/p/91b0c0-tag-old-badge

Brilliant :)
I was waiting for that one :)


Run SCoPe on cloud computing resources

As we iterate through active learning cycles and move toward all-field inference, we should take advantage of opportunities to save time by running SCoPe training/inference on available cloud computing resources. These include NSF's ACCESS (formerly XSEDE).

SCoPe now runs on SDSC Expanse.


CompletableFuture get slow

Bug Report
CompletableFuture get slow
Current Behavior
Got a bad performance under 50qps, pinpoint tracking as below:

Method
StartTime
Gap(ms)
Exec(ms)
Self(ms)
Class
API

get(Object key)
15:34:29 161
7
0
0
AbstractRedisAsyncCommands
REDIS

Asynchronous Invocation
15:34:32 547
3,386
89
63

ASYNC

complete(Object value)
15:34:32 590
43
26
26
CompletableFuture
FUTURE

get(long timeout, TimeUnit unit)
15:34:29 169
8
3,447
3,447
CompletableFuture
FUTURE

Additional context
springboot 2.2.5
springdataredis 2.2.5
lettuce-core 5.2.2

Hello! I'm having a little trouble following what you're measuring. Would you please provide an example? And I wonder specifically, how/where are you measuring these?
Does it matter which operation? mset get etc?
I know this isn't Spring, but something along the lines of?
var start = System.currentTimeMillis();
var ret = conn.async().mget(keys.toArray(new String[0])).toCompletableFuture()
  .thenApply(innerRet -> {
    logger.info("mget {} in {}", keys.size(), System.currentTimeMillis() - start);
    return innerRet;
});
ret.get();

Dropping a table of numbers without context isn't helpul in particular. Happy to discuss your findings over a proper benchmark fixture.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


randomize resource names of networking tests

this is a backport of #378

PASS
coverage: 73.3% of statements
ok  	github.com/dmacvicar/terraform-provider-libvirt/libvirt	148.548s


Scoop.summary: summary.state should be an array

See: https://github.com/harvard-lil/perma-2023/issues/4#issuecomment-1536761274
Thanks @rebeccacremona

This change is somewhat breaking and will require the release of 0.3.0 as opposed to 0.2.8.


Just won't work on my mac either with compose or as a one-off

I'm trying to start up an instance, but have no luck getting this to wok on my mac.
First I tried using the yml file recommended in Issue #90 to which I get this error:
Starting mongodbhadoopspark_skydock_1
Starting mongodbhadoopspark_skydns_1
ERROR: failed to create endpoint mongodbhadoopspark_skydns_1 on network bridge: Error starting userland proxy: listen udp <IP_ADDRESS>:53: bind: cannot assign requested address

I started with a clean install of docker on my Mac
$ docker version

Client:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Thu Mar 10 21:49:11 2016
OS/Arch: darwin/amd64

Server:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Thu Mar 10 21:49:11 2016
OS/Arch: linux/amd64
$ cat /etc/init.d/docker
DOCKER_OPTS="--bip=<IP_ADDRESS>/16 --dns=<IP_ADDRESS>"

Steps to reproduce the error were:
$ eval "$(docker-machine env default)"
$ export DOCKER_HOST=tcp://<IP_ADDRESS>:2375
$ echo "export DOCKER_HOST=tcp://<IP_ADDRESS>:2375" > ~/.bashrc
$ source ~/.bashrc
$ docker-machine restart
$ eval "$(docker-machine env default)"
$ sudo docker run -d -p <IP_ADDRESS>:53:53/udp --name skydns crosbymichael/skydns -nameserver <IP_ADDRESS>:53 -domain docker

docker: Error response from daemon: failed to create endpoint skydns on network bridge: Error starting userland proxy: listen udp <IP_ADDRESS>:53: bind: cannot assign requested address.

Any help would be appreciated.

Hi Did you get this working?  Are you using the Docker-for-Mac beta?  if so this might be the problem: https://github.com/docker/docker/issues/22753


Add jest results and codecov to PRs

Description

Updated the test workflow to include codecov, still need to validate that the display is correct for the monorepo. For now passing in the location of the merged report, but codecov's built in merging might also work.
Added the jest reporter action back.

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


FixedU128

We have Fixed128, will be useful to have FixedU128 as well.
I wonder if the implement_fixed macro already support it?
This can also replace our implementation which have different API than Fixed128 https://github.com/open-web3-stack/open-runtime-module-library/blob/master/utilities/src/fixed_u128.rs

I think it should work without much (or none) changes. Let me prepare a PR.


[meta] fix windows support

This ticket is to track what needs to be done to add Windows support to Draft.
We build binaries for Windows, but at this time draft init --client-only fails on Windows due to #396. This appears to be the only blocker.

draft init requires also a shell and tar from what I can see, which is definitely a no-go on Windows :-)
.\draft.exe init
Adding plugin https://github.com/Azure/draft-pack-repo...
C:\Users\Administrator.draft\plugins\draft-pack-repo/scripts/get.sh: line 28: draft: command not found
Downloading https://github.com/Azure/draft-pack-repo/releases/download/v0.2.0/pack-repo-v0.2.0-windows-amd64.tar.gz
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100   628    0   628    0     0    873      0 --:--:-- --:--:-- --:--:--   937
100 2945k  100 2945k    0     0   539k      0  0:00:05  0:00:05 --:--:--  698k
C:\Users\Administrator.draft\plugins\draft-pack-repo/scripts/get.sh: line 105: tar: command not found
Failed to install draft-pack-repo
\tFor support, go to https://github.com/Azure/draft-pack-repo.
Error: plugin install hook for "pack-repo" exited with error
Error: plugin install hook for "pack-repo" exited with error

Yep! That's what is being tracked in #396. :)

This should now be fixed as of #396. If you're working on a dev branch, please make sure to rebase from master before re-running draft init as this is a backwards incompatible change.
Now all we need to do is make sure we add back the links to the Windows binaries in the docs :)

minor blocker: #682
Once we release draft-pack-repo 0.4.0, then we should be ready to open the floodgates.


validateProps returns string undefined from destructuring

This may not be a bug so much as an architectural idea, and this is seen in packages/micro-journeys/src/interactive-pathways.js
When theme is not included as an attribute, theme below will evaluate to the string undefined which is truthy.
    const {
      customImageSrc = pathwaysLogo,
      imageAlt,
      theme,
    } = this.validateProps(this.props);

So !!theme === true.
Also, the returned object has no key for theme, which is the problem.
This behavior is a little strange to me.
It seems to me that validateProps should instead populate theme with the contents of schema.theme.default when theme is not provided.

...Looks like most other places this is being used without destructuring:
const props = this.validateProps(this.props);

That works. I will leave this open for thoughts.

Ah yes, this was happening is because default values set to "" are removed:
      for (let property in validatedData) {
        if (validatedData[property] === '') {
          delete validatedData[property];
        }
      }


change baseinstall dir in PEAR

I suggest to change the base install dir  IN PEAR package.xml, so the command pear install  guzzle/guzzle install in PEAR_PATH/Guzzle and not in  PEAR_PATH/guzzle/Guzzle because sf2 UniversalClassAutoloader (2.0.10) can't find the Guzzle Namespaces when you set
$loader->registerNamespaceFallbacks(explode(':'), get_include_path());

Thanks for reporting this issue.  For reference, the bash script responsible for generating the PEAR package can be found here:  https://github.com/guzzle/guzzle.github.com/blob/master/build
I'm using pearfarm to build a spec file and Pirum to host the PEAR channel.  Here's the Pearfarm spec file: https://github.com/guzzle/guzzle.github.com/blob/master/pear/pearfarm.spec
I'll try to find some time to fix this issue, but would greatly appreciate any help.


[Question] parMap and parZip

In the naming of parMap and parZip, the par stand for which word?

It should remind of “parallel”, because it allows for the different computations to happen concurrently.
It also connects to similar wording in other programming communities. For example, Haskell follows a similar convention.

Interesting! Thanks Ale.


MM-11533 Fixes Redux dispatching undefined for dispatching results of logError

Summary
Fixes dispatching of logErrors
Ticket Link
MM-11533
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit tests passed
[x] Ran make flow to ensure type checking passed

@sudheerDev Does this need to be merged to a 5.3 branch, or master is okay?

@jasonblais It is present in release branch https://github.com/mattermost/mattermost-redux/commits/release-5.3. Release branch was cut after this commit


CatsSemigroupKForTask added

Solves issue #703

Thanks for PR @jendakol -- looks good!
But could you add test in TypeClassLawsForTaskSuite to make sure it is and remains lawful instance? :)

Hey, nice.

wouldn't this instance make better sense if integrated in CatsBaseForTask? https://github.com/monix/monix/blob/master/monix-eval/shared/src/main/scala/monix/eval/instances/CatsBaseForTask.scala
if you do it for Task, we need it for Coeval as well

Also, what @Avasil said, we need to test the laws, so checkout the TypeClassLaws* tests.

@jendakol yes, include the instance in CatsBaseForTask for Task and in CatsSyncForCoeval for Coeval.

Updated. Implemented for both Task and Coeval, enabled laws tests.


Migrate diktat smoke tests to SAVE-cli mechanism

What's done:

migrated diktat smoke tests to SAVE-cli mechanism
Closes #1383

Unit test for downloading of ktlint and putting diktat to a proper directory?

@Cheshiriks please remove binaries from git, instead please either use an HTTP client in Java to download them before test or use maven plugin for downloading. Binaries should be placed in target directory so that they won't show up in Git and could be cleaned up by maven clean

Haven't we decided that for now we will just put the Save in the project, and later we will do the download of the file?

Having a 50MB file in git slows down every fetch operation :( We can add maven configuration later, but downloading from a JVM test seems to be easy enough to implement it right away

Please add TearDown and TearUp mechanism. No need to download everything and copy everything for thousand of times. Check how @petertrr does it in save-cli

Yes. Added


Get upgrade notification but never upgrades on relaunch

I think this is the back end for the Android Messages updating, not this application. I get them occasionally and there has not been an update to this app.


WIP: Maintain an id that can be linked by a label

I couldn't find anywhere that the id {{ $name }}-selected was being used, so this shouldn't break anything.
It's good for a label to still be able to reference the "input".

This completely breaks unfortunately.


is 0.9.1 java9 compatible?

I see https://github.com/vavr-io/vavr/commit/44a23e7a341e7560b32306ae756f6746b0f8a153 which is not in 0.9.1, but I'm not 100% sure, I think maybe that's about building vavr with java9 and maybe it's safe to use a vavr 0.9.1 which was built on java8 (like the one we get from maven) on java9?
Sorry to open a bug for that, I've asked on gitter but there was no answer so far.

I think 0.9.1 does not work well with Java 9, see #2102 for example.
We did not test 0.9.1 with Java 9, JDK9 wasn't released to that time - but 0.9.2 will be Java 9 compatible (both as dependency and build from source with JDK9).

Emmanuel, I will close this as duplicate to #2097 - thanks for reporting!


Refactor content widgets toward touchable links

This is another segment of my draft branch #204, toward #71.
I think these refactors stand on their own, but in particular they will be helpful for (a) creating a stateful widget to hold gesture recognizers for links in a given BlockInlineContainerNode, and (b) threading those recognizers down through building the inline spans for that node's subtree.

Thanks! LGTM; merged.


event name is wrong

updated->completed

Hi @kenakamu, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Skype/UCWA/message_ref.md
:white_check_mark:Succeeded

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

@kenakamu This is an old PR, so closing. If you still think these changes need to be made, please file a new PR. Thanks.


HOSTEDCP-1373: ARO HCP - Add capability for Azure VMs to be created with ephemeral disks

What this PR does / why we need it:
Adds the capability to enable ephemeral disks for the OS disks in the Azure VMs. In addition, the ability to set the disk storage account type for the OS disks through the CLI was added in this PR as part of the prerequisite work.
Which issue(s) this PR fixes:
HOSTEDCP-1373
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[x] This change includes docs.
[ ] This change includes unit tests.

/test images
/test verify
/test unit
/test e2e-aws

/test images
/test verify
/test unit
/test e2e-aws

/test e2e-aws

/retest

@csrwng @sjenning - I made some changes to the default OS disk size for azure nodes here. I saw there was some discussion about this previously with Alvaro here on this PR.
The default I set it to is what CAPZ defaults to. The previous default value is too large for ephemeral disks.

The default is what CAPZ defaults to. The previous default value is too large for ephemeral disks.

Could we set the default (at least in the CLI) based on whether you are using ephemeral disks?

/retest

Retesting RHTAP
/retest

/lgtm

/retest-required

/retest


Can I pause the torrent?

Hi @rootzoll if I CTRL+C and re-run the script will it pickup from where it left? Thank you very much in advance!


New package xchain-cosmos-sdk

Description:
This PR introduces a new package, xchain-cosmos-sdk, aimed at consolidating common logic for packages utilizing CosmosSDK technology within the Xchainjs repository as the existing basic packages containing common logic for UTXO and EVM chains.
Objectives:
Unified Support: The primary goal is to offer unified support for cryptocurrency wallets across different chains.
Implementation Details:
Official Dependencies: The official dependencies provided by CosmosSDK, the @cosmjs package set, are utilized to interact with nodes from JavaScript.
Base Package Creation: This initial PR focuses on creating the base package, with subsequent tasks planned to extend functionality and support.
Future Work:
Kujira Wallet Support: The first task post this PR is to extend support to the Kujira wallet to test the new implementation.
Update Existing Wallets: Subsequently, each wallet supported by Xchain that works with CosmosSDK will be updated to avoid the current code duplication (cosmos, thorchain, binance, and maya).
This package is crucial to avoid code duplication and to ensure more coherent and efficient support for wallets working with CosmosSDK technology in the Xchain ecosystem.
ADDITIONAL NOTES:
Performance Optimization:
Given the number of wallets supported by Xchain and the computational cost of some address generation processes, I thnk it is crucial to convert address generation into an asynchronous process to avoid browser thread blocking and freezing.
Rationale:
The getAddress method of the XChainClient interface remains synchronous in this PR, with addresses being generated manually instead of using @cosmjs. This might be a significant change but we should start thinking about make the address generation asynchronous
This future change will help to optimize performance and prevent browser thread blocking, which is common in projects using Xchain that generate all address together at the start of the application due to the computational cost of some address generation processes.
The asynchronous approach to address generation is pivotal to enhancing user experience by preventing browser blockages and improving overall performance.

Just quickly, do any packages depending on the new xchain-utils version need bumping?

Not bumping necessary. The change on xchain-utils is a minor and retrocompatible change


[BG-9156] add support for krsSpecific param

Add template to code so that krs provider can clearly see where and how to handle the krsSpecific parameter if they choose.

To echo Sean: Add some info about this in the README and inline. Other than that -- looks good :)

@dannybitgo whats up with this? do we need it? if not, plz close


While Loops and If Statements

When compiled, while statements don't seem to terminate properly. Everything below the looped code just compiles inside the first while statement. Likewise with If statements; a subsequent If statement gets nested inside the first one. I tried leaving blank lines but all that seems to do is add blank lines to the compiled program.
Is this a bug or am I just doing something wrong?

It's probably a bug caused by the last modification someone made on the indent variable. Can you post your Rockstar code here so I can test it?

Tragedy takes Hope and Fear
While Hope is as great as Fear,
Put Hope without Fear into Hope
(The woman says "Please enter a number...")
(Listen to Hope)
Hope is abandoning
Fear is aberrational
If Tragedy taking Hope, Fear is nothing,
Shout "Even!"
If Tragedy taking Hope, Fear ain't nothing,
Scream "Odd!"

It's a pretty simple even/odd calculator. The input parts are commented out because I can't figure out a way to change the type on inputs (don't think there is a way in rockstar), so I'm just testing it with a static value for now.

Have you tested with the right blank lines? There should be another blank line after Put Hope without Fear into Hope, and a blank line after Shout "Even!"

About the type conversion, I'll work on that! Not sure if Dylan accepted the pr that specified this, but it's basically already defined by the community

Whoops, yeah that was an earlier draft and I missed it. It should be reflected in the edit now. My bad.

Still missing a blank line after the function, but maybe it's githubs fault. I just tested and the identation works perfectly (adjust the blank lines and it will). The problem is nothing is being transpiled to nothing instead of 0, I'll check why

Oh, I see, you should remove the commas (,) at the end of your lines. Doing this will fix it. As of rn I'm not sure if it should work with the commas at the end, but this is easy to fix ;). Just don't use them while I don't hahahah

Cool, thank you! I'll try that now.

With this as my .rock file:
Tragedy takes Hope and Fear
While Hope is as great as Fear
Put Hope without Fear into Hope
Give back Hope
(The woman says "Please enter a number...")
(Listen to Hope)
Hope is abandoning
Fear is aberrational
If Tragedy taking Hope Fear is nothing
Shout "Even!"
If Tragedy taking Hope Fear ain't nothing
Scream "Odd!"
I get this output still:
def Tragedy(Hope, Fear):
while Hope >= Fear:
Hope = Hope - Fear
    return Hope

     #The woman says "Please enter a number...")
     #Listen to Hope)
    Hope = 0
    Fear = 2
    if Tragedy(hope_fear) == False:
        print("Even!")

        if Tragedy(hope_fear) != False:
            print("Odd!")

I'm dumb. It was the line breaks from using a Windows text editor and compiling in unix. Just tried compiling it again and it works perfectly. Sorry!

Hahahah it's okay! I'll think about implementing something to avoid that. Thanks anyway for coming here and for using rockstar-py!


[Wallet] Update @celo/client to v1.3.2-stable

Description
Update @celo/client to v1.3.2-stable (https://github.com/celo-org/celo-blockchain/commit/91993404cdf69ff4dad810bae8ac02763ae667d8) to address a security issue.
Tested
Can sync and send transaction on mainnet and alfajores.
How others should test

Disable "Data Saver Mode" in the settings and check the app works as expected with the blockchain (can send transactions, exchange CELO, etc).

Related issues

Fixes #337

Backwards compatibility
Yes

HI @MuckT We have verified this task on latest android internal build V1.16.1 & Testflight build V1.16.1 (67) and observed the followings.

[ ] User is able to performed send transaction through send & scan options.
[ ] User is able to send the request to other users
[ ] User is able to perform celo exchanges Buy/Sell
[ ] User is able to withdraw celo on exchanges page
[ ] User is able to cashout from add funds page

Devices: iPhone 6+ (12.4.5), Vivo v11 pro (10)
CC: @jeanregisser @gnardini

Hi @MuckT, We have verified this issue on Latest android build V1.16.0 in Android 11.0 and everything is working as expected.
Device Details: Google Pixel 4a(11.0)


Use subfiles to organize code structure

According to the Official Guide, use subdirectories to organize the code structure, and the adjustments are roughly as follows:

Add a new data directory, move core-data core-database to the data directory;
Add feature directory and move feauture-mymodel to feature directory;
Add a new core directory, and move core-testing and core-ui to the core directory;

See NowInAndroid PR#241 for similar tweaks.
The comparison effect before and after adjustment is as follows:

now
after
DataItemType with News

After adjustment, it is consistent with the example in the official document. The dependency figure is as follows:

Thanks for the PR! We only do that when the number of modules is too big so this was done on purpose.


[Navigator] How can I change the swipe-back and swipe forward route?

Hi @ericvicenti, I'm using navigator and I want to override the swipe functionality. Right know, when I swipe back it gets me to the last route from the stack (the normal behavior), but I want on swipe-back to do something else. Is this possible?
Thanks!

Gestures that are detected by Navigator are part of the scene config.  You can manipulate the scene config by passing a configureScene prop https://facebook.github.io/react-native/docs/navigator.html#configurescene
It works just like renderScene, getting called once for each scene render except you return a scene config object instead of a component.  Start by looking at the existing scene configs and try overriding some of the properties to see how they work.
You'll be interested in the gestures property.  The value of the property is an object whose keys are the action that gesture will trigger and whose values are the descriptors of the gesture.  Unfortunately the only actions supported are pop, jumpBack and jumpForward.  So unless one of these is what you want to do you'll have to implement your own custom gesture recogniser (see https://facebook.github.io/react-native/docs/panresponder.html).
If you do implement your own gesture recogniser for swipe-left remember to disable the default pop gesture in Navigator by providing a scene config with an empty gestures object e.g.
Object.assign({}, Navigator.SceneConfigs.FloatFromRight, {gestures: {}})
```

Thanks for explaining that. Now I know where to dig. I'll try and I'll come back with other questions if needed


Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run rake default or rake parallel. It executes all tests and RuboCop for itself, and generates the documentation.

Both options are fine by me.
On Mon, 27 Aug 2018 at 13:13, David Rodríguez<EMAIL_ADDRESS>wrote:

@deivid-rodriguez commented on this pull request.
In spec/rubocop/cli_spec.rb
https://github.com/rubocop-hq/rubocop/pull/6223#discussion_r212941153:

@@ -11,7 +11,7 @@
it 'returns 1' do
allow_any_instance_of(RuboCop::Runner)
.to receive(:aborting?).and_return(true)

 create_file('example.rb', '# encoding: utf-8')

 create_file('example.rb', '')

I was about to add a '' default value to the content parameter of this
method, but actually... Maybe extracting a separate
create_empty_file(name) method that calls create_file(name, '') is
slightly more clear?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rubocop-hq/rubocop/pull/6223#discussion_r212941153,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGVyie6WNkt3r1H9f7GDpedh-xvbb9Nks5uU9RegaJpZM4WM-v6
.

--
Best Regards,
Bozhidar Batsov
http://www.batsov.com


TextEncoder is not defined when running as a dependency in node

Steps to reproduce.
Install bee-js as a dependency in a node project.
Run the following code.
let Bee = require('@ethersphere/bee-js');
let bee = new Bee.Bee('http://localhost:1633');

let topic = '0x0000000000000000000000000000000000000000000000000000000000000001';

let pk = '...';
let ad = '...';

let set = async (payload) => {
	let w = bee.makeFeedWriter('sequence', topic, pk);
	let ref = await bee.createFeedManifest('sequence', topic, ad);
	let r2 = await bee.uploadData(payload);
	let r3 = await w.upload(r2);
}

let get = async (payload) => {
	let r = bee.makeFeedReader('sequence', topic, ad);
	let d = await r.download();
	let p = await bee.downloadData(d.reference);
	console.log("want", payload, "got", p)
	return td.decode(p) === td.decode(payload);
}

let payload = new Uint8Array([i]);
set(payload);

fwiw this is how i have previously dealt with the problem that TextEncoder is in the browser context, but must be included from the node module util, surely there's a better way :)
if (typeof window === "undefined") {
  var TextEncoder = require('util').TextEncoder;
  var TextDecoder = require('util').TextDecoder;
}else{
  var TextEncoder = window.TextEncoder;
  var TextDecoder = window.TextDecoder;
}

Hmm, this is interesting because TextEncoder is used in bee-js and there are tests running for Node v10, v12 and v14 without issues.
Which node version are you using?
Can you please also provide the actual error you get?

indeed, unsure why
ReferenceError: TextEncoder is not defined
      at prepareData (/Users/sig/Code/swarm2/bee-js-feeds/dist/webpack:/BeeJs/src/utils/data.ts:6:5)
      at Object.upload (/Users/sig/Code/swarm2/bee-js-feeds/dist/webpack:/BeeJs/src/modules/bytes.ts:22:17)
      at t.Bee.uploadData (/Users/sig/Code/swarm2/bee-js-feeds/dist/webpack:/BeeJs/src/bee.ts:52:18)
      at /Users/sig/Code/swarm2/fds.js.bee-js-feeds/dist/ES5/FDS-SwarmFeeds.js:161:33
      at Generator.next (<anonymous>)
      at asyncGeneratorStep (dist/ES5/FDS-SwarmFeeds.js:22:103)
      at _next (dist/ES5/FDS-SwarmFeeds.js:24:194)
      at process._tickCallback (internal/process/next_tick.js:68:7)

it did also happen with direct include from npm

This also triggers the issue but I can not replicate myself:
let Bee = require('@ethersphere/bee-js');
let bee = new Bee.Bee('http://localhost:1633');

async function test(payload) {
    try {
        let ref = await bee.uploadFile(payload);
        let res = await bee.downloadFile(ref);
        console.log(res)
    } catch (e) {
        console.error(e)
    }
}

test('string')

One clue I found when looking at the documentation of Node.js, starting from v11 it states that:

The TextEncoder class is also available on the global object.

This sentence is missing from the v10 documentation.
@significance Is it possible that you are using node v10? If yes can you please verify if the problem still persist if you try it in a newer version?

ah, yes, this makes sense, I will check
still strange that your node v10 tests work though!

It might be somehow poly-filled in webpack or the test environment. Once you validate, I see two actions/proposals here:

ensure the tests for v10 are failing so that we can catch something like this in future
mark nodejs v10 as not supported, it is anyways nearing end of it maintenance support (two more months) https://nodejs.org/en/about/releases/

@agazso @vojtechsimetka confirmed, i've updated my proj to node 12 👍

@agazso @vojtechsimetka what do you think is the action here? Should we pronounce v10 "dead"?

Yes but I really want to understand why it does not fail in our tests because that means we have some issue there.

@vojtechsimetka heh, so the issue seems to be that all the tests run (I guess) on NodeJS v14 😅
https://github.com/ethersphere/bee-js/pull/220/checks?check_run_id=2149222270#step:10:17


Expose access token expiration time from AuthenticationSession

VS Code exposes the access token for an AuthenticationSession but not its expiration time.  There are some client SDKs (notably one of Azure's SDKs) that expect a credentials object that exposes both the token and its expiration.  (It happens, in the case of Azure, that faking an expiration time works, but that's an implementation detail that could easily break version to version.)
I propose adding an expiresAt property to AuthenticationSession:
declare namespace 'vscode' {
    export interface AuthenticationSession {
        /**
         * The date/time at which the access token will expire, expressed by the number of milliseconds elapsed since 1/1/1970 00:00:00 UTC.
         */
        readonly expiresAt: number;
    }
}

This is required to create an Azure.Core.TokenCredential.  We're having to make one up right now.


Remove Ansarada job ad

The 30 day run is complete, time to remove the ad 👍

I mathed bad. Still a few more days to go 👍

Today's the day! 🎉


[Feature request] Change filters while in program

As far as I can see, filters (like order, author, etc.) can only be applied as program arguments as startup.
Sometimes it makes sense to change the filters while you're using the program, i.e. repeat the current search but order by date.
My suggestion would be that for each filter (e.g. --order=date) a equivalent in the program (e.g. :order=date) exists.

Any command-line argument can also be applied in interactive mode. However, the filtering-related options require a new search.
Example:
% youtube-viewer linux

...original results here...

=>> Select one or more videos to play (:h for help)
> --order=date linux

...results ordered by date here...

ok, I didn't know that - thanks :)


LettuceFutures.awaitAll throws RedisCommandInterruptedException when awaiting failed commands

LettuceFutures.awaitAll throws RedisCommandInterruptedException on when awaiting commands that failed. Throw RedisCommandExecutionException instead.

Fixed.


filter/search file or folder

[x] the file list should just be filtered based on the search string
[x] with regex off only support * (any amount of characters) and ? (one character) like in windows explorer
[x] with regex on use proper regex (* and ? wildcards from windows explorer are not normal regex)
[x] "starts with" or "includes"?
maybe add an additional parameter to change that … but default = includes
[x] maybe add an additional parameter to switch between "matching file name" and "matching whole path"
filename => "file1.txt"
filepath => "someFolder/file1.txt"

Example:
search for: spaghetti
files

spaghetti.txt
spaghetti/file.txt
folder/spaghetti.txt

with "matching file name" and "includes" mode -> 1 & 3
with "matching file name" and "starts with" mode -> 1
with "matching path" and "includes" mode -> all [Default]
with "matching path" and "starts with" mode -> 1 & 2

Done?

Works,
will be in next release.


Fix bind not being passed to irc-framework

This was silently broken in irc-framework 2.6.0 in https://github.com/kiwiirc/irc-framework/commit/7b616172ecb91be7ce7baa01887374ad8374a9a6
Was fixed by https://github.com/kiwiirc/irc-framework/pull/138 and then reverted in https://github.com/kiwiirc/irc-framework/commit/b2118b440291fe6d20f1e0aca2996b31cbc527d8

👍


Include forge type in repo model

It could be helpful to include the SCMs type and maybe url / instance name in the repo model. This could be used to determine the type of SCM and improve parsing of for example ref in the UI. (Gitlab ref of MR is: refs/merge-requests/2/head, Githubs is: refs/pull/620/merge)
I would add this on a per repo basis as it could be a preparation for #138 and could be used if a user ever switches SCMs with their database.

i would recommend to add a new table and only link repos by foreginID to it

yep see #1417


Question on MotionSensor

Hello,
I would like to use MotionSensor but the sensor I am using is inverted, in other words when there is no motion it is in High state.
Is there the possibility to invert the plugin behaviour? Please advise,
Thanks,
Dan

Hi,
Update index.js file in plugin directory by this one and add 'inverted' config param to true in your homebridge config file : index.js.zip


Fixed Cypress Parallel

Proposed Changes

Fixes #issue_number
Change 1
Change 2
More?

@ohcnetwork/care-fe-code-reviewers
Merge Checklist

[ ] Add specs that demonstrate bug / test a new feature.
[ ] Update product documentation.
[ ] Ensure that UI text is kept in I18n files.
[ ] Prep screenshot or demo video for changelog entry, and attach it to issue.
[ ] Request for Peer Reviews
[ ] Completion of QA

Did we merge the other PR from @rithviknishad 🤔


add note when using native placeholders

Created an additional note to highlight using the native placeholder feature when assets contain special character.

Thanks @jsnellbaker


Codinasion Website Working Model

Title of article
Should we show solution in multiple language in same page for a specific question ?
Additional information
Model we are using now :
Let's see for a Hello World programme. Solutions are available at

c/programme/hello-world
python/programme/hello-world
c++/programme/hello-world
c#/programme/hello-world
java/programme/hello-world

Suggestion
We can create a dedicated folder for specific problem (programme/hello-world) and all solution can be available in a single folder like :

programme/hello-world/solution.c
programme/hello-world/solution.py
programme/hello-world/solution.cpp
programme/hello-world/solution.cs
programme/hello-world/solution.java

Code of Conduct

[X] I have read and agree to the Codinasion project's Code of Conduct

Please suggest @harshi1122 @aryangupta701 @debaghosh @PA11TEDDU @iUttamRao and all

Yeah, putting all the codes in one folder will probably be more efficient 🙌

Yes you are right @harshraj8843 this suggestion can improve user experience  also will be helpful for beginners. 👍👍

If you want i can merge a request after making this changes

Title of article
Should we show solution in multiple language in same page for a specific question ?
Additional information
Model we are using now :
Let's see for a Hello World programme. Solutions are available at

c/programme/hello-world
python/programme/hello-world
c++/programme/hello-world
c#/programme/hello-world
java/programme/hello-world

Suggestion
We can create a dedicated folder for specific problem (programme/hello-world) and all solution can be available in a single folder like :

programme/hello-world/solution.c
programme/hello-world/solution.py
programme/hello-world/solution.cpp
programme/hello-world/solution.cs
programme/hello-world/solution.java

Code of Conduct

[x]  I have read and agree to the Codinasion project's Code of Conduct

I agree with the single folder suggestion
Will help users find everything in one place rather than having to switch back and forth to find the same program in another language.

Please suggest @harshi1122 @aryangupta701 @debaghosh @PA11TEDDU @iUttamRao @Satyapriyo and all

I agree with the single folder suggestion
Will help users find everything in one place rather than having to switch back and forth to find the same program in another language.

Please check this sample page.
Preview : https://codinasion--pr15-dev-2xs9bp16.web.app/programme/

Please check this sample page.
Preview : https://codinasion--pr15-dev-2xs9bp16.web.app/programme/

Great! 💯

It's great man
On Sun, 20 Feb, 2022, 10:18 pm Harshitha Devi Ganajala, <
@.***> wrote:

Please check this sample page.
Preview : https://codinasion--pr15-dev-2xs9bp16.web.app/programme/
Great! 💯
—
Reply to this email directly, view it on GitHub
https://github.com/codinasion/codinasion/issues/214#issuecomment-1046276970,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXJ2TSNMNDVGCSXGAT3MLDLU4ELMLANCNFSM5O4PXSFA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

So, i am gonna work on it.
Till then all PR will be in queue 😃

Yeah It's good


docs: clarify bundling behavior on Schema Object

This PR clarifies the behavior of bundling and (de)referencing of Schema Object, introducing a clear statement and reminder that the $ref behavior does not follow JSON Schema one, therefore things like $id won't have any effect on it.
Related issue(s):
https://github.com/asyncapi/spec/issues/649

cc @derberg @fmvilas you might be interested in this one! Thank you!

/rtm

/rtm


Error on CustomScrollView

/[C:/flutter_2.2.1/.pub-cache/hosted/pub.dartlang.org/expandable_page_view-1.0.10/lib/src/expandable_page_view.dart:283:9](): Error: No named parameter with the name 'padEnds'.
        padEnds: widget.padEnds,

        ^^^^^^^
/[C:/flutter_2.2.1/packages/flutter/lib/src/widgets/page_view.dart:664:3](): Context: Found this candidate, but the arguments don't match.
  PageView.builder({
  ^^^^^^^^^^^^^^^^
/[C:/flutter_2.2.1/.pub-cache/hosted/pub.dartlang.org/expandable_page_view-1.0.10/lib/src/expandable_page_view.dart:299:7](): Error: No named parameter with the name 'padEnds'.

      padEnds: widget.padEnds,
      ^^^^^^^
/[C:/flutter_2.2.1/packages/flutter/lib/src/widgets/page_view.dart:626:3](): Context: Found this candidate, but the arguments don't match.
  PageView({

  ^^^^^^^^

CustomScrollView(
  physics: BouncingScrollPhysics(),
  slivers: <Widget>[
    SliverToBoxAdapter(
      child: ExpandablePageView(
        children: [
          Container(
            height: 200,
            width: context.mediaQuerySize.width,
            color: Colors.white,
          ),
          Container(
            height: 100,
            width: context.mediaQuerySize.width,
            color: Colors.green,
          ),
          Container(
            height: 300,
            width: context.mediaQuerySize.width,
            color: Colors.red,
          ),
        ],
      ),
    ),
  ]
)

Hello @callmejm, my guess here is that you are using an older version of Flutter, I think it is 2.2.1, am I right? Try updating your Flutter version or use an older version of this library (not recommended as it might have bugs).


watchOS support

@pawurb Could you help please.

Sure, will look into it. AFAIK testing watchOS is not as straightforward because out of the box it does not support test targets, but alamofire does it somehow so will try to copy their approach.

@pawurb That would be great, thank you!

@pawurb watchOS support added in v1.4.6, thanks for the great work!