The 'Pods-XXX' target has libraries with conflicting names: libwechatsdk.a.

My project has integrated with UMengUShare and a sub-pod 'UMengUShare/Social/WeChat' for a long time. Recently we need to make payment feature in our App. I'd like to use this lib LeoPayManager.
Unfortunately, I run into this issue after running the command 'pod install'.  Yes, I know that the two libs both have used the libwechatsdk. I want to ensure if it is possible to use both UMengUShare and LeoPayManager in our App. Thanks a lot.
Here is my Podfile:

target :XXX do
pod 'UMengUShare/UI', '6.2.2'
pod 'UMengUShare/Social/Sina', '6.2.2'
pod 'UMengUShare/Social/WeChat', '6.2.2'
pod 'UMengUShare/Social/QQ', '6.2.2'
pod 'LeoPayManager', '1.0.0'
end

I eventually dragged the source files into my project directly. So I give up to use cocoapod to maintain the dependence on this lib. Thanks.

感谢你的谅解，目前只能先手动导入LeoPayManager，这样的话需要你用cocoapods导入银联、支付宝和Apple Pay，这里我已经做好了，这在cocopods做好了这三个库，分别是UnionPay_SDK_iOS 、Alipay_SDK_iOS 、ApplePay_SDK，然后手动导入LeoPayManager即可，谢谢


do you have a plan that support .kte file

i currently using spring-view-component-jte.
i change little bit code.

if you dont mind, did you have a plan for support multiple suffix about .jte and .kte,

.kte can now be configured in 0.7.2-SNAPSHOT


Backtracing for exceptions thrown while parsing page frontmatter and content

When an exception is thrown due to malformed or otherwise bad page content, the Whoops debugging page traces the error through the code that generated the exception, but does not trace to the actual line and content in the markdown file itself.
It is often possible to locate the source of the error by looking at the specific arguments in the "Arguments" section of the Whoops debug page and then doing a "find in files" (or the equivalent) in your text editor/IDE. However, it would be more efficient if the error page could directly trace the problem all the way to a line in the Markdown file itself.
Twig can already do this through Twig_Error. Grav pages are a little more complicated though, because they can contain frontmatter, Markdown, and/or Twig.
Frontmatter is parsed by the Symfony/Yaml library, and gets read in as a single array. This means that only Yaml parse errors will get caught in the context of the source page file. By the time any other errors are generated due to problems in the page content (for example, an unparseable date by the DateTime class), the original .md file has been discarded and Grav is left working only with a PHP array. Unless Symfony/Yaml has a mechanism for preserving the associations between the parsed contents and the original source file, I'm not sure how this could be done. At the very least the trace could identify the source file, if not the specific line in that file.
The process is similar for Markdown content, which is read into a single array and then passed to the  erusev/parsedown library to be rendered. I'm not sure if there is even such thing as unparseable Markdown, but some of the Grav goodies for media, custom tags, etc could conceivably raise an exception. In this case again, there would ideally be a way to preserve an association between individual lines in the source .md file, and the array of parsed data.

Actually, I've discovered at least one condition in which page file contents can throw an exception. For whatever reason, the usage of #, ##, etc header identifiers in my page content was throwing a mysterious "Undefined index: text" error. It's unclear as to whether this is an error generated by Parsedown, or by some pre-processing step in Grav. Regardless, the farthest that the stack could be traced was to the Twig template that contains the {{page.content}} reference that triggers parsing of the .md file.

Bad YAML in a page header is handled quite neatly already because we catch the regular YAML parse exception, and add the full filename.. so it does give a complete path and line number.
However bad YAML in other places such as config files, and blueprints, are not handled as elegantly because they are just throwing the raw parse exception from the YAML parser which doesn't have full path details, only YAML text.
I think this is where i ended up last time i looked at this.. basically, this might be something we have to tackle in Grav 2.0

You only get a path/line number for a YAML parse error. If a line is valid YAML itself but contains some content that raises an error during additional processing (for example, a malformed date string), it won't be able to resolve that to a line in the original content file.
Basically, a syntax error in one domain becomes a logic error in another :-P


disable sticky caps_lock

Hi, I use the Karabiner-Elements fork from wwwjfy so I can remap right-option to multiple modifiers keys ("left_option", "left_control", "caps_lock") :
            "one_to_many_mappings": {
                "right_option": [
                    "left_option",
                    "left_control",
                    "caps_lock"
                ]
            }

It works great except one thing : because of the sticky behaviour of the caps_lock flag, when i press right-option i will not receive last caps_lock event (down or up event depending on the state of the caps-lock flag).
when i press right-option first time :
left_option down, left_control down, caps_lock down, left_option up and left_control up
Next time I press right option :
left_option down, left_control down, caps_lock up, left_option up and left_control up
I have tried to disable the caps_lock (remapping it to escape or whatever  "simple_modifications": { "caps_lock": "escape"), but it only affects the caps_lock key, not the caps_lock flag (I can still see the light coming on/off).
I really need your help !

Alright I did try many options in karabiner.json but could not get it to work so I ended up digging the code a bit and finally found the culprit : the  void caps_lock_state_changed_callback(bool caps_lock_state) callback in device_grabber.hpp
After a quick-and-dirty modification (commenting out the whole thing) it worked. :
  void caps_lock_state_changed_callback(bool caps_lock_state) {
    /*
    event_manipulator_.set_caps_lock_state(caps_lock_state);

    // Update LED.
    for (const auto& it : hids_) {
      if ((it.second)->is_grabbed()) {
        (it.second)->set_caps_lock_led_state(caps_lock_state ? krbn::led_state::on : krbn::led_state::off);
      }
    }
    */
  }

If you want to cherry pick it : https://github.com/monkeydri/Karabiner-Elements/commit/501b8bfb89f2fecef9e7f17c7d7dfe883aacfde5

For the record the steps I used to build that thing :

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
brew install boost
sudo mkdir -p /opt/local
sudo ln -s /usr/local/Cellar/boost/1.64.0_1/include /opt/local/include
git clone https://github.com/wwwjfy/Karabiner-Elements.git
cd Karabiner-Elements
change developper identity in codesign.sh and developper id installer identity in codesign-pkg.sh
comment out last three lines from make-package.sh (hdiutil bug).
make

@wwwjfy any hint to point me to the right direction ? Actually I don't know if the caps_lock keypress up event is ever sent to Karabiner...

It seems caps lock needs special handling, as you can see, the caps lock state is all over the grabber code.
Sorry I haven't read that part yet.


Fix Accordion on iOS 9

Adaptation of the accordion of the V1 on the V2 to fix the bug when opening the accordion.

Thanks


rmfuse: 0.2.1 -> 0.2.3

Motivation for this change
Updating RMFuse to 0.2.3 to fix RMCL using the wrong reMarkable API endpoint to authenticate the user.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Basic evaluation checks failed on 2683fa1, maybe caused by this PR?
https://github.com/NixOS/nixpkgs/runs/6151568663?check_suite_focus=true


Default FirebaseApp is not initialized in this context...

Hi
I have downloaded and run the sample on an Android device and I get the attached error.
What am I missing?
I am using my own google-services.json which works in a second project.
Thanks
Regards

I encountered this issue when attempting to run the sample project and a newly created project. I have tried multiple solutions and so far nothing has worked.
Good references:
Play services solution
A lot of random fixes
Microsoft's solution

Update: I resolved this issue by installing the Xamarin.GooglePlayServices.Basement NuGet package and setting my google-services.json file's build action to GoogleServicesJson. I also installed Xamarin.GooglePlayServices.Base. I am not calling FirebaseApp.InitializeApp(this).


fix: dependency 'ipaddress' unnecessary for py >= 3.2

ipaddress is builtin since python 3.2.

Thanks.


Allow building out-of-source

Its quite nice to have a with-wallet and a disable-wallet build tree
that come from the same directory. So lets make sure we can build
out of source (mostly) again.
Seems that levelDB is not able to, so that one will be shared. But
levelDB development should not happen inside of bitcoin anyway, so
thats fine.

LGTM

Merged, thanks!


Stream WAL files to the prefaulter

Use pg_xlogdump -f to "tail" the WAL files.

I've walked through this with @sean- and while it seems that the changes have the intended effects, we both agree that the program should ultimately be restructured around buffered channels and worker pools rather than condition variables.


Viewing a hidden view does not implicitly "keep" it

Does this issue occur when all extensions are disabled?: Yes

This is an elaboration of #95242. I'll argue in this issue that the intended behavior is a bug or a design flaw.
The issue is that when a view is hidden, it goes into a "Hide me now and ALSO hide me implicitly later and for all time when I lose focus in my container until someone explicitly 'keeps' me" state. If I didn't know about the surprising "keep" switch, I'd swear this was a bug - the view, as described in #95242, mysteriously disappears.
When a view is hidden and then later shown, I think the user is asking to show the view as it was before the hide (I think a very simple mental model). I can't speak for the whole world, but I've shown this behavior to others and they all scratch their head about this. Why does the view disappear when you click another tab in the container? It's a bug! Turns out, it's by design. But this is surprising, unintuitive behavior.

When a user hides a view, the view can be re-shown for various reasons, a lot of which are ephemeral. The existing behavior has been around for quite some time, and while I can understand the mismatch of expectations, its not something I've seen a lot of complaints about and changing that behaviour would raise a lot of alarm.
@sandy081 if he has any thoughts here

I share same thinking as @sbatten.

Understandable - thanks for the clarification!


syzbot: bug reproduction is broken for v6.1 LTS

https://syzkaller.appspot.com/linux-6.1
For some yet unknown reason, in every bug reproduction attempt, syzbot is only able to trigger INFO: rcu detected stall in corrupted. Therefore, we end up finding almost no new reproducers for already quite a long time.
On the other hand, on Linux v5.15 LTS everything seems to be working well: https://syzkaller.appspot.com/linux-5.15

Tested the syz repros on the lates syzkaller verison, but on an older LTS version from the time when we did find reproducers (v6.1.87). It still crashes as INFO: rcu detected stall in corrupted.
At the same time, running on a random old syzkaller revision (059e9963) did prevent it from crashing.
Syzkaller commit bisection points to
commit 0b3dad4606c0984ce2d81ba5dd698fa248ce91b8 (HEAD)
Author: Dmitry Vyukov<EMAIL_ADDRESS>Date:   Fri May 3 10:16:58 2024 +0200

    pkg/vminfo: move feature checking to host

The problem also surprisingly doesn't affect other LTS kernels and the mainline, so I could bisect the kernel from v6.1 to v6.6.
So, we no longer trigger the INFO: rcu detected stall in corrupted when running syz-execprog after this kernel commit:
commit d772781964415c63759572b917e21c4f7ec08d9f
Author: Jakub Kicinski<EMAIL_ADDRESS>Date:   Thu Jan 5 22:33:54 2023 -0800

    devlink: bump the instance index directly when iterating

    xa_find_after() is designed to handle multi-index entries correctly.
    If a xarray has two entries one which spans indexes 0-3 and one at
    index 4 xa_find_after(0) will return the entry at index 4.

    Having to juggle the two callbacks, however, is unnecessary in case
    of the devlink xarray, as there is 1:1 relationship with indexes.

    Always use xa_find() and increment the index manually.

    Signed-off-by: Jakub Kicinski<EMAIL_ADDRESS>    Reviewed-by: Jiri Pirko<EMAIL_ADDRESS>    Signed-off-by: David S. Miller<EMAIL_ADDRESS>
 net/devlink/core.c          | 31 +++++++++----------------------
 net/devlink/devl_internal.h | 17 ++++-------------
 2 files changed, 13 insertions(+), 35 deletions(-)

Bisection log
$ git bisect log
git bisect start
# status: waiting for both good and bad commits
# good: [830b3c68c1fb1e9176028d02ef86f3cf76aa2476] Linux 6.1
git bisect good 830b3c68c1fb1e9176028d02ef86f3cf76aa2476
# status: waiting for bad commit, 1 good commit known
# bad: [ffc253263a1375a65fa6c9f62a893e9767fbebfa] Linux 6.6
git bisect bad ffc253263a1375a65fa6c9f62a893e9767fbebfa
# bad: [b68ee1c6131c540a62ecd443be89c406401df091] Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
git bisect bad b68ee1c6131c540a62ecd443be89c406401df091
# good: [8ca8d89b43caf9a02a18414d6eeff966d2b14512] Merge tag 'cgroup-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
git bisect good 8ca8d89b43caf9a02a18414d6eeff966d2b14512
# bad: [60e2bf7d10e9cd5641f4a5183a19058d9a2c8782] Merge tag 'input-for-v6.3-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
git bisect bad 60e2bf7d10e9cd5641f4a5183a19058d9a2c8782
# bad: [307e14c039063f0c9bd7a18a7add8f940580dcc9] Merge tag '6.3-rc-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
git bisect bad 307e14c039063f0c9bd7a18a7add8f940580dcc9
# bad: [d1fabc68f8e0541d41657096dc713cb01775652d] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
git bisect bad d1fabc68f8e0541d41657096dc713cb01775652d
# bad: [8b6f322e47ba4ac95b63bff1fcdd0d3f85fbc61b] Merge branch 'net-sched-transition-act_pedit-to-rcu-and-percpu-stats'
git bisect bad 8b6f322e47ba4ac95b63bff1fcdd0d3f85fbc61b
# bad: [306f208259ff7a89c022f1e5f5d2144b0ccb236c] dt-bindings: net: asix,ax88796c: allow SPI peripheral properties
git bisect bad 306f208259ff7a89c022f1e5f5d2144b0ccb236c
# bad: [fab89bafa95b6f333b0e2dca0ae07a0b3600e954] virtio-net: support multi-buffer xdp
git bisect bad fab89bafa95b6f333b0e2dca0ae07a0b3600e954
# bad: [4a753ca5013d465694d6639fbe1378831a399bda] selftest: mptcp: exit from copyfd_io_poll() when receive SIGUSR1
git bisect bad 4a753ca5013d465694d6639fbe1378831a399bda
# good: [4aea86b4033f92f01547e6d4388d4451ae9b0980] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
git bisect good 4aea86b4033f92f01547e6d4388d4451ae9b0980
# bad: [870c7ad4a52be2acff92d0355ca118654c7efece] devlink: protect devlink->dev by the instance lock
git bisect bad 870c7ad4a52be2acff92d0355ca118654c7efece
# good: [623cd13b165486afaa2df706d49209392f3764ca] devlink: split out netlink code
git bisect good 623cd13b165486afaa2df706d49209392f3764ca
# good: [c9666bac537e0f98ce15ea57c5fb25fc0a9a29b1] devlink: restart dump based on devlink instance ids (function)
git bisect good c9666bac537e0f98ce15ea57c5fb25fc0a9a29b1
# good: [3d759e9e24c38758abc19a4f5e1872a6460d5745] Merge branch 'devlink-code-split-and-structured-instance-walk'
git bisect good 3d759e9e24c38758abc19a4f5e1872a6460d5745
# bad: [d772781964415c63759572b917e21c4f7ec08d9f] devlink: bump the instance index directly when iterating
git bisect bad d772781964415c63759572b917e21c4f7ec08d9f
# good: [6b754d7bd007c5f68fbb2d9abd5c00d253b033d0] sysctl: expose all net/core sysctls inside netns
git bisect good 6b754d7bd007c5f68fbb2d9abd5c00d253b033d0
# first bad commit: [d772781964415c63759572b917e21c4f7ec08d9f] devlink: bump the instance index directly when iterating

The patch does not apply nicely to v6.1.y and here's actually a fresh discussion on backporting it<EMAIL_ADDRESS>

The patches are backported now and syzbot is able to find reproducers on v6.1 again.


[Feature Request]: Support for ZIP Compression during writes

What would you like to happen?
Beam supports reading ZIP files but lacks the support for writing ZIP files.  Can the support be extended to writes as well?
Issue Priority
Priority: 2 (default / most feature requests should be filed as P2)
Issue Components

[ ] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

This should be trivial. Not sure why it was not supported in the first place. If interested feel free to open a PR for this; or I can work on it when have time

I have looked into adding ZIP support. The only non-trivial part of it is that ZIP is not simply an encoding, it is a container with files. So that's how it differs from other encoding-only compressions that have been supported before.
Interface for writeCompressed (https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Compression.java#L129-L132) does not offer a file name, so we would have to either:

Create a dummy ZipEntry with a hardcoded name (e.g., uncompressed, raw, etc)

Change the interfaces and IOs to pass on the file name that will be stored in the ZIP file.

cc @Abacn


Fix pool index computing

@pdtwonotes Can you test this change and see if it fixes #1517 for you?

Apparently this doesn't fix the whole problem.

@pdtwonotes I've fixed another bug. Can you test that?

  This is getting involved and I
would hate to make typos.  My git-fu is not up to locally merging a fix
from another repo, can you give me the steps?

##SELECTION_END##—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for digging into this whole mess @pdtwonotes. I'll add some tests for ponyint_pool_index to this PR to make sure it won't break again.

@Praetonus does this impact on anything other than 32 bit platforms?

@SeanTAllen Yes, the memory consumed by ponyint_pool_alloc_size when the size is a power of 2 is reduced on both 32 and 64 bits systems.


BUG: take 20% of real data for training data instead of generated data

take 20% of real data for training dataset


Resolve Unable to build project depending on Zappa via pip-compile (#1102)

Description
:fire: remove failing assert (doesn't appear to be necessary)
:recycle: move placebo requirement to dev-packages
:wrench: set placebo requirement to "<0.11.0" (current version is 0.10.0)
GitHub Issues
#1102

testcase currently failing due to the test_handler testcase, which is dependent on the current released version of zappa.
.......ERROR: Cannot install placebo==0.10.0 and zappa==0.55.0 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
WARNING: You are using pip version 22.0.4; however, version 22.2.2 is available.
You should consider upgrading via the '/home/runner/work/Zappa/Zappa/.venv/bin/python -m pip install --upgrade pip' command.
E...................
======================================================================
ERROR: test_slim_handler (tests.tests.TestZappa)

Not sure what the best way to work around this is at the moment.

Ok, I investigated this a bit, and it appears that zappa's kappa dependency has a placebo dependency, and therefore can't be removed as a dependency.
kappa is way out of date, and should be replaced... unfortunately, it's used pretty heavily in zappa.


Property does not exist on type '[{ type: PropType; required: true; }]

This is a continuation of another issue where I bundled a few issues together which I probably shouldn't have done because it makes it hard to track.
I once again would like to offer my reproduction of this issue: https://github.com/Ragura/vue-issue-repro
The reproduction includes 3 components, of which 2 are important to this issue: DropdownDestructuring and DropdownTraditional.
Both components show the error: Property 'id' does not exist on type '[{ type: PropType<T>; required: true; }] extends [Prop<infer V, infer D>] ? unknown extends V ? IfAny<V, V, D> : V : { type: PropType<T>; required: true; }'.
Code that shows the error looks like this:

<template>

{{ title }}

  <select @change="updateSelected">
    <option
      v-for="option in options"
      :key="option.id"
      :value="option.id"
      :selected="modelValue.id === option.id"> <-- ERROR HERE!
      {{ option }}
    </option>
  </select>
</template>

For the options prop, the id of each array item is being recognized, even though it also originates from T.
I am using the following:
vue-tsc: 1.7.11
vue: 3.3.4
Vue Language Features extension version 1.7.11, running takeover mode pointed to local vue-tsc typescript version 5.0.4.
Using VSCode insiders.

I had a similar issue that I posted here on StackOverflow
https://stackoverflow.com/questions/76571246/why-is-my-generic-v-for-key-giving-a-type-error-in-vue-3-3
My temporary solution was

I'm also having this issue.
Minimal reproduction:
<template>
foo

</template>

The type checking works correctly within the script block. I can work around this issue by adding a computed ref which returns the key property for the value & target props.
<template>
foo
</template>

I've got this issue as well, it seems only to apply though when you use the prop directly via macro.
Minimal reproduction with workaround:

<template>
  <NumberInput :value="genericNumber" />
  <NumberInput :value="props.genericNumber" />
</template>

Duplicate of #3820

Please track in #3820.


Support glob patterns when compile .proto files

Feature Request
Crates
tonic-build
Motivation
It's boring to add .proto files to compile one by one.
Proposal
Use glob crate to match .proto files.
Alternatives
Compile .proto files under some directory.

The paths are actually passed directly to prost. That is done here. So perhaps it would be better to add glob support there. Would you mind filing an issue with prost instead?


Curriculum update needed on links-and-images.md

The Odin's file, links-and-images.md is updated. Please update the Kampus' file, checkout file here links-and-images.md
Latest commits:

Correct 3 instances of small grammar errors when using "a" instead of "an" within the Working With Text and the Links and Images lessons (#27250) (additions: 2, deletions: 2) on Feb 1 2024, 14:56 UTC
Foundations: Replace knowledge checks in links and images (additions: 9, deletions: 16) on Jan 20 2024, 04:00 UTC
Foundations: unify descriptions replacing WSL with WSL2 to be specific (#27130) (additions: 35, deletions: 29) on Jan 16 2024, 16:02 UTC

Dublicated issue


Update readme.md to fix broken demo link

The current demo link for the HardeningKitty Interface is broken - this updates it to a working URL for the Windows version

Thx for the update


Merge Casing Issue

Hello Chris,
I am working on Errant for Czech and found the following line problematic:
https://github.com/chrisjbryant/errant/blob/6c0d521217f31177a359af7c11d96898a61e7c48/errant/en/merger.py#L64
The issue is that it is True even if start != 0 (if (len(c) == 1 and o[0].text[0].isupper()) gets evaluated to True.
In such case, return on lines 66-67 will omit "the preceding part of combo".
I suppose that the fix is to enforce start == 0 by adding a pair of brackets:
if start == 0 and ((len(o) == 1 and c[0].text[0].isupper()) or \
                    (len(c) == 1 and o[0].text[0].isupper())):

Turns out it wasn't a bracketing issue, and #28 found some other problems. I've fixed it now though and will push an update shortly!

Fixed in v2.3.0


fix: multiple desktops

I don't use virtual desktops or activities. This is a worthy addition. Thanks.


Update slo-driven-deployment-governance.md

Since the feature OPA_PIPELINE_GOVERNANCE is now GA'd across all clusters I believe this could cause confusion with customers.
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[X] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Preview environment: https://ci.pr.harness.io/pr-690


feature/se-9-upload CMDI

Create a new drag and drop component for CMDI.

[ ] Create an upload drag and drop input field for the cmdi file.
[ ] Create a tests.

This issue is not required.


Add "Damaged Helmet" model.

/cc @moneimne

Looks like there are still a few issues with the model- Tangent4 and a bytestride of 0.

Yeah, I'm sure it's from an older exporter.  Actually when we first got it, the metalness map was in the red channel and had to be moved.  I don't have the original, but I suppose some minor manual cleanup should be possible.
I wonder if anyone has a working glTF 2.0 importer/converter yet?

Although I haven't tested it yet: Using a large, complex model as the default is questionable, IMHO. People (like me) with a slow connection might see a blank screen for several minutes. (Although, they won't: After one minute, they'll close the window). I think that a very simple model (maybe the spheres or some cube) would be preferable here, at least as long as there is not progress indicator. But maybe that's just me...

Using a large, complex model as the default is questionable

@javagl I agree we need loading/progress indicators and good performance.  But this new model is only 3.5 megs in size, to the BoomBox's 10 megs size.  So switching is a performance win here.

Looks like there are still a few issues with the model- Tangent4 and a bytestride of 0.

@sbtron I've managed to fix some problems.  I actually imported the model with @ksons blender importer, hooked up the existing textures and then re-exported it with the new Khronos Blender exporter.  Worked really well.
This should be ready to merge now.

@emackey @sbtron
Is it possible to add extra models from this repo (AppleTree, DamagedHelmet, FarmLandDiorama, Telephone, and WaterBottle) to glTF-Sample-Models?

@lexaknyazev The newly re-exported DamagedHelmet should be good to go.  When time permits I'll create a few variants of it (binary, embedded) and open a PR back to sample models.
I don't know the status of the other models.  They may be in need of similar import/export treatment to bring them up to date.  The WaterBottle in particular is used in a number of glTF slide presentations, but not available in the sample repo.

Is it possible to add extra models from this repo (AppleTree, DamagedHelmet, FarmLandDiorama, Telephone, and WaterBottle) to glTF-Sample-Models?

The AppleTree, FarmLandDiorama, Telephone, and WaterBottle are in my backlog. The first three have issues which is why they haven't made it in yet. I have a version of the WaterBottle ready, but haven't had time to submit it yet.

@moneimne if you're happy can you merge this?  Thanks!

Thanks, @emackey!


Made --version argument output consistent with AboutPage

When using chatterino --version it now also outputs commit (and date of build if on nightly), just like in Settings -> About:

I think it's a small useful addition, especially when you work with nightly builds and want to quickly identify version without having to launch the app and going to settings.

related: #43


Detection matrix input helper function

Added the discussed helper function to assist in forming the specific input requested by the GenerateDetectorProposalSaliency.generate() interface method.

LGTM, thanks all! Feel free to merge on green.


Module to make links in donations safer?

Module that parses incoming donations
Imgur has an API that can tell you if it's animated or not. API: https://api.imgur.com/endpoints/image
If it's animated, should we download the image and explode it?
Maybe there's a third party site that can do it for us?
Or - We set up a submodule, which lets moderators see incoming donations and links, and lets them verify links.
Forsen will see links as unverified (i.e. dangerous to click) until a moderator says it's ok

If a link is detected as a gif, we could simply change the link into the thumbnail link instead. This will make it static.

How do you feel about checking if the end of an animation is a static image? You could do some kind of checksum to see if anything changed in the last portion of frames and if this is detected you could flag that image. I know this wouldn't work for inappropriate animations at the end of a gif, but as of right now a lot of these animations end with an image of something... shocking

@idkm23 One issue with doing that is that few traps don't leave the static image at the end, instead they just reloop the original gif.
There are three options in the end I think, that are viable.
In order of what I think is best:

Manual confirmation
Explode GIFs
Filter out GIFs

@pajlada Can probably also be removed

Not relevant for pajbot1 anymore as we're out of the "donation api" business


Subscribe annotation fails for event on main thread

If you add @Subscribe annotation to your onEventMainThread method, it will publish the event on a thread different than the main thread.
I can see in the implementation that the threadMode default is PostThread.
{
public @interface Subscribe {
ThreadMode threadMode() default ThreadMode.PostThread;
}

Yes this is the intended behavior now.

What is the purpose of onEventMainThread() if it is not publishing in the main thread?

I am not sure what you are referring to, was this in the docs?
But just so you know, with annotations there is no longer a reason to name your methods onEvent or onEventMainThread.  You can name them anything and just annotate them.
So what used to be public void onEventMainThread(LoginEvent event)
is now:
@Subscribe(threadMode = ThreadMode.MAIN)
public void onLoginEvent(LoginEvent event)

@greenrobot this can be closed

Ok will test as soon as I can, thanks

@fabrice999 Cool, let me know if you have any other questions


Media keys do not work

Keys on the keyboard like "pause/play" do not work, but they do on the website (you can test with playerctl pause as well)

Should work in version 2.1.2


optimize container related configuration and documentation

I have done some optimization passes on the configurations and documentation related to containerization.

Containerfile changes

no longer executed as root user
use venv
update base image to cuda runtime 12.6.3
reduce image size by ~8Gi

dependencies are now installed in a single image layer
add .dockerignore to avoid copying local venv and similar irrelevant data into image

remove unnecessary Containerfile directives EXPOSE, ENV UID, GID, UMASK

documentation changes

add docs for running UltraSinger with Podman, my personally preferred container engine
move all containerization related docs into separate README.md file

the Docker related docs have been mostly just moved, these could use some extra attention

Nice! Thanks @BWagener!
Does this filename changes works with our .github/workflows/docker.yml  ?

Nice! Thanks @BWagener! Does this filename changes works with our .github/workflows/docker.yml ?

My bad. Its for the user :D

Yes! Sorry about the late response!


Add s status badge

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: jmaquieira-basecodeit sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Separated and independent framework features

Description
Separate framework features and make them independent, namely in actuator, so they can be turned on and off without affecting each other. Each actuator feature has its own config.
Type of change

[x] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing (regression) unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

@Nemikor Please include those values in the README.md file with the other configuration properties


feat(flipt): Add Flipt provider in openfeature-js

This PR
Add Flipt openfeature provider.

adds this new feature

Related Issues

Notes

Follow-up Tasks

How to test

Hey @yquansah, thanks for the PR. I've left some feedback. Please let me know if you have any questions!

Could you also please add yourself as the component owner? This will automatically add you as a reviewer to any change that affects this provider.
https://github.com/open-feature/js-sdk-contrib/blob/main/.github/component_owners.yml

@beeme1mr Thanks for the review! I am going to address these today

@yquansah please add @flipt-io/flipt as a dev dependency in the root package.json. It's worth nothing that the published artifact will have it set as a peer dependency.

@beeme1mr Thanks!!

Thanks all 🙏🏻


Add JACS CKD2 inputs

Input submission checklist

[x] created a directory for each system based on the template directory
[x] named and placed the directory with the following pattern: input_structures/prepared_structures/<set_name>/<system_name>

For each submitted directory:

[x] filled in system preparation details in the PREPARATION_DETAILS.md file
[x] added a PDB file with the protein named protein.pdb
[x] removed any cofactors from the PDB file and placed them in cofactors.sdf
[ ] did not re-protonate the residues, but left protonation state of the protein unchanged
[x] kept cystallographic waters and metals in the PDB file
[x] tested the PDB and, if available, cofactors.sdf file using the input validation script
[x] copied over the ligands SDF file to a file named ligands.sdf and removed any duplicate binding modes or protonation states, keeping the more favorable state

Summary of changes

Licensing agreement

[x] I agree to release these inputs under the combined MIT and CCBY SA 4.0 licenses of this repository

@hannahbaumann caps have been renamed & resids fixed


incompatibility with I2S

It appears raspi-io can not be run in parallel with a device using I2S on the RPi 3.
I am using Adafruit's speaker bonnet (https://learn.adafruit.com/adafruit-speaker-bonnet-for-raspberry-pi/overview). When I use raspi-io, the sound coming out of the bonnet is slowed down (seems like a sampling speed issue).
The bonnet uses GPIO pins 18,19, and 21, which I ignore when setting up the board (otherwise the board does not work at all).

This most likely cause of this issue and an explanation of how it can be resolved can be found at https://github.com/joan2937/pigpio/issues/87.

Thanks for the report, and sorry we couldn't help more. I added a note to the README documenting this limitation.

You might try something like https://learn.adafruit.com/usb-audio-cards-with-a-raspberry-pi/instructions, which should get around this limitation.

@nebrius In theory it should be possible to resolve this issue. The pigpio Node modules allows you to configure whether the PCM or PWM clock is used for "software" PWM with the configureClock method.
If the Raspi-IO constructor provided an option for specifying which clock to use then either:
pigpio.configureClock(5, pigpio.CLOCK_PCM);

or:
pigpio.configureClock(5, pigpio.CLOCK_PWM);

could be called based on that option.
If the PWM clock is used I2S should work.
That's the theory. I don't have the required hardware to test this to see if it works in practice.

@fivdi I can do the test since I've got plenty of RPis and an oscilloscope, although it'll...uhh...be quite a while due to travel. I'll keep this issue open as a reminder to look into it in early June.

thanks for the updates - if you need help testing a fix out happy to

@nebrius Any luck with the testing?

@darweshsinghcgi ack, sorry, this slipped through the cracks and I haven't even started yet 😓
I'll try and get to it soon, before JSConf US in a little over a week.

I'm not sure how to test it but I have a RPi, I2S mic, and piezo on order...let me know if I can be of any help.

So I finally got around to testing this...and...changing the clock mode to PWM causes raspi-pwm to crash as soon as it calls hardwarePwmWrite. @fivdi, it would appear that PWM mode makes it impossible to use the hardware PWM for PWM output, does this match up with your understanding?
Error: pigpio error -100 in gpioHardwarePWM
    at Gpio.hardwarePwmWrite (/home/pi/raspi-test/node_modules/pigpio/pigpio.js:90:12)
    at PWM.write (/home/pi/raspi-test/node_modules/raspi-pwm/dist/index.js:131:19)
    at RaspiIOCore.pwmWrite (/home/pi/raspi-test/node_modules/raspi-io-core/dist/index.js:598:30)
    at RaspiIOCore.analogWrite (/home/pi/raspi-test/node_modules/raspi-io-core/dist/index.js:589:12)
    at Led.value (/home/pi/raspi-test/node_modules/johnny-five/lib/led/led.js:113:19)
    at Led.value (/home/pi/raspi-test/node_modules/johnny-five/lib/led/led.js:100:14)
    at Led.brightness (/home/pi/raspi-test/node_modules/johnny-five/lib/led/led.js:272:8)
    at pwmTest (/home/pi/raspi-test/src/index.js:64:7)
    at Board.<anonymous> (/home/pi/raspi-test/src/index.js:123:11)
    at <anonymous>

it would appear that PWM mode makes it impossible to use the hardware PWM for PWM output, does this match up with your understanding?

@nebrius yes, this is the case. The pigpio C library documents this restriction here. Unfortunately the pigpio Node.js module doesn't document the restriction.

Thanks. I have an idea for fixing this, but it'll require some re-architecting, so stay tuned folks.
What I'm thinking now is that I'll change the behavior of enableSoftPwm so that it only uses software based PWM and ignores hardware based PWM entirely, even on pins that support it. Then, I can remove all the hardware/software PWM logic from raspi-io-core and add some (much simpler) PWM logic to raspi-io. This'll actually be nice, since it'll make raspi-io-core simpler and more platform independent. It'll take some time though, so a little more patience everyone.

Thinking about this more, I really should do https://github.com/nebrius/raspi-io-core/issues/6 first before tackling this issue to make sure there aren't other regressions.

Whew, that took a long time, but the rewrite of Raspi IO is complete, and a fix for this is (theoretically) in! Can you test out Raspi IO v10.0.1 to verify? Note that there are some breaking changes with v10.

I'm closing this issue as it seems the problem has been resolved. Please reopen if you are still experiencing issues.


Phase 2

Fixes to issue #98 and final test errors caused by the unit tests not being able to click on the invite button. This was due to changes that now require projects have an approved system allocation before new users can be invited.

merged into 98-invite-alert


npm run generate route small bug

in route.hbs it should be:
System.import('components/{{ properCase component }}')
not:
System.import('{{ properCase component }}')
as first time users will have their build fail if they just create a route and point it to a component that is in their components folder.

Very good catch! Would you mind submitting a PR that fixes this bug?

would be glad to

#363


Adding java version to user agent header.

I moved the logic to get the java version to BigtableConstants.  PTAL.

LGTM


updated laudanum to v1.0

Source:- https://downloads.sourceforge.net/project/laudanum/laudanum-1.0/laudanum-1.0.tgz

@g0tmi1k can you look into this?

Thank you!


[AutoDiff] Add Optional support to reverse mode

Reverse mode autodiff now works on Optionals, i.e. switch_enum and switch_enum_addr SIL instructions are supported now.

cc @dan-zheng

Is there a reason why Optional is being specially treated rather than supported via differentiating switch_enum on any differentiable enum type?

No strong reason, other than to start progress on Optional differentiation until a general switch_enum differentiation approach is clear.
We discussed a general switch_enum differentiation approach offline, which seems promising. How about landing this PR with special-case Optional support in the meantime? The Optional differentiation test cases are valuable and should continue to pass if we generalize the approach.

We discussed a general switch_enum differentiation approach offline, which seems promising. How about landing this PR with special-case Optional support in the meantime? The Optional differentiation test cases are valuable and should continue to pass if we generalize the approach.

Sure.

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 8ef40bb4ec355187199d0d4f0cd199abc14d358d

Build failed
Swift Test OS X Platform
Git Sha - 8ef40bb4ec355187199d0d4f0cd199abc14d358d

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 4a0dc6113482499a5902bbe2c43c2c44e7d66872

Build failed
Swift Test OS X Platform
Git Sha - 4a0dc6113482499a5902bbe2c43c2c44e7d66872


added LongestCommonSubsequence.cpp in dynamic programming and updated…

… README.md
Related Issue

Added Longest Common Subsequence in D-Dynamic Programming and updated the README.md with the explanation of the mentioned problem. (Issue : #64 )

Proposed Changes

Added Longest Common Subsequence problem to Dynamic Programming.
Updated README.md

Additional Info

Any additional information or context

Checklist

[x] ✅ My code follows the code style of this project.
[x] 📝 My change requires a change to the documentation.
[x] 🎀 I have updated the documentation accordingly.
[x] 👀 I have read the CONTRIBUTING document.
[ ] ✨ I have added tests to cover my changes.
[ ] 🚩 All new and existing tests passed.
[x] 🌟 ed the repo

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Output Screenshots

Screenshot #1
Screenshot #2

Output - 1 for Longest Common Subsequence
Output - 2 for Longest Common Subsequence

@Lakhankumawat can you please check and merge this PR as part of GSSoC 2022.

@Lakhankumawat

@Lakhankumawat any updates?

All checks passed, code seems to work fine, can you make your description a bit  elaborate and we are good to go .

@miraj0507 description in the README.md ?

@miraj0507 can you please clarify.

Hey @sebinfrancis7.
Could you please write the readme in your own language rather than directly copying from the source?

@n4i9kita sure

The code and the readme look good to me. We can proceed further.

@all-contributors please add @sebinfrancis7 code ,

LGTM 🌟💯
Nice Work @sebinfrancis7  keep contributing
You can Improve your contribution further and then your code will be directly merged by me if everything looks okay > Tag me on discord if you have made any other good Prs like this , but make sure they follow all the guidelines and are not incomplete .

Sure @Lakhankumawat


Is encrypted DB access possible via Knex using SQLite and SQLCipher?

Does anyone have any experience (hints or direction they can pass along) for encrypting and accessing an encrypted SQLite database via Knex?
From a couple different pieces of documentation, it appears I need to:

build a version of sqlcipher for my OS/hardware.
build a version of SQLite3 including the sqlcipher library.
... (Knex relevant portion) figure out the specific commands to use through Knex for db connection/decryption (These would appear to be relevant when you 'connect', so not called on each db access - perhaps only once in the main/startup program (server.js)? And would probably have to be called using the 'raw()' function?

Any guidance would be appreciated  (even: "you can't get there from here") , to minimize my trial & error implementation attempts.

Stackoverflow or sqlcipher forums would be better place to ask this kind of support. This doesn't have much to do directly with knex and github issues are for development issues.
If you figure out that knex requires some new feature to support this, please open a feature request for that specific thing.
I'm closing this, but if anyone likes to comment or discuss more about this please feel free to do so.

I've solved this now, and thought I would share it here in case anyone may find it useful in the future.
After you build the SQLCipher source and the npm SQLite3 package, and encrypt your DB (look elsewhere for these things), then anytime you open your database, you need to provide your encryption key using the SQL statement:
PRAGMA KEY = 'secret'
This PRAGMA is more completely documented in the SQLCipher site. When working with KNEX this is best done when opening the DB, via the following:
const myDBConfig = { client: "sqlite3",
               connection: {
                    filename: "myEncryptedSQLiteDbFile.db"},
               pool: {
                   afterCreate: function(conn, done) {
                   conn.run("PRAGMA KEY = 'secret'");
                   done();
                }
              }
};
const knex = require('knex')(myDBConfig);

Of course embedding the key value in your code is a poor security practice. More appropriate is to retrieve the 'secret' from elsewhere.
The key KNEX thing to note here is the "afterCreate" function. This is documented in the knexjs.org site, but is not in the Table of Contents at this time, so do a browser find when on the site to get to it. It allows auto-updating DB settings when creating any new pool connections (of which there will only ever be one per file for KNEX-SQLite).
If you don't use the "afterCreate" configuration, then you will need to run a knex.raw statement with each and every SQL you execute, something like as follows:
    return knex.raw("PRAGMA KEY = 'secret'")
        .then(() => {
            return knex('some_table').select()
                .on('query-error', function(ex, obj) {
                    console.log("KNEX select from some_table ERR ex:", ex, "obj:", obj);
                })
        });

Regards, Gary.

I've solved this now, and thought I would share it here in case anyone may find it useful in the future (and my apologies for the minor misuse of this issue log).
After you build the SQLCipher source and the npm SQLite3 package, and encrypt your DB (look elsewhere for these things), then anytime you open your database, you need to provide your encryption key using the SQL statement:
PRAGMA KEY = 'secret'
This PRAGMA is more completely documented in the SQLCipher site. When working with KNEX this is best done when opening the DB, via the following:
const myDBConfig = { client: "sqlite3",
               connection: {
                    filename: "myEncryptedSQLiteDbFile.db"},
               pool: {
                   afterCreate: function(conn, done) {
                   conn.run("PRAGMA KEY = 'secret'");
                   done();
                }
              }
};
const knex = require('knex')(myDBConfig);

Of course embedding the key value in your code is a poor security practice. More appropriate is to retrieve the 'secret' from elsewhere.
The key KNEX thing to note here is the "afterCreate" function. This is documented in the knexjs.org site, but is not in the Table of Contents at this time, so do a browser find when on the site to get to it. It allows auto-updating DB settings when creating any new pool connections (of which there will only ever be one per file for KNEX-SQLite).
If you don't use the "afterCreate" configuration, then you will need to run a knex.raw statement with each and every SQL you execute, something like as follows:
    return knex.raw("PRAGMA KEY = 'secret'")
        .then(() => {
            return knex('some_table').select()
                .on('query-error', function(ex, obj) {
                    console.log("KNEX select from some_table ERR ex:", ex, "obj:", obj);
                })
        });

Regards, Gary.

How did you make it work with encrypted db? It says "file is not a database"

@glogan91 I've added slightly adjusted version to recipes https://github.com/tgriesser/knex/wiki/Recipes, could you please review it?

@kibertoad You bet. I'll examine & run it in my env in the next day or so.

@kibertoad - It looks great to me!
@OneOfCats - If you post your problem on stack exchange, tag it with "knex.js" and include the code you've attempted, I'll look and see if I can help.

this stopped working for me with:
Unhandled rejection Error: SQLITE_NOTADB: file is not a database
file is getting decrypted just fine manually via sqlcipher

this stopped working for me with:
Unhandled rejection Error: SQLITE_NOTADB: file is not a database
file is getting decrypted just fine manually via sqlcipher

Not working for me too.

I've solved this now, and thought I would share it here in case anyone may find it useful in the future (and my apologies for the minor misuse of this issue log).
After you build the SQLCipher source and the npm SQLite3 package, and encrypt your DB (look elsewhere for these things), then anytime you open your database, you need to provide your encryption key using the SQL statement:
PRAGMA KEY = 'secret'
This PRAGMA is more completely documented in the SQLCipher site. When working with KNEX this is best done when opening the DB, via the following:
const myDBConfig = { client: "sqlite3",
               connection: {
                    filename: "myEncryptedSQLiteDbFile.db"},
               pool: {
                   afterCreate: function(conn, done) {
                   conn.run("PRAGMA KEY = 'secret'");
                   done();
                }
              }
};
const knex = require('knex')(myDBConfig);

Of course embedding the key value in your code is a poor security practice. More appropriate is to retrieve the 'secret' from elsewhere.
The key KNEX thing to note here is the "afterCreate" function. This is documented in the knexjs.org site, but is not in the Table of Contents at this time, so do a browser find when on the site to get to it. It allows auto-updating DB settings when creating any new pool connections (of which there will only ever be one per file for KNEX-SQLite).
If you don't use the "afterCreate" configuration, then you will need to run a knex.raw statement with each and every SQL you execute, something like as follows:
    return knex.raw("PRAGMA KEY = 'secret'")
        .then(() => {
            return knex('some_table').select()
                .on('query-error', function(ex, obj) {
                    console.log("KNEX select from some_table ERR ex:", ex, "obj:", obj);
                })
        });

Regards, Gary.

How did you create the SQLCipher source? I followed this guide to create an SQLCipher source with a passphrase. And I tried to connect to it using Knex.js, but it is not working.

Anyone found a fix for this?


setup.py: Parse version from _proj.pyx

This makes _proj.pyx have the only copy of __version__.  The with statement requires Python 2.5.  If desired, I'll refactor the code for Python 2.4 support.  My intent is to remove one step from the process of updating the version number.
Here's what pip outputs:
C:\Users\mcochran\github\pyproj>pip install .
Processing c:\users\mcochran\github\pyproj
Installing collected packages: pyproj
  Running setup.py install for pyproj ... done
Successfully installed pyproj-<IP_ADDRESS>

Looks like pip recognizes the version number.

Thank you.


Detached Root Data Store creation

Can you add a brief description on the motivation for this change?  So anyone who chances upon the PR/commit doesn't need to crossreference for missing context 🙂


Evaluate integrating with paperoni

paperoni allows searching for scientific papers and downloading their corresponding PDFs (when available). Evaluate possible ways to integrate with paperetl.

This doesn't seem like a good fit, project hasn't changed in over a year. Closing this issue.


parse needs tags, show a list that links to contributor task docs

I wonder if dreditor could do something like https://drupal.org/node/2013222#comment-7511433
And for any needs tags on an issue, have a section (near the summary?) that shows what the issue needs and links to the contributor task instructions to do them.
I guess dreditor would have to maintain a list of tags and the corresponding links to the contributor task documents.
why?

as a demo, to show d.o infrastructure people or motivate people to help those folks to implement it
might be useful on it's own as part of dreditor (but really the idea is to help new contributors and new, or potential new, contributors may not have dreditor)

mock up from @joelpittet

Dreditor is being decommissioned due to the lack of availability of current maintainers and the fact that Drupal.org is becoming more feature rich at a much faster rate than Dreditor itself now.
This decision was also partially made due to the amount of work (complete rewrite) it would take to create an "official" Firefox extension (#256).
If you already have the extension installed, it should continue working for a while until, inevitably,  the markup on Drupal.org changes. It will no longer be updated.
We understand that many of you love this extension, as do we. This isn't the end, in fact, it's a much brighter beginning. All the things we love about Dreditor can, and should, be moved into Drupal.org natively.
For more information, please follow: https://www.drupal.org/node/2779729

This issue was moved to dreditor/dreditor#50


Fix test issues WITH_ADDRESS_SANITIZER

Currently a number of tests fail if address sanitizer is enabled.

fixes have been merged.


Add support to only use on Forms (not override ContentAreaRenderer globally)

We used EPiBootstrapArea on an EPi 10-project.
I guess we have a special case that not plays well with this Nuget-package, at least on current version. We are using our custom renderer as ContentAreaRenderer in the Initialization, and EPiBootstrapArea-renderer was only used on Forms (overridden forms ascx in Views/Shared/ElementBlocks.
When we updated to EPi 11 and this Nuget-package the EPiBootstrapArea-renderer took over our instead of our custom renderer and messed rendering all over our site. So we had to override that, so our renderer was used as default ContentAreaRenderer.
But then the we couldn't get forms rendering to work, since @Html.RenderFormElements couldn't lookup and use the EPiBootstrapArea-renderer (the Exception about not correct renderer is thrown).
We would really appreciate if we could use this on forms only, so we don't need to override ContentAreaRenderer after EPiBootstrapArea has registered its renderer for ContentAreaRenderer and that @Html.RenderFormElements could be modified to lookup the EPiBootstrapArea:s renderer-instance differently if not registered as the implementation of ContentAreaRenderer.
Maybe register as a singleton for its own type and on RenderFormElements look up as you do, but instead of throw try to lookup the own type, and if that not working throwing an Exception that the EPiBootstrapArea isn't registered in known ways?

hi,
sorry for trouble - but that is kinda prerequisite to take over the world ;)
what i would recommend here is to create "composite" content area renderer that has knowledge about your custom renderer and bootstrap area renderer. this composite renderer then is set as main player and it's checking what content is being rendered and then depending on type uses either your custom renderer or bootstrap area one.
give it a try and please follow-up here on your journey.
thx

I second this request, with the slight modification that im looking to fallback to the default renderer for a specifik ContentArea.
Would I approach this a similiar way or have I overlooked something?

hi,
sorry for delay here.
basically there are 2 things you need to do in order to make Episerver Forms to be rendered by bootstrap renderer:

update packages to 5.2.1 (this will prevent exception for forms container block renderer to throw up if Bootstrap renderer is not installed in IoC as default CA renderer)
you will need to "silence" installed bootstrap renderer via interceptor.

[ModuleDependency(typeof(InitializationModule))]
public class SwapContentAreaRenderer : IConfigurableModule
{
    public void Initialize(InitializationEngine context) { }

    public void Uninitialize(InitializationEngine context) { }

    public void ConfigureContainer(ServiceConfigurationContext context)
    {
        context.Services.Intercept<ContentAreaRenderer>((_, __) => new ContentAreaRenderer());
    }
}

working sample could be found in sandbox project.


Can you plan to support Huawei HarmonyOS NEXT and Open HarmonyOS ArkTs programming language

Use case
Huawei HarmonyOS NEXT and Open HarmonyOS Not support android apk
Proposal
please Support Huawei HarmonyOS NEXT and Open HarmonyOS，ArkTs ,
doc：https://developer.huawei.com/consumer/cn/arkts

Flutter has no plan for this currently, you can check gitee.com/openharmony-sig/flutter_flutter to see if it helps. Please also see suggestion on https://github.com/flutter/flutter/issues/150536#issuecomment-2179766074.
Closing this as a duplicate of https://github.com/flutter/flutter/issues/38437


Is it possible to simulate a 400 or a 500 response?

I would like to simulate the scenarios where the API returns 400 and 500 errors.  The requirement is to test how the UI responds when it receives a 400 or a 500 from API. I have already have mocks implemented in my tests using protractor-http-mock module but would like to know  if it is possible to mock the 400 and 500 errors

Just setup the mocks with these return values.
  {
    request: {
      path: '/users/1',
      method: 'GET'
    },
    response: {
      status: 400
      data: {  }
    }
  }

See the full reference here: https://github.com/atecarlos/protractor-http-mock#schema

That's correct @Crevil . Did that solve your problem @arunbcodes ?


net: LookupSRV and search domains when name is empty

Using Go 1.4 on Linux x86_64 (Ubuntu).
I called the lookupSRV function in the "net" package, with
lookupSRV("service", "tcp", "") (empty name).
I expected this to lookup using my search domains ("_service._tcp.my.search.domain"), but it potentially seems to have queried it with an extra "." ("_service._tcp..my.search.domain").
Is this intended? Or am I just using the function in a strange way? The workaround I'm using right now is to call lookupSRV("", "", "_service._tcp") instead.

Have a change in review for this :smile:
https://go-review.googlesource.com/#/c/3569/

RFC 2782 clearly states that "Clients ask for a specific service/protocol for a specific domain (the word domain is used here in the strict RFC 1034 sense), and get back the names of any available servers." In mDNS, we use a new label "local." and in DNS-SD something more complicated. But those are requirements for protocols, not for built-in stub resolver implementation, API surfaces.
I wonder If we extend LookupSRV to be able to accept an empty string as a local domain or a wild card, what about other lookup APIs such as LookMX, LookupHost? Moreover, what if we extend both LookupSRV and LookupTXT to DNS-SD?
At this moment I have no concrete opinion on this issue, but fixing this issue with #8540 seems reasonable.

Hey @mikioh - thanks so much for the feedback (I also saw your comment on Gerrit).  I wouldn't mind making these updates and solving #8540.
Would love to discuss some more details about the change you are suggesting (implementing DNS-SD) - maybe we move to an implementation discussion over on that issue?


Json support?

I think JSON encode/decode can be a useful tool.
A similar API and implementation can be used from DOME
https://github.com/domeengine/dome/blob/main/src/modules/json.wren

I'm not sure about just gobbling up/duplicating things that other libraries already do well:

https://github.com/brandly/wren-json

Now if the question is should we perhaps vendor and compile those other libraries as part of essentials that would be an interesting discussion... but then we're getting into how packaging management should work... really perhaps essentials just adds wren-json to it's package.wren file and then when you install dependencies you get wren-json as part of things... we could perhaps wrap it (or just provide an import/export for conveience).
import "essentials" for JSON // imports wren-json from package

A similar API and implementation can be used from DOME

Do you have any idea of pros/cons vs the existing wren-json implementation?

When evaluating wren-json for DOME it wasnt selected mainly due to

Perfomance dealing with JSON files
API design

So it can be used as long as you are OK with delegating the maintainability and API design to third parties.
IMHO I prefer cohesive libs. So wren essentials can be a cohesive unit :)

Perfomance dealing with JSON files

This is for sure a consideration - have we seen if we can upstream those fixes into wren-json though?  The library author seemed quite willing to get my fixes for character encoding added...

as long as you are OK with delegating the maintainability and API design to third parties.

We don't have to delegate both.  We can wrap poorly designed APIs... and delegating the maintainability can actually be a BIG win, provided there is a maintainer whose serious about the project.
I've learned a lot since I've become maintainer of Highlight.js.   Owning the world sounds nice until you find out how much effort it takes to maintain it all.
@brandly any thoughts on this?

Does DOME use JSON for a lot of data/configs and such things?

normally they are used for game level and other game related data.
But not for the core engine as far as I know, just as a tool for game devs.

@clsource When you said it was faster I wasn't imagining you were simply wrapping an external lib... you should have said that outright I think. :-)  I think wren-json is pure Wren. :-)  Obviously there are real benefits to wrapping existing libraries - less code to maintain, just to name one benefit - not to mention the speed.
So that could easily tip me in favor of your JSON implementation.
So my next question would be:

Why not package it up as your own wren-fastjson package?
Could DOME then pull it in via package?
Could we also pull it in via package?

That way you're still the official maintainer of record - yet the rest of the ecosystem could easily pull in updates as JSON moves forward.
Thoughts?
CC @avivbeeri

I'm not sure exactly what kind of input you want from me here, but for context, DOME doesn't have any kind of package system. The json module, like all DOME's modules, is baked in to the engine. This isn't likely to change in the foreseeable future.

This isn't likely to change in the foreseeable future.

Ok. thanks.
@clsource Ok... so as the maintainer of the json module what I'd love to propose:

You have repo that houses the C and Wren code. (is it just those two files?)
Perhaps it vendors the PDJson (or perhaps Essentials does this?)
A script that can easily update the parts of Essentials that could be auto-updated.

IE the process I'd love to see for Essentials:

We vendor or (perhaps) git module wren-fastjson
We vendor or (perhaps) git module pdjson
Run a prepare script that updates the build stuff automagically (premake might be part of this)
Add a manual export of JSON however we want to do it in the Essentials library
./build

And upgrading the module would involve:

bumping the vendored copies
run preapre script
./build

Then you might have a tiny script that copies the critical pieces of wren-fastjson into DOME (for continued maintainence of it's own vendored copy)?
Thoughts?

The part I'm worried about is doing all this by hand... and then have no canonical copy of JSON (to track issues, bugs, etc)... making it impossible to know which version of the package/library Essentials is using, or DOME is using, etc...

I think DOME have it's own set of features that are tailored to the engine. So separating that dependency it would be messy. This can be a package tailored for wren-console, just inspired in the DOME implementation. 👍

This can be a package tailored for wren-console

Well if you made a repo I'd imagine it would have some easy way to copy the files into DOME... I'm assuming you maintain the copy there?  I'm guess that's just a tiny Bash script that copies two files perhaps - so that's the easy part.  Or maybe you're not even worried about doing it by hand it's so easy :-)

This can be a package tailored for wren-console

I'd love if it was just a package package, but we don't have all the pieces fully in place yet for binary libraries, which sadly means it has to be baked into wren-console... (so you'd have to install/vendor the package into our source tree, then compile, etc)...

I don't know if DOME would like to use a separated dependency for it's json encoder/decoder
since its coupled with the FileSystem class and C bindings
Example:

https://github.com/domeengine/dome/blob/main/src/modules/json.wren#L1
https://github.com/domeengine/dome/blob/main/src/modules/json.wren#L201

The best is just to create an independent package and see if in the future DOME would like to use it, depending on Avivbeeri's leadership.

its coupled with the FileSystem class

Ugh I hadn't even thought of that... :-)  Ugh, maybe me write once, share everyone was a pipe dream.

Wren is an emerging ecosystem so its expected to have some rough edges :)
I hope someday (not so far in the future) there would be more standarization between projects 👍
For now a simple json module inside wren-essentials can be done to supply json needs 💯

Ok, lets go for it. :-)  I'd still like to preferably version it somehow (I think that would be to your benefit, even if the code is slightly diff across projects - thoughts?)...  JSON.packageVersion or something... and then wren-console would likely expose that via it's Runtime API... but that's a different PR.
So I'm imagining:

Copy C and Wren files into src/modules
checkout pdjson into deps (but don't commit it, I still want to figure out if we should vendor or git submodule)
Update premake config
Rebuild make files
build?
Rejoice?

Does that sound about right? :-)  Then I'll figure out if we want to vendor it permanently (or fetch it during build) and do that part of it, then bump versions, then bump wren-console and we'll have JSON.  Yippy!

I think is best to version wren-essentials as a whole unit instead of a version of a single module. It would ease the version management in wren-console.
Git submodules works well enough in my opinion. The vendor thing would be needed only for the deps that does not have a git alternative.

Git submodules works well enough in my opinion.

I've heard horror stories and never used them a lot, so we'll see. :-)  I definitely don't find them as intuitive as the rest of git (and I know a lot of git) and i've run into caes where I had to hack my .git folder to back out weird situations befor...

I think is best to version wren-essentials as a whole unit

Oh I agree, that's not going away... but if you have a library that is 90% shared code between DOME, Wren-Console, other Wren project don't you think for your own purpose (and bug tracking) it would be useful to ay that the version of JSON bundled with DOME is 1.9 and the version bundled with wren-essentials is 2.0?
I mean perhaps we're too early for that yet, but it seems clear that as a maintainer you might want that - I certainly would.

But if the dep is just a single file or just C and H headers then copy pasting would be enough.

The fewer files the more open I am to vendoring, even though it's really a shell script kind thing ether way.

As far as I know wren-essentials main deps are wren and libuv if git submodules are cumbersome then I think is fine to those two deps be vendored in.
Wren has an amalgamated file that can be used instead of the whole directory :).
For Wren Only deps like wren-assert and wren-testie then those should be inside a modules directory since they are part of the core, and does not have huge amount of files.
For wren modules and its files then a directory can be used 👍
src/
  modules/
    mirror/
        mirror.c
        mirror.h
        mirror.wren
        mirror.wren.inc

Wren has an amalgamated file that can be used instead of the whole directory :).

Except I had to patch some of the source for our unique eval capabilities, so it's probably easier to keep using the Wren source tree for now (since it's already vendored) and libuv is also... I did it cause it was easy and I wanted to focus on the other moving pieces.
wren-assert
This is a dev-only dependency (and we will probably switch to wren-testie long-term, which bundles it's own expectation lib). So I think it can just be installed manually.
wren-testie
Testie isn't currently part of Essentials, are you saying it should be?  It's currently not even shipped with wren-console... wren-package is shipped just to make the getting start curve easier for newbies.
mirror.wren.inc
I don't believe in 100 of these files, which is why I generate a single combined .inc... and that's how I plan to keep it unless someone has really good arguments otherwise.  I'm not even 100% sure they should be in source control at all, but for now I see the expediency.
src/mirror/mirror./*
I'm not sold that modules that are only 2-3 files need a subfolder, so lets table that for later... or if you want to try and show me the way, then do that in your own JSON PR (src/json/*), but please don't move any of the other files around.  :-)

Hey, sorry I'm late! Sounds like you've already figured out a plan, but I'll share some thoughts.
wren-json aimed to be a nice parser that would parse plain strings. Really, I read Crafting Interpreters and just wanted to write a parser.
I'm guessing performance concerns are largely due to the fact that wren-json takes a string instead of streaming a file. Potentially there are parsing primitives that could be expose such that a file-streaming parser could be built on top of it. I would hesitate to tie it to the file system or to some non-standard stream primitive though.
I'll also mention that parsing JSON is a minefield, so anything we can do to avoid bringing more JSON parsers into the world should be considered!!
I'm pretty out of the loop with Wren these days, but let me know if I can be helpful!
p.s. What's the latest with modules/packages these days? Years ago, I started to implement a "package manager" on top of git, but the language wasn't really ready yet.

Really, I read Crafting Interpreters and just wanted to write a parser.

Great book!

I'm guessing performance concerns are largely due to the fact that wren-json takes a string instead of streaming a file.

You think? Instead of the fact that it's pure Wren vs Wren/C?

so anything we can do to avoid bringing more JSON parsers into the world should be considered!!

Probably a fair thought.  Since it already exists in DOME it's not exactly "more" though... also it's based on pdjson, so it's not even a pure re-implementation from scratch - rather just building on the C library for foundation.

but let me know if I can be helpful!

Your test suite was actually super helpful.  I just plugged in your test suite almost without changes and we're passing all but a single test. (the errors messages aren't the same, but we still flag the JSON errors themselves, which is what matters)

p.s. What's the latest with modules/packages these days? Years ago, I started to implement a "package manager" on top of git, but the language wasn't really ready yet.

I have written wren-package and it's bundled by default with wren-console... and is used for all the Exercism tooling/exercises... it uses git and all dependencies are shallow, but it seems to work well for lots of things... but I think we're still in the early stages.  Need more people to show up and want to use Wren on the console for real work I think.


ci/Add code coverage

some details. Overall looks good.
@sebbi08 please also give your sense as you made the changes on the connector.


robots by default in docker

I like that Idea, r+

Thicky question but I'm curious about the use-case. Why do we need robots on for docker by default? I would expect only prod to need it on - but maybe I'm missing something.

If I understood that correctly we're deploying on dev via docker but correct me if I'm wrong, this way we can test robots easier on dev. At least that was what Iw as thinking.

@EnTeQuAk but settings make it off in -dev and stage [1]. I don't think we're deploying with docker yet anywhere.
[1] https://github.com/mozilla/olympia/pull/892/files#diff-077ac9806d2efe66b21b5db93d2a96b0R1153

The other thing is if we have robots on by default and any 3rd parties or devs stand-up olympia on the web and it gets crawled, they won't have all the content but we might get duplicate content on any pages that aren't provided by data. Not sure if that's an issue. At least if robots is off by default, turning it on would be a conscious decision in those cases.

I came along to write some code for robots.txt and was surprised to find it off by default, it made sense to me to have the most functionality on by default. I'm not quite sure I see the robots.txt on other sites being a problem, its all on different domains and won't have the same content right?

I came along to write some code for robots.txt and was surprised to find it off by default, it made sense to me to have the most functionality on by default. I'm not quite sure I see the robots.txt on other sites being a problem, its all on different domains and won't have the same content right?

I don't know the extent of content that would be the same - but here's the doc on duplicate content for future reference https://support.google.com/webmasters/answer/66359?hl=en.


resolved a lint error and handled some ignored errors in file_indexer

What is the purpose of this change? What does it change?
resolved a lint error and handled some ignored errors in file_indexer
Was the change discussed in an issue?
No issue

How to test changes?
just check if the index file is created correctly

just check if the index file is created correctly

@girishramnani Which index file and how ?

just check if the index file is created correctly

@girishramnani Which index file and how ?

+1. Have the same query

/retest

/retest

/retest

/retest

@amitkrout @dharmit .odo/odo-file-index.json, introducted as part of the smart odo push https://github.com/openshift/odo/pull/1849

/retest

/retest

@amitkrout I think it would be good idea to add that as part of a separate PR. I can record this in an issue. But if you feel we need it as part of this PR then I can surely add it.

I think it would be good idea to add that as part of a separate PR.

Works for me. Please create a separate issue and assign to me. I will take care of that
/approve


Skip the cache

In a project of ours running 1.0, we still seem to be experiencing the same problem outlined in #19 and that was supposedly fixed in 0.4.0.
Question: What ae the ramifications of entirely removing the cache that seems to be at fault? We're not talking exceedingly high traffic here. As a side note, what is the recommended approach (if there is one) for switching out the cache for a different one that uses e.g. Memcache/Redis via AWS ElastiCache?

If you are seeing issues with the cache I would check the /tmp folder (Unix based os) where silverstripe outputs all the cache folders for your project. You could try deleting the temp ss folder and see if that resolves the issue or I'd make sure there are no weird write permissions that could keep the cache from generating/updating properly. You could also overwrite the _config/assets.yml file of this project in your project's app.yml to change the folder where the cache is written or how it is written. If you wanted to use redis or something else from League's flysystem caching options that is where you would configure it.
As to skipping the cache, just setting the adapters used by silverstripe to the non cached versions (PublicAdapter instead of PublicCachedAdapter...) should then skip the cache. In terms of performance issues, with out the cache essentially all urls have to be regenerated constantly for each image object, whether public or protected so if you are on a page that has a lot of images (say asset admin in the CMS) it will probably run extremely slow.

I work with @phptek. I think the key factor here is that this is a clustered environment with two SilverStripe instances. Currently each instance has it's own independent cache in its local tmp folder.
After uploading an image and publishing this can result in one instance's cache saying the image is published while the other says it's protected. This can then result in a broken image URL, depending on which instance subsequent website users hit.
If we continue using the cached versions of the adapters, I think they need to be using a cache store shared by all nodes in the cluster.

My recommendation then would be to use a predis or memcached adapter like the examples in https://flysystem.thephpleague.com/docs/advanced/caching/
In your local project you can extend the PublicCachedAdapter and PrivateCachedAdapter constructors to create the redis client or memcache client and then return the new cacheadapter instance.
You would then just have to set up your yml config to use this new custom cache adapter.

@obj63mc Thanks for the quick responses. We should be able to figure out an alternative cache implementation, using the default classes & config as a template.
However - should we wish to try and skip the cache entirely, we'd obviously need to override the module's YML config. From what you can tell, would the following work, without the additional constructor params etc?
We appreciate the potential for performance issues in the CMS' asset-admin, however, we're talking in the order of 10's of images, so we don't ancticiapte this to be a problem.
---
Name: my-app-s3-config
After:
  - '#silverstripes3-flysystem'
---

  SilverStripe\Assets\Flysystem\PublicAdapter:
    class: SilverStripe\S3\Adapter\PublicAdapter
  SilverStripe\Assets\Flysystem\ProtectedAdapter:
    class: SilverStripe\S3\Adapter\ProtectedAdapter

I haven't tested it but yes I believe that would work, you would just need to have -
SilverStripe\Core\Injector\Injector:

before the rest of the settings so -
SilverStripe\Core\Injector\Injector:
  SilverStripe\Assets\Flysystem\PublicAdapter:
    class: SilverStripe\S3\Adapter\PublicAdapter
  SilverStripe\Assets\Flysystem\ProtectedAdapter:
    class: SilverStripe\S3\Adapter\ProtectedAdapter


No error returned when the gradle build failed

Describing the bug
When I try to generate a SBOM on a directory with only a gradle build, if the build fail cdxgen does not returned a non-zero exit code.
Is it intentionnal ?
Reproducing the situation
I used this command:
cdxgen -r -o bom.json

And here are the logs :
Executing /builds/Lb-ys-Vx/0/path/gradlew dependencies in /path/project
Downloading https://services.gradle.org/distributions/gradle-7.2-bin.zip
..........10%...........20%...........[30](path/-/jobs/164554#L30)%...........40%...........50%...........60%...........70%...........80%...........90%...........100%

FAILURE: Build failed with an exception.
* Where:
Build file 'path/build.gradle' line: 21
* What went wrong:
A problem occurred evaluating root project 'name-project'.
> Could not get unknown property 'nexusUser' ...
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in [32](path/-/jobs/164554#L32)s
BOM includes 0 components

I know why the build fail, but here cdxgen does not fail.
I cannot use cdxgen -t java as I use cdxgen in pipeline.

When SCAN_DEBUG_MODE=debug is set, I got :
Executing path/gradlew dependencies in path/project

FAILURE: Build failed with an exception.

* Where:
Build file path/build.gradle' line: 21

* What went wrong:
A problem occurred evaluating root project 'name'.
> Could not get unknown property 'nexusUser' for Credentials [username: null] of type org.gradle.internal.credentials.DefaultPasswordCredentials_Decorated.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 500ms

1. Check if the correct version of java and gradle are installed and available in PATH. For example, some project might require Java 11 with gradle 7.
BOM includes 0 components

So the build fail and I have one more instruction to help. But at the end cdxgen still returned a 0 component BOM.

@ThiefaineM This is the existing behaviour and is unlikely to change due to the bundling where generating 0 bom is generally not considered an error by upstream tools.

Ok thank you for your answer !


Additional HLL Emission Options

There are two suggestions I would like to introduce.
Header Output

An option to specify the emission of a header file upon completion. This would include all the global variables and forward declarations instead of having a massive list of declarations at the beginning of the hll output file.

Split by Class/Namespace

An option to specify the emission of all detected class elements into a file of that name.
Any function or class that is detected to be within a namespace would be emitted into an output file within a folder with said namespace's name.
Each output file would additionally be output in a folder with the specified output name or the input filename by default.

These two options could greatly reduce the size and clutter of the emitted hll code. Retdec does a superb job of detecting classes from available rtti. Retdec is able to detect 444 classes from the game I am working with to learn from. Splitting the hll output by class would make it much easier to rebuild these classes and to keep track of what has been done.

Thanks for the suggestions, I like them both.


Add RobloxEmojis const enum

https://devforum.roblox.com/t/release-notes-for-541/1940089/5?u=osyris

Bikeshedding: I'd rename it to RobloxEmoji since all of the other enums appears in singular form


Migrate onBenchmark callback to ui_web

The onBenchmark callback is communicated between framework and engine by stuffing it into a global JS variable called _flutter_internal_on_benchmark, similar to how JSUrlStrategy used to work. We should migrate this to an explicit API in ui_web to avoid headaches with JS interop stuff.

The onBenchmark callback can be migrated to ui_web by following these steps:

Open the ui_web directory in your editor.
Create a new file called benchmark.dart.
Copy the following code into the file:

import 'package:flutter/foundation.dart';
/// A callback that is called when a benchmark is completed.
typedef BenchmarkCallback = void Function(
String name,
Duration duration,
);
/// Registers a callback to be called when a benchmark is completed.
void registerBenchmarkCallback(BenchmarkCallback callback) {
_benchmarkCallback = callback;
}
/// The callback that is called when a benchmark is completed.
BenchmarkCallback _benchmarkCallback;

In your app, call the registerBenchmarkCallback method to register the callback.
In your benchmark, call the benchmark method to start the benchmark.
In your benchmark, call the stop method to stop the benchmark.
The benchmark method takes two arguments: the name of the benchmark and the duration of the benchmark. The stop method does not take any arguments.
When the benchmark is complete, the onBenchmark callback will be called with the name of the benchmark and the duration of the benchmark.
Here is an example of how to use the onBenchmark callback:

import 'package:flutter/foundation.dart';
import 'package:flutter/ui_web.dart';
void main() {
// Register the callback.
registerBenchmarkCallback((name, duration) {
print('Benchmark $name completed in $duration.');
});
// Start the benchmark.
benchmark('My Benchmark', Duration(seconds: 1));
// Stop the benchmark.
stop();
}

I hope this helps!


[Windows] project fails to launch with editor after build

I followed all the instructions at https://carla.readthedocs.io/en/latest/how_to_build_on_windows/ very very closely.
I am trying to build Carla 0.9.5 (latest) with "make launch" using unreal 4.22.2 and Visual Studios 17.
I have all prerequisites installed (make, git, python 3.6 (x64)).
I am using the x64 Native Tool Command Prompt for Visual Studios 2017.
The build itself is completed successfully, but when opening the project with the unreal editor I receive the message : "The following modules are missing or built with a different engine version: CarlaUE4, Carla \n Would you like to rebuild them now?". After pressing "Yes" I get this message: "CarlaUE4 could not be compiled. Try rebuilding from source manually".
I tried "make rebuild" but it does not help.
What could I be missing ?!!

Did you clone the Unreal Engine repo and build it? If so, did you switch to the 4.22.2-release branch before building?

I'm on Windows so I installed unreal 4.22.2 from epic's app launcher. Do I have to build the engine from source?

Ok, I generated a visual studio solution from the uproject file and then I found cause of my error.
The xml file here %appdata%\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml was messed up.
The correct format should be:

VisualStudio2017

VisualStudio2017


decay with the value 0 is no longer displayed

🍰 Pullrequest
decay with the value 0 is no longer displayed.
the button is no longer displayed and there is no additional information about a transaction.
Issues

fixes #758

What about those, where you have two outgoing or incoming transactions shortly after each other?


Scafolding Models with bool Type Results in Error in CreateModel

I have found if I add a bool field to a data model - i.e.:
public class Customer
{
...
public bool CanBeContacted { get; set; }
...
}
Then generate the model:
dotnet aspnet-codegenerator razorpage -m Customer -dc ApplicationDbContext -udl -outDir Pages\Customers --referenceScriptLibraries
The reference is incorrectly generated as:
<input asp-for="Customer.CanBeContacted" /> @Html.DisplayNameFor(model => model.CanBeContacted))
When it misses out the model reference and also adds a superfluous closing bracket so it should be:
<input asp-for="Customer.CanBeContacted" /> @Html.DisplayNameFor(model => model.Customer.CanBeContacted)
This happens every time I try to add a bool field and run code generator so would seem to be a bug?
The fix is to add the model reference manually (the code is underlined as an error) then it works.
The same is true for the update page except the extra bracket is not also added.

This issue was moved to aspnet/Scaffolding#830


Simplify tempfile path in Rubocop linter

Why:

Ruby's Tempfile generates unique names for files in the system's
tmp directory.
Providing a specific path for the temfile will fail in situations
where the that directory doesn't exist on the filesystem.
This is the case is virtual situations, like with Hound CI.

Hey @gylaz, thanks for the pull request.
I don't think this change does what you think it does. Tempfile.open(filename, directory) creates a temporary file in directory. This is important, as when we run RuboCop against the temporary file it will automatically use the appropriate RuboCop configuration for files in that directory (since RuboCop allows you to use different .rubocop.yml configuration files for different directories). Moving the temporary file elsewhere prevents RuboCop from using the correct configuration on the generated Ruby file.
Thus I'm not clear on the original premise of this request—what are you seeing that suggests the directory does not exist? This should not be possible since the file is being created in the same directory as the original .haml file, which in theory must exist.

as when we run RuboCop against the temporary file it will automatically use the appropriate RuboCop configuration for files in that directory

Ah, I hadn't considered that. Thanks for a thorough explanation!

I don't think this change does what you think it does.

My intent was not to create the file in directory because it raises an exception in situations when the directory isn't present on the file syste. That is the case when haml-lint isn't ran as a cli, but its source is used for linting code (passing in the file contents). Here's an example of how we use haml-lint in HoundCI (we get the file content from GitHub): https://github.com/thoughtbot/hound/blob/master/app/models/style_guide/haml.rb#L40-L45
I'm not sure how best to handle it, perhaps monkey patching it for our situation would suffice. Any suggestions?

Ah, I see now. You are using Document in a way that wasn't intended. :)
One question: how does Hound control which RuboCop configuration to use when running haml-lint in this way? It looks like right now you are running it with whatever the default configuration would be.
Currently, you can set the RuboCop configuration file explicitly by setting the HAML_LINT_RUBOCOP_CONF environment variable. We could add some conditional logic that generates the temporary file in the HAML file's directory only if that environment variable is not set.
Does that make sense?

how does Hound control which RuboCop configuration to use when running haml-lint in this way?

The simple answer is "it doesn't". We didn't know that haml-lint integrated with RuboCop.
While Hound supports RuboCop for ruby files, it only supports one, top-level config.

We could add some conditional logic that generates the temporary file in the HAML file's directory only if that environment variable is not set.

It probably would still now work in our case, because the RuboCop config is virtual (we read the content of the file from GitHub).
Looks like we'll have to find a way around this on Hound's side. Thanks for all your help!


add publish command

This adds a publish command, e.g., melange publish gs://my-bucket/path/to/stuff
For Wolfi builds running in GKE (or EKS, or another cloud-aligned Kubernetes) it's useful to have an ambient-auth-aware method for publishing built packages to same-cloud-aligned blob storage. Doing this with gsutil or aws s3 adds another set of tools we have to maintain. Using gocloud lets us add support for other cloud-storages without installing any new tools.
If the feeling is that this doesn't belong in melange I can make it part of dag instead, or a separate tool there, or make it an optional arg on build.

I think this should be part of dag instead, but I'm open to syncing on this if you think otherwise.

I think this should be part of dag instead, but I'm open to syncing on this if you think otherwise.

That sounds good. I can have dag be responsible for pre-fetching all the remote deps before starting the build. I'll close this and move this logic over there.


change scripts to reference docker-py 1.3.0

this now works and passes the dockerbench tests. not sure why it didnt pass apollo deploy but i think thats a seperate issue

As per the ticket in the comment above https://github.com/ansible/ansible-modules-core/issues/1707#issuecomment-122617536 dont think this will work until ansible 2.0 get released as it's not compatible with new versions docker remote api.
This will require rebuild the images.
For testing it without rebuild you can install the new version of docker-py from an ansible task so will override the docker-py version of the images.

it was included in 1.9.3. I upgraded to 1.9.3 and upgraded to docker-py 1.3.1 via the ansible tasks, then logged it to a few of the machines and ran dockerbench.
[PASS] 5.11 - Limit memory usage for container
[PASS] 5.12 - Set container CPU priority appropriately
I would say we merge this and the other PR relating to setting docker memory and then rebuild the images


Lodestar 0x prefix

adds the 0x prefix to lodestar-secrets. This is technically redundant considering we could use the lighthouse secrets dir, but this fix allows it to work in old workflows without changing the logic.

Fixes #8


Finding sub chart app versions from a parent chart

I have a parent chart which has 2 sub charts as dependencies. When i install the parent chart, i can enable either of the sub charts to install. So after i install, for each of the sub chart, I would like to list the chart name, chart version and appVersions of the sub charts. I don't see a direct way in helm to list sub chart app versions. I can get the sub chart name and sub chart version from the dependencies section but not the appVersion.  What's the recommended way to get that info? Any suggestions pease.

Helm (for better or worse) combines all subchart resources into a single release. And so, it doesn't retain any info about the subcharts.
To get the above info, you would need to inspect the original (parent) chart's Chart.yaml used to install

@gjenkins8 , Thanks for responding. Unfortunately, the parent Chart.yaml does not contain appVersion of the dependencies.
After a lot of googling, what i think are the options that i have is

export the appVersion from sub charts values.yaml (this is kind of repeating info in sub chart. once in Chart.yaml and once in values.yaml as we cannot refer Chart.yaml contents in values.yaml) and import that in parent's Chart.yaml and create something like a config map in parent to store that info.
or
create a config map in each of the sub chart to store that info , something like this
name: {{ .Chart.Name }}
chartVersion: {{ .Chart.Version }}
appVersion: {{ .Chart.AppVersion }}

All fine and dandy right up until you need to consume that value at rendering time for, say, generating an annotation or a label...
There should be a mechanism to consume basic metadata about subcharts in the parent chart ... but alas, seems to not be there.
Maybe it'll be there in Helm 4...

We have an umbrella chart with 10 dependency charts that get deployed on up to 9 different environments across many networks. This kind of feature would be invaluable to ascertain what appVersions for a corresponding installed instance of the system are associated with the umbrella helm install. I wrote a bash script to pull this info out of the Chart.yaml's themselves but ideally this could be done using helm. The output that would be ideal is something like this
CHART		                    Version	    AppVersion
main-app-umbrella-installer	    0.0.7-beta      0.0.7-beta
object-attribute-store-api          0.0.17-beta     0.0.18-beta
object-attribute-store-ui           0.0.17-beta     0.0.18-beta
omar-assignment-service             0.0.12-beta     0.1.12-beta
subject-attribute-store-api         0.0.15-beta     0.0.15-beta
subject-attribute-store-ui          0.0.12-beta     0.0.13-beta
subject-attribute-store             12.0.5          0.1.9-beta
main-app-mariadb-galera             0.1.12-beta     0.1.14-beta

@mccoy1 , I did the same in our app, used a bash script to list the version information.


为什么link prediction evalue的时候，准确率一直下降呢

I met this problem when training other GANs, my guess is that since the generator and discriminator both evoluted under training process, I can see the GAN successfully learned features from real data, when the accuracy starts to drop, it may means that generator can not dig more useful feature from real data, which means you need to adjust your model(for instance a new loss function) or add more data.

Me too.

Hi guys! I suggest decreasing the learning rate.

I decreased the learning rate to 1e-4 for both the discriminator and the generator, and trained for 100 epochs.  The accuracy for G is about 51% and the accuracy for D is about 60%, which is still a little different from the paper. So I am wondering could anyone share the exact parameters to get the 80%+ accuracy? Thanks a lot.

I decreased the learning rate to 1e-4 for both the discriminator and the generator, and trained for 100 epochs. The accuracy for G is about 51% and the accuracy for D is about 60%, which is still a little different from the paper. So I am wondering could anyone share the exact parameters to get the 80%+ accuracy? Thanks a lot.

I set the learning rate to 1e-5 and I succeeded.It can be set to 1e-6 for greater accuracy, but it also requires more iterations than the default config.

I think you can read the paper CFGAN, it seems to explan the reason of that

I decreased the learning rate to 1e-4 for both the discriminator and the generator, and trained for 100 epochs. The accuracy for G is about 51% and the accuracy for D is about 60%, which is still a little different from the paper. So I am wondering could anyone share the exact parameters to get the 80%+ accuracy? Thanks a lot.

I set the learning rate to 1e-5 and I succeeded.It can be set to 1e-6 for greater accuracy, but it also requires more iterations than the default config.

so how many iterations you succeeded when set the learning rate to 1e-5? by default?

我把lr_gen和lr_dis设成1e-5，batch_size设置成1024，在epoch 30的时候gen的accuracy达到最大0.884，比论文中的accuracy高一些


Export and plugin HDF5 per process: datatypes

In GitLab by @croussel on Sep 29, 2016, 10:32
If a variable type is not as expected (i.e: int instead of double in the config file) nothing is exported.

this is a duplicate of #3 in my point of view. If you agree, you can close this one.