regridding cubed-sphere-type datasets

Does xESMF currently support cubed-sphere-type datasets? For example, reading MITgcm llc grids with xmitgcm, we get an xarray dataset that looks something like this:
<xarray.Dataset>
Dimensions:  (face: 13, i: 1080, j: 1080)
Coordinates:
    XC       (face, j, i) >f4 dask.array<shape=(13, 1080, 1080), chunksize=(1, 1080, 1080)>
    YC       (face, j, i) >f4 dask.array<shape=(13, 1080, 1080), chunksize=(1, 1080, 1080)>
  * face     (face) int64 0 1 2 3 4 5 6 7 8 9 10 11 12
  * i        (i) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
  * j        (j) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
...

where XC and YC are longitude and latitude of the cell centers. There are 13 locally orthogonal rectilinear grid faces indexed by dimension face.
I would like to regrid this data to a regular lat-lon grid. I scanned the docs but couldn't find an answer to this. But presumably @JiaweiZhuang is using this with GEOS5, which uses a cubed sphere grid.

ESMPy supports cubed-sphere grid but not general multi-tile grid. From ESMPy doc:

Multi-tile Grid support is limited to cubed-sphere grids created on 6 processors. A cubed-sphere grid can be created on any number of processors, but only when it is created on 6 processors will the coordinates be retrievable for the entire object. A Field created from a cubed-sphere Grid cannot be written to file in parallel.

Here is an example of using cubed-sphere regridding in ESMPy, extracted from ESMF source code. That code has to be run with 6 MPI processes, one for each cubed-sphere panel. Notice the line:
if ESMF.pet_count() != 6:
    print ("ESMPy cubed sphere Grid Mesh Regridding Example requires 6 processors")
    import sys; sys.exit(0)

This cubed-sphere regridding capability is mostly for supporting GEOS-5. I haven't brought it to xESMF  level since it is too specialized and requires mpi4py.
For general multi-tile grid like MITgcm's LLC grid, you can do the regridding tile by tile and add the results up. One caveat is that the boundaries between tiles will be missing in one specific case, as shown in the table below:

multi-tile -> lat-lon
lat-lon -> multi-tile

first-order conservative algorithm
correct
correct

bilinear and other algorithms
missing the boundaries between tiles
correct

This is because the connection information between tiles is lost when the regridding is done on individual tiles. Conservative regridding is not affected because it uses the cell boundary information of each cell, not the connection information between adjacent grid points.
Multi-tile support does exist in ESMF, but not in ESMPy. If ESMPy has a plan for this, I am indeed willing to bring it up to xESMF. Also @bekozi @rokuingh.

As usual, @JiaweiZhuang, you described the overall situation with multi-tile in ESMPy well.

If ESMPy has a plan for this, I am indeed willing to bring it up to xESMF.

There is no current plan for this. It gets tricky from a Python perspective since we are not exposing the ESMF DistGrid through Python where connections are configured. This would be added as part of the long arc to expose the ESMF virtual machine to allow user-defined parallel decompositions. When reading cubed-sphere from file, all this stuff happens in ESMF IO code. My sense is that we could accommodate some features through interface tricks.
@rabernat, where do the 13 faces come from (use to seeing 6)? I am admittedly not familiar with the MITgcm llc grid.
On another note, @JiaweiZhuang, do you have any ESMPy feature requests you would consider blockers? Looking through tickets, I see your name next to in-memory weight retrieval, SMM performance, grid area calculations, and additional grid information in weights file. Maybe the answer is "all of the above"...

@rabernat, where do the 13 faces come from (use to seeing 6)? I am admittedly not familiar with the MITgcm llc grid.

Neither numpy or xarray supports ragged arrays; each array along a dimensions needs to have the same shape. The MITgcm LLC grid uses five "facets", i.e. locally orthogonal rectilinear grids (four lat-lon facets plus a polar cap). However, they are not the same size; the lat-lon facets are three times longer than they are wide. So we break the lat-lon facets into three sub-facets (now called faces), which we can then concatenate along a face dimension. 4*3 + 1 = 13.
Here is how the data is actually laid out on disk

For more info, you can read this:
http://xmitgcm.readthedocs.io/en/latest/performance.html
xgcm allows us to perform exchanges between these faces and operate on the whole dataset as a single object (lazily, since it is built on xarray / dask):
http://xgcm.readthedocs.io/en/latest/grid_topology.html
I imagine that xgcm is reproducing many things that esmf can already do. I would have preferred not to have to create xgcm, but currently it is a very necessary (and well performing) tool for our research group.

On another note, @JiaweiZhuang, do you have any ESMPy feature requests you would consider blockers? Looking through tickets, I see your name next to in-memory weight retrieval, SMM performance, grid area calculations, and additional grid information in weights file.

Thanks for asking! The only crucial need is in-memory weight retrieval. This would lead to some API changes in xESMF, which had better happen sooner than later... Let's discuss this in #11

@rabernat thank you for the explanation and overview! If you don't mind, can you pass along a grid file? I'm curious if ESMF can even read it (we also collect interesting grids). xgcm looks like great software. Let us know if we can help you out through xESMF or otherwise.
I do have a quick question about ragged arrays. I've always thought these were ragged arrays? Maybe not?
>>> x = np.array([np.array([1,2,3]), np.array([4,5,6,7])])
>>> x
array([array([1, 2, 3]), array([4, 5, 6, 7])], dtype=object)
>>> print(x.shape, x[0].shape, x[1].shape)
(2,) (3,) (4,)

I use them quite a bit with UGRID and numpy, and it's also how you fill VLTypes in netCDF4-python.

Let's discuss this in #11

:+1:

If you don't mind, can you pass along a grid file?

MITgcm does not output netCDF for these types of grids. It uses its own custom binary format. That's why we made xmitgcm: http://xmitgcm.readthedocs.io/en/latest/
I can make you a netcdf file with some grid information in it, but I'm not sure exactly what you're looking for. Is the a formal definition / spec for a "grid file" that you can point me to? Eventually we would like to use gridspec in xgcm, but it doesn't seem to be adopted widely (or at all?)

I do have a quick question about ragged arrays. I've always thought these were ragged arrays? Maybe not?

I would consider that to be an unsatisfactory hack. The problem is that you have to use an object dtype to make it work. You can literally put anything into a numpy array as an object. None of the usual numpy operations  work on that array (x.mean() errors),  and indexing fails (x[0,0] errors). At that point, I see no advantage of packing the two arrays into a numpy array: just put them in a list:
x = [np.array([1,2,3]), np.array([4,5,6,7])]

This stack overflow post discusses the issue pretty well: https://stackoverflow.com/questions/14916407/how-do-i-stack-vectors-of-different-lengths-in-numpy

MITgcm does not output netCDF for these types of grids. It uses its own custom binary format. That's why we made xmitgcm: http://xmitgcm.readthedocs.io/en/latest/

Got it.

I can make you a netcdf file with some grid information in it, but I'm not sure exactly what you're looking for.

Don't worry about it. I think the important thing will be for ESMPy to support multi-tile so xESMF can. If you don't mind, I can send an email to ESMF support to initiate a ticket and CC you. If you do output a GRIDSPEC netCDF at some point, we'd definitely be interested in testing it.

Is the a formal definition / spec for a "grid file" that you can point me to? Eventually we would like to use gridspec in xgcm, but it doesn't seem to be adopted widely (or at all?)

That's the one! GRIDSPEC Mosaic
You're right about it not being widely adopted, but I think it is the most commonly used convention for grid mosaics. I also think the user group is generally pretty small.

I would consider that to be an unsatisfactory hack.

That's fair. When wrapped with an explicitly defined variable length type they have been very useful and stable, but your mileage may be different. Anyway, thanks!

This cubed-sphere regridding capability is mostly for supporting GEOS-5. I haven't brought it to xESMF level since it is too specialized and requires mpi4py.

Are there currently any plans to bring this to xESMF? I would like to use it for the cs Grid of MITgcm. Right now I interpolate every face individually with xESMF which also seems to work fine.

This cubed-sphere regridding capability is mostly for supporting GEOS-5. I haven't brought it to xESMF level since it is too specialized and requires mpi4py.

Are there currently any plans to bring this to xESMF? I would like to use it for the cs Grid of MITgcm. Right now I interpolate every face individually with xESMF which also seems to work fine.

Hi all. For GCHP, we need cubed-sphere and stretched cubed-sphere regridding too. We use the "sum conservatively-regridded faces" approach as well, and it works okay, but it is limited to the "conserve" method, it's brittle, and it's hard to extend because of the extra complexity. Lately I have been working on a few projects that are regridding-heavy, and I have a workflow that works pretty well for what I need. I thought I would share it here, so perhaps we could figure out how to support this in general.
The ESMF_Regrid and ESMF_RegridWeightGen tools support the gridspec file format for cubed-sphere and stretched cubed-sphere grids. I didn't find any tools online for generating these files, so I wrote a small utility for generating gridspec files. This lets you use the ESMF_RegridWeightGen tool natively, so you can generate regridding weights using any method (e.g., bilinear, 2nd order conservative, nearest, etc.), and regrid between any grid-types (assuming you can generate the grid-definition file).
Once you have the regridding weights, the actual regridding is simply a sparse matrix multiplication. I wrote a small library for doing this sparse matrix multiplication the Pythonic way (using numpy.vectorize and xarray.apply_ufunc) which you can find here: sparselt. That said it's simply a sparse matrix multiplication, so it would be easy to implement in any language.
The "nice traits" of this approach are:

the sparse matrix multiplication is easy to implement in any language
the regridding weights could be generated by other tools, not necessarily ESMF_RegridWeightGen
it's compatible with pretty much any grid type (grid needs to be flattenable for the matrix multiplication step) and it's easy to extend

This isn't a "new approach"---it's really what's just going on under-the-hood---but breaking regridding up into generating weights and a sparse matrix multiplication is an interface that's flexible and simple.
I'm happy to merge my work into somewhere else, but I'm not entirely sure it fits well in xESMF. Open to any suggestions!

Lets move this discussion to https://github.com/pangeo-data/xESMF/issues/96


Bug: Commit message does not comply with organisation policy.

Scenario
We have a pre-commit hook that enforces commit messages are in a particular format. For example, it might enforce Semantic Commits, or Conventional Commits.
These hooks may be enforced organisation-wide.

Run a benchmarking workflow.

Actual result

The following error is received:

remote: commit-msg: failed with exit status 1
remote: [POLICY] Aborting commit 9e0367e61d255bf5584361d5ce52e2eec170c83a.  Should start with something like 'ABC-1234: ' -- If your change is too insignificant to require a Jira number, you may add the prefix 'Minor'
To https://contoso.org/contose/people_service.git
 ! [remote rejected] gh-pages -> gh-pages (pre-receive hook declined)
error: failed to push some refs to 'https://contoso.org/contose/people_service.git'
Warning: Auto-push failed because the remote gh-pages was updated after git pull

Technical implementation
The commit message is created here.
Ideally, the user would be able to specify a message format for the commit message, for example:
      - name: Store benchmark result
        uses<EMAIL_ADDRESS>        with:
          name: Benchmark.Net Benchmark
          tool: 'benchmarkdotnet'
          output-file-path: src/Benchmarks/results/Benchmarks-report-full-compressed.json
          auto-push: false
          commit-message-format: "MINOR: add {name} ({tool}) benchmark result for {bench_commit_id}"

A common implementation would be:
const commitTemplate = args.outputFilePath;

function fillTemplate(template, values) {
  return template.replace(/{(.*?)}/g, (match, key) => values[key.trim()] || match);
}

const templateValues = {
  name: name,
  tool: tool,
  bench_commit_id: bench.commit.id}
};

const commitMessage = fillTemplate(commitTemplate, templateValues );

Hi @RowlandBanks
Thanks for filing this issue. I'm putting it on my todo list as a new feature and will try to get it done but if you want to have a go at it then I would appreciate a contribution!

I've made a start on this in #262.


Profile Drop down Register link not working

Profile Drop down Register link not working. This is only visible if there is no session. Add url to resolve issue

Also missing registration active check.

Commit #9  Resolevs


Printing

added the opportunity to print rdl report in silent mode

I am on vacation until the second week of August.  If somebody else can review these changes that would be super.


add simple fsm example

Just small example for demonstrating fsm.

Cool stuff! I wonder though if maybe we should separate this example from the others. The examples we have so far are mainly intended as an executable documentation of protoactor features, whereas this is more of an example of how an FSM pattern can be implemented using actors.
E.g. perhaps the examples directory could be split into something like:
examples/features
examples/benchmarks
examples/patterns
@AsynkronIT/developers thoughts?

@cpx86 I agree with your suggestion about splitting examples types.

The example is based on the akka.net implementation and it is simplfied a little. I think I can simplify it more. But now it is working prototype :)

Would be nice to split the file as well - it was a bit hard to read the diff tbh 😄

done :) cleaned up a little.

@cpx86 I thought a little and got that benchmarks actually are not examples.
What if
examples/features
Chat
ClusterHelloWorld
DependencyInjection
Futures
HelloWorld
Labb
LifecycleEvents
Middleware
Persistence
ReceiveTimeout
RemoteActivate
Router
Schedulers/SimpleScheduler
Supervision
benchmarks
InprocessBenchmark
MailboxBenchmark
RemoteBenchmark
SpawnBenchmark
examples/patterns
FSM

While I do think FSM DSL's can be useful, I would like to bring this one up on the design table and see if we can make this more C# 7 idiomatic and how it fits with the ideas around Proto.Actor.
Thoughts @AsynkronIT/developers ?

I would rather see how something like Stateless would be used instead of making something new.  I've liked using it.  Maybe a tighter integration could be done.
https://github.com/dotnet-state-machine/stateless/

Does Stateless allow for event triggers, e.g. timeouts or how can we integrate something like this in the actor world?
But I agree, that is exactly the Proto.Actor way to go about things. re-use proven building blocks

You can definitely trigger events on state transitions. Not sure what you mean about timeouts.
I might get some time tomorrow to implement a FSM example.

In Akka, you can set timeouts for states, so that if you have been in state X for Y amount of time, then you should revert to some other state.

Actually, when attempting to use Stateless, I'm basically having to recreate what's going on in this PR anyway.
Stateless's main usefulness, it seems, is to just have a graph of validate states so the current state is tracked and allows a transition to happen or not.
Most of the code in this PR is doing actor specific things.  Basically, it wasn't adding much as the state handlers could not be attached and then you add the burden of the user having to declare what state transitions are allowed (well this could be optional).
So, in conclusion.  Users might want to layer Stateless on top of this FSM for validation purposes but it doesn't add anything that I can see.

Need to close this PR?


Drop once_cell dependency in favor of built-in OnceCell/OnceLock

Rust 1.70 stabilized OnceCell and OnceLock in the standard library: https://github.com/rust-lang/rust/pull/105587/
This probably obsoletes https://github.com/newsboat/newsboat/pull/2610

coverage: 59.893%. remained the same
when pulling db368c1eb85d75c1e188e7fe2491e5f98722e8e9 on dennisschagt:drop-dependency-once_cell
into 57f0aea62ea591dfb18a993a37ab6396179f9cca on newsboat:master.

Excellent, thank you!


Add dynamic imports for Mermaid and Math Rendering

This fixes #365
Summary
src/components/Markdown.tsx: Changed the following modules to dynamic imports:

remarkMath (directly depends on katex)
rehypeKatex (indirectly depends on katex via micromark-extension-math)

src/components/MermaidPreview.tsx and src/components/MessagesView.tsx: Changed the following module to dynamic import:

mermaid (directly depends on elkjs and cytoscape)

Explanation
#365  identified three large modules for dynamic importing:

elkjs (for Mermaid)
cytoscape (for Mermaid)
katex (for Math rendering)

The elkjs and cytoscape modules are both dependencies of mermaid:
https://github.com/tarasglek/chatcraft.org/blob/ca5ef709661bfc7415638d1708a1e539d7a858aa/pnpm-lock.yaml#L7688-L7701
The katex module is a dependecncy of two modules:

rehype-katex:
https://github.com/tarasglek/chatcraft.org/blob/ca5ef709661bfc7415638d1708a1e539d7a858aa/pnpm-lock.yaml#L9145-L9152
and micromark-extension-math (not directly imported in code):
https://github.com/tarasglek/chatcraft.org/blob/ca5ef709661bfc7415638d1708a1e539d7a858aa/pnpm-lock.yaml#L7828-L7833
...which itself is a dependency of remark-math (directly imported in code):
https://github.com/tarasglek/chatcraft.org/blob/ca5ef709661bfc7415638d1708a1e539d7a858aa/pnpm-lock.yaml#L9170-L9175

Waiting for preview to build before presenting test results

Testing previews of my changes suggests the crash occurs when dynamically importing the remarkMath and rehypeKatex packages. I opened #488 which successfully dynamically imports only the mermaid module, and will investigate dynamically importing remarkMath and rehypeKatex in a follow-up issue


[Go Live][May 24]

Docs Build status updates of commit 15b075b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/index.yml
:white_check_mark:Succeeded
View

msteams-platform/toolkit/add-resource.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Unannotated functions are silently ignored by the CI

We've seen this in several PRs that have come up.

Maybe --disallow-untyped-defs or one of its siblings can help?
https://mypy.readthedocs.io/en/latest/command_line.html#additional-command-line-flags

We should research this item in the near term to see how many type annotations are missing. This would allow us to identify any type changes early on and therefore make breaking API changes sooner.
Moving it near other API breaking items in the backlog.


ci script update

Description
fix small issues with the ci scripts:

autodocs.sh did not exit if pandoc or terraform-docs were not installed
ci/bin/verify-examples.sh had incorrect check for examples and printed some useless  errors

Migrations required
NO
Verification
N/A
Documentation
N/A

@roock thanks, look good will check the change in detail the next days.


Aiken docs

:round_pushpin: Define 'is_library' for 'CheckedModule'
So that we can separate libraries from executable modules if necessary.

:round_pushpin: Introduce 'docs' for generating documentation for aiken libraries.

:round_pushpin: Add a 'docs' method to projects, using the newly introduced docs::generate_all

:round_pushpin: Add command 'docs' for generating project documentation.

:round_pushpin: Support data-types in documentation.

:round_pushpin: Fix type-parameter pretty printing (use chevrons)

:round_pushpin: Refactor project source parsing
There was already a 'parse_sources' function, and 'parse' was actually more about typechecking than parsing.

:round_pushpin: Implement modules' extra, to get function & module comments in docs.

:round_pushpin: Apply suggestions from clippy.

:round_pushpin: Support module constants in docs.

:round_pushpin: Define HighlightJS definition for Aiken.

:round_pushpin: Do not show link to source.
This require slightly more work and has little benefits at this stage given that the sources are literally inlined in the docs.

:round_pushpin: Factor out common module prefix when all modules are under a same namespace.

:round_pushpin: Adjust docs theme to catppuccin

light-mode uses catpuccin-latte
dark-mode uses catpuccin-mocha

:round_pushpin: Add source repository to config & docs.

See preview: https://aiken-lang.github.io/stdlib/


const-ify quic/http3 code

This is a master branch version of a second #7079 .  This should also go into 9.x to keep the branches/versions in relative sync.

[approve ci autest]

Cherry-picked to v9.0.x branch.


Fix the metadeploy install plan

Critical Changes
Changes
Issues Closed
New Metadata
Deleted Metadata
Testing Notes

@jstvz I updated the most recent installer manually, so no need to republish.


[Service Bus] Add AvailabilityStatus to QueueProperties, TopicProperties and SubscriptionProperties in ServiceBusAdmininstrationClient

availabilityStatus is a property that indicates availability of the queue/topic/subscription.
The get/create/update methods on the ServiceBusAdministrationClient (previously named ServiceBusManagementClient) return the objects that follow the below interfaces which need to be updated to add availabilityStatus property (readonly)

QueueProperties
TopicProperties
SubscriptionProperties

Like the status property that follows the EntityStatus interface, this new property availabilityStatus should follow a new EntityAvailabilityStatus interface
https://docs.microsoft.com/en-us/dotnet/api/microsoft.servicebus.messaging.entityavailabilitystatus?view=azure-dotnet is a reference point from an older version of the Service Bus library in .Net
PRs are welcome to add this feature.
Code Pointers:

Set up environment and run rush build
queueResourceSerializer
topicResourceSerializer
subscriptionResourceSerializer

@ramya-rao-a I can work on this

Hey @mohsin-mehmood, that's great to hear!
I believe this link from the old .Net library can be used as a reference: https://docs.microsoft.com/en-us/dotnet/api/microsoft.servicebus.messaging.entityavailabilitystatus?view=azure-dotnet

This is completed with https://github.com/Azure/azure-sdk-for-js/pull/11152
Thanks @mohsin-mehmood!


Ignore asynchronous failures after spec resolution

This improves on https://github.com/mochajs/mocha/pull/1540 From that thread:
Given the following test, which only has one spec:
it('fails exactly once when a global error is thrown first', function(done) {
  setTimeout(function() {
    throw new Error('global error');

    setTimeout(function() {
      done(new Error('test error'));
    }, 0);
  }, 0);
});

You get two two failures:
$ ./bin/mocha pr1540.js

  ․․

  0 passing (6ms)
  2 failing

  1)  fails exactly once:
     Error: test error
      at null._onTimeout (/Users/danielstjules/git/mocha/pr1540.js:10:12)
      at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
      at timers.js:117:18
      at process._tickCallback (node.js:415:13)
      at process._tickFromSpinner (node.js:390:15)

  2)  fails exactly once:
     Error: test error
      at null._onTimeout (/Users/danielstjules/git/mocha/pr1540.js:10:12)
      at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
      at timers.js:117:18
      at process._tickCallback (node.js:415:13)
      at process._tickFromSpinner (node.js:390:15)

But after this PR, it correctly only shows one failure, and highlights the error thrown first ("global error"):
$ ./bin/mocha pr1540.js

  ․

  0 passing (6ms)
  1 failing

  1)  fails exactly once:
     Uncaught Error: global error
      at null._onTimeout (/Users/danielstjules/git/mocha/pr1540.js:12:11)
      at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)

In addition to the above fix, this PR improves on #1540 by also correctly handling the following test case:
it('fails exactly once when a global error is thrown second', function(done) {
  setTimeout(function() {
    done(new Error('test error'));
  }, 0);

  setTimeout(function() {
    throw new Error('global error');
  }, 0);
});

It now also only reports a single failing spec, rather than two.

Awesome! Thanks

No problem! :)


npx nuxi typecheck fails in fresh project

Repro: https://stackblitz.com/edit/github-yhnmge?file=nuxt.config.ts,.nuxt%2Ftsconfig.json
❯ npx nuxi typecheck
ℹ Compiled plugins/server.mjs in 527.8ms                                                                                20:40:45
ℹ Compiled plugins/client.mjs in 559.59ms                                                                                20:40:45
ℹ Compiled types/plugins.d.ts in 560.98ms
node_modules/@nuxt/scripts/dist/runtime/components/ScriptGoogleMaps.vue:96:67 - error TS2339: Property 'apiKey' does not exist on type 'ScriptRegistry'.

96 const apiKey = props.apiKey || scriptRuntimeConfig('googleMaps')?.apiKey
                                                                     ~~~~~~

node_modules/@nuxt/scripts/dist/runtime/components/ScriptGoogleMaps.vue:146:23 - error TS7006: Parameter 'instance' implicitly has an 'any' type.

146   $script.then(async (instance) => {
                          ~~~~~~~~

node_modules/@nuxt/scripts/dist/runtime/components/ScriptLemonSqueezyButton.vue:2:15 - error TS2724: '"#imports"' has no exported member named 'ElementScriptTrigger'. Did you mean 'useElementScriptTrigger'?

2 import { type ElementScriptTrigger, onMounted, ref, useElementScriptTrigger, useScriptLemonSqueezy } from '#imports'
                ~~~~~~~~~~~~~~~~~~~~

node_modules/@nuxt/scripts/dist/runtime/components/ScriptVimeoPlayer.vue:137:79 - error TS18046: 'res' is of type 'unknown'.

137   () => $fetch(`https://vimeo.com/api/v2/video/${props.id}.json`).then(res => res[0]),
                                                                                ~~~

node_modules/@nuxt/scripts/dist/runtime/components/ScriptVimeoPlayer.vue:163:25 - error TS7031: Binding element 'Vimeo' implicitly has an 'any' type.

163   $script.then(async ({ Vimeo }) => {
                            ~~~~~

node_modules/@nuxt/scripts/dist/runtime/components/ScriptVimeoPlayer.vue:175:15 - error TS2769: No overload matches this call.
  The last overload gave the following error.
    Argument of type 'string' is not assignable to parameter of type '"leavepictureinpicture"'.

175         emits(event, e, player)
                  ~~~~~

  node_modules/@vue/runtime-core/dist/runtime-core.d.ts:1256:21
    1256     [K in keyof T]: (evt: K, ...args: T[K]) => void;
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    The last overload is declared here.

node_modules/@nuxt/scripts/dist/runtime/components/ScriptYouTubePlayer.vue:58:23 - error TS7006: Parameter 'instance' implicitly has an 'any' type.

58   $script.then(async (instance) => {
                         ~~~~~~~~

Found 7 errors in 4 files.

Errors  Files
     2  node_modules/@nuxt/scripts/dist/runtime/components/ScriptGoogleMaps.vue:96
     1  node_modules/@nuxt/scripts/dist/runtime/components/ScriptLemonSqueezyButton.vue:2
     3  node_modules/@nuxt/scripts/dist/runtime/components/ScriptVimeoPlayer.vue:137
     1  node_modules/@nuxt/scripts/dist/runtime/components/ScriptYouTubePlayer.vue:58

 ERROR  Command failed with exit code 2: /home/projects/kkvirvvmn.github/node_modules/vue-tsc/bin/vue-tsc.js --noEmit                     20:40:47

  at makeError (node_modules/nuxi/dist/chunks/index3.mjs:1292:11)
  at handlePromise (node_modules/nuxi/dist/chunks/index3.mjs:2530:26)
  at async Object.run (node_modules/nuxi/dist/chunks/typecheck.mjs:91:7)
  at async runCommand$1 (node_modules/nuxi/dist/shared/nuxi.9edf0930.mjs:1678:16)
  at async runCommand$1 (node_modules/nuxi/dist/shared/nuxi.9edf0930.mjs:1669:11)
  at async runMain$1 (node_modules/nuxi/dist/shared/nuxi.9edf0930.mjs:1807:7)

 ERROR  Command failed with exit code 2: /home/projects/kkvirvvmn.github/node_modules/vue-tsc/bin/vue-tsc.js --noEmit

Hey :wave: Thank you for openning the issue. It should be soon fixed by #65 #66 and #67

Thanks @huang-julien! This is fixed in 0.4.2.


ClockSynchronization Client API

ChronoVisor process is is the ultimate authority on the Chrono Cluster time .
ChronoVisor client API needs functionality to expose ChronoVisor time to the client
This API is intended to be used at the time of Visor and client initial handshake, at the time of Chronicle acquisition, and may also be forcefully triggered by the Visor in the case of client event timestamps drifting away from the Visor time beyond some configurable threshold.

review what was done under this ticket, merge the minimum that can be used in current implementation to the develop branch, and close this ticket

current situation is that all the ChronoLog components rely on OS timestamps and node synchronization protocol (ptp/ntp) used on HPC installation.
I'm closing this ticket. If ChronoLog specific synchronization mechanism is reintroduced in the future new tickets would be opened.


jte-maven-plugin should write precompiled classes in targetDirectory instead of targetDirectory/classes

If I write <targetDirectory>/my-path</targetDirectory> inside <configuration>, the generated .class, .bin, and .java files are written into /my-path/classes instead. It should be exactly what's written inside <targetDirectory>

My bad, /classes crept into via invalid environment option (I actually wrote <targetDirectory>${some.path}</targetDirectory> which was set via environment variables to /my-path).

Thanks for the follow up!


enable Summarizer with OAP

enable Summarizer CPU and GPU with one API
add Summarizer example

Thanks for opening a pull request!
Could you open an issue for this pull request on Github Issues? https://github.com/oap-project/oap-mllib/issues
Then could you also rename pull request title and commit log in the following format?
[ML-${ISSUES_ID}] ${detailed message}

See also:

Other pull requests

#151

#153

@minmingzhu thanks for your work. Merged!


[WIP] feat(chart-data): add timezone support

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Moving this to a draft... feel free to promote it when it's rebased/ready, or close it if it's old news :D

Should we close this one out?


Run hack/update-codegen.sh with Go 1.19

As per title.
Go 1.19 is now required to generate and verify generated code.

There's deprecation you'll want to address - see the 'Files Changed' Tab and scroll to the bottom

Yes, working on eventing first: https://github.com/knative/eventing/pull/6594

  Running [/home/runner/golangci-lint-1.50.1-linux-amd64/golangci-lint run --out-format=github-actions --go=1.19] in [] ...
  Error: SA1019: "io/ioutil" has been deprecated since Go 1.16: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details.  (staticcheck)

  Error: issues found
  Ran golangci-lint in 30504ms

CC @pierDipi  ^

/cc @aliok @creydr @matzew

/lgtm
/approve
Thanks!


Cannot load Python REPL in VS Code

Environment data
VS Code version:  1.20.1
Python Extension version:  2018.1.0
Python Version:   3.6 64 bit
OS and version:    Windows 10 64 bit
Actual behavior
I installed VS Code using the default Anaconda installer (added feature on 2/17/2018). Then, I tried to load the Python REPL (control + shift + P, then Python: Start REPL). However, nothing happened; in the terminal below, it's just Windows Powershell.

Expected  behavior
A Python interpreter to show up.
Steps to reproduce:

Install VS Code using the default Anaconda installer
Then, load the Python REPL (control + shift + P, then Python: Start REPL).

Logs
Output from Python output panel

Output from Console window (Help->Developer Tools menu)

/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:253 [Extension Host] Python Extension: Failed to get conda environment list from conda null
t.log @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:253
console.ts:123 [Extension Host] rejected promise not handled within 1 second
t.log @ console.ts:123
t._logExtensionHostMessage @ extensionHost.ts:394
(anonymous) @ extensionHost.ts:211
emitTwo @ events.js:106
emit @ events.js:194
process.nextTick @ internal/child_process.js:766
_combinedTickCallback @ internal/process/next_tick.js:73
_tickCallback @ internal/process/next_tick.js:104
mainThreadExtensionService.ts:43 [ms-python.python]Cannot read property 'filter' of undefined
e.$onExtensionRuntimeError @ mainThreadExtensionService.ts:43
e._doInvokeHandler @ rpcProtocol.ts:174
e._invokeHandler @ rpcProtocol.ts:159
e._receiveRequest @ rpcProtocol.ts:108
e._receiveOneMessage @ rpcProtocol.ts:90
(anonymous) @ rpcProtocol.ts:33
(anonymous) @ rpcProtocol.ts:213
e.fire @ event.ts:142
(anonymous) @ ipc.net.ts:81
emitOne @ events.js:96
emit @ events.js:191
readableAddChunk @ _stream_readable.js:178
Readable.push @ _stream_readable.js:136
onread @ net.js:560
mainThreadExtensionService.ts:44 TypeError: Cannot read property 'filter' of undefined
	at CondaService.<anonymous> (C:\Users\Shawn\.vscode\extensions\ms-python.python-2018.1.0\out\client\interpreter\locators\services\condaService.js:130:44)
	at Generator.next (<anonymous>)
	at fulfilled (C:\Users\Shawn\.vscode\extensions\ms-python.python-2018.1.0\out\client\interpreter\locators\services\condaService.js:13:58)
	at <anonymous>

Please could you download the Insiders Build of the extension and test this out.
I believe this has been fixed.

Possible duplicate of #247

Thank you for your response @DonJayamanne !
I just tried the Insiders Build and still get this:

/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:253 [Extension Host] Python Extension: Failed to get conda environment list from conda null
t.log @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:253
/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:4185 [ms-python.python]Cannot read property 'filter' of undefined
e.$onExtensionRuntimeError @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:4185
/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:4185 TypeError: Cannot read property 'filter' of undefined
	at CondaService.<anonymous> (C:\Users\shwang\.vscode\extensions\ms-python.python-2018.2.0-alpha\out\client\interpreter\locators\services\condaService.js:130:44)
	at Generator.next (<anonymous>)
	at fulfilled (C:\Users\shwang\.vscode\extensions\ms-python.python-2018.2.0-alpha\out\client\interpreter\locators\services\condaService.js:13:58)
	at <anonymous>
e.$onExtensionRuntimeError @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:4185
/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:253 [Extension Host] rejected promise not handled within 1 second

Please could you try the following build of the extension?
python-2018.2.0-alpha.zip
Please rename the file extension from .zip to .vsix to install it.

Just tried! The Terminal did show something:
Windows PowerShell
Copyright (C) 2015 Microsoft Corporation. All rights reserved.

PS X:\OneDrive - Align Technology, Inc-\ToolFolder\scripts\rmscripts> & cmd /k "C:/Users/shwang/AppData/Local/Continuum/anaconda3/Scripts/activate.bat & powershell"ershell"
Windows PowerShell
Copyright (C) 2015 Microsoft Corporation. All rights reserved.

PS X:\OneDrive - Align Technology, Inc-\ToolFolder\scripts\rmscripts>

However, this was still present in the console. Is this relevant?

2/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:253 [Extension Host] Python Extension: Failed to get conda environment list from conda Error: spawn conda ENOENT
	at exports._errnoException (util.js:1050:11)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
	at onErrorNT (internal/child_process.js:367:16)
	at _combinedTickCallback (internal/process/next_tick.js:80:11)
	at process._tickCallback (internal/process/next_tick.js:104:9)

However, this was still present in the console. Is this relevant?

That's fine.
I'm closing this as it will be resolved with the PR #829

Opening until the PR is merged.


Add feature to get random post to repost from downloaded posts by account

Don't see why this is useful, the bot loops over all the files in the specified folder and uploads them. If the user wants to randomize the order, then they'd have to do it manually


Global mutation doesn't start http request

Bug report
With next.js app, on page a, mutate a global key used in other page
Description / Observed Behavior
No http request was sent
Expected Behavior
Send http request and revalidate data
SWR version.  v1.3.0

@yufengwang Could you reproduce it on CodeSandbox?

@koba04 I found that it's because of the component is  unmounted, thanks


Bug Report: How do i even open the thing

how do i even open it?

wdym, if you're just here for the pre-compiled version go to releases and grab the newest version
if you're here to compile read this


Must set FQDN of Monitoring VMs

FQDN of host VMs must be set before local deployment and db population of data can occure.
Traceback (most recent call last):
File "/opt/IeAT-DICE-Repository/src/start.py", line 171, in
main(sys.argv[1:])
File "/opt/IeAT-DICE-Repository/src/start.py", line 118, in main
corePopLS=dbSCore(hostFQDN=socket.getfqdn(),hostIP = socket.gethostbyname(socket.gethostname()),hostOS='ubuntu',
File "/usr/local/lib/python2.7/dist-packages/gevent/socket.py", line 615, in gethostbyname
return get_hub().resolver.gethostbyname(hostname)
File "/usr/local/lib/python2.7/dist-packages/gevent/resolver_thread.py", line 28, in gethostbyname
return self.pool.apply_e(self.expected_errors, _socket.gethostbyname, args)
File "/usr/local/lib/python2.7/dist-packages/gevent/threadpool.py", line 225, in apply_e
raise result
socket.gaierror: [Errno -2] Name or service not known
Exception KeyError: KeyError(140552818938256,) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored

added capability to bootstrap script


[TypeScript] TypeScript generic type

type TFsBaseToolEvent = {
  startTool?: string;
  cancelTool?: string;
};

interface IbaseTool<T extends TFsBaseToolEvent = TFsBaseToolEvent> {
  test: (s: T) =>void;
  event: Emitter<T>;
  event2: Emitter<TFsBaseToolEvent>;
}

class BaseTool<T extends TFsBaseToolEvent = TFsBaseToolEvent> implements IbaseTool<T> {
  event: Emitter<T>;
  referenceEvent: Emitter<TFsBaseToolEvent>;
  constructor() {
    this.event = mitt();
    this.referenceEvent = mitt<TFsBaseToolEvent>();
  }

  test (param: T) {
    console.log(param.startTool);
    this.event.emit('startTool'); // There is no inference type prompt.

    this.referenceEvent.emit('startTool');
  }
}

demo
Line: 145

I have no idea what is causing this.

I tried fiddling around a bit with the code, but unfortunately came to no viable solution. But also would suggest that the issue has maybe to do with the way the emit-function in mitt is implemented.
Added some lines of code and comments as I was testing. Maybe it has some use for anyone who wants to make an attempt: here

You can write this.event.emit('startTool', undefined);

You can write this.event.emit('startTool', undefined);

Yes, you could write code like this;  But the problem is, when you write code, there's no event type inference, it's not friendly.

I assume this is because the compiler can't know the type of <T> in event: Emitter<T>; and therefore can't know what keys would be valid events for this.event.emit('startTool'); because <T> may contain 'pauseTool' or any other key... or it may not.
If you want the mitt instance to respond to events from TFsBaseToolEvent then it needs to be defined with that type (event: Emitter<TFsBaseToolEvent>;)

Here's the explanation, it's not specifically a bug but more like a misconception of how the inferring works
https://github.com/microsoft/TypeScript/issues/48741#issuecomment-1101637791

Here's the explanation, it's not specifically a bug but more like a misconception of how the inferring works
microsoft/TypeScript#48741 (comment)

Thank you, it was helpful.


ENH: Add option on using system library

Tested on Windows10, MSVC16, VS2019.
There are some issues with DCMTK. When compling DCMTK related plugins, it is required to put compiled libraries in some project folder to be able to continue compling.

Solving issues like #911

We have been using CTK with VTK, ITK, etc. built outside of CTK for many years in 3D Slicer, as you can specify these variables as command-line arguments. So, adding the options is not necessary. However, it does not hurt to add these options. Maybe you could mark them as "advanced" to prevent cluttering the CMake GUI.

@lassoan Thanks for the hint, I think it's necessery to let advanced user to know that this is optional.
Since the Internet connection can sometimes be wrong, one will need this option to prevent building CTK with other thirdparty libraries online, instead they can chose to compile thirdparty libraries first with local source and let CMake find exist libraries.
I now marked these options as advanced and I think it fits your mind. Thanks for the review!

If you squash the commits into one (and make sure the commit comment is valid) then it should be good to go.

I think it's ready to merge @lassoan @pieper


lastest image 1.9.0_2022-07-12 pull failed

issue
Base on mircrosoft doc below we use latest image to create container, but image can't be pulled from mcr.microsoft.com
https://docs.microsoft.com/en-us/azure/azure-arc/data/create-data-controller-using-kubernetes-native-tools#create-the-bootstrapper-service
defined v1.9.0_2022-07-12 in bootstrap.yaml
mcr.microsoft.com/arcdata/arc-bootstrapper:v1.9.0_2022-07-12
[root@azk8s-oc arc]# docker pull mcr.microsoft.com/arcdata/arc-bootstrapper:v1.9.0_2022-07-12
Error response from daemon: manifest for mcr.microsoft.com/arcdata/arc-bootstrapper:v1.9.0_2022-07-12 not found: manifest unknown: manifest tagged by "v1.9.0_2022-07-12" is not found

of course when we create resource use this yaml file will failed to pull image from mcr.microsoft.com

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

ID: 2486cde1-2ac3-cd82-b0d0-6c2319e6c209
Version Independent ID: 1dd7026e-e589-e1d2-ddfb-ca3715ac5c53
Content: Create a data controller using Kubernetes tools - Azure Arc
Content Source: articles/azure-arc/data/create-data-controller-using-kubernetes-native-tools.md
Service: azure-arc
Sub-service: azure-arc-data
GitHub Login: @twright-msft
Microsoft Alias: twright

Thank you for your feedback! We will review and update as appropriate.

Looks like doc has fixed the image tag back to 1.8.0_2022-06-14. Thanks for quick action 😊

@Jas0nOss We will now proceed to close this thread. If there are further questions regarding this matter, please revert and we will gladly continue the discussion.


Docstring Style: Add Examples

There's a variety of discussions about this online, but I personally feel that the numpydoc style is more readable.  For example:
https://github.com/pyansys/PyAEDT/blob/76d2b68f2319a136bc0ae8823a74b9e0e150bf0d/pyaedt/maxwell.py#L196-L203
Converted to:
"""Assign voltage source to face list.

Parameters
----------
face_list : list
    List of faces.
amplitude : float
    Voltage amplitude in mV
name : str
    Boundary name.

Returns
-------
:class:`BoundaryObject`
    Boundary object.

Examples
--------
>>> ...
"""

Closing as we're mostly there.  Still tracking as a project.


chore: Add tests for RBAC issue [DEV-3164]

Task linked: DEV-3164 Write integration RBAC tests reusing tests written by Abdulla


Add Convenience ConstraintItems for dimensional edges

This PR adds the ConstraintItems horizontalEdges, verticalEdges, directionalHorizontalEdges and directionalVerticalEdges as convenience items to express left+right, top+bottom or leading+trailing.
I've been using these shortcuts for some time now in several projects to conveniently express something like 'Pin this view to the left and right edge of the superview':
subview.snp.makeConstraints { make in
    make.horizontalEdges.equalToSuperview()
}

This is very useful in cases where you don't want to pin all edges of a view to those of another view using .edges.equalTo(...), but still don't want to type a lot of code to pin specific dimensional edges.
I've also added comprehensive UnitTesting for these new Items.

Looks great! 👍

Hi @robertjpayne I just wondering, this PR was merged 1 year ago now.
If I'm correct it still not available in the latest snapkit release ? Did I missed something ?

Same for me. Looks great but not available in last cart. 😯


Amd ROCm install problems

 Hi  Rocm Team,

 I 'm new with Amd ROCm drivers. In the old times I was able to run computing applications with catalsty drivers.

***Using Ubuntu 16.04 full updated and upgraded.
 I cant install ROCm.  Have some problems in commands or in the repositorys??????

 I tried to install the ROCm driver in ubuntu,  following the guide on the page:

''Ubuntu Support - installing from a Debian repository''
The following directions show how to install ROCm on supported Debian-based systems such as Ubuntu 18.04. These directions may not work as written on unsupported Debian-based distributions. For example, newer versions of Ubuntu may not be compatible with the rock-dkms kernel driver. As such, users may want to skip the rocm-dkms and rock-dkms packages, as described above, and instead use the upstream kernel driver.
*First make sure your system is up to date
sudo apt update
sudo apt dist-upgrade
sudo apt install libnuma-dev
sudo reboot
*Add the ROCm apt repository
For Debian-based systems like Ubuntu, configure the Debian ROCm repository as follows:
wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key
sudo apt-key add - echo 'deb [arch=amd64] http://repo.radeon.com/rocm/apt/debian/ xenial main'
sudo tee /etc/apt/sources.list.d/rocm.list
I typed in terminal:
wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key
******this command ABOVE work right, got and showed the key numbers in terminal.
***The next command BELOW dont work,   after I typed it,,  dont show nothing,, still stuck.........''
sudo apt-key add - echo 'deb [arch=amd64] http://repo.radeon.com/rocm/apt/debian/ xenial main'
What is happening?????
What I need to do??
Please, If have a more right way to install ROCm in ubuntu, talk to me, I 'm trying many times with no success.  I have one RX Vega 56 (Vega 10), and I will get a new RX Vega 64 too!!
I appreciated all help.

Hi  Heero-yuy,
The commands above are working 100%.  Sorry for the delay (I was in business).
Almost in the end of install, it showed in terminal a message about ''possible missing files''. however I checked the install with the commands in ROCm page and it showed the driver installed right in Ubuntu.
I will do a fresh install to check again (Ubuntu full updated/upgraded + ROCm driver only) and I will test a tool with ROCm driver to see the performance.
Thank you.
I 'll be back.

Hi Heero-yu,

I did a fresh install in Ubuntu 18.04, full updated & upgraded, last ROCm installed 100% right.

After I installed the tool (like I said in message above) and start testing it, I noticed some error with OPEN CL (ROCm) in the middle of the test.
I went to IRC channel (free node) from the developer of the tool to talk with the admins / users about the error. They said this error is strange because I am using the right software + hardware and the other people using RX Vegas 10 (both gpus 56 and 64) never had or reported this error before.
Something changed in the ROCm driver since '' 2.7.....''  is causing the problem.
What can be??
Someone are using RX Vegas 10 with older ROCm drivers (2.6 , 2.5....) ??

Hi,
Please let me know with following information:

for Ubuntu 18.04.3 Desktop, the default Kernel for HWE is 5.0, which is not useful for ROCm dkms, so if you can, please type the command and provide the version number:

uname -r

For some reasons, it seems that the newer generation of CPU which is equipped OpenCL 2.1 may cause the openCL error by querying deviceid, but it should be fixed on ROCm 2.7.1,if you can, please type the command and provide the CPU model:

lscpu
Thanks,
Heero.

Hi  Heero-yuy,
Whats your hardware + O.S. and ROCm  ??
I tried today with Ubuntu 16.04 (kernel 4.15...) full updated & upgraded + ROCm 2.7.1 (last) and I got the same error with OpenCL in that tool.
What can be??
Info below ubuntu 18.04 LTS:
knight@Knight-One:~$ uname -r
5.0.0-27-generic
knight@Knight-One:~$ lscpu
Architecture:        x86_64 CPU
op-mode(s):          32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):                      4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):                  1
NUMA node(s):         1
Vendor ID:                GenuineIntel
CPU family:               6
Model:                      94
Model name:          Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz
Stepping:                   3
CPU MHz:                  800.085
CPU max MHz:         3900.0000
CPU min MHz:           800.0000
BogoMIPS:                6624.00
Virtualization:             VT-x
L1d cache:                   32K
L1i cache:                     32K
L2 cache:                    256K
L3 cache:                   6144K
NUMA node0 CPU(s):    0-3
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
knight@Knight-One:~$
Thank you.

HI,
Your CPU is Skylake-S, shouldn't have problem due to support only OpenCL 2.0...
May you provide what result when you execute /opt/rocm/bin/rocminfo & /opt/rocm/bin/rocm-smi ?
Thanks,
Heero.

Hi Heero-yuy,
I will try ROCm 2.6 in ubuntu 16.04 to see what happen with that Tool.
The big question is what is causing the OpenCL problem.......
Info below ubuntu 18.04 LTS:
knight@Knight-One:~$ /opt/rocm/bin/rocminfo
ROCk module is loaded
knight is member of video group
HSA System Attributes
Runtime Version:         1.1
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:<PHONE_NUMBER>3709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE
System Endianness:       LITTLE
HSA Agents

Agent 1

Name:                          Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz
Marketing Name:          Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz
Vendor Name:              CPU
Feature:                        None specified
Profile:                          FULL_PROFILE
Float Round Mode:        NEAR
Max Queue Number:        0(0x0)
Queue Min Size:               0(0x0)
Queue Max Size:               0(0x0)
Queue Type:                    MULTI
Node:                               0
Device Type:                    CPU
Cache Info:
L1:                      32768(0x8000) KB
Chip ID:                 0(0x0)
Cacheline Size:          64(0x40)
Max Clock Freq. (MHz):   3900
BDFID:                         0
Internal Node ID:         0
Compute Unit:             4
SIMDs per CU:             0
Shader Engines:            0
Shader Arrs. per Eng.:   0
WatchPts on Addr. Ranges:1
Features:                None
Pool Info:
Pool 1
Segment:                 GLOBAL; FLAGS: KERNARG, FINE GRAINED
Size:                         16352956(0xf986bc) KB
Allocatable:              TRUE
Alloc Granule:           4KB
Alloc Alignment:       4KB
Acessible by all:        TRUE
Pool 2
Segment:                 GLOBAL; FLAGS: COARSE GRAINED
Size:                         16352956(0xf986bc) KB
Allocatable:               TRUE
Alloc Granule:           4KB
Alloc Alignment:       4KB
Acessible by all:        TRUE
ISA Info:
N/A

Agent 2

Name:                          gfx900
Marketing Name:          Vega 10 XT [Radeon RX Vega 64]
Vendor Name:              AMD
Feature:                        KERNEL_DISPATCH
Profile:                          BASE_PROFILE
Float Round Mode:        NEAR
Max Queue Number:     128(0x80)
Queue Min Size:            4096(0x1000)
Queue Max Size:            131072(0x20000)
Queue Type:                  MULTI
Node:                    1
Device Type:              GPU
Cache Info:
L1:                               16(0x10) KB
Chip ID:                         26751(0x687f)
Cacheline Size:                64(0x40)
Max Clock Freq. (MHz):   1590
BDFID:                            768
Internal Node ID:                   1
Compute Unit:                      56
SIMDs per CU:                        4
Shader Engines:                      4
Shader Arrs. per Eng.:              1
WatchPts on Addr. Ranges:     4
Features:                KERNEL_DISPATCH
Fast F16 Operation:            FALSE
Wavefront Size:                   64(0x40)
Workgroup Max Size:        1024(0x400)
Workgroup Max Size per Dimension:
x                        1024(0x400)
y                        1024(0x400)
z                        1024(0x400)
Max Waves Per CU:            40(0x28)
Max Work-item Per CU:     2560(0xa00)
Grid Max Size:<PHONE_NUMBER>(0xffffffff)
Grid Max Size per Dimension:
x<PHONE_NUMBER>(0xffffffff)
y<PHONE_NUMBER>(0xffffffff)
z<PHONE_NUMBER>(0xffffffff)
Max fbarriers/Workgrp:   32
Pool Info:
Pool 1
Segment:                 GLOBAL; FLAGS: COARSE GRAINED
Size:                          8372224(0x7fc000) KB
Allocatable:                TRUE
Alloc Granule:             4KB
Alloc Alignment:         4KB
Acessible by all:          FALSE
Pool 2
Segment:                    GROUP
Size:                            64(0x40) KB
Allocatable:                 FALSE
Alloc Granule:             0KB
Alloc Alignment:         0KB
Acessible by all:          FALSE
ISA Info:
ISA 1
Name:                           amdgcn-amd-amdhsa--gfx900
Machine Models:          HSA_MACHINE_MODEL_LARGE
Profiles:                        HSA_PROFILE_BASE
Default Rounding Mode:   NEAR
Default Rounding Mode:   NEAR
Fast f16:                            TRUE
Workgroup Max Size:      1024(0x400)
Workgroup Max Size per Dimension:
x                        1024(0x400)
y                        1024(0x400)
z                        1024(0x400)
Grid Max Size:<PHONE_NUMBER>(0xffffffff)
Grid Max Size per Dimension:
x<PHONE_NUMBER>(0xffffffff)
y<PHONE_NUMBER>(0xffffffff)
z<PHONE_NUMBER>(0xffffffff)
FBarrier Max Size:       32
*** Done ***
knight@Knight-One:~$
knight@Knight-One:~$ /opt/rocm/bin/rocm-smi
===================ROCm System Management Interface====================
GPU  Temp   AvgPwr  SCLK    MCLK    Fan     Perf  PwrCap  VRAM%  GPU%
0    36.0c  4.0W    852Mhz  167Mhz  37.65%  auto  180.0W    4%   0%
====================End of ROCm SMI Log============================
knight@Knight-One:~$

Hi,
As my throught, That's a different on Ubuntu 16.04/18.04 which is following:
16.04 : Kerenl 4.4 / HWE Kernel 4.15 (under supported with ROCm)
18.04 : Kernel 4.15 / HWE Kernel 5.0 (5.0 still has problem with ROCm)
if confirmed 18.04 has problem by openCL clinfo discovered, it's better to downgrade kernel to the supported version.
Thanks,
Heero.

Hi heero-yuy,
Lets start again....... friend
I tried with a fresh install, Ubuntu 16.04 (kernel 4.15) updated & upgraded + ROCm 2.7.1 driver. I 'm getting this error with the tool, I did a benchmark:
''''clBuildProgram(): CL_BUILD_PROGRAM_FAILURE''"

Device #1: Kernel /home/knight/Hashcat/hashcat-4.2.1/OpenCL/m02500-pure.cl build failed - proceeding without this device.

I tried 3 versions of the same tool, 4.2.1 , 5.0.0 and the last 5.1.0. The problem isn't in the tool, had other people running hashcat with ROCm drivers some months ago and I saw it!!
Where is the error and how I can fix it???

Thank you.

Hi,
I need time to check the hashcat with openCL processing & compling, thanks!

Hi heero-yuy, how are you??
Did you test hashcat with OpenCL (ROCm) processing & compling??
** I 'm waiting a solution for the problem. Since those day, I 'm trying to fix the problem.
Ty.

Hi,
I've checked that the Ubuntu 18.04.3 with ROCm 2.9 is workable by Hashcat 5.1.0 with following:
Kernel : 4.15.0-65
ROCm 2.9
GPU : RX470 & RX550
Logs:
agito@agito-B85M-D3V:~/Downloads/hashcat-5.1.0$ ./example0.sh
hashcat (v5.1.0) starting...
/sys/bus/pci/devices/0000:01:00.0/hwmon/hwmon2/pwm1: No such file or directory
OpenCL Platform #1: Advanced Micro Devices, Inc.

Device #1: gfx803, 1740/2048 MB allocatable, 8MCU

Dictionary cache hit:

Filename..: example.dict
Passwords.: 128416
Bytes.....: 1069601
Keyspace..: 128416

Hashes: 6494 digests; 6494 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Applicable optimizers:

Zero-Byte
Early-Skip
Not-Salted
Not-Iterated
Single-Salt
Raw-Hash

Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 256
ATTENTION! Pure (unoptimized) OpenCL kernels selected.
This enables cracking passwords and salts > length 32 but for the price of drastically reduced performance.
If you want to switch to optimized OpenCL kernels, append -O to your commandline.
Watchdog: Temperature abort trigger set to 90c
INFO: Removed 1781 hashes found in potfile.
Dictionary cache hit:

Filename..: example.dict
Passwords.: 128416
Bytes.....: 1069601
Keyspace..:<PHONE_NUMBER>16

Cracking performance lower than expected?

Append -O to the commandline.
This lowers the maximum supported password- and salt-length (typically down to 32).

Append -w 3 to the commandline.
This can cause your screen to lag.

Update your OpenCL runtime / driver the right way:
https://hashcat.net/faq/wrongdriver

Create more work items to make use of your parallelization power:
https://hashcat.net/faq/morework

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit => q
Session..........: hashcat
Status...........: Quit
Hash.Type........: MD5
Hash.Target......: example0.hash
Time.Started.....: Fri Oct 11 16:56:08 2019 (11 secs)
Time.Estimated...: Fri Oct 11 16:59:46 2019 (3 mins, 27 secs)
Guess.Base.......: File (example.dict), Right Side
Guess.Mod........: Mask (?a?a?a?a) [4], Left Side
Guess.Queue.Base.: 1/1 (100.00%)
Guess.Queue.Mod..: 1/1 (100.00%)
Speed.#1.........:   616.9 MH/s (6.39ms) @ Accel:64 Loops:32 Thr:256 Vec:1
Recovered........: 1781/6494 (27.43%) Digests, 0/1 (0.00%) Salts
Recovered/Time...: CUR:N/A,N/A,N/A AVG:0,0,0 (Min,Hour,Day)
Progress.........:<PHONE_NUMBER>/134653935616 (5.03%)
Rejected.........: 0/6769606656 (0.00%)
Restore.Point....: 0/1048576 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:51648-51680 Iteration:0-32
Candidates.#1....: saricesarcro -> 6o92cezdb
Hardware.Mon.#1..: Temp: 46c Core:1183MHz Mem:1750MHz Bus:0
Started: Fri Oct 11 16:56:06 2019
Stopped: Fri Oct 11 16:56:20 2019

And, currently I don't have Vega64 GPU on my own, maybe someone have time to try this, thanks!

Hi heero-yuy,
I tried both of them before and I got error in OpenCL with ROCm 2.7 , 2.7.1, 2.7.2 and 2.8 in Ubuntu 16.04 Kernel 4.15.
Now, I 'll try the new ROCm 2.9 in Ubuntu 16.04 full updated & upgraded to see if it works.
I 'll be back with the info.
Thank you.

Hi heero-yuy, how are you?
Long long time... I didn't come here, but I tested sometime ago the ROCm 2.9 in ubuntu 16.04 and the same problems still, ''OpenCL error'''!!! (I was working in other country, far from my home.)
I can't belive, ROCm devs. don't fix the problems with OpenCL!!!
I see a lot of people having problems in ''Issues page''!!
What developers are doing???
Ty.

Hi,
Until now the ROCm 3.0 released with openCL module can't be operated on some situation from inplace upgrade by package manager, and if available, please use the Ubuntu 18.04.3 with new install ROCm package, thanks!

Hi heero-yuy, how are you?
Long long time... I didn't come here because I got a new job.... hard times, friend.
How is the new ROCm 4.2??   Is it working right out the box on Ubuntu 18.04 LTS ????
Which video-card model are you using??
I 'm coming back to test some stuff in the next weeks (IT tasks).
Thank you for all the help.

Hi @ITfirewall
Thanks for reaching out.
ROCm 4.2 is a well matured one, which works perfect with Ubuntu 18.04 LTS.
ROCm supports Vega10/MI25, Vega20/MI50, MI100 cards officially.
Request you to try with the latest ROCm 4.2 and reach us for any queries. File new issues, for faster/quick resolution.
Thank you.


Will Avolonia use Google Blink as render backend?

Sorry for my bad English .
I have a project,which I plan to implement WPF's function.As time go by,I discover that AvaloniaUI has a lot of improvement.I had a question is,why AvaloniaUI use Blink with v8(it like a libCef without Internet and video , sound function) and all we have to do is convert xaml into CSS,HTML and optimize them,like using shadowDOM?That mean , we can is the advance of browser's layout engine.
For some examples
1,user control can use shadowDOM
2,3d object use webgl,or even three.js

I doing it for set the html canvas to Avalonia and render something but the js is so bad that I cant move the code to js.

I think Blink uses Skia under the hood, which is one of our two supported rendering subsystems.

I try to imply all api of WPF.There are my plans.
1.use Xilium.Cefglue with my own version of libCef( only has layout engine without video,audio and internet supported)
2.Convert Google's Blink and CC layer of Chromium source code into Csharp.Imply WPF api ,such as Visual , FrameworkElement,etc.Storyboard will be converted into css animation tree during parsed.SkiaSharp will be the backend.
3.use AvaloniaUI.Core as backend: as I know, AvaloniaUI's aim is be a cross-platform framework.I will use it and add wpf's api.
Which is the best? I'll try and give the answers of it.

I think @danwalmsley made a port of a CEF control for Avalonia, but I don't remember.

Yes it's https://github.com/VitalElement/CefGlue.Core

I don't quite follow what you wish to do. Avalonia mostly follows wpf Api. Is the idea to get Avalonia to work in a web browser?

Well, my project is make my version of WPF, cause  I think xaml is a nice tool to build a UI.If AvaloniaUI have most of WPF API,I would change my plan.

Why I want to make full portable wpf? The reason is I want to  make a tool for beginner that UI designer is base on XAML.The tool is similar to MITs Scratch.

Avalonia is essentially fully portable UI you might be able to write your designer for Avalonia  we also have AvalonStudio IDE based on avalonia a fully fledged designer would fit in nicely there.

Thanks. I'll take a look of it.

Here is what I had said.(maybe many people misunderstood )

libControl (Uppest one): Implement the WPF/Avalonia Controls

libXPF(Middle one): Implement WPF/Avalonia base api(such as Visual , UIElement , FrameworkElemwnt , etc)

Transform Layer : deside which lower element(HtmlElement,HtmlDOMElement,etc)shoud use.
*Visual may use CanvasElement.
*DrawingVisual may use CompositionElement(for light render)
*FrameworkElement may use HtmlDOMElement
HtmlElement : use Html/CSS to render Image/Background ... without change properties by DOM
HtmlDOMElement : almost equal to FrameworkElement , maybe it can use ShadowDOM api to isolate the control.
CanvasElement : use javascript's canvas api to render image
CompositionElement : use Webrender to graphic(is it need it?)

Avalonia's CSS style selector can be tranform to *.css and load to webengine(we can use any optimized tools in webbrowser)

libUI : the core for rendering. It's a webbrowser's layput engine without any unnecessary part(js engine,web security,audio,video,etc)
It will have heavy work to implement it,cause WPF have extremely complex api.However , I am working on it,it's a challenging project,but I like it.
I copy source from Avalonia. Thanks for yours great work!! 👍


Some reels names/titles are broken

Describe the bug
Having reels with the names "." and ".." (without the "), breakes instaloader and goes in back one and 2 directories
To Reproduce
Make a reel on your profile with the name .. and run instaloader, the media from that reel will be downloaded in the folder you ran the command instead of ./profilename/reelname
Expected behavior
The reel names should be replace with characters that do not break filesystems
Instaloader version
4.8.4
Additional context
The same is true for having a reel named aux or con and trying to run instaloader on windows

A general fix would be checking if the reel names contains invalid characters and remove them. If the name left is empty just make folders like reels, reels1, reels2, for invalid named reels.

Duplicate of #1252


Implemented SoundPool Functionality into Thailand Games

made other changes; will make a new pull request with updated code


Related to  #138, add package scanner and .travis.yml

LGTM
/cc @dom96 Lets get this merged?

I would need to set up travis for this I guess?

@dom96: enable TravisCI on GitHub? Yes.
Setting up a local Travis instance on your dev host? No

@dom96 is there a travis-ci account for nim-lang if not I can set up one up.


Conflicting if condition value in an error trace

Hi there,
I am using Infer (version v0.9.4) to analyze sqlite and got a weird error trace that contains contradictory values of a certain if condition.
sqlite3.c:70443: Condition is true
  70441.   */
  70442.   SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){
  70443. >   if( !pVal ) return 0;
  70444.     assert( pVal->db==0 || sqlite3_mutex_held(pVal->db->mutex) );
  70445.

sqlite3.c:70443: Condition is false
  70441.   */
  70442.   SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){
  70443. >   if( !pVal ) return 0;
  70444.     assert( pVal->db==0 || sqlite3_mutex_held(pVal->db->mutex) );
  70445.

Shaobo

Infer includes the evaluation of sub-expressions in the trace, so the way to read this is:

pVal is true
!pVal is false

I agree that this can be confusing when negations are involved, especially when the subexpression is trivial. This could be made clearer by adding column number information to the traces to clarify which sub-expression is being evaluated. This is quite hard as, eg, the Java frontend does not provide column number information as of yet. Or, infer could have a special case for trivial sub-expressions of negations, but maybe that's too ad-hoc.
Maybe the easiest way to solve this would be to print the sub-expression in the trace message:
sqlite3.c:70443: Condition `pVal` is true
sqlite3.c:70443: Condition `!pVal` is false

@jvillard Thanks for your reply. It make sense now. May I ask another question about error trace? I noticed that some functions are not stepped into in the error trace even I set the max level to "max". I was wondering if the analysis is broken somewhere in these functions.

@Guoanshisb this can happen when infer failed to analyse a function for some reason. Possible reasons include infer getting confused when trying to understand the code, or the function taking too long to analyse.
It could be useful to include that kind of info in the trace too in the future.

Thanks, @jvillard. It's so nice of you to answer my questions. Just want to confirm this issue:
sqlite3.c:142394: Condition is true
142392.     sqlite3ValueSetStr(pVal, -1, zFilename, SQLITE_UTF16NATIVE, SQLITE_STATIC);
142393.     zFilename8 = sqlite3ValueText(pVal, SQLITE_UTF8);
142394. >   if( zFilename8 ){
142395.       rc = openDatabase(zFilename8, ppDb,
142396.

sqlite3.c:142395:
142393.     zFilename8 = sqlite3ValueText(pVal, SQLITE_UTF8);
142394.     if( zFilename8 ){
142395. >     rc = openDatabase(zFilename8, ppDb,
142396.                         SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, 0);
142397.

sqlite3.c:142398: Condition is true
142396.                         SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, 0);
142397.       assert( *ppDb || rc==SQLITE_NOMEM );
142398. >     if( rc==SQLITE_OK && !DbHasProperty(*ppDb, 0, DB_SchemaLoaded) ){
142399.         SCHEMA_ENC(*ppDb) = ENC(*ppDb) = SQLITE_UTF16NATIVE;
142400.

This is the last part of an error trace I got from executing the command, inferTraceBugs --select 11 --max-level max. *ppDb is initialized to 0 at the beginning and got deferenced at line 142399 (#define ENC(db)        ((db)->enc)). However, openDatabase can have side effects of updating *ppDb to a non-null pointer and it is not stepped into in this error trace. For this case, I was wondering what happened. Is a summary computed for openDatabase?

@Guoanshisb you can look at the specs in infer-out/specs/ and see if you see one for openDatabase(). It should look like openDatabase.<some hash>.specs. InferPrint knows how to read .specs files if you pass them on the command line (depending on how you installed infer, you may not have it in your PATH though, but it's always at $(dirname $(realpath $(which infer)))/InferPrint).

@jvillard There are some specs for this function,
Procedure: openDatabase
int openDatabase(char* zFilename, struct sqlite3** ppDb, unsigned int flags, char* zVfs)
Timestamp: 3
Status: INACTIVE
Phase: RE_EXECUTION
Dependency_map:
ERRORS:
WARNINGS:
TIME:0.000000 s FAILURE:SYMOPS TIMEOUT (334) SYMOPS:334 CALLS:0,0

Does it mean the analysis times out on this function?

FAILURE:SYMOPS TIMEOUT (334) yup, that's a timeout (too many symbolic execution steps).
We are increasing the default timeout in the next release (it's already in master), but in the meantime you can increase the timeout using the options --iterations and --symops-per-iteration. See infer --help-full for usage.

I filed #574 and #575 to address the points about making traces more informative, I think this one can be closed now. Let me know if you have other issues!


Hotfix double destroy

If a GameObject is destroyed via GameObject.Destroy, it will then trigger the Dispose which will then trigger the Destroy again.
This was discovered by having an AbstractAnvilMonoBehaviour executing in the Editor via the ExecuteAlways attribute and seeing how Unity would call Destroy on it resulting in the double destroy.
What issues does this resolve?

None

What PRs does this depend on?

None

Does this introduce a breaking change?

[ ] Yes
[x] No

I've left a couple comments on the current implementation but I'm wondering if we'd be better served by changing up the pattern a bit to avoid needing the extra field.
If we change the signature of Dispose to Dispose(bool skipDestroy = false) then we could bypass the destroy call when coming from the OnDestroy() stack without the need to carry a field on the type.

Yeah this was a better idea. Changed to reflect that. We still have the original signature so we match the IDisposable interface but then we just pipe to the param version.


cp-nano-http-transaction-handler.log no such file error

After a fresh installation on an Ubuntu Server 22.04 LTS , trying to view the logs for a sanity check comes up with the following error:
> open-appsec-ctl --view-logs

/var/log/nano_agent/cp-nano-http-transaction-handler.log? : No such file or directory

how did you fix? I got same issue


Switch out html5 boilerplate favicon / apple icon / ms tiles for our own

We need a logo.

https://github.com/60frames/react-boilerplate/pull/52


install node using nvm report error  dial tcp timeout

Operating system and version:
windows
nvm debug output:

nvm ls output:
install nodejs using nvm

nvm does not support Windows, unless you're using BashOnWindows. Is this perhaps nvm-windows, a different project?

Yeah, i have created an issue in the nvm-window. Anyway, thank you so much for your apply.

(linking to https://github.com/coreybutler/nvm-windows/issues/272)


Implement uv_getrusage_thread

Just a start for an implementation on https://github.com/libuv/libuv/issues/3119

notably MacOS - although there are other ways to get the per-thread
CPU time on that platform.

@jasnell do you plan adding MacOS support at this point?

do you plan adding MacOS support at this point?

Very soon yes. I also want to see if there's a way on windows to provide more of the non-cpu time specific data. Those will come in separate prs, however.

I believe this is still blocked on a macos implementation?

This PR has conflicts and has been stale for some time now so I'll close it out but LMK if you want to pick it up again.


[Driver] Update OS versions for rpath checks.

Make sure that we add the appropriate rpaths so that the appropriate
_Concurrency back-deployment library can be picked up.
We don't need to update the Swift driver since it uses the C++ driver
as the source of truth to determine if the relevant rpath should be
added or not.

@swift-ci smoke test

@swift-ci smoke test and merge


black background while resizing gif

Hello,

I have a gif with a transparent background.
While re-sizing it with your tool, it applied a black background on it.
I don't get that for png files.
Any idea what could be the cause ?
Best regards,
Pierre

I have same problem.

Looks like this is more a problem of saving GIFs, because saving it as PNG do preserve the transparency

I have a similar problem also with JPGs when trying to do "zoomCrop" and the width and height settings are the same of the original images. There is a black border on the bottom of the resulting image
This is tre starting image (JPG, 270px x 210px):

and here is the result of zoomCrop('270', '210', 'red')

Everything works correctly if, for example, I try zoomCrop('269', '210', 'red')


i#2120: Bump docutils to <0.17 due to conflict

Codecov Report

Merging #2121 into develop will increase coverage by 0.37%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #2121      +/-   ##
===========================================
+ Coverage    92.73%   93.11%   +0.37%
===========================================
  Files           60       60
  Lines        11101    11101
===========================================
+ Hits         10295    10337      +42
+ Misses         806      764      -42

Impacted Files
Coverage Δ

botocore/awsrequest.py
97.56% <0.00%> (+0.34%)
:arrow_up:

botocore/hooks.py
95.98% <0.00%> (+0.80%)
:arrow_up:

botocore/compat.py
95.37% <0.00%> (+22.54%)
: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 363230e...8d15db6. Read the comment docs.

ping, any updates on this?

I'd like to see this committed too.

more pings?

I'd like to see the upper cap removed if it completely arbitrary. It should be set when there's a known backwards incompatibility issue. My 2 cents. Failing that, I'd like to see this merged as well.

I'd like to see the upper cap removed if it is completely arbitrary. It should be set when there's a known backwards incompatibility issue. My 2 cents. Failing that, I'd like to see this merged as well.

I've tried to get them to do this, but upstream seems dead (all commits are from the bot only).

@nateprewitt you seem to have write permission at master. We need your help here, do you have a minute?

GitHub says - "Only those with write access to this repository can merge pull requests."
I assume you'll click merge (& no action items for me).

Hi everyone. I've already looked at this but it's is a breaking change due to 0.16 removing the handles_io_errors parameter from their API. Given docutils chose to make a breaking change on a non-major version, we have to treat this a strict dependency. We can start to get around this by moving our lower bound for Sphinx to 1.3.2 but we have a tertiary issue that pip will soon be releasing dependency resolution, breaking our Sphinx theme if we don't use Sphinx <1.3.
This is resolvable, but isn't as straight forward as the PR suggests. Pinning to a < 0.16 is a requirement for the project for the moment, and we're working on getting together some other work to get us to a state where things can upgrade. Thanks for your patience!

One option that should be explored is gating the docs stuff behind a flag (see all the flags used in cinder here).
https://github.com/openstack/cinder/blob/master/setup.cfg#L78-L118

imo, those users should have docutils in their requirements.  I'm surprised they have not broken already if they don't directly track their dependencies.

Hi everyone. I've already looked at this but it's a breaking change due to 0.16 removing the handles_io_errors parameter from their API. Given docutils chose to make a breaking change on a non-major version, we have to treat this a strict dependency. We can start to get around this by moving our lower bound for Sphinx to 1.3.2 but we have a tertiary issue that pip will soon be releasing dependency resolution, breaking our Sphinx theme if we don't use Sphinx <1.3.
This is resolvable, but isn't as straight forward as the PR suggests. Pinning to a < 0.16 is a requirement for the project for the moment, and we're working on getting together some other work to get us to a state where things can upgrade. Thanks for your patience!

@nateprewitt thanks for these details! From a quick look I find no use of handles_io_errors in here or in sphinx. Could you elaborate how that removal affects the project and how the new dependency resolution breaks the theme with Sphinx >=1.3?

@prometheanfire thanks for the suggestion! An extra would definitely be an option with a fresh project, but it gets complicated since some users are currently relying on the default botocore install to include docutils. Removing that will be a breaking change.

Interesting. I think the case can be argued but I get your point. Is bumping the mayor version from 0 to 1 an option here to communicate a move like that?

@nateprewitt thanks for these details! From a quick look I find no use of handles_io_errors in here or in sphinx. Could you elaborate how that removal affects the project and how the new dependency resolution breaks the theme with Sphinx >=1.3?

It's Sphinx itself that used this prior to Sphinx 1.3.2 (sphinx-doc/sphinx#1834). Our theme requires <1.3, hence the problem with docutils 0.17. We could technically get around this now, but pip will start enforcing dependency resolution in the next major version which means we'll no longer be able to resolve.

Interesting. I think the case can be argued but I get your point. Is bumping the mayor version from 0 to 1 an option here to communicate a move like that?

We don't have control over docutils unfortunately, so we're at the mercy of their versioning choices. It would take a very unique case for Botocore to get a major version because of a dependency. Like I said, I think we have a path forward, it may take a little time though to get everything in place. We are looking into getting this fixed though.

My 2 cents on the topic is that if upstream dependencies are not expressing their direct dependencies explicitly and correctly and relying on this package to bring in a transitive dependency, then they deserve to be broken. I do not feel like removing a runtime dependency that does not actually exist and is only there for CI/development/documentation requires a major version bump, though an advisement in the change log wouldn't hurt.

This issue should now be resolved in Botocore 1.18.0.


ServicePrinicipal Authentication (OAuth) doesn't work while running dbt jobs on Databricks

Describe the bug
While running a dbt project (which reads data from ADLS and writes back to ADLS) using a Databricks Workflow, the authentication with Databricks Cluster using a Personal Access Token is working but authentication using Service Principal (OAuth) isn't working.
As mentioned in the dbt documentation:
The dbt-databricks adapter supports both token-based authentication and OAuth client-based authentication.
Steps To Reproduce

Setup a dbt project for Databricks
profiles.yml

project_name:
    output:
        databricks_job:
              type: databricks
              method: http
              threads: 4
              schema: target_schema
              host: "{{ env_var('hostname') }}"
              http_path: "{{ env_var('http_path') }}"
              client_id: "{{ env_var('client_id') }}"
              client_secret: "{{ env_var('client_secret') }}"
              auth_type: oauth

Expected behavior
Connection with the Databricks Cluster should have successfully established.
Screenshots and log output
1. While using dbt-databricks==1.6.1, error "No valid authentication settings!" occurs.

2. While using dbt-databricks==1.3.2, error "The config token is required to connect to Databricks" occurs.

System information
When using the following dbt --version, error "No valid authentication settings!" occurs.
Core:
  - installed: 1.6.0
  - latest:    1.6.1 - Update available!
Plugins:
  - databricks: 1.6.1 - Update available!

When using the following dbt --version, error "The config token is required to connect to Databricks" occurs.
Core:
  - installed: 1.3.5
  - latest:    1.6.1 - Update available!
Plugins:
  - databricks: 1.3.2 - Update available!

The operating system you're using:
Databricks Workflow (Job Cluster)
Driver: Standard_DS3_v2 · Workers: Standard_DS3_v2 · 0 workers · 12.2 LTS (includes Apache Spark 3.3.2, Scala 2.12)

The output of python --version:
python version: 3.9.5
Additional context
Add any other context about the problem here.

However, it works while running it from a local Python environment. Snapshot of VSCode editor below:

@susodapop @benc-db
Would really request for your help on this one. This has blocked all of our dbt production workflows on Databricks.

hmm, I see that our version requirements don't allow that...

This might be unrelated, but @abhishek-7781 why are you using method: http?  It looks like this was a transitional flag introduced in 2019.

Your first example above is pinning 2.1.0 for databricks-sql-connector, which is not a support version for dbt-databricks 1.6.1.  OAuth support is still in public preview, so I wouldn't expect it to be supported in 2.1.0.

Also, per my response on #410, if you're trying to use jobs cluster, that is no longer supported in dbt tasks in the Databricks Workflows.

I'm guessing this is related to #410. What do you see if you pin databricks-sql-connector to 2.9.3?

@benc-db Yes, and this got resolved by pinning databricks-sql-connector to 2.9.3.

hmm, I see that our version requirements don't allow that...

Actually, it does and that's what resolved it.

This might be unrelated, but @abhishek-7781 why are you using method: http? It looks like this was a transitional flag introduced in 2019.

I don't think it matters but anyway I have tested it with and without http and it wouldn't make any difference. I don't think this is being used at all after 2.7.x.

Your first example above is pinning 2.1.0 for databricks-sql-connector, which is not a supported version for dbt-databricks 1.6.1. OAuth support is still in public preview, so I wouldn't expect it to be supported in 2.1.0. What happens on workflows when you don't pin 2.1.0?

Ok, I initially pinned databricks-sql-connector to 2.7.0 but then the error message wasn't displayed and then I had to pin it to 2.1.0 to display the detailed error message (No valid authentication settings!). I understand OAuth support wasn't available in 2.1.0 but surprisingly the same error occurred with both, which wasn't the case if I use a Local Python Environment instead of Databricks to run this. When I don't pin it to 2.1.0, it uses 2.7.0 by default.

Also, per my response on #410, if you're trying to use a jobs cluster, that is no longer supported in dbt tasks in the Databricks Workflows.

So, I'm using a Job Cluster to run the Databricks workflow, which is the usual approach to follow instead of using an All-Purpose Cluster if there are a number of workflows to run, which connects to an All-Purpose Cluster or SQL Warehouse using the PAT or OAuth to read and write the data from/to ADLS.
This is similar to my Local Python Env (instead Job Cluster) connecting with an All-Purpose Cluster or SQL Warehouse using the PAT or OAuth, which has been working fine. So I'm sure that it's not the Job Cluster that's creating this issue.
But anyway, please allow me to run a few more tests before I confirm this but for now it seems to work and resolve the stated issue. Snapshot attached for reference:

Ok, I initially pinned databricks-sql-connector to 2.7.0 but then the error message wasn't displayed and then I had to pin it to 2.1.0 to display the detailed error message (No valid authentication settings!). I understand OAuth support wasn't available in 2.1.0 but surprisingly the same error occurred with both

If it didn't output the error, how did you determine the same error occurred?

@benc-db Valid question! I set up both the package versions on my local system, modified those with some print statements to see what's causing the error.
Although, there might be a slight possibility that while running it from Databricks, the error in both the cases could be different.

Closing this as well, since it was related to #410.


[Gally]: master <- dev

Automatically created by Git-Ally

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


codeunit 1698 "Feature Bank Deposits": bug transferring Deposit Header to new Bank Deposit Header table

In the following code segment, we believe the code is missing a ChangeCompany:
    local procedure TransferDeposits(DepositsTableId: Integer; var Company: Record Company)
    var
        BankDepositHeader: Record "Bank Deposit Header";
        DepositHeaderRecRef: RecordRef;
        BankDepositHeaderRecRef: RecordRef;
        PreviousDepositNoFieldRef: FieldRef;
        PreviousDepositNo: Code[20];
    begin
        DepositHeaderRecRef.Open(DepositsTableId, false, Company.Name);
        if DepositHeaderRecRef.IsEmpty() then
            exit;
        DepositHeaderRecRef.FindSet();
        BankDepositHeaderRecRef.Open(Database::"Bank Deposit Header", false, Company.Name);
        repeat
            PreviousDepositNoFieldRef := DepositHeaderRecRef.Field(BankDepositHeader.FieldNo("No."));
            PreviousDepositNo := PreviousDepositNoFieldRef.Value();
            if not BankDepositHeader.Get(PreviousDepositNo) then begin
                BankDepositHeaderRecRef.Init();
                TransferFields(BankDepositHeaderRecRef, DepositHeaderRecRef);
                BankDepositHeaderRecRef.Insert();
            end;
        until DepositHeaderRecRef.Next() = 0;
        RemoveNAsDeposits(DepositsTableId, Company);
    end;

The BankDepositHeader record variable should switch companies before the Get operation:
    local procedure TransferDeposits(DepositsTableId: Integer; var Company: Record Company)
    var
        BankDepositHeader: Record "Bank Deposit Header";
        DepositHeaderRecRef: RecordRef;
        BankDepositHeaderRecRef: RecordRef;
        PreviousDepositNoFieldRef: FieldRef;
        PreviousDepositNo: Code[20];
    begin
        DepositHeaderRecRef.Open(DepositsTableId, false, Company.Name);
        if DepositHeaderRecRef.IsEmpty() then
            exit;
        DepositHeaderRecRef.FindSet();

        BankDepositHeader.ChangeCompany(Company.Name);  // New ChangeCompany code

        BankDepositHeaderRecRef.Open(Database::"Bank Deposit Header", false, Company.Name);
        repeat
            PreviousDepositNoFieldRef := DepositHeaderRecRef.Field(BankDepositHeader.FieldNo("No."));
            PreviousDepositNo := PreviousDepositNoFieldRef.Value();
            if not BankDepositHeader.Get(PreviousDepositNo) then begin
                BankDepositHeaderRecRef.Init();
                TransferFields(BankDepositHeaderRecRef, DepositHeaderRecRef);
                BankDepositHeaderRecRef.Insert();
            end;
        until DepositHeaderRecRef.Next() = 0;
        RemoveNAsDeposits(DepositsTableId, Company);
    end;

Please Note:  we filed this issue here, because we could not find the appropriate site in Partner Center to report the issue.  If you'd like to redirect us, we'd be happy to report the issue there.

We determined this was not an Extensibility Bug, but a HF request.
The impact of the bug is really low:
it's only for v22s (v23 and master don't have that code).
only for NA.
only affects if they have a Deposit with the same "No." in another company.
they can easily unblock themselves by removing/posting in-progress Deposits before enabling the feature.
We decided not to fix it a an extensibility request, if they really need it they should go through the HF request process.


Add get_local_mem_per_thread method to Dispatcher

This pull request partially address issue: https://github.com/numba/numba/issues/6448 by adding support for retrieving the local memory size utilized by a kernel from the Dispatcher.

gpuci run tests

gpuci run tests

@gmarkall I addressed three out of your four requests. After reviewing, I don't agree their is sufficient commonality as the kernels and conditions differ sufficiently.

gpuci run tests

gpuci run tests


Fix installations instructions and update /README.md

This PR fixes #18 by correcting the instructions for writing the configuration to use the correct op/ path.
I also reordered and clarified some of the instructions, fixed some other command examples that were suffering similar issues, and cleaned up formatting throughout.
Finally, I updated the references to the plugin from "backend" to "secrets engine" throughout to accurately reflect the plugin type (see Plugin Management for reference).

Thanks for the review, @rjhornsby!


Explore using Resemble.js for image diffing

I recently came across Resemble.js (https://github.com/rsmbl/Resemble.js) and noticed it offers a few advantages over pixelmatch, namely:

Can run image diffing in the browser, removing the need for Cypress browser <-> server communication overhead
Tuned for image diffing rather than pixel matching, allowing for less false positives

I think we should explore using Resemble.js for image diffing and see if it would be worth the breaking change.

Maybe taking a look into how they https://github.com/burnsred/protractor-screenshots do it, might help with progress.


Discussion Request

Hi, I find your work remarkable! I have a potential opportunity I’d like to discuss. Can we connect?
Telegram: @verecke1
Discord: vereckel
WhatsApp: +44 7341 822373

This is not what issues are for.


HW1 Pt 2: Added GitHub README link.

xref https://github.com/ColumbiaOSS/project-proposals-s2023/pull/99


Banking app issue

Device Model
iphone 14 pro max
iOS Version
16.6.1
Bootstrap Version
1.1
Serotonin Version
1.2.1
What happened?
Hello, i have recently encountered my banking app that detect my JB, iphone 14 pro max ios 16.6.1, i have been using the app without no bypass tweaks and it was fine for almost 2 weeks until yesterday it detected as My device is unsecured Bc of jailbreak. I followed the uninstallation method from A to Z and yet i still get the window saying “Device is unsecured”

https://apps.apple.com/kw/app/gulf-bank-mobile-banking/id1577206679
^ this is the link to the app in appstore
Log output
No response
Acknowledgement of README and FAQ

[X] I have read both the README and the FAQ.

Duplicate of #48

Duplicate of #48

how it is a duplicate? i did your method and it did not work!

Duplicate of #48

how it is a duplicate? i did your method and it did not work!

The post is not a method. You write about your issue there and await testing/a response. This isn't perfect, so jailbreak detection will only clutter issues.


Upgrade hoppr-cyclonedx-models (support for cyclonedx 1.5)

We're using an old version, we should upgrade.
Further, it'd help to support cdx 1.5

https://github.com/nexB/scancode.io/issues/807


WKT (TIN) format

Well-Known Text representation of Triangulated Irregular Networks, useful for IO with spatial databases.

The format seems so simple; can't we just parse with re?

Yes, probably. I sort of wanted to play with pyparsing, and also liked that it could read buffers directly rather than having to get the whole string out first.

But that's probably not worth the dependency.

That'd be my first impulse as well. If you can do it without pyparsing, I'll merge it without hesitation.

I really like pyparsing.  It enables one to describe the format and then use that description to parse the file.  This is an elegant approach and leads to clear compact code.
However, I have found that it's too slow for reading meshes.  I'm routinely using meshio for meshes with 10⁶–10⁷ nodes.
At the moment I am using pyparsing to begin reading polyMesh meshes from OpenFOAM.  The parser runs slowly (on small meshes with 10³–10⁴ nodes) but it is quick to develop with pyparsing, which is helpful given the complexity of the polyMesh format and the early stage of my work.  I think that if I have to apply this to the aforementioned routine larger problems, I'll have to rewrite the parser using more of the idioms found in meshio.  (I'd eventually like to contribute this to meshio but it's awkward since polyMesh is intrinsically polygonal and polyhedral, not restricted to particular shapes of cells.)
Of course this slowness might well just be a limitation of how I'm designing my pyparsing parsers; I'd be interested to read of contrary experiences.

I really like pyparsing. It enables one to describe the format and then use that description to parse the file. This is an elegant approach and leads to clear compact code.
However, I have found that it's too slow for reading meshes. I'm routinely using meshio for meshes with 10⁶–10⁷ nodes.

I suspect raw regex is also not going to be very efficient, either. But short of writing a custom "real" parser it may be the best option.
Any opinions on this design query: it would be much easier and probably a bit faster to write a parser on the basis of "if it is a valid TIN WKT, this will parse it correctly", with undefined behaviour for strings which are not valid WKT. It would be more complicated to write a parser which only works with valid WKT, and errors otherwise. Which implementation would you prefer to target?

Interesting question.  I don't know anything about the TIN WKT ecosystem or community, but for other formats in general, I think it often happens that mesh files are generated by different programs and don't necessarily adhere exact to the specification.  STL and MEDIT spring to mind.  Given that, I don't think it's meshio's job to be a mesh format compliance cop, better to act like web browsers that do their best to render as much of the HTML they're asked to, regardless of how well-formed it is.  Validation could be a useful extra though, if it's not too complicated, but it would want to be optional, or just in the manner of a warning, like
https://github.com/nschloe/meshio/blob/590b5cdd2dd761192cb44f352e706c5050d38b84/meshio/_vtk.py#L618-L622

First off, I don't think efficiency should be our main concern here. The format is just badly designed and not suitable for fast computer consumption. If you want fast I/O, use some binary format like VTK, VTU, XDMF. When having to parse numbers, your code will be slow, and I don't really care if 10 or 20 times slower than binary I/O.
As for how strict meshio can be, I think we should start of quite strict. That way, people take notice if they have a malformed file, and have the chance the fix it upstream. Sometimes we get issues with malformed files where the error isn't "too grave" (like a missing, but redundant, attribute in an XML file). In this case we can adapt the parser later.

The format is just badly designed and not suitable for fast computer consumption. If you want fast I/O, use some binary format like VTK, VTU, XDMF.

Agreed. There is a binary form (WKB) which is also very badly designed :man_shrugging: Also, for a format with "well-known" in the name it's actually nontrivial to get the spec.

As for how strict meshio can be, I think we should start of quite strict.

Sure. I'm working on a re-based implementation which makes sure the entire string is a valid TIN, and then pulls all the triangles out. Because of the way the indexing works you need to cache the whole structure a couple of times  anyway.

One brand spanking new re-based parser. My regex-fu is not great; I'm sure groups could be used better for pulling out numbers and triangles rather than having to regex every element of the string several times. I was struggling a bit with matching groups in a way that they could be pulled out, but not capturing them (so that you can match 2 different floats with the same regex).

Could you reset setup.py and requirements.txt?

My bad, I'll get that after lunch.

Thanks! If you want to improve upon the i/o, you can always submit another PR.