[test/plugin] immigrate test play framework scenario

Please answer these questions before submitting pull request

Why submit this pull request?

[ ] Bug fix

[x] New feature provided

[ ] Improve performance

Related issues
https://github.com/apache/skywalking/issues/3583

Please follow #4121, and make play framework as default plugin.

Codecov Report

Merging #4128 into master will increase coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4128      +/-   ##
==========================================
+ Coverage   27.17%   27.23%   +0.05%
==========================================
  Files        1141     1141
  Lines       25057    25057
  Branches     3625     3625
==========================================
+ Hits         6810     6824      +14
+ Misses      17644    17627      -17
- Partials      603      606       +3

Impacted Files
Coverage Δ

...ache/skywalking/apm/agent/core/jvm/JVMService.java
77.04% <0%> (+3.27%)
:arrow_up:

.../core/remote/ServiceAndEndpointRegisterClient.java
44.94% <0%> (+13.48%)
: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 1e9f929...50de6fb. Read the comment docs.

@aiyanbo Please resolve the conflicts first.

Even I resolved the conflicts, the CI still shows error. Please recheck.

@aiyanbo Are you in the SkyWalking slack? There is one feedback about this Play plugin from India. If you have interests and time, please take a look. I am not familiar with the Play ecosystem. Can't help much.

@aiyanbo Are you in the SkyWalking slack? There is one feedback about this Play plugin from India. If you have interests and time, please take a look. I am not familiar with the Play ecosystem. Can't help much.

Yes, i was joined SkyWalking channel. I will help others using SkyWalking in PlayFramework.

Yes, i was joined SkyWalking channel. I will help others using SkyWalking in PlayFramework

Very appreciated.

LGTM.
Waiting other committers review.


Added Heyfood and Regfyl

I added Heyfood, a food delivery service and Regfyl, a software productivity service

@ezinneanne I went through the companies you added and they are great. Thank you for contibuting.


The message "would like to control this computer using accessibility features"

After each app start display the message "would like to control this computer using accessibility features". Even if you just add const ioHook = require('iohook'); the message will display.
I use electron v6.0.1
I have high sierra 10.13.3

Hello,
This is an intended behavior on macOS. Maybe we should state it more clearly in the README ?

Possible duplicate issue on https://github.com/wilix-team/iohook/issues/107


Updated core.py resolved import of SmilesTokenizer

Resolved the following error
    from rxn_yields.core import SmilesTokenizer, SmilesClassificationModel
ImportError: cannot import name 'SmilesTokenizer' from 'rxn_yields.core' (/content/rxn_yields/rxn_yields/core.py) ```

hey @dubeyakshat07, thanks for the contribution. I'm pulling in @pschwllr and @avaucher, since I feel there is no need to import tokenise and model from rxn_yield given the fact that they can be imported from rxnfp that is anyway a dependency of the package.

Thanks @dubeyakshat07 for the PR!
I fail to see what problem your PR fixes a problem. I see that there is a problem in training_scripts/launch_suzuki_miyaura_training.py, and this PR, https://github.com/rxn4chemistry/rxn_yields/pull/14, would fix it. Does that cover your use case? If not, can you indicate how to reproduce the bug?


Corrected computation of  Procrustes distance (fixes #196)

I changed the base branch of this PR to develop. As the solution will most likely change the interface, it cannot be fixed for release-0.15.

I will close this Pull Request without merging it. We will need to take another attempt to fix the problem with the Procrustes distance


add simple bash functions to run salt opts on master

commands like:
sudo salt '*' grains.ls --local
should work as is from the vagrant user. however, we could make a simpler command alias.


chore: nodetest to 0.0.1

chore: Promote nodetest to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@skamalj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

promotion-build
99e46e58edb1c5fe87e0dedeb42de911424f4e2b
link
/test this

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


PS2: Review Brazilian Portuguese translation

The articles/_index.md, resources/strings.toml and resources/generations.yaml pages were translated as well, but for these other people on Crowdin made most of the work, I just translated a few remaining strings.
I've translated the entire PS2 article though. I tried following the guidelines as best as I could, although in some cases I ended up translating some of the longer component names as leaving them untranslated really sounds off in Portuguese (e.g. Vector Processing Unit). To compensate for this I've left the English name in parenthesis.
Let me know if you have any questions regarding the translation.

Thanks! don't forget to add your name here https://github.com/flipacholas/Architecture-of-consoles/blob/master/resources/translation_authors.yaml

Sure! I just created a pull request with the update.

That's it published, thanks!


Check on ZocDoc

@jin-hwang-zocdoc @daniel-deutsch-zocdoc just checking on y'all and making sure everything is working fine for you?
I'm updating docs and the Example App today to be up to snuff to RN 0.51+, may just cut a patch release for documentation updates.

FYI, pushed out a minor patch release. I noticed we were having iOS build breaks with RN 0.48+ and it was the priority of imports: https://github.com/ericnograles/react-native-exact-target/commit/b3df60638243a1b8a80142cda2ec5bdf862b20a2

Hey @ericnograles, things are working good for us but we've actually shifted priorities a bit and probably won't need to touch the library for awhile.  If anything does come up in the future we definitely will make sure to push it back here!

Sounds good, @daniel-deutsch-zocdoc!
I'm planning an 0.4.x release in the coming weeks to get the JB4ASDK up to speed with the current version and also exposing things around Inboxes, just FYI.


Filter does not allow to use not clause in the usage query request of cost-management

Bug Report
The usage function does not support to use not in its filter parameter,
Error message:
{
  "error": {
    "code": "500",
    "message": "An error occurred during processing this request. Use this request id 'dee23d2e-3831-4321-a775-d32bf08a14dd' for follow-up."
  }
}

Hi @jinxue-w thanks for this issue.
Could you please also provide the request or code snippet when you are sending the request?
Also I have tagged this issue so that the corresponding service team will get noticed and have a look.

您好@ jinxue-w感谢您提供此问题。
发送请求时，还可以提供请求或代码段吗？
我也标记了此问题，以便相应的服务团队得到注意并进行查看。

{
"type": "AmortizedCost",
"timeframe": "Custom",
"timePeriod": {
"from": "2020-04-14T00:00:00Z",
"to": "2020-04-14T00:00:00Z"
},
"dataset": {
"aggregation": {
"CostUSD": {
"name": "CostUSD",
"function": "Sum"
},
"UsageQuantity": {
"name": "UsageQuantity",
"function": "Sum"
}
},
"filter": {
"not": {
"tags": {
"name": "testTagName",
"operator": "In",
"values": [
"testTagValue1"
]
}
}
},
"granularity": "Daily",
"grouping": [
{
"type": "Dimension",
"name": "ServiceName"
},
{
"type": "Dimension",
"name": "Meter"
},
{
"type": "Dimension",
"name": "ResourceLocation"
},
{
"type": "TagKey",
"name": "testTagName"
}
]
}
}
你可以看看这个请求body

This is by design at present. Not is not supported on TagKey for filtering. We will be adding new way for handling this scenario by end of this month.

Closing as per comments from Prem. Thank you for reaching out!


Background during Overscroll animation is black.

Hi,
great package, thanks.
Unfortunately the page from which the hero is pressed gets lost during the overscroll animation ( => black, see video).
Any idea what's happening? Sth about the routes? (I suppose you don't need to see the code snippet).
Thanks in advance!

Hi, great package, thanks. Unfortunately the page from which the hero is pressed gets lost during the overscroll animation ( => black, see video). Any idea what's happening? Sth about the routes? (I suppose you don't need to see the code snippet).
Thanks in advance!

It's too late to reply, but I wanted to share my approach.
I'm not sure I understand your question fully, but if you want to drag to pop and the background to be able to transparent so that can see the previous page here is my solution:
Navigator.of(context).push(
PageRouteBuilder(
opaque: false, // set to false to make the background page transparent
pageBuilder: (,, _) => ImageViewerPage( ),
),
);
When using the route to a new page, it always has a background color default based on Theme such as light gray, black, etc, so must remove the color by turning the attribute opaque to false first. If you are using the auto_route package, the solution is to use CustomRoute and CustomRouteBuilder to override opaque = false.


Fix and update some links at the README

Proposed changes in this pull request

Use https instead of http, where possible
Fix links to some documentation pages

Documentation checklist

[ ] I have updated CHANGELOG.txt if appropriate
[ ] I have updated the release notes document if appropriate, with:

[ ] general notes
[ ] bug-fixes
[ ] improvements/new features
[ ] backwards-incompatible changes
[ ] required upgrade steps
[ ] names of contributors

[x] I have updated other documentation
[ ] I have added my name to the AUTHORS file
[ ] This PR's documentation has been approved by Daniele Procida

Coverage remained the same at 77.757% when pulling 05c6f1d107f0b043469951a2c3a51316e7dfd92f on Jamim:fix/readme into 74ca478d49e4d773103e947e28a820defbae6a9c on divio:develop.

The CI build error does not seem to be related to these changes.

Thanks!


Question: Is this module also usable for own WinRT components

It is not so clear for me, if this module also works for own WinRT components or only for windows SDK provided? The background is, I am investigating ways for doing the business logic in rust and use react-native for the front end. It seems now posssible to do a WinRT component in rust (https://github.com/Alovchin91/winrt-component-rs), this will improve when the windows-rs projects improves. So, is it possible to provide an interface to business logic in rust through a WinRT component and use it with this module in react native?

Yes, this is possible. In fact, that's what the tests do. They build a WinRT dll here, which gets referenced by the turbo module here and then included in the projection here. Of course, you don't need to build the dll as part of your project - just referencing the WinMD when invoking rnwinrt.exe is enough, however the exact msbuild/project configuration will differ from this example.


Visual pages and visual groups are broken for the XMAS plugin

when trying to group nodes into a page, the connecting arcs "fly" away in different directions

this problem is probably caused by incorrect translation of the XMAS node elements

This issue was imported from Launchpad bug.

date created: 2014-07-22T16:13:01Z
date closed: 2014-09-09T21:01:56Z
owner: sgaflv
the launchpad url was https://bugs.launchpad.net/bugs/1346991

danilovesky at 2014-09-09T21:01:46Z:
Temporary disable pages tool in this plugin.


App not available in US app store

This means as a traveler from the US with a primary US app store account you cannot install the app without creating an account in the German app store.
Not sure if that is intended, it increases the threshold for folks visiting to install the app.

@geapi
Yes this is intended, please take a look at our FAQ entry regarding this: https://www.coronawarn.app/en/faq/#international
Also, if you want to deep dive into this topic, I suggest to take a look at https://github.com/corona-warn-app/cwa-wishlist/issues/41.
If I've answered your question and you are satisfied with my answer, I suggest to close this issue.
Have a good night, a nice Sunday and stay safe!

@geapi Thanks for contributing here. As @Ein-Tim suggests, have a look at corona-warn-app/cwa-wishlist#41.
Best wishes, DS

Corona-Warn-App Open Source Team

Duplicate of corona-warn-app/cwa-wishlist#41.


TypeError in VQ-VAE example

URL(s) with the issue:.
https://keras.io/examples/generative/vq_vae/
Description of issue (what needs to be changed):.
There is a bug in example of VQ-VAE. After running code on colab we can find a TypeError in Codebook sampling section:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-17-a6e2591462e2> in <module>()
      9         # Feed the whole array and retrieving the pixel value probabilities for the next
     10         # pixel.
---> 11         probs = sampler.predict(priors)
     12         # Use the probabilities to pick pixel values and append the values to the priors.
     13         priors[:, row, col] = probs[:, row, col]

9 frames
/usr/local/lib/python3.7/dist-packages/keras/engine/training.py in predict(self, x, batch_size, verbose, steps, callbacks, max_queue_size, workers, use_multiprocessing)
   1749           for step in data_handler.steps():
   1750             callbacks.on_predict_batch_begin(step)
-> 1751             tmp_batch_outputs = self.predict_function(iterator)
   1752             if data_handler.should_sync:
   1753               context.async_wait()

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py in __call__(self, *args, **kwds)
    883
    884       with OptionalXlaContext(self._jit_compile):
--> 885         result = self._call(*args, **kwds)
    886
    887       new_tracing_count = self.experimental_get_tracing_count()

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py in _call(self, *args, **kwds)
    931       # This is the first call of __call__, so we have to initialize.
    932       initializers = []
--> 933       self._initialize(args, kwds, add_initializers_to=initializers)
    934     finally:
    935       # At this point we know that the initialization is complete (or less

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py in _initialize(self, args, kwds, add_initializers_to)
    758     self._concrete_stateful_fn = (
    759         self._stateful_fn._get_concrete_function_internal_garbage_collected(  # pylint: disable=protected-access
--> 760             *args, **kwds))
    761
    762     def invalid_creator_scope(*unused_args, **unused_kwds):

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py in _get_concrete_function_internal_garbage_collected(self, *args, **kwargs)
   3064       args, kwargs = None, None
   3065     with self._lock:
-> 3066       graph_function, _ = self._maybe_define_function(args, kwargs)
   3067     return graph_function
   3068

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py in _maybe_define_function(self, args, kwargs)
   3461
   3462           self._function_cache.missed.add(call_context_key)
-> 3463           graph_function = self._create_graph_function(args, kwargs)
   3464           self._function_cache.primary[cache_key] = graph_function
   3465

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py in _create_graph_function(self, args, kwargs, override_flat_arg_shapes)
   3306             arg_names=arg_names,
   3307             override_flat_arg_shapes=override_flat_arg_shapes,
-> 3308             capture_by_value=self._capture_by_value),
   3309         self._function_attributes,
   3310         function_spec=self.function_spec,

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py in func_graph_from_py_func(name, python_func, args, kwargs, signature, func_graph, autograph, autograph_options, add_control_dependencies, arg_names, op_return_value, collections, capture_by_value, override_flat_arg_shapes, acd_record_initial_resource_uses)
   1005         _, original_func = tf_decorator.unwrap(python_func)
   1006
-> 1007       func_outputs = python_func(*func_args, **func_kwargs)
   1008
   1009       # invariant: `func_outputs` contains only Tensors, CompositeTensors,

/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py in wrapped_fn(*args, **kwds)
    666         # the function a weak reference to itself to avoid a reference cycle.
    667         with OptionalXlaContext(compile_with_xla):
--> 668           out = weak_wrapped_fn().__wrapped__(*args, **kwds)
    669         return out
    670

/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py in wrapper(*args, **kwargs)
    992           except Exception as e:  # pylint:disable=broad-except
    993             if hasattr(e, "ag_error_metadata"):
--> 994               raise e.ag_error_metadata.to_exception(e)
    995             else:
    996               raise

TypeError: in user code:

    /usr/local/lib/python3.7/dist-packages/keras/engine/training.py:1586 predict_function  *
        return step_function(self, iterator)
    /usr/local/lib/python3.7/dist-packages/keras/engine/training.py:1576 step_function  **
        outputs = model.distribute_strategy.run(run_step, args=(data,))
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:1286 run
        return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:2849 call_for_each_replica
        return self._call_for_each_replica(fn, args, kwargs)
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:3632 _call_for_each_replica
        return fn(*args, **kwargs)
    /usr/local/lib/python3.7/dist-packages/keras/engine/training.py:1569 run_step  **
        outputs = model.predict_step(data)
    /usr/local/lib/python3.7/dist-packages/keras/engine/training.py:1537 predict_step
        return self(x, training=False)
    /usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py:1037 __call__
        outputs = call_fn(inputs, *args, **kwargs)
    /usr/local/lib/python3.7/dist-packages/keras/engine/functional.py:415 call
        inputs, training=training, mask=mask)
    /usr/local/lib/python3.7/dist-packages/keras/engine/functional.py:550 _run_internal_graph
        outputs = node.layer(*args, **kwargs)
    /usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py:1044 __call__
        self._set_save_spec(inputs, args, kwargs)
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/training/tracking/base.py:530 _method_wrapper
        result = method(self, *args, **kwargs)
    /usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py:3049 _set_save_spec
        flat_specs = [tf_utils.get_tensor_spec(x) for x in flat_kwarg]
    /usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py:3049 <listcomp>
        flat_specs = [tf_utils.get_tensor_spec(x) for x in flat_kwarg]
    /usr/local/lib/python3.7/dist-packages/keras/utils/tf_utils.py:467 get_tensor_spec
        spec = tf.TensorSpec(shape=t.shape, dtype=t.dtype, name=name)
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/tensor_spec.py:51 __init__
        self._shape = tensor_shape.TensorShape(shape)
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/tensor_shape.py:784 __init__
        self._dims = [as_dimension(dims)]
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/tensor_shape.py:729 as_dimension
        return Dimension(value)
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/tensor_shape.py:209 __init__
        .format(value, type(value))), None)
    <string>:3 raise_from

    TypeError: Dimension value must be integer or None or have an __index__ method, got value '<attribute 'shape' of 'numpy.generic' objects>' with type '<class 'getset_descriptor'>'

Submit a pull request?.
Unfortunately I don't know what the issue is, but if someone will explain it I could try to fix.

Triage notes: Leave this to the meeting and decide the owner of the keras.io notebooks.

Triage notes: We probably should run tests for guides and examples as a pre release check.

Will assign to the original author, and when they not respond, keras team will try to check if it is fixable. Will probably take the example offline if we can't get response from original author for a long period.

Assign to @sayakpaul who created in original example in https://github.com/keras-team/keras-io/pull/556

I will take a look at this and get back soon.

Triage notes: We probably should run tests for guides and examples as a pre release check.

The standalone Python script that is initially submitted for PR needs to be actually run successfully to produce the notebook, md, and figures. Doesn't that partially solve the purpose? @qlzh727

Hi again.
It's unfortunate that this issue is happening and as bad it may sound I currently don't have any concrete clue as to why this might be happening.
The example was created using TensorFlow 2.5.0 and it ran perfectly fine with that as we can see in the example (otherwise, the keras.io scripts won't have generated the complete notebook and figures in the first place).
@qlzh727 could this be a version problem? Currently, my schedule is a bit swamped to try it out on TensorFlow 2.5.0 so I will really appreciate any help.

@sayakpaul I have tried this notebook in the environment with tensorflow==2.5.0 and tensorflow-probability==0.13.0 and the code ran without any bug, so I guess it's the version problem.

Interesting. @qlzh727 FYI.

From what I investigated, the error is raised by Dimension class. It is called with dim argument of value <attribute 'shape' of 'numpy.generic' objects> of type <class 'getset_descriptor'> instead of int, None or Dimension object. I'm not really sure where it comes from but I think it may be some code in __call__() method of base_layer.Layer - the stack goes to there and the method was changed between 2.5.0 and 2.7.0, but I may be wrong.
I'm not really advanced in debugging such a big library but I hope it will help someone in finding the problem.

I have the same problem, but I really need it to run in colab, maybe you could recommend a why to implement that part of the code?

@filusn ,
I have tested the example with Tf2.13v and its fixed already.Please may refer to attached gist.
We're currently in the process of migrating the new Keras 3 code base from keras-team/keras-core to keras-team/keras.
Consequently, This issue may not be relevant to the Keras 3 code base . After the migration is successfully completed, feel free to reopen this Issue at keras-team/keras if you believe it remains relevant to the Keras 3 code base. If instead this Issue is a bug or security issue in legacy tf.keras, you can instead report a new issue at keras-team/tf-keras, which hosts the TensorFlow-only, legacy version of Keras.
To know more about Keras 3, please read https://keras.io/keras_core/announcement/


Fork results in missing files

Operation System: macOS 10.12.5
Beaker Version: 0.7.3

Try forking dat://5476da55da9f261b5e9ac2bf486fe3cf44f699b2e252accd16f25b03c416247d/

Hashbase is a peer on that dat now. Should be available if I'm offline, but of course you know that ;).

Oh, I didn't capture it but I noticed on fork i was just making it notified me that not all files had yet been downloaded. I clicked the button to download the rest of them, continued with the fork and voila!

@rjsteinert ok cool, that makes sense. Do you think the UI needs to be updated to be more obvious? (Closing this issue, but feel free to reply to it.)

I'm blazing through this stuff so maybe it is obvious. But if the button was red, then maybe I would have been more likely to have noticed. I'd be happy to send a PR for that but the last time I tried to dive into Beaker Browser development the learning curve was a little too high for me to make a quick tweak like that. Perhaps a code walk through screencast could help someone like me be able to feel comfortable diving in and working on some of that cosmetic UX stuff?

Perhaps a code walk through screencast could help someone like me be able to feel comfortable diving in and working on some of that cosmetic UX stuff?

That's a good idea, I'll put that on my todo list

But if the button was red, then maybe I would have been more likely to have noticed.

Could do something like that, or maybe make the primary action "finish downloading" instead of the secondary action.

Video made: https://www.youtube.com/watch?v=YuE9OO-ZDYo


[FEATURE]: Dynamic selection without compromise

Feature hasn't been suggested before.

[X] I have verified this feature I'm about to request hasn't been suggested before.

(closed one, and related ones but not that complete)
Describe the enhancement you want to request
Hey,
This is a reopening of dynamic selection topic, with a pretty decent use-case I believe.
I'm making yet another one full featured REST API, which always take the same query parameters
{
  filter: // some filtering expression
  sortBy: // some sorting expression
}

{
  items: // data array,
  pagination: {
    take: number,
    skip: number,
    total: // the total count of unpaginated items
  }
}

This inevitably and systematically leads to 2 queries which are almost the same, but not exactly :
const items = await drizzle.
  .with(/* some CTES */)
  .select() // select * from all tables
  .from(a)
  .join(b, eq(a.id, b.a_id)
  .where(where) // filtering
  .limit(query.take) // pagination
  .offset(query.skip) // pagination
  .orderBy(...sortBy) // ordering
  .execute()

const count = await drizzle.
  .with(/* some CTES */)
  .select({ count: count(a.id) }) // select the count
  .from(a)
  .join(b, eq(a.id, b.a_id)
  .where(where) // filtering
  // no pagination and ordering
  .execute()

From there we can observe all of the :

with CTEs
from
join
where
are common to both queries

From many attempts, and readings (#948, #2954, #1817), I'm struggling at factorizing all the common parts.
More specifically :

I managed to factorize the .with CTEs basically like so :

const _withSaasDirectoryAggregates = (drizzle: Drizzle) =>
  drizzle.with(
    withLicensesCount,
    withExpensesCost,
    withGroupsCount,
    withAccessRequestsCount,
    withMergedLicensesSources
  )

I factorized the where by just instanciating a SQL<bool> producing function

I'm struggling at factorizing the from + join with different .select()s

I'm coming from kysely where I was basically doing :
kysely
  .with()
  .from()
  .join()
  .limit()
  .offset()
  .where()
  .select() // select at the very end

which were allowing insane modularity like so :
const commonQuery = kysely
  .with()
  .from()
  .join()
  .where()

const itemsQuery = commonQuery
  .limit()
  .offset()
  .select(complexSelect)

const countQuery = commonQuery
  .select(count)

Is there any known strategy to achieve the same thing with Drizzle, or any consideration to be able to build a dynamic select or even moving the select at the end of the statement ?

I found a way, which sounds more like a workaround — given the very complex syntax — but that works :
// Common CTEs
const _withs = (drizzle: Drizzle) =>
  drizzle.with(
    cte1,
    cte2,
  )

// Common joins
export const _joins = <T extends MySqlSelect>(qb: T) => {
  return qb
    .innerJoin(table2, eq(table1.id, table2.table1Id))
    .leftJoin(table3, eq(table2.id, table3.table2Id))
}

// Select builders
export const _itemsSelectBuilder = (drizzle: Drizzle) =>
  _withs(drizzle).select()

export const _countSelectBuilder = (drizzle: Drizzle) =>
  _withs(drizzle).select({
    count: count(table1.id),
  })

// Query builders
export const queryItems = (drizzle: Drizzle) =>
  _joins(
    _itemsSelectBuilder(drizzle)
      .from(table1)
      .$dynamic()
  )

export const queryExtendedSaasDirectoryCount = (drizzle: Drizzle) =>
  _joins(
    _countSelectBuilder(drizzle)
      .from(table1)
      .$dynamic()
  )


My bug report

##pwsh:

echo "a 1nb 2nc 3nd 4n" | perl -lane 'printf "%s%s", @F[0], @F[1]'
Substitution replacement not terminated at -e line 1.

##zsh:
➤ echo "a 1\nb 2\nc 3\nd 4\n" | perl -lane 'printf "%s%s", @F[0], @F[1]'
a1b2c3d4%

@asdf8dfafjk Please a template to create new issue.


Instructions are still incorrect?

RE #167
I believe the instructions are still incorrect...
pi@raspberrypi:~/habridge $ wget https://github.com/bwssytems/ha-bridge/releases/download/v2.0.6/ha-bridge-3.1.0.jar
should be:
pi@raspberrypi:~/habridge $ wget https://github.com/bwssytems/ha-bridge/releases/download/v3.1.0/ha-bridge-3.1.0.jar
Also it was changed on the Master branch but not the Post3.1Fixes branch
Thanks

done, the new branch will get it soon after a merge.
Thanks


Split Eigen3's linalg backend into header and implementation.

Waiting for the big linalg refactoring, in this way the backend gets compiled only once and compilation time returns to be acceptable , although travis may still fail without splitting the implementation into more files.

seems gcc fails due to clang-format errors, and clang job failed because there was a hiccup of github:

  error: downloading

  'https://github.com/google/googletest/archive/release-1.8.0.tar.gz' failed

@micmn once you have the factored macro header just push it so then the gcc/clang gets retested. do we wanna fix now the clang-format? or that should be done later as part of another refactor? :)


Nocturne is broken again on Intel HD

I had a similar problem with 0.50 now on 0.52 the game just crashes. Same thing with Darkstone and possible others.
Here is the debug log of Nocturne:
DDrawCompat-nocturne.log
Here is the debug log of Darkstone:
DDrawCompat-Darkstone.log
P.S.
Remember that 0.5.1 works!

Based on your logs, pfnCreateDevice returns an error, which is not supposed to happen. My best guess is, it was broken by https://github.com/narzoul/DDrawCompat/commit/7f7cfcf9bd307ffea4519cf8cd8309e4c512cdd4, which overrides the DX interface version number from 7 to 9 in OpenAdapter, but I didn't realize there is also a version number in pfnCreateDevice. Your driver might be allergic to that difference.
Here's hoping this will fix it: ddraw.zip (diff.txt compared to v0.5.2)

Based on your logs, pfnCreateDevice returns an error, which is not supposed to happen. My best guess is, it was broken by 7f7cfcf, which overrides the DX interface version number from 7 to 9 in OpenAdapter, but I didn't realize there is also a version number in pfnCreateDevice. Your driver might be allergic to that difference.
Here's hoping this will fix it: ddraw.zip (diff.txt compared to v0.5.2)

Yes! It's fixed! Did a quick test on Nocturne, Darkstone and Z (with Antares patch version 1.7b3)
Amazing job! Thanks! :D

Nice, thanks for the report!

There is one game with the old Nocturne problem. Just audio and no video.  Ultima IX: Ascension (works with 0.51)
Here is the debug log of Ultima IX: Ascension:
DDrawCompat-u9.log
P.S.
I had to use "TerminateHotKey" to close the game.

After many tests with Ultima IX: Ascension using 0.52 and changing options.ini fixed most of the problems! The only problem I cant fix is the "movie videos" (Intro etc) has only audio.
Here is my options.ini (game)
Options.ini.txt
Here is the debug log of Ultima 9:
DDrawCompat-u9.log

After many tests with Ultima IX: Ascension using 0.52 and changing options.ini fixed most of the problems! The only problem I cant fix is the "FMV cutscenes" (Intro etc) has only audio.

Do you have K-Lite Codec Pack installed? If so, it may be the problem.
This is a known issue and you can learn more about it here.

After many tests with Ultima IX: Ascension using 0.52 and changing options.ini fixed most of the problems! The only problem I cant fix is the "FMV cutscenes" (Intro etc) has only audio.

Do you have K-Lite Codec Pack installed? If so, it may be the problem. This is a known issue and you can learn more about it here.

I do have K-Lite installed but like I said:
With dgVoodoo2 the "FMV cutscenes" works but the game crashes. Plus with GOG original solution "FMV cutscenes" works  but the game crashes. (just like dgVoodoo2)

With dgVoodoo2 the "FMV cutscenes" works but the game crashes. Plus with GOG original solution "FMV cutscenes" works but the game crashes. (just like dgVoodoo2).
With DDrawCompat the game works and the "FMV cutscenes" has only audio.

I have the GOG version, but the videos play just fine with DDrawCompat v0.5.2, on all 3 GPUs I could test. I never had any codec packs installed though.
Comparing your debug logs with mine, it looks like nothing is being rendered at all in your case, at least not via DirectDraw or GDI. In my case, the video is rendered via GDI, specifically with BitBlt. There is also a strange loop of reading the same registry keys over and over again while the video is supposed to be playing, e.g. search for "MPEG" in your logs. I don't have such a loop, and this does make it more likely that it's a codec issue. But then I don't understand how removing DDrawCompat would fix it.
I don't want to compare the behavior with dgVoodoo, because it has some DirectShow hooks according to its changelogs, but I have no idea what they do.
Anyway, my only guess for now is that maybe the video is being rendered by some other API which is not supported by DDrawCompat, like Direct3D 9. To check that, try this version:
ddraw.zip (diff.txt compared to v0.5.2)
It removes DDrawCompat's presentation windows, which normally cover the game's own windows. This breaks fullscreen mode and all rendering, except that the intro video itself should be visible, if it's actually rendered by some unsupported API. If it's still not rendered, then it points towards some codec issue after all, which I have no idea how DDrawCompat could cause (assuming that simply removing ddraw.dll really fixes it).

With dgVoodoo2 the "FMV cutscenes" works but the game crashes. Plus with GOG original solution "FMV cutscenes" works but the game crashes. (just like dgVoodoo2).
With DDrawCompat the game works and the "FMV cutscenes" has only audio.

I have the GOG version, but the videos play just fine with DDrawCompat v0.5.2, on all 3 GPUs I could test. I never had any codec packs installed though.
Comparing your debug logs with mine, it looks like nothing is being rendered at all in your case, at least not via DirectDraw or GDI. In my case, the video is rendered via GDI, specifically with BitBlt. There is also a strange loop of reading the same registry keys over and over again while the video is supposed to be playing, e.g. search for "MPEG" in your logs. I don't have such a loop, and this does make it more likely that it's a codec issue. But then I don't understand how removing DDrawCompat would fix it.
I don't want to compare the behavior with dgVoodoo, because it has some DirectShow hooks according to its changelogs, but I have no idea what they do.
Anyway, my only guess for now is that maybe the video is being rendered by some other API which is not supported by DDrawCompat, like Direct3D 9. To check that, try this version: ddraw.zip (diff.txt compared to v0.5.2)
It removes DDrawCompat's presentation windows, which normally cover the game's own windows. This breaks fullscreen mode and all rendering, except that the intro video itself should be visible, if it's actually rendered by some unsupported API. If it's still not rendered, then it points towards some codec issue after all, which I have no idea how DDrawCompat could cause (assuming that simply removing ddraw.dll really fixes it).

With this version the FMV works!!!
As expected, everything else is broken (you can only hear the audio xD)
Here is the debug log of Ultima 9:
DDrawCompat-u9.log

Please do the following:

Download and run graphstudionext.exe from here: https://github.com/cplussharp/graph-studio-next/releases
Select File -> Render Media File... from the menu
Navigate to the Movies directory of your Ultima 9 install directory, change the file type to All Files in the bottom right corner, and open the column.dat file
Select File -> Save Graph Information... from the menu, and attach the saved text file here

Thanks!

Here is the file:
column.txt

Ok, so it does use Video Mixing Renderer 9, which is not supposed to happen, because its default Merit value is MERIT_DO_NOT_USE. Something on your system must have modified it. I tried installing K-Lite Codec Pack in a VM, even the Mega version, but it doesn't do this. Maybe it's one of the many installation settings, or some other software caused this, or you modified the Merit value manually?
Anyway, you can find out the current Merit values on your system by using GraphStudioNext again. No need to load any videos this time, just go to Graph -> Insert Filter..., select "Video Mixing Renderer 9" on the left-side pane, and copy the Merit value from the right-side pane. Repeat this for both of the "Video Renderer" filters too, and let me know the results.

Video Mixing Renderer 9
MERIT_PREFERRED + 1 (0x00800001)
Video Renderer (1st)
MERIT_PREFERRED + 1 (0x00800001)
Video Renderer (2nd)
MERIT_UNLIKELY (0x00400000)

I changed Video Mixing Renderer 9 from "MERIT_PREFERRED + 1 (0x00800001)" to "MERIT_DO_NOT_USE (0x00200000)"
Did a log off/on and now it works! I don't have any idea what changed this configuration. Thank you so much!
Here is the debug log of Ultima 9:
DDrawCompat-u9.log

Should I change all 3 to MERIT_DO_NOT_USE and restart the computer???

No, only the first one. The other 2 are already at their proper defaults.
I found a way to block the VMR-9 filter with a registry hook, so you shouldn't have to change the merits anymore:
ddraw.zip (diff.txt compared to v0.5.2)

There is only one strange thing now. All the DDrawCompat commands sometimes completely stop working.

What do you mean by "DDrawCompat commands"?

What do you mean by "DDrawCompat commands"?
Shift+F11, CTRL+Alt+End and Shift+F12

What do you mean by "DDrawCompat commands"?

Shift+F11, CTRL+Alt+End and Shift+F12

Does it work initially when starting the game, but stops later in the same session? If yes, maybe it can be fixed by setting CpuAffinity=all, but I don't know if that causes other problems in this game.
If it stops working altogether, even after restarting the game, then it's a known issue with the low level mouse/keyboard hooks in Windows. It can happen if you've launched a lot of different applications with DDrawCompat without restarting your PC.

Does it work initially when starting the game, but stops later in the same session?

Yes. Let me try the "CpuAffinity=all"

The problem of the hotkeys only happens with Ultima 9

Did you turn off the debug LogLevel?

Did you turn off the debug LogLevel?

Yes!

Fixed in v0.5.3.


testing updates

Coverage remained the same at 26.478% when pulling 4295a7ecde491635007e7a190730d1fdbf9b3c5d on sosey:current into df206d1600125810099c3be9c868341853156234 on spacetelescope:master.

Coverage remained the same at 26.478% when pulling 4295a7ecde491635007e7a190730d1fdbf9b3c5d on sosey:current into df206d1600125810099c3be9c868341853156234 on spacetelescope:master.

Coverage remained the same at 26.478% when pulling 49cc0d58cead501a1b5029c2d2a4f1c0cc13eec5 on sosey:current into df206d1600125810099c3be9c868341853156234 on spacetelescope:master.


Make notifications permanently dismissed

POC for now
Closes #46

This approach looks good to me! 👍🏼
Is it ready to merge? I'm asking because it's in Draft and I'm not sure if you are still working on it or not, @zanderle

No, I just need to use these new functions in the search addon as well.
Also are we ok with the behaviour implemented here (in terms of permanently dismissing the notification), or does that require further testing/discussion?

I think this approach is fine. I understand the local storage is based on the domain, right? In that case, dismissing a notification on a pull request won't affect latest/stable notifications, which is great.
However, dismissing a latest notification on https://docs.readthedocs.io/en/latest/ will also dismiss the stable notification on the same domain, for example when hitting https://docs.readthedocs.io/en/0.9.x/. So, I suppose the local storage key should be based on the version as well: with a postfix of this.config.versions.current.slug probably to make it explicit.
Am I correct?

We also serve multiple projects under the same domain, when they are subprojects. So, I think we should save the project-slug and version-slug in the local storage key as well.

Tracking this per subproject could be too granular, and tracking per version feels really granular. There is a good chance that if a user dismisses this once they will want it dismissed everywhere.

If the user see a notification "this is an old version" for a project and dismiss it, and then open an old version of a subproject, I think we should show the notification again. They are different projects and different versions, so the user should be warned about reading an outdated version of the subproject to avoid confusions.

That is fine for the latest/stable build warning, but the PR build warning is still fairly different.
As a user, I understand what I'm seeing is a PR build after clicking through from the PR once or twice. Reminding me every time, and requiring me to close the notification every PR, is what feels redundant. This notification is in a different class as it's not for reader users but for the maintainer, who interacts with the notification frequently.

Yes, PR notification and stable/latest should behave differently. In fact, I want to split this addon into different ones because we've reach this differences in behavior multiple times already and having only 1 addon for all of them makes everything harder and more confusing.

@zanderle can you implement the initial version of the dismiss that consider domain, project, version and language slug?
Behavior:

dismissing the notification won't show it again on the same project, version, language
switching any of them will make the notification to show again
dismissing the notification on PR builds, won't show it again on that PR preview

In the next iteration we will split the notification addon and consider the user configuration (e.g. dismiss all PR notifications always for all the domains, etc)

@humitos I think I can. Let me dig in, and I'll let you know in case I run into any complications.

@zanderle can you implement the initial version of the dismiss that consider domain, project, version and language slug?
Behavior:

dismissing the notification won't show it again on the same project, version, language

Ok, so project is covered by the domain name, and I can add this.config.versions.current.slug to the localstorage key to cover the version. How should I determine the language? projects.current.language.code or something else?
Is it ok to rely on the domain name to consider project, or should that be a separate thing as well? projects.current.slug perhaps?

If we want to give users notifications for each subproject, we will need to use the project slug.
I'd like to see this merged soon so we can fix this UX bug with notifications. I feel we're maybe getting deep into optimizing this up front for use cases. We instead could start with something simple, what's here now, and make dismissals more granular as we continue working on this.
What is left to be able to merge a fix for dismissing PR build notifications? Reworking methods the search addon uses, maybe tests?

If we want to give users notifications for each subproject, we will need to use the project slug.
I'd like to see this merged soon so we can fix this UX bug with notifications. I feel we're maybe getting deep into optimizing this up front for use cases. We instead could start with something simple, what's here now, and make dismissals more granular as we continue working on this.
This PR has felt like it was really close, what is left to be able to merge a fix for dismissing PR build notifications? Reworking methods the search addon uses, maybe tests?

@agjohnson yeah, at this point what's left is changing the local storage key and some tests (although I'll have to check if cookies complicate things at all). I was going to also rework the search addon to use the same util functions, but that could also be a separate PR, if you wanted to expedite this one?

@zanderle yes, we should use those three variables for the local storage key:

Project slug: this.projects.current.slug
Project language code: this.projects.current.language.code
Version slug: this.config.versions.current.slug

Of course, my pleasure. I hope we got it right in the end 😅👍🏻
On 20 Jun 2024 at 17:56 +0200, Manuel Kaufmann @.***>, wrote:

@humitos approved this pull request.
I did some small tests locally and it works fine to me 💯 . Thanks @zanderle for working on this feature with all the back and forth we had 😄 . I really appreciate it 🙏🏼
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


[Bug/Enhancement] Partitioner parameter value

[Enhancement] I'm trying to "Optimise" the use of parallel processing, so I though that if I pass in a "chunking" value of what I feel will be beneficial to be in a single thread chunk before parallel processing needs to happen (i.e. simple comparison logic for less than 100 values it quicker in a single thread than the overhead of setting up the parallel processing)
I thought the following would be ideal:
maxGradeCount += filtered.CountP(ft=> ft.Number == maxGrade, 100);
where filtered can contain 0 to some large number values above 10,000.
[BUG] What I get is  Specified argument was out of the range of valid values. when filtered has 0 elements. This does not occur when I use CountF

[Question] Does this bug also apply to the other Parallel API's ? e.g. MaxP

Good find, I'll fix this.

I have a fix for this, will close this once it is packaged up and nuget is updated.

I have a fix for this, will close this once it is packaged up and nuget is updated.

Is it the Bug fix, and / or the chunking idea ?

I fixed the bug for filtered elements being 0.
I think what you are wanting for chunksize already exists? There is an optional parameter on all of the parallel methods for batchSize.

I've pushed the fix up to github and nuget, it should show up on nuget soon as version 1.0.2 for the Parallel libs.  Closing this.


[5.3] Diags, NFC: Audit diags using DeclName for names of nominals and vars

Cherry-pick #31503 to ease rebranching.

Expanation: Replaces DeclName with Identifier without having to audit emission spots, so there is zero Risk.
Reviewer: Pavel Yaskevich (@xedin)

Are we taking this into 5.3 to reduce merge conflicts?

Sorry, is the question addressing me?

@swift-ci test

Build failed
Swift Test OS X Platform
Git Sha - e5758417f96b1fcca1bbcf355dd173e6f61f7566

@swift-ci please test OS X

@swift-ci please test Linux

I'll nominate this PR.

After discussing this internally, we think the potential merge conflicts should be easily resolvable. Should this not be the case, I'll retain my draft nomination so we have the option to merge this in the future.
Thank you for the consideration behind this PR.


Synchronize multiple Shimmers automatically

Currently, to synchronize multiple widgets showing shimmers, you have to create a Shimmer wrapping all those widgets. This also doesn't allow us to add any non-shimmering widget inside.

Maybe, instead of calculating the progress locally for each Shimmer, you could globally synchronize them by transforming local to global offsets (RenderBox.localToGlobal) and using a global time (DateTime.now()). The Shimmer's position would then be, e.g. for ShimmerDirection.ltr:
final progress = (DateTime.now().millisecondsSinceEpoch / period.inMilliseconds) % 1;
final position = width * progress - localToGlobal(offset).dx;

Pros

It's a common use case to display multiple Shimmer's on one page and you can't always wrap a single Shimmer around all required children. And even if you could do so, this approach gives you more flexibility.

Cons

Having only a small Shimmer on a large display, it can take some time until the highlight actually is in range of the child widget.
Due to the above argument, this would be a breaking change.

Another solution would be to use the same approach that is described in the cookbook. It uses a single, top level widget to synchronize all the descendants.


FLOC-3273 Modify the Node agent to plumb flocker profiles to the driver.

This PR modifies the Node agent on create requests.
After this PR, if the dataset being created has a metadata key "clusterhq:flocker:profile" and the backend supports creating volumes with a profile, then the value of that metadata will be handed down as the profile for the volume.
If that metadata entry exists but the backend does not support creating volumes with profiles, the agent will log that the profile was dropped, and will simply call create_volume on the backend without passing the profile down.

Refer to this link for build results (access rights to CI server needed):
http://www.jenkins.clap.com/job/ClusterHQ-flocker/job/flocker-updateGHstatus_from_jenkins_FLOC-3336/job/run_trial_on_AWS_Ubuntu_Trusty_flocker.restapi/13/

Thanks.  Reviewed this primarily with two things in mind:

Avoid introducing problems for users not interacting with the profiling feature
Make useful progress towards demoable profiling feature

I think both of those goals are pretty well satisfied (with one exception, see below).  I left some comments inline about very minor issues, all very localized points, nothing really earth shaking I think.
The EBS functional builder has several errors, though.  Could just be coincidence - no EBS changes here, after all.  I think it would be a good idea to dig into them a little bit so we can be confident they're definitely not related to this change.  Once that possibility is ruled out and the inline comments are addressed, please merge.
If it turns out the failures are due to this change somehow, please re-submit the fix for review.  Thanks again.

Finished review comments. Now digging into the EBS functional builder and re-running all tests.

rebased on top of master to get the latest EC2 logging (it looks like EBS is just particularly eventually consistent for me right now, and master has better logs for these). Re-running tests.

Ah! I'm getting flocker:node:agents:blockdevice:aws:no_available_device all over the place. Further investigation showed that one of our buildbot slaves has been stuck in a state where it had like 10 volumes attached to it since yesterday. Re-running tests now.

So another bug in our buildbot. ubuntu on rackspace was broken (FLOC-3358). I was able to repro all morning, but at 4pm it seemed to stop being reproducible.  at that time I got a green run on this PR, so I guess I'll be submitting presently.


Restructure project files like in DetoxNext

Pull Request Test Coverage Report for Build 2583

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+9.3%) to 86.166%

Totals

Change from base Build 1371:
9.3%

Covered Lines:
3722

Relevant Lines:
4161

💛  - Coveralls


requiring twitter_stream in threaded worker fixes ArgumentError

The threaded worker threw 'A copy of TwitterStream has been removed from the module tree but is still active!' when running in development, explicitly requiring 'twitter_stream' fixes that exception.

Coverage decreased (-0.18%) to 88.5% when pulling 582db447914df9819a1f9c340c68ed278f02f23c on dsander:fix-class-reloading into efb0cb57d52545446f5b4fac3f1180ac35d602ba on cantino:master.

Coverage decreased (-0.18%) to 88.5% when pulling 582db447914df9819a1f9c340c68ed278f02f23c on dsander:fix-class-reloading into efb0cb57d52545446f5b4fac3f1180ac35d602ba on cantino:master.

Coverage decreased (-0.18%) to 88.5% when pulling 582db447914df9819a1f9c340c68ed278f02f23c on dsander:fix-class-reloading into efb0cb57d52545446f5b4fac3f1180ac35d602ba on cantino:master.

LGTM!

I'm still seeing this locally.  Do you have any other ideas about how to solve it?

Strange, maybe we should set cache_classes = true?

That did fix it.  Do you understand why it'd be happening?  The require 'twitter_stream' that you added didn't seem to be sufficient.

I thought we added Rails.configuration.cache_classes = true to the top of threaded.rb, but I'm not seeing that.  Any reason not to add it?

I did not add it because I am pretty sure the require fixed the issue for me. The require felt like a cleaner fix, but I see no harm in setting cache_classes = false. In fact I had problems without it today while working on the AgentRunner (got an exception similar to #792).

I think we should add Rails.configuration.cache_classes = true in the threaded part of the app.  Does that work in your new refactor?

Actually this is already done in the PR, but I probably should move it into the pre_runner_boot.rb file.

Nice :smile:


cleanup persistent spot instances when machine is deleted

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number> format, will close the issue(s) when PR gets merged):
Fixes #7247
Special notes for your reviewer:
Optional Release Note:

Cleanup persistent spot Instance requests when a machine is deleted.

/retest


Doesn't detect installed mods

After I updated to Ishtar 2.0, the tool stopped working. After setting up the proper mod folder, when I click on "create merge" the process stops immediatetly, saying it couldn't find any mods.
With 1.6 version, however, it seemed to work just fine.

Hey i think I found a solution!  Uncheck everything in settings except for "enable scan merge" that got it working for me at least.

Worked like a charm, thank you!


[DAPHNE-#595] Fix crash when calling print(f()) with empty function

This commit contains two changes more or less related to this issue:

There is a check preventing empty function definitions. While I thought the empty function had something to do with the crash at first, this turned out to be not the case. Nevertheless, I kept the change as reminding the user that there's unnecessary code would improve our compiler a tiny little bit (imho).

The core issue seems to be that functions without return value internally returned an invalid mlir::Value. Upon doing anything with this value, the program would crash (e.g. accessing any fields or calling any methods). Now we return nullptr and check for that, which gives a somewhat more deterministic behavior.

Closes #595

We actually do have a test case that has an empty function. I can also remove the empty function error if we want that functionality (if we do, an explanation why would be ideal)

To me the fundamental problem is the combination of allowing empty functions (to be more precise: no return statement in a UDF) and at the same time making the return type declaration optional.
E.g., in C++ you can do
auto a() {
    return 0;
}
int main(void) {
    std::cout << a() << std::endl;
}

or
int a() { }
int main(void) {
    std::cout << a() << std::endl;
}

but you cannot do
auto a() { }
int main(void) {
    std::cout << a() << std::endl;
}

Imho one of the two should be enforced by the compiler. Either specify a return type (and simply return the default value if no return statement is present) or force the user to specify at least one return statement. Personally, I find enforcing the user to specify the return type explicitly the cleanest.
Otherwise you cannot deduce the return type of the function at runtime. E.g. the following is also not supported in C++:
auto a() {
    if (true) {
        return 0;
    } else {
        return "0";
    }
}
int main(void) {
    std::cout << a() << std::endl;
}

I'm undecided on my opinion in this matter. On the one hand yes, stating return types explicitly would clean but also more code to type. Determining the return type in the compiler would also be nice as a modern compiler should be able to handle that. But then again this is something that I'd like to be cheaply implemented (or "for free" by some MLIR magic).
As for your last example - what about a check that all return statements at least return the same type?

I removed the empty function check as empty functions are used somewhere in the tests. The situation in the bug report does not crash DAPHNE anymore.  So for the empty function
def empty() {} a print print(emtpy_func()) yields [error]: While parsing: DSLBuiltins failed with the following message [ built-in function `print` expects between 1 and 3 argument(s), but got 0 ]
and with print(empty(),0); you'll get 0 as output.
If you (@pdamme) don't have any further comments/concerns about this I'd say we merge this and continue the discussion of what language features to support that started above some other time. Maybe in a dedicated gh issue.

PS: rebased on main and tested in the container environment :heavy_check_mark:

JFYI: As a follow-up I've just pushed commit 04094fff59be0b66ccb6bd81d77369097ba52777, which ensures informative error messages in such cases.
Before we had:
[error]: While parsing: something was expected to be an mlir::Value, but it was none

Now we have:
[error]: While parsing: DSLVisitor failed with the following message [ the expression was expected to return a single value, but it returns no value ]
    | Source file -> "/daphne/test/api/cli/functions/invalid_parser_13.daphne":7:6
    |
  7 | print(f(123));
    |       ^~~


Human in the Loop Support for Enhanced Task Oversight

Implement Human in the Loop (HITL) support to allow for manual intervention in tasks that require human oversight. This feature will enable tasks within AgenticJS to be paused or flagged for human review, ensuring that certain operations benefit from human judgment before proceeding.
Problem to Solve:
Certain tasks handled by AI agents can reach a complexity or sensitivity level that automated processes alone may not adequately address. By introducing HITL, we can ensure that such tasks are handled correctly, maintaining a high level of accuracy and reliability.
Advantages of HITL Support:

Enhanced Accuracy and Safety: Ensures critical decisions or complex tasks are reviewed by humans, reducing the risk of errors.
Flexibility and Control: Allows users to intervene in automated processes, offering more control over the outcome.
Trust and Reliability: Increases user trust in the system by incorporating a layer of human validation where needed.

Goals:

Develop the functionality to pause and flag tasks that require human intervention.
Integrate a user interface or notification system that alerts users when their input or decision is required.
Ensure that the system can seamlessly transition between automated processes and human intervention.

Implementation Steps:

Define criteria and triggers for tasks that should be subject to HITL.
Design and implement mechanisms to pause tasks and notify users for intervention.
Develop guidelines on how to handle transitions between AI and human control effectively.

Testing:

Test the HITL functionality under various scenarios to ensure it responds appropriately when human oversight is required.
Verify the user interface or notification system is intuitive and provides all necessary information for users to make informed decisions.

Documentation:

Update the documentation to include detailed information on how to set up and use HITL within AgenticJS.
Provide examples of use cases where HITL could be particularly beneficial.

Community Engagement:

Solicit feedback from the community on the proposed HITL implementation.
Invite users to contribute ideas on improving this feature or to share insights on potential pitfalls.

This initiative aims to make AgenticJS more versatile and trustworthy by integrating human intelligence where it is most beneficial.

Here is the potential docs for the feature.
Human in the Loop (HITL)
Overview
Human in the Loop (HITL) is a core feature in our system that enables manual intervention and oversight in AI-driven tasks. It provides a mechanism for human operators to review, provide input, or make decisions at critical points in the workflow, ensuring accuracy, reliability, and ethical considerations in complex or sensitive operations.
Purpose
The HITL feature addresses the need for human judgment in scenarios where:

Tasks reach a complexity level beyond AI capabilities
Sensitive decisions require human oversight
Quality assurance is critical
Ethical considerations necessitate human involvement

Structure
HITL interactions, referred to as "feedback" in the system, are organized within a feedbackHistory array for each task. Each feedback entry consists of:

content: The human input or decision
status: The current state of the feedback
timestamp: When the feedback was created or last updated

Feedback Statuses
Currently, our system uses two primary statuses for feedback:

PENDING: Newly added feedback that hasn't been addressed yet
PROCESSED: Feedback that has been successfully addressed and incorporated

Note: Additional statuses may be implemented in future versions to provide more granular control over the HITL process.
Workflow Integration

Initiating HITL:

HITL can be initiated for a task at any point in its lifecycle using the workOnFeedback method.
When HITL is initiated, it automatically triggers a series of actions:
a. The task status is set to REVISE.
b. The workflow status is set to RUNNING.
c. The system checks if the associated agent is available.
d. If the agent is available, the task is moved to DOING status.
e. All dependent tasks are moved back to TODO status.

Processing HITL Requests:

The system automatically initiates the feedback processing.
Human operators can review the task and provide necessary input or decisions.
The agent processes all pending feedback before continuing with the task.

Completing Tasks:

Upon successful task completion, all pending feedback is marked as PROCESSED.

Error Handling:

If a task encounters an error or becomes blocked, all pending feedback is still marked as PROCESSED to maintain system consistency.

State Management

Feedback states are managed within the task store.
The handleTaskCompleted, handleTaskError, and handleTaskBlocked methods in the task store are responsible for updating feedback statuses.

Observability

HITL processes are logged through feedback entries, providing visibility into how human intervention affects task outcomes.
Error messages and task logs include information about processed feedback counts, aiding in debugging and system monitoring.

Best Practices

Use the workOnFeedback method to initiate human intervention, which will automatically trigger the necessary workflow actions.
Design clear interfaces for human operators to interact with tasks requiring intervention.
Implement a notification system to alert human operators of pending feedback requests.
Regularly review feedback patterns to identify areas for AI improvement or workflow optimization.
Ensure that human operators are trained on the task context and the implications of their decisions.

Example Usage
// Initiating HITL for a task
teamStore.getState().workOnFeedback(taskId, "Please review and approve the final report before publication.");

// This single call will:
// 1. Add the feedback to the task's feedbackHistory
// 2. Set the task status to REVISE
// 3. Set the workflow status to RUNNING
// 4. Check agent availability and potentially move the task to DOING
// 5. Move dependent tasks to TODO
// 6. Automatically trigger the feedback processing workflow

By implementing Human in the Loop through our feedback system, you can create a more robust, ethical, and accurate task processing workflow in your application. This feature ensures that critical decisions benefit from human judgment while maintaining the efficiency of automated processes for routine operations.

Another Version
Certainly! I'll update the documentation to reflect the latest changes we've discussed. Here's the revised version:
Human in the Loop (HITL)
Overview
Human in the Loop (HITL) is a core feature in our system that enables manual intervention and oversight in AI-driven tasks. It provides a mechanism for human operators to review, provide input, or make decisions at critical points in the workflow, ensuring accuracy, reliability, and ethical considerations in complex or sensitive operations.
Purpose
The HITL feature addresses the need for human judgment in scenarios where:

Tasks reach a complexity level beyond AI capabilities
Sensitive decisions require human oversight
Quality assurance is critical
Ethical considerations necessitate human involvement

Structure
HITL interactions, referred to as "feedback" in the system, are organized within a feedbackHistory array for each task. Each feedback entry consists of:

content: The human input or decision
status: The current state of the feedback
timestamp: When the feedback was created or last updated

Task Statuses
The system includes the following task statuses, which apply to all tasks throughout the entire workflow, including but not limited to HITL processes:

TODO: Task is queued for initiation, awaiting processing.
DOING: Task is actively being worked on by an agent.
BLOCKED: Progress on the task is halted due to dependencies or obstacles.
REVISE: Task requires additional review or adjustments based on feedback.
AWAITING_VALIDATION: Task is completed but requires validation or approval.
VALIDATED: Task has been validated and confirmed as correctly completed.
DONE: Task is fully completed and requires no further action.

These statuses are defined in the TASK_STATUS_enum and can be accessed throughout the system for consistency.
Task State Flow Diagram
Below is a text-based representation of the task state flow diagram:
                 +---------+
                 |   TODO  |
                 +---------+
                      |
                      v
                 +---------+
            +--->|  DOING  |<---+
            |    +---------+    |
            |         |         |
            |         v         |
     +-------------+  |  +---------+
     |   BLOCKED   |  |  |  REVISE |
     +-------------+  |  +---------+
            ^         |         ^
            |         v         |
            |  +------------------+
            |  | AWAITING_        |
            |  | VALIDATION       |
            |  +------------------+
            |         |
            |         v
            |  +--------------+
            |  |  VALIDATED   |
            |  +--------------+
            |         |
            |         v
            |    +---------+
            +----|  DONE   |<---+
                 +---------+

Feedback Statuses
Currently, our system uses two primary statuses for feedback:

PENDING: Newly added feedback that hasn't been addressed yet
PROCESSED: Feedback that has been successfully addressed and incorporated

Workflow Integration

Requiring External Validation:

Tasks can be created with externalValidationRequired: true to indicate they need validation before completion.

Initiating HITL:

HITL can be initiated for a task at any point using the provideFeedback method.
When initiated, it sets the task status to REVISE and triggers the workflow.

Awaiting Validation:

When a task with externalValidationRequired: true is completed, it enters the AWAITING_VALIDATION state.

Validating Tasks:

Use validateTask to approve a task without changes, moving it to DONE.
Use provideFeedback to provide feedback or request revisions, moving the task to REVISE.

Processing Feedback:

The system automatically processes feedback when a task is in the REVISE state.
Agents handle pending feedback before continuing with the task.

Completing Tasks:

Upon successful task completion and validation, all pending feedback is marked as PROCESSED.

State Management

Task and feedback states are managed within the team store.
Key methods: validateTask and provideFeedback.

Observability

HITL processes can be observed through the subscribeToChanges method, which allows monitoring of task statuses and other state changes.
Logs provide visibility into human interventions and their effects on task outcomes.

Best Practices

Use externalValidationRequired: true when creating tasks that need validation.
Implement clear interfaces for task validation and feedback submission.
Use getTasksByStatus to retrieve tasks in specific states, such as those awaiting validation.
Regularly review feedback patterns to optimize AI and workflow processes.
Train human operators on task context and the implications of their decisions.

Example Usage
// Creating a task that requires validation
const task = new Task({
    // ... other properties ...
    externalValidationRequired: true
});

// When the task is completed by an agent, it will automatically enter AWAITING_VALIDATION state

// Approving a task
team.validateTask(taskId);

// Providing feedback or requesting revisions
team.provideFeedback(taskId, "Please revise the conclusion section.");

// This will:
// 1. Add the feedback to the task's feedbackHistory
// 2. Set the task status to REVISE
// 3. Trigger the workflow to process the feedback

// Retrieving tasks awaiting validation
const tasksAwaitingValidation = team.getTasksByStatus(TASK_STATUS_enum.AWAITING_VALIDATION);

// Subscribing to task status changes
team.subscribeToChanges((newValues) => {
  if ('tasks' in newValues) {
    console.log('Tasks updated:', newValues.tasks);
    // Check for tasks awaiting validation, etc.
  }
}, ['tasks']);

By implementing Human in the Loop through our feedback and validation system, you can create a more robust, ethical, and accurate task processing workflow. This feature ensures that critical decisions benefit from human judgment while maintaining the efficiency of automated processes for routine operations.


Added promiseToCallback, perhaps more rugged than Feathers' code

The callback is invoked outside the scope of the Promise.
The Promise's .catch() chain is not invoked if the callback throws.
This code is used within feathers-service-verify-reset to resolve
eddyystop/feathers-service-verify-reset#12

👍


I want to depend on a well-defined versioning scheme for the Polywrap toolchain

Currently all packages published to the @polywrap npm organization use the same version, defined in the VERSION file.
This is not very ideal when we start using proper MAJOR.MINOR.PATCH semantic versioning. For example, if we make a breaking change to the CLI, the underlying packages (client, core, etc) should not be effected.
We should come up with a more sophisticated way of versioning the various parts of the project, allowing developers to easily consume packages, and not need to update packages needlessly when nothing within them has not changed.
Tasks

[ ] Define a versioning scheme for all Polywrap packages
[ ] Implement the new versioning scheme within the CI/CD workflows

This has been discussed, and will be done post-origin release, but before we get to 1.0

Proposed Implementation
Initial Rules

If a breaking change occurs in a package, bump major.x.x of that package
If a feature has been added in a package, bump x.minor.x of that package
If a fix has been made to a package, bump x.x.patch of that package
All dependencies should be pinned to major.minor.x, but may accept patch upgrades from all @polywrap packages.
All major & minor versions bumps should be applied to all packages down-stream.
major version bumps should be applied downstream immediately.
minor version bumps can be applied on an as-need basis.

Dev Ops
Some thought should be put into how we manage our dev ops around this process. I have a few ideas (config files in the root of the monorepo, devops scripts, etc), but will outline later.
Extra
All interfaces will only need to be versioned by major and minor version numbers, because there is no such thing as a patch of an interface since there is no underlying implementation.
- This is good because when users are defining manifests, they can specify the version using only 2 numbers (ex: wrap.info -> format: 1.2). Super simple for the user.

I don't think down-stream changes are always required even in major releases.
So far it's been pretty convenient for users of @polywrap packages to bump all packages when they bump one. It's easier to know which package is compatible with which. I think the proposed changes are a bit early to be applied at our current stage.
When most users stop constantly updating to the latest version of all packages but want a specific package updated, then that will be a good time to apply these changes.
A good next step, IMO, would be to have the proposed process per repo (integrations repo might be an exception).
We should also consider starting to separate some packages into their own repos:

CLI
React (into integrations repo)
Plugins (into integrations repo)
Client (maybe)

Closing this due to inactivity, and we've already been gradually maturing how we version and decouple the codebases.


Reorganization of samples readme

This is to streamline the learning of the samples in a more chronological order.

I overall like this flow a lot more thanks for the changes!

same here.  Thanks for the suggestion!


EF Database error page still references dnx command instead of dotnet tools

The page should be mentioning the dotnet tools instead of dnx command

@rowanmiller FYI


Add lifecycle-mapping ignore for plugin execution

Reopening this as solution I provided is a little bit smarter.  The m2e.version only exists when you are sitting in eclipse.  Not actually at all when it runs.  So what that does is still cause eclipse to not show a warning.  This way while it states it has no harm elsewhere, it's not even a factor at all during maven run in any way.  I didn't even realize myself how exactly m2e.version property came into play assuming that it actually was part of the build when running inside eclipse but that is not the case.  It's purely how m2e, the pom, and eclipse interact with each other before any physical build request is ever made.  Hopefuly that helps with some insite there.

I understand that the ''m2e.version" check disables lifecycle-mapping exclusion of maven-antrun-plugin. However, I don't see the added value of this check.

Fair enough.  Someone asked I do that on another repo long ago.  I forget why but have done it ever since.  Looking at it I cannot make a compelling real life reason so I'm good with your decision.  Thanks.
Get Outlook for Androidhttps://aka.ms/ghei36

From: Ceki Gulcu<EMAIL_ADDRESS>Sent: Thursday, February 23, 2017 3:11:07 AM
To: qos-ch/slf4j
Cc: Jeremy Landis; Author
Subject: Re: [qos-ch/slf4j] Add lifecycle-mapping ignore for plugin execution (#172)
I understand that the ''m2e.version" check disables lifecycle-mapping exclusion of maven-antrun-plugin. However, I don't see the added value of this check.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/qos-ch/slf4j/pull/172#issuecomment-281923644, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA7ho5Xy_9DP6HeVQKjN52_xl2kV19T7ks5rfT8bgaJpZM4MJiMr.


Adds support for emitting darknet models

Hi @fran6co ,thanks very much!  Have you test the accuracy of the conversion to darknet? We have implemented a set of test tools and error tolerance . Could you please add some test scripts  to test the accuracy of your code ?

Hi @namizzz, I couldn't find a darknet python package for testing it using MMdnn scripts. It's a simple C library so in theory is just enough to have the library somewhere and use ctypes, do you have suggestions how to integrate it to MMdnn?

Hi @fran6co ,yes!  we have https://github.com/Microsoft/MMdnn/blob/master/mmdnn/conversion/examples/darknet/. You can use it.

@kitstar yes, I'm slowly working through the errors in the tests. I'm not sure why it's failing on the SNR for some of them.

@kitstar just implemented those extra layers but it's still failing, it seems to be failing even worse now but because of some network issues instead.


Multiplayer mode

Please add a multiplayer mode for this game, it would be great to be able to compete on the same set of cards with friends to see who gets the longest streak. Amazing game!

I'm working on this one


Prevent users to add local path

following to #9

[x] prevent to add local path

[x] prevent file://
[x] add https:// or http:// automatically?

[ ] add open file button?

? why it closed?

closed by #16
open file button : wontfix


Error when trying to install gpu version

Hi,
I got this error message when I tried to install gpu version:
Running command git clone --filter=blob:none --quiet 'https://framagit.org/jmichel-otb/sentinel2_superresolution.git[gpu]' /tmp/pip-req-build-h3wkpcmt
  fatal: unable to update url base from redirection:
    asked for: https://framagit.org/jmichel-otb/sentinel2_superresolution.git[gpu]/info/refs?service=git-upload-pack
     redirect: https://framagit.org/users/sign_in
  error: subprocess-exited-with-error

Can you try:
$ git clone https://framagit.org/jmichel-otb/sentinel2_superresolution.git
$ pip install sentinel2_superresolution[gpu]

Can you try:
$ git clone https://framagit.org/jmichel-otb/sentinel2_superresolution.git
$ pip install sentinel2_superresolution[gpu]

Thank you for prompt reply. It's running now.

What is your python version ? I think 3.10 is required for this syntax.

What is your python version ? I think 3.10 is required for this syntax.

Thank you. After I used Python 3.10, I could install it. Another error came after I tried to run it.
File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sensorsio/sentinel2.py", line 404, in build_xml_path     raise FileNotFoundError( FileNotFoundError: Could not find root XML file in product directory S2A_MSIL2A_20240319T025531_N0510_R032_T48MYU_20240319T072558.SAFE

I had the same problem with pip install git+https combination with the installation redirected to https://framagit.org/users/sign_in when supplied [gpu] support variant.o

What is your python version ? I think 3.10 is required for this syntax.

Thank you. After I used Python 3.10, I could install it. Another error came after I tried to run it with this command: sentinel2_superesolution -i S2A_MSIL2A_20240319T025531_N0510_R032_T48MYU_20240319T072558.SAFE -o resumts/ --gpu
File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sensorsio/sentinel2.py", line 404, in build_xml_path raise FileNotFoundError( FileNotFoundError: Could not find root XML file in product directory S2A_MSIL2A_20240319T025531_N0510_R032_T48MYU_20240319T072558.SAFE

I realized I didn't use the correct version of Sentinel-2A Product. I downloaded Sentinel-2A MAJA product from DLR, but when I ran it again, there was a new error message:
sentinel2_superesolution -i SENTINEL2B_20240418-103602-534_L2A_T32UNE_C_V1-3 -o resumts/ --gpu Traceback (most recent call last):   File "/home/firman/anaconda3/envs/super/bin/sentinel2_superesolution", line 8, in <module>     sys.exit(run())   File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/run.py", line 424, in run     main(sys.argv[1:])   File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/run.py", line 281, in main     ort_session = ort.InferenceSession(args.model, sess_options=so, providers=ep_list)   File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 419, in __init__     self._create_inference_session(providers, provider_options, disabled_optimizers)   File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 472, in _create_inference_session     sess = C.InferenceSession(session_options, self._model_path, True, self._read_config_from_model) onnxruntime.capi.onnxruntime_pybind11_state.NoSuchFile: [ONNXRuntimeError] : 3 : NO_SUCHFILE : Load model from /home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/../../models/carn_3x3x64g4sw_bootstrap.onnx failed:Load model /home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/../../models/carn_3x3x64g4sw_bootstrap.onnx failed. File doesn't exist

$ git clone https://framagit.org/jmichel-otb/sentinel2_superresolution.git
$ pip install sentinel2_superresolution[gpu]

You can try to use the solution mentioned by @jmichel-otb :
$ git clone https://framagit.org/jmichel-otb/sentinel2_superresolution.git
$ pip install sentinel2_superresolution[gpu]

I had the same problem with pip install git+https combination with the installation redirected to https://framagit.org/users/sign_in when supplied [gpu] support variant.o

You can use the solution by @jmichel-otb https://github.com/Evoland-Land-Monitoring-Evolution/sentinel2_superresolution/issues/2#issuecomment-2082311191

I realized I didn't use the correct version of Sentinel-2A Product. I downloaded Sentinel-2A MAJA product from DLR, but when I ran it again, there was a new error message:

Yes, supporting sen2corr L2A is only a matter of adding support in sensorsio. Should be available in a few weeks / months.

sentinel2_superesolution -i SENTINEL2B_20240418-103602-534_L2A_T32UNE_C_V1-3 -o resumts/ --gpu Traceback (most recent call last): File "/home/firman/anaconda3/envs/super/bin/sentinel2_superesolution", line 8, in <module> sys.exit(run()) File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/run.py", line 424, in run main(sys.argv[1:]) File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/run.py", line 281, in main ort_session = ort.InferenceSession(args.model, sess_options=so, providers=ep_list) File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 419, in __init__ self._create_inference_session(providers, provider_options, disabled_optimizers) File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 472, in _create_inference_session sess = C.InferenceSession(session_options, self._model_path, True, self._read_config_from_model) onnxruntime.capi.onnxruntime_pybind11_state.NoSuchFile: [ONNXRuntimeError] : 3 : NO_SUCHFILE : Load model from /home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/../../models/carn_3x3x64g4sw_bootstrap.onnx failed:Load model /home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/../../models/carn_3x3x64g4sw_bootstrap.onnx failed. File doesn't exist

Ok, so there is still a problem with installation, the model file does not get installed with pip install. Sorry about the crappy packaging, I need to improve it.
Meanwhile, could you try running again:
$ git clone https://framagit.org/jmichel-otb/sentinel2_superresolution.git
$ pip install -e sentinel2_superresolution[gpu]

Or alternatively provide the model explicitly to the command-line:
$ sentinel2_superesolution -i SENTINEL2B_20240418-103602-534_L2A_T32UNE_C_V1-3 -o resumts/ --gpu -m path_to/carn_3x3x64g4sw_bootstrap.onnx

The carn_3x3x64g4sw_bootstrap.onnx model file is located in the models folder of the source of sentinel2_superresolution.

Hi @jmichel-otb,
thnak you for your quick reply.
Unfortunately, a new error occurs again.
sentinel2_superesolution -v -i /mnt/hd/appoggio2/test/S2B_MSIL1C_20230823T095559_N0509_R122_T33TUG_20230823T121626.SAFE/ --l1c -o out/ --gpu -m /test/carn_3x3x64g4sw_bootstrap.onnx
Traceback (most recent call last):
File "/usr/local/bin/sentinel2_superesolution", line 5, in
from sentinel2_superresolution.run import run
File "/root/miniconda3/lib/python3.10/site-packages/sentinel2_superresolution/run.py", line 15, in
from sensorsio.sentinel2 import Sentinel2
File "/root/miniconda3/lib/python3.10/site-packages/sensorsio/sentinel2.py", line 27, in
import geopandas as gpd
File "/mnt/hd/safalabolo/.local/lib/python3.10/site-packages/geopandas/init.py", line 1, in
from geopandas._config import options
File "/mnt/hd/safalabolo/.local/lib/python3.10/site-packages/geopandas/_config.py", line 109, in
default_value=_default_use_pygeos(),
File "/mnt/hd/safalabolo/.local/lib/python3.10/site-packages/geopandas/_config.py", line 95, in _default_use_pygeos
import geopandas._compat as compat
File "/mnt/hd/safalabolo/.local/lib/python3.10/site-packages/geopandas/_compat.py", line 242, in
import rtree  # noqa: F401
File "/root/miniconda3/lib/python3.10/site-packages/rtree/init.py", line 9, in
from .index import Index, Rtree  # noqa
File "/root/miniconda3/lib/python3.10/site-packages/rtree/index.py", line 17, in
from . import core
File "/root/miniconda3/lib/python3.10/site-packages/rtree/core.py", line 74, in
rt = finder.load()
File "/root/miniconda3/lib/python3.10/site-packages/rtree/finder.py", line 79, in load
cwd = os.getcwd()
FileNotFoundError: [Errno 2] No such file or directory

I realized I didn't use the correct version of Sentinel-2A Product. I downloaded Sentinel-2A MAJA product from DLR, but when I ran it again, there was a new error message:

Yes, supporting sen2corr L2A is only a matter of adding support in sensorsio. Should be available in a few weeks / months.

sentinel2_superesolution -i SENTINEL2B_20240418-103602-534_L2A_T32UNE_C_V1-3 -o resumts/ --gpu Traceback (most recent call last): File "/home/firman/anaconda3/envs/super/bin/sentinel2_superesolution", line 8, in <module> sys.exit(run()) File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/run.py", line 424, in run main(sys.argv[1:]) File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/run.py", line 281, in main ort_session = ort.InferenceSession(args.model, sess_options=so, providers=ep_list) File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 419, in __init__ self._create_inference_session(providers, provider_options, disabled_optimizers) File "/home/firman/anaconda3/envs/super/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 472, in _create_inference_session sess = C.InferenceSession(session_options, self._model_path, True, self._read_config_from_model) onnxruntime.capi.onnxruntime_pybind11_state.NoSuchFile: [ONNXRuntimeError] : 3 : NO_SUCHFILE : Load model from /home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/../../models/carn_3x3x64g4sw_bootstrap.onnx failed:Load model /home/firman/anaconda3/envs/super/lib/python3.10/site-packages/sentinel2_superresolution/../../models/carn_3x3x64g4sw_bootstrap.onnx failed. File doesn't exist

Ok, so there is still a problem with installation, the model file does not get installed with pip install. Sorry about the crappy packaging, I need to improve it.
Meanwhile, could you try running again:
$ git clone https://framagit.org/jmichel-otb/sentinel2_superresolution.git
$ pip install -e sentinel2_superresolution[gpu]

Or alternatively provide the model explicitly to the command-line:
$ sentinel2_superesolution -i SENTINEL2B_20240418-103602-534_L2A_T32UNE_C_V1-3 -o resumts/ --gpu -m path_to/carn_3x3x64g4sw_bootstrap.onnx

The carn_3x3x64g4sw_bootstrap.onnx model file is located in the models folder of the source of sentinel2_superresolution.

I have finally succeeded to run it and get the result.

Packaging is fixed and installation instruction have been simplified in README.


[6.x] Full PHP 8.0 Support

Draft until most libraries have started to release PHP 8 compatible versions or at least dev builds.
Todo/Requirements:

[x] tijsverkoyen/css-to-inline-styles: https://github.com/tijsverkoyen/CssToInlineStyles/pull/198
[x] opis/closure: https://github.com/opis/closure/pull/67, https://github.com/opis/closure/pull/81
[x] guzzlehttp/guzzle: https://github.com/guzzle/guzzle/issues/2702, https://github.com/guzzle/guzzle/pull/2808
[x] AWS SDK: https://github.com/aws/aws-sdk-php/pull/2079
[x] mockery/mockery (https://github.com/mockery/mockery/pull/1072, https://github.com/mockery/mockery/pull/1088)
[x] PHPUnit 9.3 release (will be released on 2020-08-07)
[ ] doctrine/dbal ^3.0 or ^2.12 release (https://github.com/doctrine/dbal/pull/4347)
[x] phpdocumentor/reflection-docblock ^5.2 release
[x] Flysystem 1.1 release (https://github.com/thephpleague/mime-type-detection/pull/1, https://github.com/thephpleague/flysystem/pull/1183)
[x] Re-enable fast-finish
[x] Prophecy PHP 8 support
[x] Whoops PHP 8 support (https://github.com/filp/whoops/pull/672)
[x] Cron expression PHP 8 support (https://github.com/dragonmantank/cron-expression/issues/94)
[x] Revert extra build steps
[ ] Faker PHP 8 support (https://github.com/fzaninotto/Faker/pull/2063)
[ ] Testbench PHP 8 support
[x] Resolve sort issues

I have started the work on opis/closure here: https://github.com/opis/closure/pull/67

Remove phpdocumentor/reflection-docblock from build

I think this will cause prefer-lowest to fail.

@GrahamCampbell doesn't seems so.

PHP 8 broke some more stuff, so Mockery is no longer working. https://github.com/mockery/mockery/pull/1088 fixes that.

I added php-8 branch on orchestra/testbench-core

For what it's worth, it would have been really nice to land this PR incrementally. It's okay to have partial PHP 8 support in master with an allow-failures build. It allows other people to start testing.

@nikic I think the issue would be that there's no 'master' branch for version 6.x and the intention has always been to merge things upwards. This will lend on 6.x and 6.x will be merged into 8.x and master. Merging this on master would make the branches out of sync and harder to resync as we can't merge master (9.x) back into 6.x

@deleugpn Sorry for being imprecise there. By "master" I just meant "landed upstream", not necessarily only on the master branch. If PHP 8 will be supported on older versions as well, it would of course make sense to land it on lower branches and merge upwards.
For example, Symfony has been landing incremental fixes for PHP 8 support for something like half a year already, across many supported branches, rather than waiting to merge "full support" at once.

@nikic definitely something we can consider. However, I think I'm missing something as I don't see any PHP 8 builds on the https://github.com/symfony/symfony repository?

@driesvints It looks like the PHP 8 build is on Travis (nightly): https://travis-ci.org/github/symfony/symfony/builds/736971898

@nikic we've just partially merged this PR and are working on getting the upstream branches up to date. Releases are done tomorrow. Thanks!

https://github.com/doctrine/dbal/releases/tag/2.11.2 🚀

@driesvints Looks like doctrine/dbal#4347 has been merged. Just fzaninotto/Faker#2063 now but it appears that the main dev for that isn't very active with that package.

@ollieread we've contacted the maintainer to move the project to a joint organisation so we can help maintain it. Waiting for a reply now.

Excellent @driesvints , same as I said on the faker pr, should that be required id be happy to help contribute/maintain if there's need.

Putting this in draft again for a bit longer to see if Faker lands PHP 8 support soon.

Looks like a fork of Faker is going to have to be made (see https://github.com/fzaninotto/Faker/pull/2063#issuecomment-717118799).

@bramceulemans we saw that and already making plans on how to proceed. Stay tuned.

@driesvints I think we need to update the Faker PR to https://github.com/FakerPHP/Faker/pull/1

This is huge! Congratulations to the Laravel Team!

@deleugpn thanks for your work on this as well 👍


Add a CONTRIBUTING guide

We should describe how we intend the community to take part in building Saleor. This includes programming as well as translation help.

We have Contributing section in our docs but I guess you mean adding the CONTRIBUTING.md file as well?
What I'd also like to see is a section about development tools that we recommend e.g. those that come with requirements_dev or any related settings such as enabling debug toolbar, Silk, etc.

Above link "contributing" gives: "Requested page could not be found."

Updated the link, thanks!