docker: use node docker images, mount volume and use nvm ci

Summary
Revert partially https://github.com/elastic/synthetics-recorder/commit/5c91e170eded3f950443529bfdd7fe7f738100cc so it can mount the volume
Implementation details
There are some issues while using the docker build with a docker copy entry since the workspace is stored hence it can cause other issues related to what's the workspace used for testing.
By reverting https://github.com/elastic/synthetics-recorder/commit/5c91e170eded3f950443529bfdd7fe7f738100cc , restoring the workspace and forcing the npm ci env variable things should be back to normal.
How to validate this change
It runs successfully in the CI
or
$ .ci/scripts/docker-build.sh
$ .ci/scripts/run-test-in-docker.sh

:broken_heart: Build Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2022-11-03T17:36:22.714+0000

Duration: 8 min 20 sec

Steps errors
Expand to view the steps failures

docker build

Took 2 min 40 sec . View more details here
Description: .ci/scripts/docker-build.sh

:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

/test all : Re-trigger the build for all the stages.

[2022-11-03T18:49:42.694Z] npm ERR! sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies
[2022-11-03T18:49:42.694Z] npm ERR! sharp: Installation error: EACCES: permission denied, mkdir '/root/.npm'

https://github.com/elastic/synthetics-recorder/pull/309/commits/2a89d6006bdd123b369540bd139f45f030538df5 might help

If you need to install global npm dependencies, it is recommended to place those dependencies in the non-root user directory. To achieve this, add the following line to your Dockerfile

ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
ENV PATH=$PATH:/home/node/.npm-global/bin # optionally if you want to run npm global bin without specifying path


Tests are run with tox

I suggest the readme should refer to the more superior mechanism to run tests and link to the project for more info.

I'm somewhat conflicted about this. I accept that tox is 'superior' in that it covers more possibilities. But pytest is what I almost always actually run while developing stuff, because it's typically an order of magnitude faster and catches >=95% of the problems that tox would have done.
I guess tox is the right thing to point to for people who aren't already familiar with a project, because it handles more of the setup. But on the other hand, it's another layer of abstraction between the programmer and the code: the more tools you need to work on some code, the more offputting it is for people not already familiar with those tools.

I agree, and I think it's nice that this project is set up so that you can run the tests with a simple py.test (not all projects are).
Why not just include both ("run the tests with py.test (or tox if you prefer)")?

That's probably reasonable. I'm also sometimes picky about giving too many options in introductory documentation, because options demand effort from the reader. But I quite like your wording: there's a clear default for people who don't know which they prefer.

the more tools you need to work on some code, the more offputting it is for people not already familiar with those tools.

I agree fervently, which is why I recommend tox. One doesn't need both pytest (and which version) and tox, as tox will facilitate the creation of pytest. Tox will even guarantee the required version is installed (if it wasn't invoked under the required version). It's also test-runner agnostic, meaning it can run nose or unittest or pytest or custom tests. That's why I recommend that those developing on Python have tox available. If you don't have it available for this project, you'll probably need it for the next.
For me, it's a clear win. Let the project control the test runner (including required version) and let the user simply run tox.
For optimized workflows, like the one you describe, where you have already addressed all of the issues that tox adjusts, you can simply ignore the advice in the readme. That advice is for beginners, not for more optimized workflows.

Why not just include both ("run the tests with py.test (or tox if you prefer)")?

I don't like that approach as it's ambiguous, but also more prone to error. My preference would be to advertise the preferably one obvious way and that way should be the same technique that's employed in CI.

I don't feel strongly about it. If you're not convinced, please feel free to close.

This change also fixes a bug that py.test is deprecated (in favor of pytest) and adds a hyperlink to the tool to help someone unfamiliar to get started.

Amusingly, you changed it just as I was typing a message to say I'd accept it as it was. But I'm happy with it this way.


Replace peer discovery system with something better

The Haskell/Kademlia/IPC system is really dodgy. The Haskell library has weird bugs, and Cardano are dropping it. See here. I'm trying to get more info from them. There has been discussion of using libp2p's system instead (when we start using IPFS after #1214), or of moving to something else.
We need to figure out what the something else is, and then implement it.

We've switched to libp2p peer discovery already, and using it for rpc transport is in #3988.


fix(dbm-services): fix db simulation create user

关联研发信息
dev_branch: fix/create_excute_routines_user/#5607
target_branch: v1.5.0


Option to open in new [normal editor] tab instead of new pane

This is the behaviour of atom-webbrowser, which is better IMO as it is much more like a regular browser window.

Fixed in #146
Don't worry about the first pull request, had to delete that one.

added a option for new tab..thanks @Pyragon


VM has a new IP

I am running an Ubuntu image.. I shutdown the VM and restarted it resulting in a new IP...
Is there anything I need to run now that the IP has changed?  Also is there a handy way to test that everything is working again?

You should only need to change the DNS server on the device you are
watching to the new server address.
If your home IP changes, you will need to update the iptables rules.
-- ab1
On 27 February 2016 at 16:53, gviddy<EMAIL_ADDRESS>wrote:

I am running an Ubuntu image.. I shutdown the VM and restarted it
resulting in a new IP...
Is there anything I need to run now that the IP has changed? Also is there
a handy way to test that everything is working again?
—
Reply to this email directly or view it on GitHub
https://github.com/ab77/netflix-proxy/issues/74.

thanks.... that's what I thought too however I am now getting this error from Netflix: netflix has encountered an error nw-2-5
A couple of days ago I got the dreaded 'a proxy has been detected' so I decided to reboot the VM to get a new IP and see if that gets past it.. However this new error seems to be stopping me...

Oh and if this helps.. I am on Xbox One... When i check network settings in Netflix I get the following errors.
Netflix server 1  X
Netflix server 2 X
Netflix server 3 X
Internet Connection OK
So it fails connecting to the Netflix servers....

Does it matter that the db.override file still has the old IP ?

Oh, yes it does, you should m change it and restart BIND.

On 28 Feb 2016, at 01:19, gviddy<EMAIL_ADDRESS>wrote:
Does it matter that the db.override file still has the old IP ?
—
Reply to this email directly or view it on GitHub.

And you do this all in the docker? correct?

Right, so first edit your db.override file to update the IP, then run docker restart bind.
Also, you should probably find a VPS which doesn't change the IP randomly. It is a server after all and servers shouldn't change their IPs..
-- ab1

Agreed.. However Netflix seems to have blocked the IP and that's why I needed to change it. :)

Shall I close?

Oh I couldn't get it to work. Not sure am I supposed to edit the file in the docker? or edit the file on the VM? Do I recompile the code?
As it is I just created a brand new VM and did a fresh install... :)

OK, if it happens next time, edit the file on the host and restart the
containers or just reboot.
-- ab1
On 3 March 2016 at 06:49, gviddy<EMAIL_ADDRESS>wrote:

Oh I couldn't get it to work. Not sure am I supposed to edit the file in
the docker? or edit the file on the VM? Do I recompile the code?
As it is I just created a brand new VM and did a fresh install... :)
—
Reply to this email directly or view it on GitHub
https://github.com/ab77/netflix-proxy/issues/74#issuecomment-191613627.

awesome. thanks!  :)


feat: annotations for 2.5.0 compatibility

This pull request introduces several enhancements and new features to the confluent_kafka-stubs package, primarily focusing on expanding type hints and improving the functionality of the AdminClient class. The changes include adding new classes, methods, and imports to support these enhancements.
Enhancements to AdminClient functionality:

confluent_kafka-stubs/admin/__init__.pyi: Added new methods describe_topics, describe_cluster, list_offsets, and delete_records to the AdminClient class. These methods provide additional capabilities for managing topics, clusters, and offsets. [1] [2]

New classes and type hints:

confluent_kafka-stubs/_model/__init__.pyi: Added new classes TopicCollection, TopicPartitionInfo, and IsolationLevel to enhance the type hints for topic management and isolation levels.
confluent_kafka-stubs/admin/_cluster.pyi: Introduced the DescribeClusterResult class to encapsulate cluster description results.
confluent_kafka-stubs/admin/_listoffsets.pyi: Added classes OffsetSpec, TimestampSpec, MaxTimestampSpec, LatestSpec, EarliestSpec, and ListOffsetsResultInfo to support offset specification and listing.
confluent_kafka-stubs/admin/_records.pyi: Added the DeletedRecords class to represent deleted records information.
confluent_kafka-stubs/admin/_topic.pyi: Introduced the TopicDescription class to provide detailed topic descriptions.

Additional improvements:

confluent_kafka-stubs/__init__.pyi: Updated the __all__ list to include new imports and ensure all relevant classes and constants are exported.
confluent_kafka-stubs/cimpl.pyi: Added the Uuid class to represent universally unique identifiers.

These changes collectively enhance the functionality and type safety of the confluent_kafka-stubs package, making it more robust and easier to use for developers working with the Confluent Kafka Python client.

Sorry for the noise, I had to clean the commit history.

Hello, let me decide how to do the release/versioning first. I will get back to this PR as soon as possible.
For more specific details, please check https://github.com/benbenbang/types-confluent-kafka/issues/204

Hello @mj0nez
sorry for the very late reply, could you please rebase and solve the conflicts
also please add the label for confluent-kafka-python versions
thank you

Done. Additionally, I ran pre-commit on the whole code base, which is why there a some newline-changes.
Sorry, but I don't know what you mean with label.

Well, I've checked that but I guess I'm lacking permissions.
The PR should be fine for v2.5.0 and up to v2.5.3 but incompatible with Conlfuent's latest release v2.6.0

I fixed the format, but now I have a conflict again 😢

also there are two changes in the .github folder, could you please drop the changes. I think merge mess up the commits :\

No worries, I'll rebase.

By the way, are you willing to help maintain the repo? 🙂

:tada: This PR is included in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


1.1-dev shows users as being logged in forever

At least while using database sessions.

I am not sure what is going on with this one. There doesn't seem to be anything that gets rid of old log_online entries?

Do you mean in the who-is-online page?

Everywhere - whether or not someone is 'online'. Their is_online property is true.
No proper pruning of the log_online table seems to be occurring and that is where the software is getting the is_online status from.

The issue is in:
$do_delete = $cache->getVar($do_delete, 'log_online-update', 30) && (int) $do_delete < time() - 30;

if cache is disabled getVar returns false, so $do_delete is never true and the log_online never cleaned up.
If I'm not completely :sleeping: I think in this case test if the cache was hit is useless, jsu:
$do_delete = $cache->get('log_online-update', 30) < time() - 30;

should suffice:

cache enabled a value is returned and compared to the last 30 seconds gap,
cache disabled an equivalent to 0 is returned and the delete will always be applied.


Update .travis.yml to use the Docker container persisted to our Azure Container Registry instance

What does this PR do? Please provide some context
Updates docker commands to use the container persisted to our Azure Container Registry instance
Where should the reviewer start?
.travis.yml
How can this be manually tested? (brief repro steps)
Would need to push a change to the oxa/master.fic branch of the Microsoft/edx-theme repo after this change is merged
What are the relevant TFS items? (list id numbers)
User Story 100069, Tasks: 100282, 100284
Definition of done:

[ ] Title of the pull request is clear and informative
[ ] Add pull request hyperlink to relevant TFS items
[ ] For large or complex change: schedule an in-person review session
[ ] This change has appropriate test coverage

Reminders BEFORE merging

Get at least two approvals
If you're merging from a feature branch into the development branch then "flatten" or "squash" commits
If merging from the development branch into master (or porting changes from upstream) then use github's UI to get review feedback, but use the git command line interface to complete the actual merge.

Reminders AFTER merging

Delete the remote feature branch
Resolve relevant TFS items
(reverse merge) If you merged from the development branch into master then check to see if there are any changes in master that can be merged down to the development branch (like hotfixes, etc). In this case, use github's UI for feedback and the git command line interface for the actual merge.

is this change already in dev.fic ?
if so then i'd recommend completing the merge via git cli. if not, i'd recommend first putting it into dev.fic and porting it. can we do this together tomorrow morning?


修复参数赋值问题

这个 PR 实现什么功能/修复什么问题:
修复参数赋值问题
是否需要 backport 到之前的 release 分支:

release/2.10.0
release/2.9.0
release/2.8.0

/cc @swordqiu @yousong

Codecov Report

Merging #1092 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #1092      +/-   ##
=========================================
+ Coverage    7.87%   7.88%   +<.01%
=========================================
  Files         356     356
  Lines       56542   56542
=========================================
+ Hits         4453    4458       +5
+ Misses      51692   51689       -3
+ Partials      397     395       -2

Flag
Coverage Δ

#aFlag
7.88% <0%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

pkg/compute/models/loadbalancers.go
1.96% <0%> (ø)
:arrow_up:

pkg/util/rbacutils/rbac.go
76.19% <0%> (+0.95%)
:arrow_up:

pkg/appsrv/response.go
69.23% <0%> (+3.07%)
:arrow_up:

Continue to review full report at Codecov.

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

/lgtm
/approve


[Bug] Error messages do not output real HTML but write it out

Bug report
What I did
Accidentally triggered a 500 error after merging https://github.com/Laravel-Backpack/CRUD/pull/5125
What I expected to happen
Clean error message
What happened
Error message shows code blocks in text:

@tabacitu I asked you before if we should remove the output escaping, since now we are not overwriting user-land errors, and we control the text/html displayed on the exceptions.
I think we can safely do it, but you didn't answered me, and I think this needs two brains judging.
Let me know.
Cheers

I've been investigating this a bit more.
I think for safety reasons and unpredictable scenarios, not escaping exceptions messages could potentially be a breaking change.
There are two ways we can "safely" display the un-escaped message:
1 - Continue using the abort() helper, but pass a special header like: backpack-internal-error indicating that is a "developer error" and not a general application error.
2 - use a custom backpack_abort() helper that throw a BackpackInternalException in a similar fashion to the proposed on 1.
I think 1) is enough for our needs and would require the less code changes.
Let me know what you think @tabacitu
Cheers

Hmmm I don't really have a strong opinion in one direction or another. So go with your gut, Pedro!

(plus, we can easily change this if we change our minds, it wouldn't be a breaking change right?)


Benchmark hash functions

Before settling on one hash function, benchmark them.

Some hash functions to test:

xxHash xxhash-rust

benchmark both xxh32 and xxh3

FNV-1a fnv-rs

fnv_rs::Fnv32 should work since we need only 32 bits

After some benchmarks we'll settle with xxh3 from https://crates.io/crates/xxhash-rust for now


PyYaml dependency problems

When PyYAML can't install, it might fail quietly.
http://stackoverflow.com/questions/24791251/install-pyyaml-using-pip-add-pyyaml-as-pip-dependency

----- Today January 9th, 2017 -----
[12:19 PM]
zfisch Hey David! I just updated the brcaexchange production site and saw a few warnings regarding GA4GH API dependencies. Could you check to make sure the API is working as intended?
Here’s what I saw in the terminal when installing requirements:
  Running setup.py install for PyYAML
    checking if libyaml is compilable
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/check_libyaml.c -o build/temp.linux-x86_64-2.7/check_libyaml.o
    build/temp.linux-x86_64-2.7/check_libyaml.c:2:18: fatal error: yaml.h: No such file or directory
     #include <yaml.h>
                      ^
    compilation terminated.

    libyaml is not found or a compiler error: forcing --without-libyaml
    (if libyaml is installed correctly, you may need to
     specify the option --include-dirs or uncomment and
     modify the parameter include_dirs in setup.cfg)

  Could not find .egg-info directory in install record for PyYAML==3.12
  Running setup.py install for ga4gh-common

    Skipping installation of /var/www/backend/production/virtualenv/lib/python2.7/site-packages/ga4gh/__init__.py (namespace package)
    Installing /var/www/backend/production/virtualenv/lib/python2.7/site-packages/ga4gh_common-0.0.5-py2.7-nspkg.pth
    Installing ga4gh_run_tests script to /var/www/backend/production/virtualenv/bin
  Could not find .egg-info directory in install record for ga4gh-common==0.0.5
  Running setup.py install for ga4gh-schemas

    Skipping installation of /var/www/backend/production/virtualenv/lib/python2.7/site-packages/ga4gh/__init__.py (namespace package)
    Installing /var/www/backend/production/virtualenv/lib/python2.7/site-packages/ga4gh_schemas-0.0.8-py2.7-nspkg.pth
  Could not find .egg-info directory in install record for ga4gh-schemas==0.0.8
Successfully installed PyYAML ga4gh-common ga4gh-schemas
Cleaning up…```

@david4096 couple questions: 1) is this filed in the correct place?  other projects of ours also use yaml and 2) what can be done about this?  add info to the docs?  conda?

I think this is only used for doing test harness stuff to run travis tests locally. There is probably a better supported package, because in the server there are two yaml packages in dev-requirements, which I think we can treat as a separate issue. https://github.com/ga4gh/server/blob/master/dev-requirements.txt
I posted this issue when helping with an install of the schemas for the BRCA Exchange API. The install succeeded even though PyYAML failed to install properly, the result being unable to run the test harness, no big deal. This is a silent error that doesn't hurt much, but I wanted to post it here.

Is this a WONTFIX then?


Revert "feat: Implement the bitwise_not in NotExpr (#5902)"

This reverts commit 87e5adc9
Which issue does this PR close?

Closes #6589
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

wait for opinion of @liukun4515 in #6589

cc @RTEnzyme  who originally contributed this code.

Also cc @comphead  who commented on https://github.com/apache/arrow-datafusion/pull/5902

I agree that not() should only support boolean types. If we want to implement bitwise_not on integers, we should create a new Expr.


zsh + mc shell: timestamps are visible

Repro:

use zsh terminal
set SHELL to bash
start mc
hide mc's windows
run hstr in shell (mc's shell is bash)
timestamps are visible, when they should be hidden

... brobably unreliable zsh/bash detection - hstr detects zsh, but it's running in bash. ZSH_VERSION seems to be reliable way how to detect it.
Improve existing detection logic: if ZSH_VERSION is defined, then detect zsh, if not, then use existing (already complicated) logic.
debug hstr_history.c:140

Fixed by fc81bbd4c6ad87dad7b1a8261b88172e8d977399


Time scales do not have width or rangeBand

The itemWidth function returns either a scale's width or uses the rangeBand to calculate one. It appears that d3.scale.time has neither function.
I've not come up with a workaround for this, as most suggestions are to simply calculate width/data.length which seems unlikely to be what's intended.
Open to suggestions!

This is similar to #34 and I haven't figured out a clean way to make this work. It's tricky because the width value for the chart depends on how it's laid out so it's difficult to know ahead of time. Some possibilities:

(from #34) specify an interval for the chart and calculate the width from that
From your suggestion, specify the data length and calculate the width from this (automatically determining is difficult since the data could be sparse)
Use the linear/time scale to specify the domain for an ordinal scale

I think an interval solution will work and I've been investigating how best to add it, but I think the best solution is to create an ordinal scale from the given linear/time scale:
// Use linear/time scale to define ticks for ordinal
var xScale = d3.scale.linear().domain([0, 50]);
var xScaleOrdinal = d3.scale.ordinal().domain(xScale.ticks(10));
// => pass ordinal to bars

Closing this issue in favor of #34

I tried:
      xScale = d3c.helpers.createScale({type: 'time', data: options.data, key: 'x', adjacent: true})
      xScaleOrdinal = d3.scale.ordinal().domain(xScale.ticks(10));

      scales = {
        x: xScaleOrdinal,
        y: {domain: [-5, 5]}
      }

And got some very strange results on the axis. And no width.
I'm probably missing something.
I also tried passing the domain from time xscale to the ordinal domain.

Can I just set the bar width myself? I see there's a function, but unclear how it's used. I tried call barWidth on a chart and passing a function. That just errors. Again, probably doing it wrong.

Well, I'm getting somewhere. Somewhere weird.
  height = 350
  width = 960

  formatDate = d3.time.format('%H:%M')
  parseDate = d3.time.format("%Y-%m-%d %H:%M").parse

  chart = ->
    d3.select('#response_container .d3-graph').chart('Compose', (options) ->
      # Options function:
      # Gets evaluated on each draw and takes in data and returns options

      # xScale = d3c.helpers.createScale({type: 'time', data: options.data, key: 'x', adjacent: true})
      # xScaleOrdinal = d3.scale.ordinal().domain(xScale.domain());

      domain = d3.extent(options.data, (d) -> d.x)
      # timeScale = d3c.helpers.createScale({type: 'time', domain: domain, range: [0, width], adjacent: true})

      scales = {
        # x: d3.scale.ordinal().domain(domain).range([0, width])
        x: {type: 'ordinal', domain: domain, range: [0, width], adjacent: true},
        y: {domain: [-5, 5], range: [height, 0]}
      }

      charts = [
        # Create results chart:
        # d3c.lines -> type: 'Lines' -> d3.chart('Lines')
        # 'results' -> chart key for transitions and legend
        # {data: data} -> pass given data to Lines chart
        d3c.bars('results', {data: options.data, xScale: scales.x, yScale: scales.y})
      ]

      title = d3c.title('Responses')
      legend = d3c.legend({charts: ['results']}) # match key to charts key/name
      x_axis = d3c.axis('xAxis', {scale: scales.x, tickFormat: formatDate})
      y_axis = d3c.axis('yAxis', {scale: scales.y, ticks: 5})

      [
        # Add charts to chart layer (d3c.layered)
        title,
        [y_axis, d3c.layered(charts), legend],
        x_axis
      ]
    )
    # .margins({
    #   top: 35, right: 20, bottom: 20, left: 40
    # }).height(350).responsive(true)

  bar_chart = chart()
  bar_chart.height(height)
  bar_chart.width(width)

  bar_width = (data) ->
    960/data.length

  bar_chart.barWidth = bar_width

  data = [
    {x: parseDate('2016-02-11 11:01'), y: -5},
    {x: parseDate('2016-02-11 11:02'), y: -2},
    {x: parseDate('2016-02-11 11:03'), y: 1},
    {x: parseDate('2016-02-11 11:04'), y: -5},
    {x: parseDate('2016-02-11 11:05'), y: -2},
    {x: parseDate('2016-02-11 11:06'), y: 1},
    {x: parseDate('2016-02-11 11:07'), y: -5},
    {x: parseDate('2016-02-11 11:08'), y: -2},
    {x: parseDate('2016-02-11 11:09'), y: 1}
  ]

  bar_chart.draw({
    data: data
  })

Get's me:

I can get the xAxis … or I can get bars with width. But not both.

This is the BEST!
  height = 350
  width = 960

  formatDate = d3.time.format('%H:%M')
  parseDate = d3.time.format("%Y-%m-%d %H:%M").parse

  chart = ->
    d3.select('#response_container .d3-graph').chart('Compose', (options) ->
      # Options function:
      # Gets evaluated on each draw and takes in data and returns options

      # xScale = d3c.helpers.createScale({type: 'time', data: options.data, key: 'x', adjacent: true})
      # xScaleOrdinal = d3.scale.ordinal().domain(xScale.domain());

      domain = d3.extent(options.data, (d) -> d.x)
      # timeScale = d3c.helpers.createScale({type: 'time', domain: domain, range: [0, width], adjacent: true})

      scales = {
        # x: d3.scale.ordinal().domain(domain).range([0, width])
        x: d3c.helpers.createScale({type: 'ordinal', domain: domain, range: [0, width], adjacent: true}),
        y: {domain: [-5, 5], range: [height, 0]}
      }

      charts = [
        # Create results chart:
        # d3c.lines -> type: 'Lines' -> d3.chart('Lines')
        # 'results' -> chart key for transitions and legend
        # {data: data} -> pass given data to Lines chart
        d3c.bars('results', {data: options.data, xScale: scales.x, yScale: scales.y})
      ]

      console.log(scales.x(options.data[0].x))
      console.log(scales.x(options.data[1].x))
      console.log(scales.x(options.data[2].x))
      console.log(scales.x(options.data[3].x))
      console.log(scales.x(options.data[4].x))
      console.log(scales.x(options.data[5].x))
      console.log(scales.x(options.data[6].x))
      console.log(scales.x(options.data[7].x))
      console.log(scales.x(options.data[8].x))

      title = d3c.title('Responses')
      legend = d3c.legend({charts: ['results']}) # match key to charts key/name
      x_axis = d3c.axis('xAxis', {scale: scales.x, tickFormat: formatDate})
      y_axis = d3c.axis('yAxis', {scale: scales.y, ticks: 5})

      [
        # Add charts to chart layer (d3c.layered)
        title,
        [y_axis, d3c.layered(charts), legend],
        x_axis
      ]
    )
    # .margins({
    #   top: 35, right: 20, bottom: 20, left: 40
    # }).height(350).responsive(true)

  bar_chart = chart()
  bar_chart.height(height)
  bar_chart.width(width)

  bar_width = (data) ->
    960/data.length

  bar_chart.barWidth = bar_width

  data = [
    {x: parseDate('2016-02-11 11:01'), y: -5},
    {x: parseDate('2016-02-11 11:02'), y: -2},
    {x: parseDate('2016-02-11 11:03'), y: 1},
    {x: parseDate('2016-02-11 11:04'), y: -5},
    {x: parseDate('2016-02-11 11:05'), y: -2},
    {x: parseDate('2016-02-11 11:06'), y: 1},
    {x: parseDate('2016-02-11 11:07'), y: -5},
    {x: parseDate('2016-02-11 11:08'), y: -2},
    {x: parseDate('2016-02-11 11:09'), y: 1}
  ]

  bar_chart.draw({
    data: data
  })

Yields the correct graph! If I remove all the console.log bits, it no longer works!

Obviously, nothing to do with the console.log itself. Just the usage of the x scale.

Turned it into options.data.forEach((value, key) -> scales.x(value.x)).

The scale has to be time to get the right output from calling the scale.
Thu Feb 11 2016 11:01:00 GMT-0600 (CST) 0
Thu Feb 11 2016 11:02:00 GMT-0600 (CST) 120
Thu Feb 11 2016 11:03:00 GMT-0600 (CST) 240
Thu Feb 11 2016 11:04:00 GMT-0600 (CST) 360
Thu Feb 11 2016 11:05:00 GMT-0600 (CST) 480
Thu Feb 11 2016 11:06:00 GMT-0600 (CST) 600
Thu Feb 11 2016 11:07:00 GMT-0600 (CST) 720
Thu Feb 11 2016 11:08:00 GMT-0600 (CST) 840
Thu Feb 11 2016 11:09:00 GMT-0600 (CST) 960

This output is using a time type rather than ordinal. Ordinal gives the right bars (sometimes out of order, though). Time gives the right scale, order/position. But no width, obviously.

Ordinal gives this output:
Thu Feb 11 2016 11:01:00 GMT-0600 (CST) 240
Thu Feb 11 2016 11:02:00 GMT-0600 (CST) 240
Thu Feb 11 2016 11:03:00 GMT-0600 (CST) 720
Thu Feb 11 2016 11:04:00 GMT-0600 (CST) 240
Thu Feb 11 2016 11:05:00 GMT-0600 (CST) 720
Thu Feb 11 2016 11:06:00 GMT-0600 (CST) 240
Thu Feb 11 2016 11:07:00 GMT-0600 (CST) 720
Thu Feb 11 2016 11:08:00 GMT-0600 (CST) 240
Thu Feb 11 2016 11:09:00 GMT-0600 (CST) 720

Based on: https://github.com/mbostock/d3/wiki/Ordinal-Scales, ordinal is not what I want. I want linear (or it's extension, time). But linear gives me an error about n.getHour. Not sure what that is yet.

I think the following line is your issue:

domain = d3.extent(options.data, (d) -> d.x)

This sets the domain to [Feb 11 11:01, Feb 11 11:09] and ignores all of the times in between. For ordinal every x value needs to be in the domain so the domain should be something like the following:
domain = data.map(d => d.x)
// domain = [Feb 11 11:01, Feb 11 11:02, Feb 1111:03, ...]

scales = {
  x: {type: 'ordinal', domain: domain, adjacent: true},
  y: {domain: [-5, 5]}
}

Let me know if that works for you.


third_party/litex_boards is pinned at a too-old version

I get an error because platforms/arty.py doesn't have _i2s_pmod_io at this older commit, 1356ebb4.
If I check out current master for third_party/litex_boards, this issue is resolved (but then I encounter another issue).

The new issue that I saw was due to request_all, used by current master targets/arty.py.   Its definition was recently added to litex/litex/build/generic_platform.py, so it's not in the version pinned here.   I think I can work around the issue by checking out litex-boards before the commit that uses request_all.
Ok, it seems to work if I use commit 8583c440 for litex-boards, and leave all of the other third party repos pinned where they are.

FYI @pawelsag @mateusz-holenko

@tcal-x are you sure you are using the current versin of the repo? After 87965b053fca3b0b95a300cf43122bbd8f194b13 litex_boards should be ok - we couldn't reproduce the problem.

Thanks @mateusz-holenko , I hope to give it another try before our Wednesday meeting.

Yes it does work for me now, thanks all.


Permutation

abstract
This goes towards the next goal to make Anna understand how CLGs can be used. This PR provides basics for creating argument list combinations using a permutation factory.
checklist

[x] Make sure you read and understood the CONTRIBUTING.md.
[x] Make sure you applied sufficient labels, milestone and assignee.
[x] Make sure all TODOs are addressed.
[x] Make sure there is sufficient documentation.
[x] Make sure there are sufficient tests.
[ ] Make sure all commits are squashed before merging.
[ ] Make sure to delete the feature branch after merging.

LGTM


Support Bytes GraphQL Scalar Type

Support Bytes as a GraphQL scalar type.

Duplicate of: #100

Duplicate of: #100


Improve the accuracy of the filter card_V2 —— Options

Sometimes there are some options in the FilterCards like Tags (ARC), but no results are displayed after selecting them

This problem is also solved after the error in the histogram is solved.


[JST-35] Fix: remove optimism-goerli-staging from chains

Summary
If you deploy a table using Optimsim Goerli, it will default to the optimism-goerli-staging contract instead of optimism-goerli. This is a bug since the staging contract should not be used by any developers externally. See discussion here for more details.
Details
See this line—here (or in the preceding code) we must filter out the "staging" keyword. The CLI does this with the following, so something similar must be put into place:
export const getChains = function (): typeof helpers.supportedChains {
  return Object.fromEntries(
    Object.entries(helpers.supportedChains).filter(
      ([name]) => !name.includes("staging")
    )
  ) as Record<helpers.ChainName, helpers.ChainInfo>;
};

From SyncLinear.com | JST-35

This is the incorrect repo—moving to https://github.com/tablelandnetwork/tableland-js/issues/58


Task 'wrapper' not found in project ':engine' and its subprojects.

When I try to import any subproject like cataog or demo or any other, I get this error:
Task 'wrapper' not found in project ':engine' and its subprojects.
This is a screenshot of it

Hi @DavidSaruni - thanks for raising this.
You will need to open the root project for the gradle wrapper to be recognised by android studio. See screenshot:

And then you can run specific modules: for example the demo app or the catalog app module

and if you're making contributions to the codebase you will need to run the tests.
I'll close this issue for now - but please reopen if the issue persists.

Thank you this worked for me


fixed an issue where TO integration tests hang

What does this PR (Pull Request) do?

[x] This PR is not related to any Issue

Fixes an issue where Traffic Ops integration tests would hang for 8000 seconds.
Which Traffic Control components are affected by this PR?

Traffic Ops integration tests

What is the best way to verify this PR?
Run the integration tests, verify the container doesn't hang open for 8000 seconds
If this is a bug fix, what versions of Traffic Control are affected?

master

The following criteria are ALL met by this PR

[x] This PR includes tests OR I have explained why tests are unnecessary
[x] This PR includes documentation OR I have explained why documentation is unnecessary
[x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
[x] This PR includes any and all required license headers
[x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4327/
Test FAILed.


Client Allocation Request for: Yahoo

Client Allocation Questions
Core Information

Name: Yahoo
Website / Social Media: https://tw.buy.yahoo.com/
Region: Asia excl. Greater China
DataCap Requested: 10TiB
Addresses to be Notarized: f16uug26enj5lq7zh4xnguyc4ikxlsmj3xx66olci
Notary Requested: ozhtdong

@Zachariah-Sun Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Thanks for your application , some questions to you:
1.What's your name? What's your position?
2.What's your company's business? Do you have any other social media link?
3.Could you show me your company's business license?
4.How many miners do you want to store your data to? How much data for each miner?
5.Will you record your allocation decision in public? Which platform will you use?
6.What method/tool will you use to inspect miners? Which aspect of miners will you inspect?

1.I’m Peter Lin. I am the person in charge of the company.
2.Yahoo provides high-quality and diversified network content and services, and creates a localized, easy-to-use and life-oriented network environment. Yahoo also provides various network services for enterprises, assisting large, small and medium-sized enterprises, micro-enterprises, and even traditional industry customers to enhance their corporate reputation and network services, such as full-service local keyword advertising, various interactive advertising, Virtual stores, online transaction services, overall solutions for corporate portals, etc.
Yes, here it is. https://tw.buy.yahoo.com/
3.I can show you via email.
4.I prefer 3miners to do this. We will allocate a share of no more than a quarter of data to each miner.
5.Yes, we will record it. We use github.
6.Filfox can be used to inspect miners. Large-scale miners.

business license
On Fri, Sep 24, 2021 at 1:53 PM ozhtdong @.***> wrote:

Thanks for your application , some questions to you:
1.What's your name? What's your position?
2.What's your company's business? Do you have any other social media link?
3.Could you show me your company's business license?
4.How many miners do you want to store your data to? How much data for
each miner?
5.Will you record your allocation decision in public? Which platform will
you use?
6.What method/tool will you use to inspect miners? Which aspect of miners
will you inspect?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/filecoin-project/filecoin-plus-client-onboarding/issues/903#issuecomment-926365040,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVSBDMB67I5OORJUEOHEYJTUDQG6JANCNFSM5EU7WVBA
.
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.

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzacedi7cfw2yq5jh6m7gwsunu6dtuvoh3eiwb3xxjxxgvkibbekqqydi

Address

f16uug26enj5lq7zh4xnguyc4ikxlsmj3xx66olci

Datacap Allocated

10TiB

You can check the status of the message here: https://filfox.info/en/message/bafy2bzacedi7cfw2yq5jh6m7gwsunu6dtuvoh3eiwb3xxjxxgvkibbekqqydi


Unexpected end of JSON input when cleaning up LoadBalancer

Describe the bug
Deleting a Service of type LoadBalancer created before a cloud provider range has been created throws this error continually. The delete request is hung.

Create the range in the kubevip ConfigMap
See the IP does not get set.
Delete the Service
See in the logs a message similar to

E1121 23:51:31.385882       1 controller.go:275] error processing service default/busybox-svc (will retry): failed to check if load balancer exists before cleanup: unexpected end of JSON input
I1121 23:51:31.386204       1 event.go:291] "Event occurred" object="default/busybox-svc" kind="Service" apiVersion="v1" type="Warning" reason="SyncLoadBalancerFailed" message="Error syncing load balancer: failed to check if load balancer exists before cleanup: unexpected end of JSON input"

Expected behavior
The Service is deleted.
Environment (please complete the following information):

OS/Distro: Ubuntu 1804
Kubernetes Version: 1.22.4
Kube-vip Version: 0.4.0

Kube-vip.yaml:
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  name: kube-vip
  namespace: kube-system
spec:
  containers:
  - args:
    - manager
    env:
    - name: vip_arp
      value: "true"
    - name: port
      value: "6443"
    - name: vip_interface
      value: ens160
    - name: vip_cidr
      value: "32"
    - name: cp_enable
      value: "true"
    - name: cp_namespace
      value: kube-system
    - name: vip_ddns
      value: "false"
    - name: svc_enable
      value: "true"
    - name: vip_leaderelection
      value: "true"
    - name: vip_leaseduration
      value: "5"
    - name: vip_renewdeadline
      value: "3"
    - name: vip_retryperiod
      value: "1"
    - name: vip_address
      value: <IP_ADDRESS>
    image: ghcr.io/kube-vip/kube-vip:v0.4.0
    imagePullPolicy: Always
    name: kube-vip
    resources: {}
    securityContext:
      capabilities:
        add:
        - NET_ADMIN
        - NET_RAW
        - SYS_TIME
    volumeMounts:
    - mountPath: /etc/kubernetes/admin.conf
      name: kubeconfig
  hostAliases:
  - hostnames:
    - kubernetes
    ip: <IP_ADDRESS>
  hostNetwork: true
  volumes:
  - hostPath:
      path: /etc/kubernetes/admin.conf
    name: kubeconfig
status: {}

kubevip ConfigMap:
apiVersion: v1
data:
  range-global: <IP_ADDRESS>-<IP_ADDRESS>
kind: ConfigMap
metadata:
  name: kubevip
  namespace: kube-system

Additional context
Add any other context about the problem here.

Ah ok, I know where the bug is here! Good spot !

Yeah, sorry. Maybe best to transfer to that repo.

Fixed


Add dataplane-operator and openstack-ansibleee-operator to renovate

https://github.com/openstack-k8s-operators/dataplane-operator/pull/121
https://github.com/openstack-k8s-operators/openstack-ansibleee-operator/blob/main/renovate.json

/lgtm


Toggle Line Comment places cursor incorrectly

VSCode Version: Code 1.17.0 (be377c0faf7574a59f84940f593a6849f12e4de7, 2017-10-04T23:33:45.303Z)
OS Version: Linux x64 4.13.5-200.fc26.x86_64
Extensions: Extensions are disabled

Steps to Reproduce:

Open a blank file
Change language to a language with line comments that are formed with characters at the beginning of a line (e.g. C or Python but not HTML)
Press the keyboard shortcut that invokes editor.action.commentLine

For example, if the language mode was Python this would make the first line:
#<space> where <space> is a literal space character. However the cursor is placed before the #.
Similarly, using C the language mode:
//<space>. The cursor is placed before the first /.
This behaviour does not occur with an earlier version (tested 1.16.0 on commit aa42e6ef8184e8ab20ddaa5682b861bfb6f0b2ad)

Reproduces without extensions: Yes

You are still on 1.17 this has been fixed in 1.17.1, please reopen if this is not the case.


[Bug]: Console windows opening with error written inside while headless browser is open

Bug expectation
I expected, that when i set "headless" to "true", i wont be seeing any windows opening / closing except for those that were there before starting the browser. What is actually happing right now, is that a few (4) chromium console-styled windows open when launching the browser, and when the browser is closed (browser.close()), those windows are gone again.
Here is a short video:
https://cdn.discordapp.com/attachments/1008876585107066940/1077757065881206924/2023-02-22_01-47-33.mp4
This is the text visible in the windows:
[0222/015709.056:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
Bug behavior

[ ] Flaky
[ ] PDF

Minimal, reproducible example
import puppeteer from "puppeteer";

(async () => {
      const browser = puppeteer.launch({
            headless: true,
            args: ["--no-sandbox", "--disable-setuid-sandbox"],
      });
})();

Error string
no error
Puppeteer configuration
No response
Puppeteer version
19.7.2
Node version
v18.14.0
Package manager
npm
Package manager version
8.6.0
Operating system
Windows

headless=true is for the browser itself. Here it looks like Windows creates a window for every started browser process (presumably to show stdout). Which Windows version is that? Is there an option to configure this behaviour on Windows? The browser processes are launched via https://nodejs.org/api/child_process.html#child_processspawncommand-args-options so Puppeteer does not do anything extra here.

There is one difference though for a 32bit windows. Is it a 32bit version?

Im currently on Windows 11 22H2 22621.1265 64bit. Nodejs is also running in 64bit. As far as i know, there is no option to configure that behaviour

This is an upstream bug. The fix will come out around M112.

Do i just have to wait til theres a new update then?

Yes.

Ok, thank you very much

Lowering the puppeteer version to v18.2.1 solves the problem.
yarn remove puppeteer
yarn add<EMAIL_ADDRESS>


Documentation issues with 1.42 release

I'm updating my Typescript typings (ref #5717 ) based on the docs and found a few minor issues.

A few things on the new Resource class:

I suspect you probably didn't mean to make the instance method retryOnError public; that, or I'm not creative enough to think of when an API user would call it
The static post claims to be able to take a "string or object" as its sole parameter but fails if options.data is not defined.  This was likely copy/pasted from the fetch static method, because it still says "calls fetch() on it" (not "calls post() on it")
This might be intentional but several methods transparently use a method parameter on the options object, even though this param is not defined on the public API.  I for one would like to be able to make an OPTIONS or HEAD call against a Resource, if I'm going to use the class anyway.

KmlDataSource static load doesn't list the ability to use a Resource as data but under the hood it's just making an anonymous instance and calling its load method (which can) -- it should have the exact same docs as the instance method.  While you're at it, the instance method still lists a query param with no note about deprecation.
I'm unclear if GoogleEarthEnterpriseMapsProvider can take a Resource as a constructor option (url) because I see Resource.createIfNeeded(url + path) -- I assume that "(Resource instance) plus (string)" is not what was intended here.  Similarly, the get for .url just returns this._url instead of this._resource.url.
I can't find if any ImageryProvider implementations actually inherit from ImageryProvider.  ImageryProvider has various default{channel} attributes that never appear to be used anywhere else?
The new Plane.projectPointOntoPlane method is missing a return type annotation (it's Cartesian3)
The showOnScreen option to the Credit constructor is incorrectly listed as a String

Hope you don't mind me dumping everything in one place, but I wasn't sure how best to divide up into separate issues.

I've found a more troubling issue that maybe I should open a new ticket for.  It looks like the new Resource class treats both templateParameters and queryParameters as a map from key to value.  This is correct for templates, but incorrect for query.
The combination of {x}=1 and {x}=2 is either x=1 or x=2, whichever is set last (unless overridden with the "default" property).  However, if I combine foo?a=1 and foo?a=2, I shouldn't get either of the source URIs, I should get foo?a=1&a=2.  This is not academic; it's how browsers have submitted forms with multiple-select checkboxes (for example) since the beginning of the web.  I'm not sure it's currently possible to use this class to submit that sort of form, and I think it might take a breaking API change to make it work correctly.

One thing to add to my point about the method parameter in Resource.  I'd like to see methods on resource for all the common verbs (put/patch/delete/head/options, at least) or a more generic method that takes a method param.  Keep in mind that put and patch would both need a data field also.  In the meantime, I guess I'll have to fall back on calling loadWithXhr directly...

OK this just became a blocker for me.  I had been using loadWithXhr for a long time instead of making my own XHRs or migrating to (browser-native) Fetch API, as my primary means of interacting with my backend REST service.  I can't use Cesium to do that anymore, because Resource provides no way to specify the method, and (far more troubling) the existing loadWithXhr implementation has been replaced with a call to Resource's instance fetch... which, of course, overrides the specified options.method.  This means any legacy code that passes a value for options.method broke when 1.42 was released.
Maybe this should get its own top-level issue?

CC @tfili  (probably?)

Keep in mind that the purpose of loadWithXhr and the new Resource class are intended for getting remote data into the Cesium display.  They are not really intended for general-purpose use outside of that.  There are plenty of other general-purpose libraries available which you could use instead.

Point taken @shunter , and honestly the fetch API is not too far from a drop-in replacement.  When I started this project, I used the Cesium load functions because they were already there, and did everything I needed.  I don't mind migrating away, but I thought I should make sure the team is aware of the regression -- quietly turning a DELETE call into a GET call could cause trouble for some.

@thw0rted How were you using loadWithXhr to make HEAD/OPTIONS requests? loadWithXhr doesn't return any header information.

@thw0rted Check out the resource-fixes branch. I think it addresses everything you mentioned here along with the issue with clone. The only TODO is the query parameters. I just need to figure out the cleanest solution. It would be trivial to make all parameters with multiple instance just be an array, because the helper function objectToQuery we use to build the URL handles this correctly already. The issue is that this isn't always a desired behavior. For example in a WMS request you have
http://server.com/endpoint?service=WMS&request=GetCapabilities and then create a derived resource with
{
  request: 'GetMap',
  BBOX: ...,
  width: ...,
  height: ...
}

and we end up with
http://server.com/endpoint?service=WMS&request=GetCapabilities&request=GetMap&BBOX=... which is not what you want and may not work.

re @hpinkos , I think in my Typescript definitions I'm going to remove the default* properties.  I don't know the history but they don't appear anywhere else in the code -- I suspect they are vestigial, and should have been removed completely some time ago.  Then I can treat it as an interface, like you said, with the guarantee that all the actual provider classes implement it fully.
re @tfili , you are correct that loadWithXhr never returned headers.  I used it for PUT and DELETE, but I had to do HEAD/OPTIONS using manual XHR.  The new Resource methods look much easier to use!
I looked over the branch and it makes sense to me, but it's still missing two documentation fixes:

is retryOnError supposed to be public?
Static post can't take a single (url) string as an argument

As for query params, you're basically implementing a version of URLSearchParams, right?  Notably, that class treats the params as an array of key value pairs, because that data structure most closely reflects real-world usage of the searchPart.  Of course, you can have more than one value with the same key; you can even have the same key/value more than once.  Also, while I don't know of any common services that care about the order of parameters in the searchPart, it's possible per the spec.
So, you could keep storing the queryParams as a map, and sometimes have an array as the value for a certain key, and add functions to manipulate those values (append vs replace, maybe remove?), and hope that the order of your parameters never matters, and that's fine.  I don't know much about the Uri library you're passing this to, but if it was me, I'd just add a polyfill for URLSearchParams to the build process and use that directly.

See PR #6211 for the hopefully final changes to fix the Resource class.
The two doc issues should have already been fixed yesterday in that branch. I've added setQueryParameters and appendQueryParameters. addQueryParameters has been deprecated to avoid confusion.
getDerivedResource now takes a parameter preserveQueryParameters, that will not overwrite the parent's query parameters, but instead append to them. Defaults to false, so existing functionality is unchanged by default.
Unfortunately Cesium has never paid attention to the order of parameters, so changes would be needed in a bunch of places outside of this class, and I probably won't be able to get to it right now, since it hasn't been an issue thus far. A URLSearchParams polyfill is a good suggestion that I'll keep in mind. Thanks for your suggestions.

As far as I can tell, everything referenced in the original issue description has been fixed.  If there are any small things we missed, please open a new issue for them.  Thanks!


[enhancement] replying to a msg in sent folder

When replying to a msg in set folder To: adres should be set to same as message you are replying, not your own adress. Its pretty sure that you don't want to reply to yourselt but actualy add to add something to a thread (send to recipients). Its done so in gmail for example.

In the mail clients I know you would have to press "reply all" and then you get what you want. The correct thing happens then because my own email address is then taken out automatically. Maybe this solution works as well for you?

Also discussed in https://github.com/RainLoop/rainloop-webmail/issues/828 and @modir has the right answer. You should reply all or always reply to the original message, not your own reply.

"reply all" also puts my own email in To field which requires me to manualy remove it. Also it requires additional click do get to this option and especialy it is counter inutitive so nobody will guess to use it for that.
You should reply all or always reply to the original message, not your own reply.

How about situation when there is no original message. Example: you just sent message to someone but 5 minutes later you want to send another one that will be in the same thread on receiver end and will contain original message.
All comercial email services now allow replying to your own message to send message to original recipient (including gmail of course).


test: testing the return of func constructAuthorizationModelFromSQLRows

Description
Added tests to check the return value of function constructAuthorizationModelFromSQLRows
References
Issue #1952
Review Checklist

[ ] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[ ] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Can any of the maintaines help me as to why the tests  are failing?
Is it because its behind the main branch or something else?
All the tests are passing locally

Can any of the maintaines help me as to why the tests are failing? Is it because its behind the main branch or something else? All the tests are passing locally

Unfortunately, the test infrastructure is flaky for MySQL.


Master

There was an error while validating job be510aec-a804-41ae-9aaf-298c8312b0e0 Message:Error clonning repositoryDetails:System.ArgumentException: Error clonning repository ---> System.Exception: Error when trying to initialize shared repository ---> LibGit2Sharp.NotFoundException: Branch 439 not found. Available branches:
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetBranch(Repository repo, String name)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.<>c__DisplayClass3e.b__3d()
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.<>c__DisplayClass1.b__0()
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func)    at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction(Action action)    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.InitializeSharedRepository(String url, IDictionary2 branches, String sharedRepoPath)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.VerifySharedRepository(String url, IDictionary2 branches, String tempPath)    --- End of inner exception stack trace ---    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.VerifySharedRepository(String url, IDictionary2 branches, String tempPath)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)    --- End of inner exception stack trace ---    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository()
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetTreeAsync(String path, Boolean includeSubDirectories, String excludePath, IList1 extensionWhiteList)    at Microsoft.DPS.Commands.IdentifyDocumentsToPublish.ListSourceControlFilesCommand.Do(IDictionary2 context)
at Microsoft.LightweightJobEngine.Core.Language.JobWorkflow1.RunCommands(Guid jobId, IDictionary2 context, CancellationTokenSource cancelSignal)


Implement zero copy local cache interface

What changes are proposed in this pull request?
Zero copy paging cache interface.
Add direct buffer interface
Add writable channel interface
Implement direct buffer pool
Why are the changes needed?
Please clarify why the changes are needed. For instance,
Improve the cache IO performance
Does this PR introduce any user facing changes?
Please list the user-facing changes introduced by your change, including
it's back compatible

hello @jja725, just wanna address your review comment, I don't know why I cannot reply it.   I had tried to use PooledByteBufAllocator below, but it's still calling allocateDirect somehow, because the nioBuffer returns a copy buffer rather than the origin one.
ByteBuf buf1 = PooledByteBufAllocator.DEFAULT.buffer((int) length, (int) length);
niobuf =  buf1.nioBuffer(0, (int) length);

hello @jja725, just wanna address your review comment, I don't know why I cannot reply it. I had tried to use PooledByteBufAllocator below, but it's still calling allocateDirect somehow, because the nioBuffer returns a copy buffer rather than the origin one.
ByteBuf buf1 = PooledByteBufAllocator.DEFAULT.buffer((int) length, (int) length);
niobuf =  buf1.nioBuffer(0, (int) length);

I see, I thought it's zero copy in the beginning but you are correct.
The returned buffer either share or contains the copied content of this buffer

It seems local cache opens and closes the local cache file on every cache get operation, even for very small reads (say 64 bytes).
https://github.com/Alluxio/alluxio/blob/b32fd9fd3d94b6327a7d6dc4953923d00de51c8c/tests/src/test/java/alluxio/client/fs/io/FileInStreamIntegrationTest.java#L98-L101
I am thinking if adding a NIO channel interface for local cache makes more sense. With channels, the underlying file does not need to be opened and closed for each read request, and on the other hand, channels are great for implementing zero-copy reads, too.

alluxio-bot, merge this please.


Configure enabling/disabling x5t#s256 in JWKS response

Describe the issue:
The x5t#S256 parameter in the JWKS response is an optional parameter, it is included in the JWKS response and the value returned for this parameter is calculated through different mechanisms[1][2] and it is causing failures in certain libraries when parsing the x5t#s256.
Since this parameter was newly introduced, a configuration can be used to disable it until the proper format of x5t#S256 parameter is confirmed[1].

Product Version: [e.g., IS 5.10.0, IS 5.9.0]

[1]https://github.com/wso2/product-is/issues/18817
[2]https://github.com/wso2/product-is/issues/14899

Closing this issue since the proper fix is provided by: https://github.com/wso2-extensions/identity-inbound-auth-oauth/pull/2331


Map type only supports singletons - would like to have a Map[Seq[String]]

would like: Map(String, Seq[Long])
tried creating a separate model of Seq[Long] but then would require it to be an json object.
this is an existing svc w/ one endpoint that doesn't have client.  thought i'd just use apidoc to create a client/interface.

+1 this
In general, I'd like to have support for maps and arrays containing arbitrary types. Willing to implement... For scala code generation I believe this is a straightforward change, as it just means slightly expanding the types of things that can be contained in a ScalaDatatype.List or a ScalaDatatype.Map.

+1 to idea - would love the help in code!
also this related request came in today: https://github.com/gilt/apidoc/issues/323

@haywood added support for this - in production


How can I take off the map table

How can I disable the bottom table that has the maps, I've been looking and the only thing I've found is to disable it when it's BO1
Here is an example of what I want to disable:

Should be possible using a theme: Set up a theme, in the theme's directory create a folder called series-graph, and inside that an empty text file called series-graph.html -- should do it :)


Need a way to upload binary data

Package
dio
Version
5.7.0
Operating-System
Android, iOS, Windows
Adapter
Default Dio
Output of flutter doctor -v
[!] Flutter (Channel stable, 3.24.1, on macOS 15.0.1 24A348 darwin-arm64, locale en-AU)
    • Flutter version 3.24.1 on channel stable at /Users/arul/Flutter/flutter
    ! The flutter binary is not on your path. Consider adding /Users/arul/Flutter/flutter/bin to your path.
    ! The dart binary is not on your path. Consider adding /Users/arul/Flutter/flutter/bin to your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5874a72aa4 (3 months ago), 2024-08-20 16:46:00 -0500
    • Engine revision c9b9d5780d
    • Dart version 3.5.1
    • DevTools version 2.37.2
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/arul/Library/Android/sdk
    • Platform android-34, build-tools 33.0.1
    • ANDROID_HOME = /Users/arul/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/arul/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16A242d
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)

[✓] VS Code (version 1.84.2)
    • VS Code at /Users/arul/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.100.0

[✓] Connected device (4 available)
    • Saurabh’s iPa (mobile)          • 00008103-001D29EC267B001E • ios            • iOS 17.4.1 21E236
    • macOS (desktop)                 • macos                     • darwin-arm64   • macOS 15.0.1 24A348 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad     • darwin         • macOS 15.0.1 24A348 darwin-arm64
    • Chrome (web)                    • chrome                    • web-javascript • Google Chrome 130.0.6723.117

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Dart Version
No response
Steps to Reproduce
I was trying to send binary form of data though I was getting 400
need a way to upload binary data
I didn't find any solution so for particular thing I had to use http library
like eg :
Response response = await client.put( Uri.parse(Url), body: File(imageBaseCode.path).readAsBytesSync(), );
let me know even if we have any solution to this......
Expected Result
Should able to upload the file
Actual Result
Throws error

https://www.google.com/search?q=dio+upload+bytes


Pull out DefaultAttributeSelectionSchema

This class was embedded in DefaultAttributesSchema but many tests attempted to directly test ti We pull it out so its can be tested separately.
Then, we update a bunch of tests to reflect this change. Furthermore, we refactor some tests to prepare them for immutable attribute schemas by using factory methods accepting a closure in order to configure schemas
Also, we merge AttributeSelectionUtils functionality into DefaultAttributeSelectionSchema as we no longer need that logic separated for testing.
Finally, we create a new 'matching' package to contain attribute matching related classes and move some existing classes there
Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

Pull Request Feedback (Trigger) (Check)


Feature Request: Tex and Text Export

This is the tool I really need to produce math illustrations with Python. Thank you! I don't know is it hard to add Tex-supporting, but it would be a nice feature! If I can help you with this, let me know. Here is some code for testing
from manim import *
from manim_mobject_svg import *

# This is the best Python tool to produce math-svg!
# I know MetaPost, Asymptote and TikZ, but Manim is one love.

# Global settings
VMobject.set_default(
    color=BLACK,
    fill_color=BLACK,
    stroke_color=BLACK,
    fill_opacity=1,
)

# Works very well!
line_1 = Line()
line_2 = Line(DOWN, UP)
lines = VGroup(line_1, line_2)
lines.to_svg("lines.svg")

# A few things to do if they don't take a lot of time

# I can't use a VGroup() inside another VGroup()
lines_and_dots = VGroup(lines, Dot(UL), Dot(UR))
lines_and_dots.to_svg("lines_and_dots.svg")

# But of course everything can be done in the one group
lines_and_dots_2 = VGroup(lines[0], lines[1], Dot(UL), Dot(UR))
lines_and_dots_2.to_svg("lines_and_dots_2.svg")

# I think It would be the great,
# if we can export Tex or Text.
dot_and_label = VGroup(Dot(LEFT), MathTex("A"))
text = Text("Hello, SVG!")
dot_and_label.to_svg("dot_and_label.svg")
text.to_svg("text.svg")

# Then it would be easier to make math illustrations
# for books, problem generators and so on

# Anyway thank you very much!

Hey, I've released a new version of this library which should support rendering Text (and everything else) and also nested VGroup. See if this fixes your issue.

Hi, I have upgraded and feel happy, everything works great! Thanks a lot! I wish you many stars and many users!


 Users can then deposit into the basket. The system uses oracles to get the prices of the tokens in the basket to calculate the user's profit/loss. Other users can deposit into these baskets. The creator will receive a portion of the profits of other users who deposit.
There are 2 types of baskets: Immutable basket and Mutable basket.

Bounty track

Defi

interesting. Approved. Take a crack at it
Also, elaborate on the mechanism for me as well so I will give some input. I have a feeling there is some issues somewhere in the proposal logic.

Users can create pools that represent some tokens with their weight. And they deposit an amount of token into these pool. The smart contract will use oracle to fetch token price that represent pool to calculate profit/loss due to their change in price from deposit time to present time. Other users can deposit into these pools too. And these people will share an amount of profit to the pool creator when they withdraw. What do you think?


Slides download

Hi, I need to download the slides? How can I download them?

The slides are here: https://goo.gl/pHeXe7
When the short link resolves, remove "/pub...." at the end of the URL and you will be in the normal Google docs UI. You can get a PDF with speaker notes in the menu File > print settings and Preview


phonegap run android and phonegap install android throws error

I have installed phonegap and cordova via npm commands. However, creating a default project via phonegap create command and building and installing it, i receive the following error:
c:\Temp\phonegap\test>phonegap run android
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] compiling Android...
[phonegap] successfully compiled Android app
[phonegap] trying to install app onto device
[phonegap] no device was found
[phonegap] trying to install app onto emulator
[error] An error occurred while emulating/deploying the android project.
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
I receive the same error when I try to run it through cordova emulate command.
My Workstation Specs:
Windows 7
8GB RAM
PATH Variable:
c:\Temp\phonegap\test>echo %PATH%
C:\FAST\JDK64\<IP_ADDRESS>.1\bin;C:\FAST\JDK\<IP_ADDRESS>\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows
wsPowerShell\v1.0;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;c:\Program Files\Microsoft SQL
ls\Binn;c:\Program Files\Microsoft SQL Server\100\DTS\Binn;C:\Program Files (x86)\1E\SMSNomad;C:\Program Files (x86)
ram Files (x86)\nodejs;C:\Users\R097890\AppData\Roaming\npm;C:\Projects-Ashish\Softwares\Android_IDE\sdk\platform-tools
hish\Softwares\Android_IDE\sdk\tools;C:\FAST\eclipse\<IP_ADDRESS>\IDE372\ide\plugins\org.apache.ant_1.8.2.v20120109-1030\bin

any updates?


Force srlinux image to latest version in quickstart (#5313)

Pull request opened by the merge tool on behalf of #5313

Merged in c98e5027589aefc51791d3be56755c6d31707544


Bugfix for the automake ("global options already processed") error

The bug is due to Scribe calling AM_INIT_AUTOMAKE in both the top of configure.ac and inside FB_INITIALIZE defined in acinclude.m4. The solution is to comment the AM_INIT_AUTOMAKE.
Ref: https://www.bountysource.com/issues/646383-install-on-osx-with-thrift-0-5-0

Thanks!


Support polymorphism on schema generation

(moved from: https://github.com/FasterXML/jackson-databind/issues/41 )

t would be nice to support polymorphism on schema generation.
Currently, the generated schema doesn't provides information on subtypes with the above case .
@JsonTypeInfo(
    use = JsonTypeInfo.Id.NAME,
    include = JsonTypeInfo.As.PROPERTY,
    property = "type")
@JsonSubTypes({
    @Type(value = subtypeA.class, name = "A"),
    @Type(value = subtypeB.class, name = "B"),
    @Type(value = subtypeC.class, name = "C")
     })
public abstract class ParentType { }

Is anyone working on this? I wouldn't mind taking a shot at it with some guidance. It's something I need in several projects i'm working on.

I've done some work on my own around adding better support for oneOf/anyOf, but I've been temporarily diverted to another project. I'll see if I can't extract the relevant files sometime next week and put them in a fork or something.

this would be pretty useful! +1

+1

+1

I'm currently writing a new jsonSchema-generator using Jackson (https://github.com/mbknor/mbknor-jackson-jsonSchema). It writes v4 schemas and supports Polymorphism used like this:
@JsonTypeInfo(
        use = JsonTypeInfo.Id.NAME,
        include = JsonTypeInfo.As.PROPERTY,
        property = "type")
@JsonSubTypes({
        @JsonSubTypes.Type(value = Child1.class, name = "child1"),
        @JsonSubTypes.Type(value = Child2.class, name = "child2") })
public abstract class Parent {

    public String parentString;
}

It is not done yet, but works for us. Maybe someone would check it out and contribute.

@mbknor Excellent. If so, we could eventually deprecate this module since there is no active maintainer here.
This would provide #9

@cowtowncoder FYI: Version 1.0.0 of https://github.com/mbknor/mbknor-jackson-jsonSchema is now released to Maven Central.

Thank you!

@mbknor How would you generate the JSON schema for subtypes if some subtypes are simple strings, others objects or arrays?
trait Poly
case class SimpleSimon() extends Poly // serialises as "simon"
case class Complex(i:Int, j:Int) extends Poly // serialises as {"i":5, "j":9}


add depth anything notebook

@itrushkin please take a look one more time, repeated headers are also removed


cups-brother-dcpl3550cdw: init at 1.0.2

This package provides a cups driver for Brother DCP-L3550CDW Printers: Download Page

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)

[x] Tested indirectly via cups (services.printing.drivers = [pkgs.cups-brother-dcpl3550cdw];)

25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 368205

x86_64-linux

:white_check_mark: 1 package built:

cups-brother-dcpl3550cdw


🐛 BUG: Error on building a  remix app with @aws-sdk/credential-providers

Which Cloudflare product(s) does this pertain to?
Pages, Wrangler
What version(s) of the tool(s) are you using?
3.57.1 [Wrangler]
What version of Node are you using?
No response
What operating system and version are you using?
Mac Sonoma 14.6.1
Describe the Bug
Observed behavior
Cannot deploy my remix app with "@aws-sdk/credential-providers" to Cloudflare pages environment.
Error:
npm run deploy
In package.json, deploy is defined like this. I confirmed wrangler pages deploy raises the error.
"deploy": "npm run build && wrangler pages deploy",

✘ [ERROR] 1 error(s) and 0 warning(s) when compiling Worker.

✘ [ERROR] No matching export in<EMAIL_ADDRESS>for import "fromIni"

    ../build/server/index.js:6:9:
      6 │ import { fromIni } from "@aws-sdk/credential-providers";
        ╵          ~~~~~~~

✘ [ERROR] Build failed with 1 error:

  ../build/server/index.js:6:9: ERROR: No matching export in
<EMAIL_ADDRESS>for import "fromIni"

I have confirmed that dist-es/index.js does have export * from "./fromIni"; while dist-es/index.browser.js not.
If my understanding is correct, index.js is supposed to be used because the code is for loader function which is on server-side, instead of index.browser.js.
Expected behavior
Successful deployment without error.
Steps to reproduce
Here is a minimal codebase to reproduce the bug.

npm install
npm run deploy

Create a remix project with npm create cloudflare@latest -- my-remix-app --framework=remix by following this page
Confirm the initial setup is working and can be deployed without error to Cloudflare page
Add import { fromIni } from "@aws-sdk/credential-providers and call it from the loader function
npm run deploy shows the error

This is the code which cause the error.
import { fromIni } from "@aws-sdk/credential-providers"

export const loader: LoaderFunction = async () => {
  new QuickSightClient({
    region: "us-east-1",
    credentials: fromIni({
      profile: "default",
    }),
  })
}

Please provide a link to a minimal reproduction
https://github.com/ikazoy/cloudflare-remix-reproduction
Please provide any relevant error logs
$ npm run deploy
In package.json, deploy is defined like this. I confirmed wrangler pages deploy raises the error.
"deploy": "npm run build && wrangler pages deploy",

deploy
npm run build && wrangler pages deploy

build
remix vite:build

vite v5.4.9 building for production...
✓ 87 modules transformed.
build/client/.vite/manifest.json                                    1.49 kB │ gzip:  0.36 kB
build/client/assets/root-DTvCnnOP.css                               6.76 kB │ gzip:  2.01 kB
build/client/assets/analytics.dashboard._dashboardId-CiI7Hsud.js    0.10 kB │ gzip:  0.12 kB
build/client/assets/root-Bv85obuH.js                                1.73 kB │ gzip:  0.98 kB
build/client/assets/entry.client-K1NPw7Hx.js                        3.74 kB │ gzip:  1.42 kB
build/client/assets/_index-DnPs6FvX.js                              5.05 kB │ gzip:  2.06 kB
build/client/assets/jsx-runtime-56DGgGmo.js                         8.11 kB │ gzip:  3.06 kB
build/client/assets/components-DCLLcppY.js                        245.72 kB │ gzip: 79.30 kB
✓ built in 7.18s
vite v5.4.9 building SSR bundle for production...
✓ 7 modules transformed.
build/server/.vite/manifest.json                0.22 kB
build/server/assets/server-build-DTvCnnOP.css   6.76 kB
build/server/index.js                          12.29 kB
✓ built in 470ms
▲ [WARNING] Warning: Your working directory is a git repo and has uncommitted changes
To silence this warning, pass in --commit-dirty=true
✘ [ERROR] 1 error(s) and 0 warning(s) when compiling Worker.
✘ [ERROR] No matching export in<EMAIL_ADDRESS>for import "fromIni"
../build/server/index.js:6:9:
  6 │ import { fromIni } from "@aws-sdk/credential-providers";
    ╵          ~~~~~~~

✘ [ERROR] Build failed with 1 error:
../build/server/index.js:6:9: ERROR: No matching export in
<EMAIL_ADDRESS>for import "fromIni"
🪵  Logs were written to "/Users/ikazoy/.wrangler/logs/wrangler-2024-10-21_06-42-22_059.log"

By default, Cloudflare Workers will load the browser export from a package if it exists. While this does sometimes cause problems, I think in this case it's doing the right thing. As far as I can tell, the fromIni provider reads credentials off the file system, which won't be available in a Workers environment. To use AWS resources, you'll need to use a different credential provider, and pass in auth tokens using Workers Secrets: https://developers.cloudflare.com/workers/configuration/secrets/


Avoid boilerplate via pytorch lightning

Implement a pytorch lightning model to make training easier. Including a simple training script for it. The model can be adapted to take more hyperparameters.
Also implemented a simple processing of the dataset. The train split is quite heavy and zipped in a single file, so unzipping it in python takes quite a while (in make_dataset.py). ~We can either all do it once and forget about it or unzip it before the script. Either way, the train set in a tensor file (.pt) takes up 27gb...~
Edit: Modified the dataset to only use the original validation set ('camelyonpatch_level_2_split_valid_x/y.h5') with a custom split for all the sets.

Added WandB logging. After joining the WandB team, you will be able to see logging for all runs here


Instrument also directories with artifact transform

Fixes #27639

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test QF

I've triggered the following builds for you. Click here to see all build failures.

QuickFeedback build

@bot-gradle clean

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle merge

The merge queue build has started. Click here to see all failures if any.


5.0 incompatible changes plan

[x] changed under_score algorithm https://github.com/abonas/kubeclient/pull/355

[x] document watch #436

[ ] change watch exceptions behavior https://github.com/abonas/kubeclient/pull/275#issuecomment-591928097

[ ] drop EOL ruby versions ≤2.4

[ ] I'm thinking about making all methods not documented in README private?

Specifically get_entities, patch_entity etc?
These are used in the wild a bit.  Should I keep them until alternative #332?  But .public_send("get_#{...}", ...) while clumsy is workable, .send and a major release is perfect time to make people aware they're using undocumented functionality.
[x] .rest_client too.  UPDATE: replaced by .faraday_client, intentionally public.

[ ] TODO document

header manipulation hacks like samson did for #358 ?

I don't want these to hold up 5.0, or block people from migrating.
OTOH, private methods are still available with .send(...), just people will be more aware it's unsupported.

[ ] several tests disabled due to expired TLS certs #483

[ ] truffleruby failing on master with "ArgumentError: unknown keyword: status"
e.g. https://github.com/abonas/kubeclient/pull/495/checks?check_run_id=2044157037

What about Remove deprecated KubeException #293?
=> Not now. As explained there, HttpError is not sufficient, we need some top-level exception.  Should probably introduce a Kubeclient::Error but that's a compatible change, and should give users time to adopt it before dropping KubeException.

Apologies for delays.  Working from home with kids has been... challenging.
I hope to get a lot done next week.

I'd propose:

get rid of most of the api:
User has to set the api version and resource anyway, so much more efficient and simple to call client.get("nodes") without doing the extra api discovery 🤷
remove struct and return hashes ... it's an expensive crutch :D

get rid of most of the api

That will be an entirely different gem :smile:
There is a non-breaking road though: first implement #332, then much later see how well people adopted new style and how people feel about dropping existing API.

remove struct and return hashes

Now that it's simple matter of ``as: :parsed/as: :parsed_symbolized, I don't see a large enough payoff to justify breaking compatibility. We could do small nudges like make as:required inClientcontructor to stop encouraging a bad choice.  Or even make people require and inject recursive-open-struct and stop depending on it? But _forcing_ people with lots of working.foo.barcode to rewrite everything to[:foo][:bar]` form would be a disservice IMHO.
If you care about this, start by changing README to prominently explain why the new modes are recommended.
In short, both of these points sound more "8.0" (and maybe never) then "5.0" to me :)

[ ] .rest_client is definitely going private (or away) to unblock #466.

#332 sounds like a good step forward
... requiring as also sounds good (with or without removing struct
runtime dependency)
On Tue, Nov 3, 2020 at 9:48 AM Beni Cherniavsky-Paskin <
<EMAIL_ADDRESS>wrote:

.rest_client is definitely going private (or away) to unblock #466
https://github.com/abonas/kubeclient/pull/466.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/abonas/kubeclient/issues/435#issuecomment-721281891,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAACYZY35UYNXZRLEGUQSNDSOA665ANCNFSM4LFBW3GA
.

stumbled into the whole url parsing mess again 😞
so add to the list:

make version required
make version apps/v1 instead of mashing up host/apis/apps and v1
dynamically set api or apis depending on version == v1
... and remove all the old glue/parsing code to have a single interface

plz start a v5 branch so I can make PRs against that

master is already v5, recent releases were from backports to v4.y

Paternity leave ended :baby:, sleeplessness continues, I didn't make progress I hoped for :-(

If someone wants to help, one simple but important step is update changelog with everything unreleased we've merged on master.


Supported Vue3?

I tried on Vue3 but got this error.
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Unhandled error during execution of scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next
  at <VueMermaid nodes= [] type="graph LR" >
  at <Anonymous barcode= {projectId: "603af8264869fa255af3dad0", rootId: "6052d7dc2e2bb9796e213714", barcodeType: "node", childrenCount: 0, activationData: {…}, …} >
  at <Anonymous onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< Proxy {…} > >
  at <RouterView key=0 >
  at <App>

Great work !
Any update regarding this issue?
Thank you again


supports service discovery with Consul

Ⅰ. Describe what this PR did
supports service discovery with Consul
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
I've done integration testing.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #655 into develop will decrease coverage by 0.38%.
The diff coverage is 2.67%.

@@              Coverage Diff              @@
##             develop     #655      +/-   ##
=============================================
- Coverage      32.21%   31.83%   -0.39%
  Complexity       876      876
=============================================
  Files            226      227       +1
  Lines           8772     8881     +109
  Branches        1055     1064       +9
=============================================
+ Hits            2826     2827       +1
- Misses          5627     5735     +108
  Partials         319      319

Impacted Files
Coverage Δ
Complexity Δ

...ery/registry/consul/ConsulRegistryServiceImpl.java
0% <0%> (ø)
0 <0> (?)

...aba/fescar/discovery/registry/RegistryFactory.java
34.78% <33.33%> (-3.32%)
2 <0> (ø)

...libaba/fescar/discovery/registry/RegistryType.java
40% <40%> (-1.18%)
2 <0> (ø)

Continue to review full report at Codecov.

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


Refactoring

Description:
As part of my dissertation project, I've undertaken a sequence of automated refactorings and applied formatting with the goal to improve the quality of the codebase in this repository:
Reformat: Utilizing Google's Java Code Style guidelines, I have reformatted 137 files to enhance readability and ensure compliance with widely accepted style norms.
CollapseNestedIfStatements: I have executed the CollapseNestedIfStatements refactoring on 3 files. This refactoring effort is aimed at simplifying the logic of the code and making it more readable.
RemoveDuplication: I have executed the RemoveDuplication refactoring on 9 file, aiming to streamline the codebase by eliminating redundant code blocks.
These changes were executed using the Refactoring Janitor tool.
Request for Feedback:
As this initiative is part of my dissertation project, your comments, feedback, or suggestions about the changes I've made would be immensely valuable. Your insights will greatly contribute to my research and learning.

This doesn't look to be a refactoring (i.e. making meaningful flow improvements / simplifications etc), but just an automated reformatting. I don't necessarily agree with the style changes (most of them I actively disagree with). And the change is far to large to meaningfully review to ensure no other changes to functionality have crept in.
And, I see that the code no longer compiles.
So, I'm not going to merge it.
If you have specific changes to improve the code execution, that you have made yourself vs an automated formatter), you may like to submit them individually.


Update or-tools

Older or-tools fail to build with libstdc++ 13
Need to rename the 'check' target because it conflicts with some target with the same name pulled in by or-tools

@danielecattaneo


Update broken README link to Simple OpenGL Image Library

It appears the domain lonesock.net was recently lost, replaced with archive.org snapshot.

Thanks! Didn't noticed it.


C/C++

I'm hoping Emscripten will provide a WASM build. If that were to happen, we could use Node.js easily to compile C/C++ to WASM without having to install and build the toolchain. No other really good tools for compiling C/C++ seem to be available on npm right now. The webassembly module requires the user to download binaries, only for Windows and Linux for now, which wouldn't work with Mac users of course. WASM will provide a portable solution to his, requiring no building on the user's machine
See here: emscripten-core/emscripten#5774
And here: emscripten-core/emscripten#6015
Some people have started work on this. Everything is still early and experimental, but hopefully I can use one of these projects, and perhaps they will get picked up by the community and become well-supported:
https://github.com/brion/emsdk-npm
https://www.npmjs.com/package/emscripten
Also, regular compilers such as gcc or g++ will probably get a Wasm compilation target eventually. This should really help as well, for example this project seems like it allows access to gcc or g++ with a JS API in Node.js...hopefully it also installs the binaries locally in node_modules: https://www.npmjs.com/package/gnucc
The end-all-be-all would be a Wasm binary for a C compiler, which would make it extremely simple to distribute...but until then, if the compilers and toolchains at least give us binaries for the different architectures, we should be able to create scripts to load them locally

I tried using https://github.com/brion/emsdk-npm, and the installation process went pretty well, everything seemed to be created locally. The problem is the installation took a while still...like about a minute or more. That's not acceptable for installing an npm package, so I don't really want to use it. Also, there were some errors actually getting emcc to compile...so it isn't a great solution yet. But, I can just assume the user has emscripten installed on their machine for now, just like Rust


$with-flavor variable not defined

I'm running this following in gulp:
var paths = {
    webroot: "./",
    bower: "./bower_components/",
    contentTarget: "./content/",
};

var find = {
    styles: [
		paths.bower + "css-reset-and-normalize-sass/scss/reset-and-normalize.scss"
	],
}

gulp.task("styles", ["cleanStyles"], function() {
    return gulp.src(find.styles)
        .pipe(plumberNotifier())
        .pipe(sourcemaps.init())
        .pipe(sass({outputStyle: 'compressed'}))
        .pipe(concat("app.css", { newLine: "\r\n" }))
        .pipe(sourcemaps.write(paths.webroot))
        .pipe(gulp.dest(paths.contentTarget));
});

This gives me the following error:
[13:38:42] Starting 'cleanStyles'...
[13:38:42] Finished 'cleanStyles' after 15 ms
[13:38:42] Starting 'styles'...
[13:38:42] Error in plugins **gulp-sass**:bower_components\css-reset-and-normalize-sass\scss\imports\_normalize.scss
Error: Undefined variable: "$with-flavor".
        on line 23 of bower_components/css-reset-and-normalize-sass/scss/imports/_normalize.scss
>>   @if ($with-flavor) {
   -------^
[13:38:42] Finished 'styles' after 35 ms

I've been researching to find out why the check around the variable existing does not work but so far I'm not getting anywhere. My workaround is the following:
Remove the following variable exists check from the top of _normalize.scss
// set var if not present
@if variable-exists(with-flavor) {

} @else {
  $with-flavor: false;
}

Change reset-and-normalize.scss to
$with-flavor: false;

@import 'imports/reset';

@import 'imports/normalize';

Change flavored-reset-and-normalize.scss to
$with-flavor: true;

@import 'imports/reset';

@import 'imports/normalize';

@import 'imports/flavor';

This takes away the reuse of reset-and-normalize.scss but this was providing minimal benefit anyway. This now compiles with both top level scss files.
I haven't raised a pull request just in-case I am missing something obvious.

A better way would be using the !default operator to produce the same behavior like in the original stylus version (where the equivalent ?= operator is used).
In _normalize.scss replace the @if with
$with-flavor: false !default;

This way you keep your necessary variable definitions within the modules which require them and don't pollute other files.
The !default operator should also be used when setting $with-flavor in flavored-reset-and-normalize.scss. This way we allow the user to include that file and still take control over using flavored version or not.

Thanks for the report. I have the same opinion as simbo. according to the code is adapted. thank you.


Code logic in main.go

In GitLab by @guyingyan on Dec 4, 2017, 17:05

build offline package
make prepare
make packageonestep
make package

install offline package

use ui

ui not work

In GitLab by @luotian-github on Nov 8, 2019, 07:42
Fixed in PR#691

In GitLab by @luotian-github on Nov 8, 2019, 07:42
closed

In GitLab by @sokril on Nov 8, 2019, 08:15
closed

In GitLab by @sokril on Nov 8, 2019, 08:15
assigned to @luotian-github


Fix dependabot config

Yeah, it's messy, but there's no other way around it :/
TODO:

[x] choose schedule wisely EDIT: I went with monthly
[x] choose limits wisely because 10 * 5 = 50 PRs! EDIT: I went with the default 5
[x] keep it simple because the file is huge :)

Fixes #44

My only issue is that there's no CI set up and things can break. So, updates should be merged carefully until there's CI for each subproject.


chore(package): update semantic-release to version 16.0.1

Codecov Report

Merging #629 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #629   +/-   ##
=======================================
  Coverage   89.46%   89.46%
=======================================
  Files           8        8
  Lines         560      560
  Branches       87       87
=======================================
  Hits          501      501
  Misses         56       56
  Partials        3        3

Continue to review full report at Codecov.

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

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Links based on dates do not refresh

What happened?
I have the following to show a link to today's note:
Today: `=link(dateformat(date(today), "yyyy-MM-dd"))` (yesterday `=link(dateformat(date(yesterday), "yyyy-MM-dd"))`)

When the note is open for more than a day, these links don't update to the current date.

Refresh interval is set to 2500
Force refresh command doesn't help

DQL
No response
JS
No response
Dataview Version
0.5.64
Obsidian Version
1.5.3
OS
MacOS

Sadly this is a common issue in some cases. It's not only related to dates changing, but the refresh fails in some cases in general, and you need to either re-open the note itself, change the query (could be as easy as adding/remove spaces), or triggering a rebuild of the current view.

See also #1752


remove dependency on procsnitch

Is the procsnitch dependency important or could it please be removed?

no we should not remove procsnitchd as a dependency because it's a privilege separation daemon which allows roflcoptor run as an unprivileged user. i could see an argument for making a build tag to optionally build roflcoptor without procsnitchd so that all the listeners have a configured policy attached to them; does that sound like a helpful alternative?

Yes.

ok we decided to remove procsnitchd as a dependency since we don't really need it to select a filter policy because we can use the listener as the only means of selecting a policy. Each listener has a policy assigned to it.

work in progress -> https://github.com/david415/roflcoptor/tree/56.remove_procsnitch.0

i've tested roflcoptor without procsnitchd and it works...
but i need others to test it as well to make sure!
@dma
https://github.com/subgraph/roflcoptor/pull/60


In case the JSON attribute is a java.util.Set, an additional SQL UPDATE is executed when persisting the entity

If the JSON attribute in the entity is Set, like the following for example:
@Entity
@Table(name = "users")
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
public class User {
    @Type("jsonb")
    @Column(columnDefinition = "jsonb")
    private Set<String> phones;
    // ...
}

then the extra update is performed when we create a new entity:
insert into users (version, phones, id) values (?, ?, ?)
update users set version=?, phones=? where id=? and version=?

This issue occurs regardless of the type parameter of the Set - either simple type, enum or POJO. It occurs with EnumSet as well.
The issue can be fixed by adding the following check to the begging of areEqual method in JsonTypeDescriptor class:
public class JsonTypeDescriptor
        extends AbstractTypeDescriptor<Object> implements DynamicParameterizedType {
    //...
    @Override
    public boolean areEqual(Object one, Object another) {
        if (one instanceof Collection && another instanceof Collection) {
            return Objects.equals(one, another);
        }
        //...
    }
}

If such a fix is correct I would be able to create a corresponding PR.

Please send a Pull Request with the change so that I can debug it too. Thanks.

Have done: #101

Thanks. I'll review it when I have some time.

Fixed.