Add UserNotifications Framework for iOS 10+

I added a permission for the new notification framework UserNotifications in iOS 10 to request permission with the new api.

add permission UserNotification
add configuration PERMISSION_USERNOTIFICATIONS
add permissionType userNotifications
removed the file private static variable _notification cause it's never read
did not change the requestedNotifications default cause it returns the same information

I tried to keep it in the structure you designed the framework.

On my local machine the tests do run. Does anybody has an idea why the checks fail?

@delba what's going on?

Any chance this is going to be merged?

Hi @mrgrauel, thanks a lot for the PR! There are a just few changes to do before merging though.
Thanks!

Good Morning @delba, is it now as you want it?

@delba I changed everything. I dunno why it still says that a change request is open.

@delba Hello?!?!?!

@delba Has this issue been fixed? I still get these xcode 10 deprecation warnings

^^ @delba Sorry about that, I thought I was on my fork. I know it doesn't actually merge the PR, but why does GitHub even give me the option. :\

@delba Please merge this PR

Loosing hope :/

Hey everybody, I've given up on waiting for @delba to answer and merge our PRs. Instead I've integrated my PR #94 and this PR into my fork, created its own CocoaPods entry so we can continue using this framework and merging our improvements together. Feel free to star and send your PRs to my fork in the future. I will try to review them from time to time:
https://github.com/Dschee/Permission

@Dschee nice move 👍

Hi @mrgrauel, the project has been updated to the latest Swift version and now uses UserNotifications (https://github.com/delba/Permission/blob/master/Source/Types/Notifications.swift).


Allow to use the GLOBAL keyword before the join operator

ClickHouse supports the GLOBAL keyworld while joining the right table,
for the syntax, please refer to:
SELECT <expr_list>
FROM <left_table>
[GLOBAL] [INNER|LEFT|RIGHT|FULL|CROSS] [OUTER|SEMI|ANTI|ANY|ALL|ASOF] JOIN <right_table>
(ON <expr_list>)|(USING <column_list>)

Reference: https://clickhouse.com/docs/en/sql-reference/statements/select/join

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

22 of 22 (100.0%)  changed or added relevant lines in 3 files are covered.
11 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.02%) to 89.232%

Files with Coverage Reduction
New Missed Lines
%

src/ast/query.rs
1
85.97%

src/parser/mod.rs
1
93.32%

tests/sqlparser_common.rs
2
89.64%

src/lib.rs
7
12.64%

Totals

Change from base Build<PHONE_NUMBER>5:
-0.02%

Covered Lines:
27213

Relevant Lines:
30497

💛  - Coveralls

cc @iffyio


workflows: Set missing input type

Fixes #71:
Error from called workflow sigstore/root-signing-staging/.github/workflows/custom-test.yml@185af8249bc4833c316af83a0f4fdb594805fc07 (Line: 7, Col: 9):
Required property is missing: type

Verifying changes around the testing is quite a lot of work so the original change and  this fix have not been tested in a running repository: If there are further issues with the actual test I will likely do the work of testing outside of root-signing-staging but this one seems simple enough to just yolo (the alternative is to revert #70 and try again later)

actually there seems to be another issue, will add  a commit...


does itty router support file upload handle?

hey, i'm using itty router to create serverless back-end on cloudflare worker. Is it possible to handle upload file on itty-router?

Gonna close this, but definitely recommend chatting on Discord if you run into issues on this - we'll help ya out! :)

thanks!


Add more command line examples

Removes the driving-cli page and replaces it with actuators-cli and sensors-cli.

There was something that I really liked about the old "driving-via-cli" page, i.e. that included a minimal set of commands required to do a basic movements test. All the commands are already mentioned somewhere in the docs, but that file was IMO a nice and concise set of instructions for the most basic operation: undock, drive via keyboard, dock.

These are available at examples/actuators-cli.md#driving; if you think these commands should be highlighted in a separate tutorial, I'm interested to know why. I don't see the value in just those driving commands on one page.


compose with generator-travis

What do you think about composing nm and travis generators? You are no longer will need to handle travis config on your own.
for example current update will bring nodejs 4 support

Would be a good idea for a larger generator, but I prefer to handle it manually here, for simplicity and being in control. I also plan on having a separate .travis.yml file depending on the prompts.
Happy to use it in our official Yeoman generators. Hint hint.

will try my luck with yeoman/generator-node#176

Some news about generator-travis:

it extends existing travis config, not overwrites.
it merged into generator-node =)
it got LTS-supported nodejs versions list, I found this your answer as a best solution to choose which versions to keep in config.

with all these changes about LTS in generator-travis do you still want to maintain .travis.yml on your own?


Update passwordhasher.cs

According to the official document page for HMACSHA1, it is recommended to not use SHA1 due to the possibility of collisions. However, the example code here still utilizes HMACSHA1. My recommendation is to replace the example code here with something more secure.
Comparing this to the original code, the above changes the random byte generator to use RNGCryptoServiceProvider (which seems to be used in the official documentation instead of RandomNumberGenerator anyway) with non-zero bytes. We also swap HMACSHA1 out for HMACSHA256. Finally, we increase the iteration count to 100,000 from 10,000, which seems to be a common middle-ground for security and speed for the time being.

 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: FreeTheTech101 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@FreeTheTech101 great PR, keep them coming. Much appreciated.


feat: poc on react-big-calendar

What is the change?
Provide a small description of what did you change and provide the reference to the issue ticket.
Implemented the poc on react-big calendar. Following are the tasks that can be achieved:

Add a new event.
Modify an existing event.
Drag and drop an event on calendar to change its time.
Resize an event on calendar to increase or decrease its time.

Is it bug?
No

Steps to repro
Expected
Actual

*Dev Tested?

[x] Yes
[ ] No

*Tested on:
Platforms

[x] Web

Browsers

[x] Chrome
[ ] Safari
[ ] Firefox

Before / After Change Screenshots

UPDATED:

For visual or interaction changes. Can be video / screenshot.
#82

Hi @iRohitGaur , please resolve the conflicts , we can go ahead and merge the changes.
Thanks for coming up with the POC, I am foreseeing using this in future

Hi @iRohitGaur , please resolve the conflicts , we can go ahead and merge the changes. Thanks for coming up with the POC, I am foreseeing using this in future

Done!


Investigate FSR support

Re-opening for follow-up TODOs.

I've posted today an in-game NVidia NIS screenshot, here is he same shot in-game with AMD FSR for comparison!
FSR 1.0.2 with Scale 66% Sharpen 100%...

</details

I just realized we need to include the new FSR shader files into the installer. I'll take care of it if you don't mind since this installer project thing is quite sensitive.

Great!
NB: the post build event copies all the needed shader files to the OutDir folder.

Trying to figure out what is left here.

Validating FSR sharpening only
Validating that it works with texture arrays

What else?

validating we're properly handling sRGB vs linear input. I'm not sure of our inputs yet vs what FSR is expecting.

another thing to experiment with is the included denoiser. I hadn't noticed there was a denoiser included which is disabled by default: https://github.com/GPUOpen-Effects/FidelityFX-FSR/issues/31

After testing I can't see any significant different with FSR_RCAS_DENOISE with FS2020. It seems it was meant to help prevent upscaling the post-processing noise added at the end of a render pipeline only. For now I'd suggest we disable it (default FSR mode) but keep this option open in the future if other games than FS2020 are producing too much noise.


Feature request: Global CSS support for user-defined resets

I couldn't find a way to define global CSS with Tokenami. I can appreciate the argument that this might not be Tokenami's job, having the ability to distribute a CSS reset as part of a design system would be incredibly useful.
Ideally, Tokenami could offer a method to specify global styles for applying a CSS reset. The most straightforward approach might be a top-level key in the configuration:
// tokenami.config.ts

export default createConfig({
  globalStyles: {
    "*, *::before, *::after": {
      margin: 0,
      padding: 0,
      boxSizing: "border-box",
    },
    body: {
      fontFamily: "system-ui, sans-serif",
      lineHeight: 1.5,
    },
    // additional reset styles...
  },
  // other Tokenami configuration...
});

@lukebennett88 is #268 enough to cover your needs here?

i guess this could get a little tedious if you wanted to style all anchors, or headings etc. bcos you'd have to create a new selector for each.
your idea above could work ofc, just trying to make sure i've explore more tokenami-like ways of achieving it first. it'd be nice not to make the config too complex if it can be avoided but i'll happily go that route if not.


NMODL python wheel error : Could not found nrnunits.lib

Trying to use NMODL and getting following error:
$ . vv/bin/activate
(vv) kumbhar@bbpv1:~/tmp/CoreNeuron$ pip install nmodl
Collecting nmodl
  Downloading https://files.pythonhosted.org/packages/f7/db/8d0943dec7dcb66206513c46da1104aa8c8c5e5317593cc4f2ed0151f9c0/NMODL-0.2.62-cp37-cp37m-manylinux1_x86_64.whl (8.2MB)
    100% |████████████████████████████████| 8.2MB 2.7MB/s
Requirement already satisfied: PyYAML>=3.13 in /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/libraries/2020-02-01/linux-rhel7-x86_64/gcc-8.3.0/py-pyyaml-5.3.1-nttvlbsj3t/lib/python3.7/site-packages (from nmodl) (5.3.1)
Requirement already satisfied: sympy<1.6,>=1.3 in /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/libraries/2020-02-01/linux-rhel7-x86_64/gcc-8.3.0/py-sympy-1.3-v5ipglzlxy/lib/python3.7/site-packages (from nmodl) (1.3)
Installing collected packages: nmodl
Successfully installed nmodl-0.2.62
You are using pip version 19.0.3, however version 20.3b1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(vv) kumbhar@bbpv1:~/tmp/CoreNeuron$ nmodl
terminate called after throwing an instance of 'std::runtime_error'
  what():  Could not found nrnunits.lib
Aborted

@ohm314 : another thing I noticed but haven't looked into details is that pip installed nmodl is not usable with coreneuron. I can create separate ticket but if you are going to touch NMODL then you can also quickly check what's going on.

strings .venv/lib/python3.8/site-packages/nmodl/.data/nmodl | grep nrnunits.lib

gives me:
/share/nrnunits.lib
Could not found nrnunits.lib
/Users/kumbhar/workarena/repos/bbp/incubator/nocmodl/_skbuild/macosx-10.14-x86_64-3.8/cmake-install/share/nrnunits.lib
/Users/kumbhar/workarena/repos/bbp/incubator/nocmodl/share/nrnunits.lib

The issue seems resolved in the master branch. We have to create new wheels for this to be reflected there. Also regarding your comment of nmodl being unusable in coreneuron. I could reproduce that with 0.2.62, the wheel version, but again when updating to latest version it works fine. when build coreneuron with a wheel nmodl one has to set the paths a bit carefully. Assuming nmodl is installed in a virtual env, this is how it could look like:
cmake .. \
  -DCMAKE_INSTALL_PREFIX=$(pwd)/install \
  -DCORENRN_ENABLE_NMODL=ON \
  -Dnmodl_INCLUDE=/path/to/venv/include \
  -Dnmodl_PYTHONPATH=/path/to/venv/lib/python3.8/site-packages/nmodl \
  -Dnmodl_BINARY=/path/to/venv/bin/nmodl


Revert calculation of veth name in kdd

Description

The calculation of the veth name has changed - this reverts that change.
IIUC without that change, upgrading the calico/node on a node that has Calico networked Pods - those pods will not be networked correctly after upgrade because Felix view of the interface name will differ from the interface name that was actually created.
Also added #677 to test against the release-1.7 branch.  Don't need to commit that one unless we think we should - I just added as a sanity check for this PR.
Todos

[x] cni
[x] felix

None required

@robbrockbank - do we need to release note this change?

no - it's just a change to the tests.


docs(list) : fix mistake in the List props

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1001   +/-   ##
=======================================
  Coverage   94.13%   94.13%
=======================================
  Files          86       86
  Lines        3649     3649
  Branches      578      578
=======================================
  Hits         3435     3435
  Misses         90       90
  Partials      124      124

Continue to review full report at Codecov.

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


not working

the plugin is not at all working waste of time

It works with Angular 7.2. Are you using Angular 8?


fix: icon not clickable issue

Description
Fix Side nave bar icon click issue

Thanks for the PR!
Deployments, as required, will be available below:

Backend
Frontend

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are deployed in:

Merge Workflow

If there's a way to add a unit test for the click issue (I understand this isn't always possible with frontend work) I think we should have it, otherwise LGTM.

I have

If there's a way to add a unit test for the click issue (I understand this isn't always possible with frontend work) I think we should have it, otherwise LGTM.

I’ve optimized the code and resolved a bug, but I understand that testing frontend interactions can be a bit more complex. I’d be happy to create a separate ticket to address the test cases, as they may require additional effort. Please let me know  that works.


Feature/rename repo

Issue
Link your PR to an issue
Fixes:
#115
#139
Description
Updates all of the files in the repo to use the electionguard namespace and __electionguard_cpp__ header block.  Fixes a compile-time issue with the netstandard nuget package targeting the wrong framework version.  Adds some documentation.
Testing

make build-netstandard to test #139

review the documentation for factual and grammatical errors

Checklist
🚨Please review the guidelines for contributing to this repository.

[ ] 🤔 CONSIDER adding a unit test if your PR resolves an issue.
[ ] ✅ DO check open PR's to avoid duplicates.
[ ] ✅ DO keep pull requests small so they can be easily reviewed.
[ ] ✅ DO build locally before pushing.
[ ] ✅ DO make sure tests pass.
[ ] ✅ DO make sure any new changes are documented.
[ ] ✅ DO make sure not to introduce any compiler warnings.
[ ] ❌AVOID breaking the continuous integration build.
[ ] ❌AVOID making significant changes to the overall architecture.

💔Thank you!

closing as superceded by #145


Downgrade log to warning level

This isn't an error. It is actually expected in normal operation of the charm, and the error logs are misleading.
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that validate the behaviour of the software
[ ] I validated that new and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Needs #429


Add support for import prefixes

Describe the bug
When declaring a variable using a prefixed class name, the prefix is not used in the resulting generated file after running build_runner.
Current behavior
Steps to reproduce the behavior:

create a class file that uses a prefixed class name.

import 'package:my_software/device.dart' as device;

class ServiceCapabilities {
  @annotation.XmlElement(
    name: 'Capabilities',
    namespace: 'http://www.onvif.org/ver10/device/wsdl',
  )
  final device.Capabilities? deviceCapabilities;

Use build_runner to generate code.

Expected behavior
It's expected that the generated code would include the device prefix.
ServiceCapabilities _$ServiceCapabilitiesFromXmlElement(XmlElement element) {
  final deviceCapabilities = element.getElement('Capabilities',
      namespace: 'http://www.onvif.org/ver10/device/wsdl');
  return ServiceCapabilities(
      deviceCapabilities: deviceCapabilities != null
          ? device.Capabilities.fromXmlElement(deviceCapabilities)
          : null);
}

The actual code generated has Capabilities.fromXmlElement(deviceCapabilities) when the actual correct code isdevice.Capabilities.fromXmlElement(deviceCapabilities) (as shown above).

Hi @faithoflifedev, thank you very much for using xml_serializable and opening this issue.

It's expected that the generated code would include the device prefix.

I believe that json_serializable similarly does not support import prefixes (https://github.com/google/json_serializable.dart/issues/19).
import 'package:json_annotation/json_annotation.dart';
import 'package:xml/xml.dart';
import 'package:xml_annotation/xml_annotation.dart' as annotation;

import 'teacher.dart' as prefix;

part 'student.g.dart';

@JsonSerializable()
@annotation.XmlRootElement()
@annotation.XmlSerializable()
class Student {
  @JsonKey()
  @annotation.XmlElement()
  prefix.Teacher teacher;

  Student({
    required this.teacher,
  });

  ...
}

import 'package:json_annotation/json_annotation.dart';
import 'package:xml/xml.dart';
import 'package:xml_annotation/xml_annotation.dart' as annotation;

part 'teacher.g.dart';

@JsonSerializable()
@annotation.XmlRootElement()
@annotation.XmlSerializable()
class Teacher {
  @JsonKey()
  @annotation.XmlElement()
  String name;

  Teacher({
    required this.name,
  });

  ...
}

// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'student.dart';

// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************

Student _$StudentFromJson(Map<String, dynamic> json) => Student(
      teacher: Teacher.fromJson(json['teacher'] as Map<String, dynamic>),
    );

Map<String, dynamic> _$StudentToJson(Student instance) => <String, dynamic>{
      'teacher': instance.teacher,
    };

// **************************************************************************
// XmlSerializableGenerator
// **************************************************************************

...

Student _$StudentFromXmlElement(XmlElement element) {
  final teacher = element.getElement('teacher')!;
  return Student(teacher: Teacher.fromXmlElement(teacher));
}

...

XmlElement _$StudentToXmlElement(Student instance,
    {Map<String, String?> namespaces = const {}}) {
  return XmlElement(
      XmlName('Student'),
      [
        ...namespaces.toXmlAttributes(),
        ...instance.toXmlAttributes(namespaces: namespaces)
      ],
      instance.toXmlChildren(namespaces: namespaces));
}

I will investigate this functionality over the coming weeks to see if it is reasonably implementable and let you know.

Hi @faithoflifedev, could I get you to verify that the changes in this branch resolve this issue for you?

Hi @tnc1997, I was just able to test the branch.  I know see no errors when running dart run build_runner build while using a prefix.
Thanks for the great work.


Add an ability to setup entire namespaces of repositories at once using gitlab_api_token config option

stb can setup single repositories as described in README such as: backend/service1. But what if the user wants to setup the entire backend namespace? That's why we should add two things:

gitlab_api_token get/set config options
if the token is present, stb setup must be able to setup entire namespaces. If not, a helpful error message will appear. Note that stb was made for flat directory structure. I.e. backend/payables will simply become payables. If we wish to overcome this limitation, we'll need breaking changes and 2.0
Document such usage

Done in 3.0.0


Latest version for 1.18.2 crashes (Mod Incompat?)

Log: https://paste.ee/p/F1JDe

Is this a change just with the latest version? It doesn't seem to have anything to do with EMI from a cursory glance.

Nope I've found it, this is a slotlink issue, they mixin to EMI


1433 networkinfo

fixes #1433
cc @amin-nas

@vusters the PR is in draft mode, not ready to be reviewed

You also need to add this Action to action_invokable so Javascript will work. See https://github.com/EnsembleUI/ensemble/wiki/Add-New-Action

@vusters this action will not work in js. We don't have the ability to do callbacks in js. The callbacks have to be js functions and not actions, today we assume that onSuccess etc are all actions. I'll create a separate ticket to add the ability to do callbacks as people need it to invokeAPI as well. On another thought, perhaps we shouldn't as not having that would encourage the use of yaml. Let me know what you think

@vusters ready to be reviewed. also please see my comment about js invokation

@vusters let me know when you have had a chance to review this. This is required for a customer


Minimum example for custom model inference

💡 Your Question
Could you provide an example for running inference on a custom YOLO-NAS model? Couldn't find a minimum example for this in the docs. If this exists in the docs you could just send the link to its location :smile:
Versions
No response

See "Quickstart" section of  https://github.com/Deci-AI/super-gradients/blob/ac21534a5505da1e2758acddd7dead0e7ac19dad/YOLONAS.md


Routing Congestion Too High With SRAMs

When hardening the SOC macros, OpenRoad fails the flow saying that congestion is too high (ex. 4a9dd15). By dramatically decreasing the number of SRAMs (max 3 so far), I am able to get the flow past routing without flagging congestion failures (ex. 289de7c). 3 macros is not really enough to get the design working as desired, and finding placement and configurations to increase the number of SRAM blocks possible is very desirable.

When an SRAM macro is placed at 0 rotation, pins lay on the following sides:

N: dout1[31:0], addr1[1:0], clk
E: addr1[6:2]
S: addr0[0], mask[0:3], din0[0:31], dout0[0:31], addr1 [8:7]
W: addr0[8:1], cs, we0

If SRAM blocks are tiled in the same orientation (or with 180 degree rotations) matching the common signals between the blocks such as address, clock, din0, we, etc, a lot of extra routing congestion would be created for each block to route common signals around to the other side or flip ordering.
In manual_macro_place.py, there are values that appear to correspond to mirroring, though I can't find any documentation on their use. I am attempting to flip a single macro in 492d6a7.
LEF2OA_MAP = {
    "N": "R0",
    "S": "R180",
    "W": "R90",
    "E": "R270",
    "FN": "MY", # Mirror Y ?
    "FS": "MX", # Mirror X ?
    "FW": "MXR90", # Mirror Y + rotate 90 ?
    "FE": "MYR90",  # Mirror X + rotate 90 ?
}

By mirroring alternating SRAM blocks and placing into two mirrored columns, I was able to get 12 SRAM blocks to complete routing and reach the signoff stage in 1938991. By looking at the density of the chip at this stage, I am doubtful that many more SRAMs can be placed.


Bot fails to join the voice channel

Please tick all applicable boxes.

[x] I am using Python 3.5.3 or higher (run python --version on the command line)
[x] I have followed the official guides to install the bot for my system
[x] I have updated my dependencies to the latest version using the appropriate update script

Which version are you using?

[x] The latest master version (release-260419)
[ ] The latest review version

What type of issue are you creating?

[x] Bug
[ ] Feature request
[ ] Question

Description of issue
Bot fails to join the channel set to auto-join and errors on summon command
Steps to reproduce

Run the bot
See it fail to join the voice channel
Attempt to summon it to the channel
See an error in the cmd

Log file
musicbot.log

run py -3.7 -m pip install -U PyNaCl

Still fails to join
musicbot.log

and py -3.7 -m pip install -U discord.py[voice]?

Same error
musicbot.log

can you try pip install -U pynacl (without the caps)

Still the same error
musicbot.log

could you send the other log?

What do you mean by the other?

isnt there a musicbot.log.lastest (or smth like that) in the logs folder?

musicbot.log

It seems the problem was with my python install, did a clean reinstall and now it is working


[SPARK-31029] Avoid using global execution context in driver main thread for YarnSchedulerBackend

#31029 # What changes were proposed in this pull request?
In YarnSchedulerBackend, we should avoid using the global execution context for its Future. Otherwise if user's Spark application also uses global execution context for its Future, the user is facing indeterministic behavior in terms of the thread's context class loader.
Why are the changes needed?
When running tpc-ds test (https://github.com/databricks/spark-sql-perf), occasionally we see error related to class not found:
2020-02-04 20:00:26,673 ERROR yarn.ApplicationMaster: User class threw exception: scala.ScalaReflectionException: class com.databricks.spark.sql.perf.ExperimentRun in JavaMirror with
sun.misc.Launcher$AppClassLoader@28ba21f3 of type class sun.misc.Launcher$AppClassLoader with classpath [...]
and parent being sun.misc.Launcher$ExtClassLoader@3ff5d147 of type class sun.misc.Launcher$ExtClassLoader with classpath [...]
and parent being primordial classloader with boot classpath [...] not found.
This is the root cause for the problem:
Spark driver starts ApplicationMaster in the main thread, which starts a user thread and set MutableURLClassLoader to that thread's ContextClassLoader.
userClassThread = startUserApplication()
The main thread then setup YarnSchedulerBackend RPC endpoints, which handles these calls using scala Future with the default global ExecutionContext:
doRequestTotalExecutors
doKillExecutors
So for the main thread and user thread, whoever starts the future first get a chance to set ContextClassLoader to the default thread pool:

If main thread starts a future to handle doKillExecutors() before user thread does then the default thread pool thread's ContextClassLoader would be the default (AppClassLoader).
If user thread starts a future first then the thread pool thread will have MutableURLClassLoader.

Note that only MutableURLClassLoader can load user provided class for the Spark app, you will see errors related to class not found if the ContextClassLoader is AppClassLoader.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Existing unit tests and manual tests

Can one of the admins verify this patch?

Can one of the admins verify this patch?

cc @Ngone51 @tgravescs

I'll look in more detail, looks like the implicit is on the execution context for the Future callback.  @shanyu  can you update the description with more details on the exact fix  and I think we should put a comment there at least so people looking at this in the future know without having to search.

ok to test

Test build #123436 has started for PR 27843 at commit a91b0cf.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28053/
Test PASSed.

Test build #123436 has finished for PR 27843 at commit a91b0cf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/123436/
Test PASSed.

Just out of curiosity, why Jenkins test job success within 20 mins?

probably because it only ran the yarn tests

Hi @tgravescs are we good to merge this PR?

I didn't finish reviewing.  Please update the description to describe the fix and add a comment by the line schedulerEndpointEC definition.

Test build #124140 has started for PR 27843 at commit f6ee4a9.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28757/
Test PASSed.

@tgravescs Thanks for reviewing! I've updated the description and added a comment to the implicit execution context.

Test build #124140 has finished for PR 27843 at commit f6ee4a9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124140/
Test PASSed.

Test build #124176 has started for PR 27843 at commit 808f4eb.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28793/
Test PASSed.

Test build #124176 has finished for PR 27843 at commit 808f4eb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124176/
Test PASSed.

pushing to master, thanks @shanyu


Room invite race conditions

The room accountData  for the new room is only stored if there is a tag update.
So, after an application restarts, this object was nil in the MXRoom class.
After, any new tag management was ignored because of this nil pointer.
By now, the accountData class is created if the dedicated file does not exist..

LGTM


Add PyPI version badge to README.

Renders like this:

I've always used shields.io for this; e.g. https://img.shields.io/pypi/v/jax:

Do you have strong feelings on whether fury.io is more stable? (I don't have strong feelings either way, just curious!)

Actually, now that I look at it, shields.io, unlike fury.io, is not for profit, fully open source (https://github.com/badges/shields) and badges have a CC0 license. I'd lean toward using shields.io badges.

Actually, now that I look at it, shields.io, unlike fury.io, is not for profit, fully open source (https://github.com/badges/shields) and badges have a CC0 license. I'd lean toward using shields.io badges.

Ah, I wasn't aware of that. Have made the change -- thanks!

Thanks!


Implement about droidkaigi screen without design

Overview (Required)
Title says everything.
Links

Should Top Image prepare image data for each dpi?

Now you can use empty image 👍

Is there an implementation to get the version code of the app?

It is ok to empty for now 👍


[form-data-parser] Accept FormData compatible data types from the upload handler

There is a minor roadblock in using the multipart-parser library, which seems solvable with a simple fix.
Our Setup

A user profile can be updated via a form in Remix, including a profile picture.
We use two backends: one within Remix and another as a Spring application.
When a file is uploaded from Remix, it’s sent to an S3 bucket via the Spring application.
The Spring application generates a unique ID for the uploaded file and returns it once the upload is successful. (This ID is stored in the database to reference the file for future access.)
After receiving the file ID, we replace the file in the form data with its corresponding ID.
This approach allows us to seamlessly pass the form data along to the Spring application

The Issue
The requestHandler function's upload handler currently only accepts File, null or void as a return type.
Proposed Fix
export interface FileUploadHandler {
  (file: FileUpload): void | null | File | string | Promise<void | null | File | string>;
}

This update allows the handler to return a File, string, null, void, or a Promise resolving to any of these types FormData  accepts.
I’m happy to create a PR for this if that would be helpful.

This makes a ton of sense to me. I'd be happy to merge a PR if you'd like to prepare one. Thank you! 🙏

Perfect. I’m a bit busy with a deadline right now. I’ll try to get to it over the weekend.


Hash DRGB

See: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf
Validation: https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/drbg/DRBGVS.pdf


Delete npm-debug.log

Remove npm-debug.log

doh

actually, should add npm-debug.log to .gitignore.  Now that it's been deleted :-)


Provide a variable to access the request information

Provide a variable, similar to response, which can make it easier to access the information about the request sent by Karate. The rationale is to make the request and response available to external Java classes accessed through Java Interop.
More details available on the StackOverflow question, https://stackoverflow.com/questions/46846367/accessing-the-built-request-details-in-karate/

@createam I'm thinking through this and just to confirm, you are looking for read-only right ? and you want to get the final values of the url, request and headers (perhaps cookies) when the HTTP request is actually fired.  Which means these need to be set after the method step is processed ?
BTW are you really able to dynamically use method foo, because I thought variables are not supported.

@ptrthomas  Yes, read-only and after the complete request is built and ready to be fired (or after fired). I don't think there is any value in editing the generated request, that is supposed to be done using the karate-dsl constructs.
Yeah, method foo does not work. Just setting the variable anyway so that the validator can figure out what method was sent

@ptrthomas - I have a doubt on the similar lines, Which is as follows:-
I am getting an integer value in the response of one of the soap request. I have added the value in variable and able to print it on the console. which confirms that variable is parsing the value correctly. Now i want to use the same variable as a parameter in another soap request. I have done research in Karate doc but unable to get the syntax/value/format in which i should be able to pass the variable in another soap.  Can you please let me out with this?
Note:- Values in 1 response is coming at runtime and changing after every request.

There are multiple ways to do this, the best reference which you may have missed is this set of regression test cases for Karate: xml.feature
specifically look at how the set keyword works or use an embedded expression for e.g. <myValue>#(myValue)</myValue>

oops, closed by mistake, and @Saurabh51084 I think this is not related to this ticket. For these kinds of general questions, kindly use Stack Overflow: https://stackoverflow.com/questions/tagged/karate

@createam can you check if this works for you: https://github.com/intuit/karate/blob/aefc49874615d9de11569ac2e4aa642722b0e091/karate-demo/src/test/java/demo/request/request.feature
also, you can now use expressions in the method.
Would you be able to test by building from source or I can release a patch version, let me know.

@ptrthomas  I could build from source and run some tests which includes the lastRequest. Works fine. Also using the expression for method worked great. Thanks for providing this enhancement.
Do you have plan to expose this lastRequest through a cleaner variable similar to the "response" variable rather than useing (karate.lastRequest)?

@createam great. actually I thought hard about it. each built-in variable adds bloat to the context, which becomes painful especially when doing a call to other features - since the return value is an aggregate of all variables. so considering that this is a 0.01 % use case (you are the first to request this) I felt this is better. plus it would be for those who are writing frameworks on top of karate like you are, and know what you are doing. the other consideration is it gets low-level, for e.g. the request body is held as a byte-array, which you need to deal with.
I'm thinking that karate.prevRequest might be a slightly better name, what do you think ?

@ptrthomas  Makes sense. Saw that you have already changed the name. Thanks for making this update.


[WIP] Use the same normalized cache for mutations and queries

Probably don't merge this yet? I don't know what is wrong with this PR: The author probably did it the old way for a reason. However, it fixes my use case (see discussion on #714), so I figured I'd throw in my PR and see if anyone has thoughts.

@BenSchwab @martijnwalraven @digitalbuddha do you guys remember why we have separated root for queries and mutations ?

We don't allow to read cache for mutations, so I guess this PR should be fine

Okay, well, I don't have time to push this forward much more, but it's a simple enough change so I guess probably okay to merge, assuming it passes all the tests (I haven't yet tried to run them).

New PR is up: https://github.com/apollographql/apollo-android/pull/743
Closing this one


Add user guide for calendar

Resolves #001
Description

Type of change

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
This change requires a documentation update
Documentation update

How Has This Been Tested?

Screenshots

We're going to have to figure out how to get this merged into the user guide branch instead of main as well.


hitsPerPageSelector default value in v2

Hi,
No more hitsPerPage in hits since v2.
How do we set a default value for hitsPerPageSelector Widget in instantsearch v2?
Thanks

Just checked and I confirm that you can’t preselect a value, but I think this also wasn’t possible in v1 from reading the docs. We should probably add this option.

The solution is this:
instantsearch({searchParameters: {hitsPerPage: 3}})

So that no matter if you use our widgets you can always set it at the top level.

Perfect thanks, it works


Add ability to pick version 1.13

Version 1.13 was released today

This is now available on Docker Hub


Read serviceconfig path from file or exe location and update README.

[X] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Updating how we are loading serviceconfig and other files. If we are running as an exe, we will look next to the exe, otherwise we will look next to __file__
Why should this Pull Request be merged?
People building exe's have run into issues referencing their serviceconfig and UI files. The recommendation for UI files was to include it in the exe using --add-path. I was going to recommend this for serviceconfig files as well, but realized this would effectively dual source the serviceconfig as the DiscoveryService expects a copy on disk.
What testing has been done?
Tested running example as both a script and as an exe.

Moving to draft. My suggestion to include the serviceconfig using --add-data is not sufficient. This will result in dual sourcing the serviceconfig file if the measurement is statically registered. I have filed a bug with a suggested fix. #356

Reminder - run 'poetry run pytest' locally. The state we're in right now before we add a self-hosted test runner is that there are a number of tests that are skipped on the PR checks.

Reminder - run 'poetry run pytest' locally. The state we're in right now before we add a self-hosted test runner is that there are a number of tests that are skipped on the PR checks.

Tests passed.


升级tssh没有出现最新的版本

PS C:\Users\turin> winget upgrade tssh
No available upgrade found.
No newer package versions are available from the configured sources.

https://github.com/microsoft/winget-pkgs/pull/131714


Toolset - migrate HBase files to Pegasus

Many users used to write their data to HBase, for some reasons, they would like to use Pegasus now. Besides, they also would like to migrate their large amount of data from HBase to Pegasus.
Unfortunately, bulk load function is still in development, we need to develop a simpler solution to solve creating table with large data.
Usage situation:

migrate data when creating table

Basic idea:

Use Spark or MR to write HFiles data to RocksDB run over HDFS
Get checkpoint of RocksDB and construct a valid cold backup
Restore table from cold backup

In our case, we actually have following scenes:


Update truenas_controller.py

Proposed change

Fixes #37.
Old(er) installs while the name was still FreeNAS had their boot-pool created as freenas-boot.  This change will recognize these pools as well.
Type of change

[X] Bugfix
[ ] New feature
[ ] Code quality improvements to existing code or addition of tests
[ ] Documentation

Additional information

Checklist

[X] The code change is tested and works locally.
[X] The code has been formatted using Black.
[ ] Tests have been added to verify that the new code works.
[ ] Documentation added/updated if required.

Tested on the following install:
- Home Assistant version: 2022.8.1
- Supervisor version: 2022.07.0
- Operating System version: 8.4
- Frontend version: 20220802.0 - latest
- HACS integration version: 1.26.2
- TrueNAS integration version: v1.1.1
- TrueNAS version: TrueNAS Core TrueNAS-13.0-U1.1


Changed priority of the bottom panel, fixes #668

OK, I'm trying to do my homework and to contribute more actively to this plug-in, not only asking but also giving back something! :smile:
It seems that the problem has been addressed also by Atom guys:
https://github.com/atom/atom/issues/4834
they added a note in workspace.coffee that says:

If your panel changes its size throughout its lifetime, consider giving it a higher
priority, allowing fixed size panels to be closer to the edge. This allows control targets to
remain more static for easier targeting by users that employ mice or trackpads.

Attached you'll find a PR with the change.

You might wanna wait for https://github.com/AtomLinter/Linter/pull/664 to land

On a side note, how will it affect packages like atom-typescript and atom-omnisharp who are using their panels alongside linter's?

@basarat any ideas how will it affect your panel?

Applied the change locally and doesn't affect us:

Great, thanks :clap:

We have priority 1000 don't remember why I chose that :) https://github.com/TypeStrong/atom-typescript/blob/c94788f7edb8f23fa82a606640ef297309be9437/lib/main/atom/views/mainPanelView.ts#L446

Adding @david-driscoll just so they don't get surprised :)

/cc @radicaled

We're good over here, too.


Stylize weather card depending on current conditions, and add it beside map.

Me and @Mayank17M will take this issue.


Update filtering by level of government to work with Cicero API

Once we switch to Cicero, we will need to update the code to send the correct params to the API.
Current implementation
https://github.com/ProgramEquity/amplify/pull/243/files#diff-a70573fc752557294d03e022e943080ef6445f5a9403b07b32fd96faac4c60eeR33
We are sending in following values into the API
country
administrativeArea1 (state)
administrativeArea2 (county)
locality (local)

We need a new mapping to map the values to the corresponding Cicero API values.
NATIONAL_EXEC (country)
STATE_EXEC (state)
COUNTY (county)
LOCAL (local)

Blocked by: https://github.com/ProgramEquity/amplify/pull/243/files
Tracked in https://github.com/ProgramEquity/amplify/issues/29

Additionally, add another jurisdiction of school district

Reference:
https://cicero.azavea.com/docs/#district-types
Screen:

Hey there @paramsiddharth @manishapriya94, I just wanna make sure I'm clear on the desired implementation. Are we adding the school jurisdiction filter to the currently existing ones to make 5 total filters? Or do we want the local filter to be replaced by the school filter as pictured in the screenshot above?

Hey there @paramsiddharth @manishapriya94, I just wanna make sure I'm clear on the desired implementation. Are we adding the school jurisdiction filter to the currently existing ones to make 5 total filters? Or do we want the local filter to be replaced by the school filter as pictured in the screenshot above?

@tdo95 Hey Tee! I think what we are looking for is to have our existing filters include the school jurisdiction. I think @manishapriya94 can elaborate it more!

Got it, thank you @paramsiddharth! I saw Manisha's response in the slack (:


Will this work with CTranslate2?

I was looking to use this repo to speedup my Whisper inference:
https://github.com/OpenNMT/CTranslate2/
Will stable-ts work for this? If not, any thoughts on how I could get these stable timestamps while using the project?

Any implementations can work with stable-ts as long as you can write a python wrapper class of it to mimic the functions and attributes of the whisper.model.Whisper class then you can use the wrapper with stable-ts. Access to the lower-level modules (i.e. encode and decoder) is needed to make such a wrapper work. But CTranslate2's api does not appear to provide that. There are additional modifications required for whisper.model.Whisper.install_kv_cache_hooks and whisper.decoding.PyTorchInference depending on how the kv_cache is implemented or if it is even used at all.


chore: Debug log oracle calls return nothing

After https://github.com/noir-lang/noir/pull/4959 lands in aztec-packages, we should be able to keep debug_log calls in protocol-circuits without breaking nargo test there. A prerequisite for that is ensuring that debug log calls do not return anything. I understand they were returning zero because of legacy issues, but according to @TomFrench that should not be needed.
This PR updates debug calls so they return no values.

@sirasistant the issue is now fixed and CI is green. Could I ask for a review..?


Dead project ?

Hello,
I am wondering if any help on this project is still possible ?

Not necessarily dead, but I haven't used it for a year or so.

I have mention your project in wled project and they are interested to collaborate with you
https://github.com/Aircoookie/WLED/issues/3567
Can You consider this ?


chore: adding the contributing guide

Coverage remained the same at 100.0% when pulling 78f368aefaa822dfae446ddf98811a37b90d8058 on contrib into 52166941fc8b5dfec16041a735656d9d0bf3588e on main.

basically almost the same document for example https://github.com/nodeshift/nodeshift/blob/main/CONTRIBUTING.md

I'm going to merge because we missed to add this file

@helio-frota we should really wait for at least one review on all PRs.

@BethGriggs sounds good :+1:  thanks


MakeInstaller.bat

Hi Denis,
I don't know,  maybe you've missed to delete backslash or probably this issue just happens on my pc, but I could make win installer only after deleting backslash in the row number"40" in the MakeInstaller.bat

Hi
Regarding the backslash, can you give me the version of  your OS and also the value of the variable Output?
The compilation is not working on my side  if I remove the backslash as proposed.
I am running on win10 and with the following value for the variable Output
set Output=D:\My Lab\outputs\
Denis

Hi
I'm running on win 10
set Output=D:\Projects\ExtensiveTesting\installer_qt5
Denis

Thanks, I succeeded to find a way to fix properly this issue
The change will be integrated in the next release (in the unstable branch)


Enable the dictionary as an OpenSearch provider

Addresses the following user story:

I want my browser to add the app as a search engine

https://developer.mozilla.org/en-US/docs/Web/OpenSearch

I don't think this is necessary? Chrome, at least, figures out that /search?q= searches.


Getting Auth errors when trying to debug locally in Visual Studio

Seems to be having trouble getting the required secrets when starting up the web project:

I've setup the values in the secret.json file:

Here's teh detail of the exception message: Service request failed.
Status: 403 (Forbidden)
Headers:
Server: openresty/<IP_ADDRESS>
Date: Mon, 17 Oct 2022 22:31:57 GMT
Connection: keep-alive
x-ms-request-id: 372708e0-bbaa-47a4-b929-e459b979f929
x-ms-client-request-id: bfddf1af-1310-4b6d-88ec-e4414c0d11e1
x-ms-correlation-request-id: 372708e0-bbaa-47a4-b929-e459b979f929
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: REDACTED
Strict-Transport-Security: max-age=15724800; includeSubDomains
Content-Length: 0
I've checked the role assignments in the portal, and my user has been assigned the expected role on app config:

And also on both keyvaults.

it seems you are loging in to the wrong tenant.
In the case you can try to provide the tenant id as options here.
    var options = new VisualStudioCredentialOptions
    {
        TenantId = "your-tenant-id"
    };
    tokenCredential = new ChainedTokenCredential(new VisualStudioCredential(options), new VisualStudioCodeCredential(), new AzureCliCredential());

Here you chain the token calls, but you specify the tenant in Vs credntial call.


Refactor CLI

Currently, the __main__.py module is a bit messy. I'd like to create a Formatter for successful and unsuccessful operations.
I am open to using a module for term coloring instead of using the TermColors enum, however, I'd like to keep the amount of dependencies to a minimal.

Hi I'm new to open source contribution -  would like to get started on this if it still relevant.  Is it OK?

@abramzog still relevant. Feel free to submit a PR. Thanks!


[BUG] - Incorrect serialization of timestamp in OSM objects

Describe the bug
Incorrect serialization of timestamp in OSM objects Node, Way, Relation.
The fix is to divide by date_granularity as described in PBF_Format
millisec_stamp = timestamp * date_granularity
Package version

Version v0.1.2

Related to #24

Fixed by PR


Regression: Focus scope API no longer accessible

Describe the bug
The focus scope API (FocusManager.Scope, FocusManager.GetFocusedElement(IFocusScope)) is no longer accessible as of #11407, which is breaking our app/UI libraries.
Our current app implements ToolBars, RoutedCommands (similar to WPF), a "Quick Launch Box"/"Command palette" and docking windows (like Visual Studio). The application depends on focus scopes. Details:

Windows, Menus, ToolBarTrays and the "Quick Launch Box" implement IFocusScope.
The Avalonia FocusManager keeps track of the last focused element in each focus scope.
Common commands (Cut, Copy, Paste, etc.) are implemented as RoutedCommands. Similar to WPF's ApplicationCommands.
When a command in Menu, ToolBar, or "Quick Launch Box" is triggered it needs to be routed to the previously focused element. This is done by determining the current focus scope (FocusManager.Scope), finding the parent focus scope, and routing the event to the last focused element (FocusManager.GetFocusedElement(IFocusScope)).
After the command is executed the toolbar item or "Quick Launch Box" needs to give up the focus and move it back to the previously focused element.

To Reproduce
Third-party apps or UI control libraries can no longer access FocusManager. The focus scope API is not exposed in IFocusManager.
Expected behavior
Third-party apps or UI control libraries should have a way to access focus scopes.
Solution
This can be solved by pulling the following members from FocusManager into IFocusManager:
/// <summary>
/// Gets the current focus scope.
/// </summary>
IFocusScope? Scope { get; }

/// <summary>
/// Gets the currently focused element in the given focus scope.
/// </summary>
public IInputElement? GetFocusedElement(IFocusScope scope);

Focus scopes are an important concept needed for command routing in complex scenarios and for porting WPF applications to Avalonia UI. I strongly recommend keeping the functionality and not removing it as part of any future changes (e.g. #7607).
Screenshots
n.a.
Desktop (please complete the following information):

OS: Windows
Version 11.0.0-rc1.1

Additional context
n.a.

I could provide a PR, however, I don't want to interfere with any ongoing focus manager work. (Also, I am open for alternative solutions.)

Third-party apps or UI control libraries can no longer access FocusManager

They can, but you are right - there are no focus scopes in public API anymore.
(Window|TopLevel).FocusManager.GetFocusedElement()

I strongly recommend keeping the functionality and not removing it as part of any future changes (e.g. https://github.com/AvaloniaUI/Avalonia/issues/7607).

There is a high chance of removing custom focus scopes (i.e. implementation of IFocusScope), as there is no WPF/UWP. FocusManager.IsFocusScope="True" is a possible alternative though.
But focus scopes are likely to be kept at least as an internal concept.

Windows, Menus, ToolBarTrays and the "Quick Launch Box" implement IFocusScope.

While generally, TopLevel has aspects of IFocusScope, I don't see how it can be used on Menu. But I guess I am missing some points about routed commands.

When a command in Menu, ToolBar, or "Quick Launch Box" is triggered it needs to be routed to the previously focused element.

I expect it should be triggered from the currently focused element up to the visual tree. Am I wrong?

This is done by determining the current focus scope (FocusManager.Scope), finding the parent focus scope

So, do I understand it correctly, you record focus scope on menu navigation, save it, and use it when any nested command is raised which should propagate from the upper focus scope up the tree?

Either way, it doesn't sound like something that can't be done with existing API without making it more complex:

it's possible to get the currently focused element
it's possible to track focus movements globally, i.e. static GotFocus.Raised.Subscribe()

But I might be missing something as well.

True, using GotFocus.Raised.Subscribe() I can re-implement the focus tracking myself. I'd be duplicating some FocusManager code but that's acceptable.

Just to clarify the questions above:

While generally, TopLevel has aspects of IFocusScope, I don't see how it can be used on Menu.

MenuBase already implements IFocusScope and therefore works for routed commands out-of-the-box. ;)

I expect it should be triggered from the currently focused element up to the visual tree. Am I wrong?

Say you have a Window with a main Menu and a TextBox.

You click the TextBox. The TextBox is now the focused element in the parent focus scope (Window).
Then you click the click the menu item Edit | Paste. MenuItems are focusable and therefore receive focus when clicked! The MenuItem is now the focused element in the parent focus scope (Menu) and the active focus element.
When we route the Paste command from the MenuItem up the visual tree to the window, then it never reaches the TextBox because it is not between MenuItem and Window in the hierarchy. So instead, we route the command up the visual tree until we reach the parent focus scope (Menu).
When we reach the Menu, we get its parent focus scope (Window) and get the last focused element in this focus scope (TextBox). We raise the command again on the TextBox.

That's generally how the routed commands work in WPF and in my Avalonia app.

So, do I understand it correctly, you record focus scope on menu navigation, save it, and use it when any nested command is raised which should propagate from the upper focus scope up the tree?

Yes, except that currently I don't have to manually record anything. The Avalonia FocusManager already tracks everything as needed. I just need to access it. (But re-implementing parts of the FocusManager in my UI library is fine.)

Closing the issue for now. Will open another issue if I hit any blockers.

IIRC there were hard to resolve issues with the way focus scopes are implemented. There are some plans to have a full WPF-like implementation, but no ETA yet.

No worries, I am making headway using my own implementation – manually tracking focus and focus scopes as @maxkatz6 suggested.


How to connect the SRAM generated by the memory compiler to the Ibex core and verify its functionality?

I am currently aiming to tape out a chip using SMIC's 180nm process. I am keeping the ibex core unchanged, but I need to embed SRAM on the chip. I use SMIC's memory compiler to generate the RAM's Verilog and liberty files, but I need to verify whether this SRAM can connect well with the ibex core and function properly. This is because the read/write timing of the SRAM generated by the memory compiler is different from that of prim_ram_2p. The prim_ram_2p can read out data in the current cycle, while the SRAM generated by the memory compiler requires a delay of one cycle to read out data. Therefore, I need to verify whether this SRAM works well; otherwise, I will need to design additional timing control logic.
I want to use the Ibex Simple System for verification. My steps are as follows:

Use the memory compiler to generate SRAM with width=32 and depth=1024*1024/4. By the way, are these parameter selections correct?
Replace prim_ram_2p with SRAM.v and connect the input and output port signals properly.
Compile the Ibex Simple System software to generate the vmem file.
Use ./build/lowrisc_ibex_ibex_simple_system_0/sim-vcs/lowrisc_ibex_ibex_simple_system_0 for simulation verification.

However, the simulation reports errors. It seems that the vmem is not read into the SRAM, and the instructions in the trace_core_00000000.log file are empty, showing INVALID. Is it possible that the SRAM cannot use the $readmemh command to load data? How should I proceed to verify it?

The running log and the trace_core are attached as follows.
replace_port_b.log
trace_core_00000000.log

I have used a memory compiler to generate an SRAM with a width of 32 and a depth of 8192. I have instantiated one in prim_generic_ram_2p. Since the memory compiler cannot generate dual-port SRAM, I directly used port A for data RAM. The code is shown as follows.

之后，我使用VCS进行simple system的仿真，使用hello_test binary，遇到了如下错误：
./build_sim_run.sh  Chronologic VCS simulator copyright 1991-2022 Contains Synopsys proprietary information. Compiler version T-2022.06_Full64; Runtime version T-2022.06_Full64;  Jul 27 16:23 2024 Initializing memory ibex_simple_system.u_ram.u_ram.gen_generic.u_impl_generic.unnamed$$_1.gen_meminit from file './examples/sw/simple_system/hello_test/hello_test.vmem'. ibex_simple_system.u_top.u_ibex_tracer.unnamed$$_1.unnamed$$_2: Writing execution trace to trace_core_00000000.log "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1220: ibex_simple_system.u_top.u_ibex_top.g_no_secure_ibex_mem_assert.IbexDataRPayloadX: started at 3480s failed at 3480s 	Offending '(!$isunknown({data_rdata_i, data_rdata_intg_i}))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1220: ibex_simple_system.u_top.u_ibex_top.g_no_secure_ibex_mem_assert.IbexDataRPayloadX: at time 3480 3480: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1220) [ibex_simple_system.u_top.u_ibex_top.g_no_secure_ibex_mem_assert.IbexDataRPayloadX] [ASSERT FAILED] IbexDataRPayloadX "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1141: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBranchDecisionValid: started at 3500s failed at 3500s 	Offending '(!$isunknown(branch_decision_i))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1141: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBranchDecisionValid: at time 3500 3500: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1141) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBranchDecisionValid] [ASSERT FAILED] IbexBranchDecisionValid "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1119: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexAluOpMuxSelKnownKnownEnable: started at 3520s failed at 3520s 	Offending '(!$isunknown(instr_valid_i))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1119: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexAluOpMuxSelKnownKnownEnable: at time 3520 3520: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1119) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexAluOpMuxSelKnownKnownEnable] [ASSERT FAILED] IbexAluOpMuxSelKnownKnownEnable "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1125: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBTAluAOpMuxSelKnownKnownEnable: started at 3520s failed at 3520s 	Offending '(!$isunknown(instr_valid_i))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1125: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBTAluAOpMuxSelKnownKnownEnable: at time 3520 3520: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1125) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBTAluAOpMuxSelKnownKnownEnable] [ASSERT FAILED] IbexBTAluAOpMuxSelKnownKnownEnable "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1129: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBTAluBOpMuxSelKnownKnownEnable: started at 3520s failed at 3520s 	Offending '(!$isunknown(instr_valid_i))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1129: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBTAluBOpMuxSelKnownKnownEnable: at time 3520 3520: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1129) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBTAluBOpMuxSelKnownKnownEnable] [ASSERT FAILED] IbexBTAluBOpMuxSelKnownKnownEnable "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1138: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexWbStateKnown: started at 3520s failed at 3520s 	Offending '(!$isunknown(id_fsm_q))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1138: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexWbStateKnown: at time 3520 3520: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1138) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexWbStateKnown] [ASSERT FAILED] IbexWbStateKnown "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1141: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBranchDecisionValidKnownEnable: started at 3520s failed at 3520s 	Offending '(!$isunknown((instr_valid_i && (!(illegal_csr_insn_i || instr_fetch_err_i)))))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1141: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBranchDecisionValidKnownEnable: at time 3520 3520: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1141) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexBranchDecisionValidKnownEnable] [ASSERT FAILED] IbexBranchDecisionValidKnownEnable "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1145: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexIdInstrKnownKnownEnable: started at 3520s failed at 3520s 	Offending '(!$isunknown((instr_valid_i && (!(illegal_c_insn_i || instr_fetch_err_i)))))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1145: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexIdInstrKnownKnownEnable: at time 3520 3520: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1145) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexIdInstrKnownKnownEnable] [ASSERT FAILED] IbexIdInstrKnownKnownEnable "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1149: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexIdInstrALUKnownKnownEnable: started at 3520s failed at 3520s 	Offending '(!$isunknown((instr_valid_i && (!(illegal_c_insn_i || instr_fetch_err_i)))))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1149: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexIdInstrALUKnownKnownEnable: at time 3520 3520: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1149) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexIdInstrALUKnownKnownEnable] [ASSERT FAILED] IbexIdInstrALUKnownKnownEnable "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1115: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX: started at 3520s failed at 3520s 	Offending '(!$isunknown(instr_req_o))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1115: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX: at time 3520 3520: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1115) [ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX] [ASSERT FAILED] IbexInstrReqX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1116: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable: started at 3520s failed at 3520s 	Offending '(!$isunknown(instr_req_o))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1116: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable: at time 3520 3520: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1116) [ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable] [ASSERT FAILED] IbexInstrReqPayloadXKnownEnable "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1135: ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX: started at 3520s failed at 3520s 	Offending '(!$isunknown(instr_gnt_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1135: ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX: at time 3520 3520: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1135) [ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX] [ASSERT FAILED] IbexInstrGntX "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1163: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexMoveToFirstCycleWhenIdReady: started at 3520s failed at 3540s 	Offending '(id_fsm_q == FIRST_CYCLE)' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1163: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexMoveToFirstCycleWhenIdReady: at time 3540 3540: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1163) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexMoveToFirstCycleWhenIdReady] [ASSERT FAILED] IbexMoveToFirstCycleWhenIdReady "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1138: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexWbStateKnown: started at 3540s failed at 3540s 	Offending '(!$isunknown(id_fsm_q))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv", 1138: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexWbStateKnown: at time 3540 3540: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_id_stage.sv:1138) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.id_stage_i.IbexWbStateKnown] [ASSERT FAILED] IbexWbStateKnown "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1115: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX: started at 3540s failed at 3540s 	Offending '(!$isunknown(instr_req_o))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1115: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX: at time 3540 3540: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1115) [ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX] [ASSERT FAILED] IbexInstrReqX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1116: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable: started at 3540s failed at 3540s 	Offending '(!$isunknown(instr_req_o))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1116: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable: at time 3540 3540: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1116) [ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable] [ASSERT FAILED] IbexInstrReqPayloadXKnownEnable "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1135: ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX: started at 3540s failed at 3540s 	Offending '(!$isunknown(instr_gnt_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1135: ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX: at time 3540 3540: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1135) [ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX] [ASSERT FAILED] IbexInstrGntX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1136: ibex_simple_system.u_top.u_ibex_top.IbexInstrRValidX: started at 3540s failed at 3540s 	Offending '(!$isunknown(instr_rvalid_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1136: ibex_simple_system.u_top.u_ibex_top.IbexInstrRValidX: at time 3540 3540: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1136) [ibex_simple_system.u_top.u_ibex_top.IbexInstrRValidX] [ASSERT FAILED] IbexInstrRValidX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1137: ibex_simple_system.u_top.u_ibex_top.IbexInstrRPayloadXKnownEnable: started at 3540s failed at 3540s 	Offending '(!$isunknown(instr_rvalid_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1137: ibex_simple_system.u_top.u_ibex_top.IbexInstrRPayloadXKnownEnable: at time 3540 3540: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1137) [ibex_simple_system.u_top.u_ibex_top.IbexInstrRPayloadXKnownEnable] [ASSERT FAILED] IbexInstrRPayloadXKnownEnable "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1115: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX: started at 3560s failed at 3560s 	Offending '(!$isunknown(instr_req_o))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1115: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX: at time 3560 3560: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1115) [ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX] [ASSERT FAILED] IbexInstrReqX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1116: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable: started at 3560s failed at 3560s 	Offending '(!$isunknown(instr_req_o))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1116: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable: at time 3560 3560: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1116) [ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable] [ASSERT FAILED] IbexInstrReqPayloadXKnownEnable "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1135: ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX: started at 3560s failed at 3560s 	Offending '(!$isunknown(instr_gnt_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1135: ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX: at time 3560 3560: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1135) [ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX] [ASSERT FAILED] IbexInstrGntX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1136: ibex_simple_system.u_top.u_ibex_top.IbexInstrRValidX: started at 3560s failed at 3560s 	Offending '(!$isunknown(instr_rvalid_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1136: ibex_simple_system.u_top.u_ibex_top.IbexInstrRValidX: at time 3560 3560: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1136) [ibex_simple_system.u_top.u_ibex_top.IbexInstrRValidX] [ASSERT FAILED] IbexInstrRValidX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1137: ibex_simple_system.u_top.u_ibex_top.IbexInstrRPayloadXKnownEnable: started at 3560s failed at 3560s 	Offending '(!$isunknown(instr_rvalid_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1137: ibex_simple_system.u_top.u_ibex_top.IbexInstrRPayloadXKnownEnable: at time 3560 3560: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1137) [ibex_simple_system.u_top.u_ibex_top.IbexInstrRPayloadXKnownEnable] [ASSERT FAILED] IbexInstrRPayloadXKnownEnable "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_compressed_decoder.sv", 286: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.if_stage_i.compressed_decoder_i.IbexInstrValidKnown: started at 3580s failed at 3580s 	Offending '(!$isunknown(valid_i))' Error: "../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_compressed_decoder.sv", 286: ibex_simple_system.u_top.u_ibex_top.u_ibex_core.if_stage_i.compressed_decoder_i.IbexInstrValidKnown: at time 3580 3580: (../src/lowrisc_ibex_ibex_core_0.1/rtl/ibex_compressed_decoder.sv:286) [ibex_simple_system.u_top.u_ibex_top.u_ibex_core.if_stage_i.compressed_decoder_i.IbexInstrValidKnown] [ASSERT FAILED] IbexInstrValidKnown "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1115: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX: started at 3580s failed at 3580s 	Offending '(!$isunknown(instr_req_o))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1115: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX: at time 3580 3580: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1115) [ibex_simple_system.u_top.u_ibex_top.IbexInstrReqX] [ASSERT FAILED] IbexInstrReqX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1116: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable: started at 3580s failed at 3580s 	Offending '(!$isunknown(instr_req_o))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1116: ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable: at time 3580 3580: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1116) [ibex_simple_system.u_top.u_ibex_top.IbexInstrReqPayloadXKnownEnable] [ASSERT FAILED] IbexInstrReqPayloadXKnownEnable "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1135: ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX: started at 3580s failed at 3580s 	Offending '(!$isunknown(instr_gnt_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1135: ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX: at time 3580 3580: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1135) [ibex_simple_system.u_top.u_ibex_top.IbexInstrGntX] [ASSERT FAILED] IbexInstrGntX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1136: ibex_simple_system.u_top.u_ibex_top.IbexInstrRValidX: started at 3580s failed at 3580s 	Offending '(!$isunknown(instr_rvalid_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1136: ibex_simple_system.u_top.u_ibex_top.IbexInstrRValidX: at time 3580 3580: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1136) [ibex_simple_system.u_top.u_ibex_top.IbexInstrRValidX] [ASSERT FAILED] IbexInstrRValidX "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1137: ibex_simple_system.u_top.u_ibex_top.IbexInstrRPayloadXKnownEnable: started at 3580s failed at 3580s 	Offending '(!$isunknown(instr_rvalid_i))' Error: "../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv", 1137: ibex_simple_system.u_top.u_ibex_top.IbexInstrRPayloadXKnownEnable: at time 3580 3580: (../src/lowrisc_ibex_ibex_top_0.1/rtl/ibex_top.sv:1137) [ibex_simple_system.u_top.u_ibex_top.IbexInstrRPayloadXKnownEnable] [ASSERT FAILED] IbexInstrRPayloadXKnownEnable
Check the trace_core_00000000.log file and find that it gets stuck at instruction 177, then an error is reported, as shown in the figure below. Instruction 174 seems to be incorrect. I don't understand why x15=0x000000xx; it should be x15=0x00000048.

Expected Behavior should be

I have attached both the correct log and the incorrect log below.
trace_core_00000000_right.log
trace_core_00000000_wrong.log

Hi there,
Thank you for the detailed description of what you're trying to do, and what's not working. I think I understand you, and I'm pretty optimistic that we can get things working for you.
My first note is about the assertions. These are basically saying that some control structures are trying to make decisions based on uninitialised data. Practically speaking, this will mean that you've fetched some instruction words from uninitialised memory and are now trying to decode and execute them. As you might expect, this isn't going to work :-)
This matches your description of the log file. If you look closely, notice that the (also) instruction after the lbuat0x00100094` is from a different address in the two cases: the expected trace has an address that goes up by 4, which makes sense. The address in the observed trace goes up by 6. Huh?!
On the plus side, I suspect the root cause is the same in both cases: the fetched instruction data contains x values.
When you say that "prim_ram_2p can read out data in the current cycle", I assume you mean that if we request from an address on cycle N then the data will come back on cycle N+1? (That's the behaviour we expect) And I guess you mean that the SRAM from the memory compiler takes an extra cycle to respond, so you request data on cycle N and the response valid signal will be high on cycle N+2?
For details of the exact timing, I'm going to forward this to @GregAC (who implemented most of the code in question). I can try to work it out by squinting at the implementation, but I'm probably not the best person to answer!

Thank you very much for your quick response. I found part of the reason: as you mentioned, I did not read in data during the SRAM initialization. This was my mistake; I assumed that memory initialization only applied to the Instruction memory and not to the data memory. It turns out both parts need to be initialized. I only ported the data memory, keeping the data memory part as the original code. Now that I have initialized the data memory, I can continue to make progress (I simply added the $readmemh statement in the Verilog code for the data memory; I wonder if there is a more convenient way to modify this).
Additionally, after initializing the data memory, although the system can continue running, there are still other errors. I am currently debugging and hope to resolve them. If I am unable to fix them, I will post the issues here and hope to receive your assistance.

Hi there,
Thank you for the detailed description of what you're trying to do, and what's not working. I think I understand you, and I'm pretty optimistic that we can get things working for you.
My first note is about the assertions. These are basically saying that some control structures are trying to make decisions based on uninitialised data. Practically speaking, this will mean that you've fetched some instruction words from uninitialised memory and are now trying to decode and execute them. As you might expect, this isn't going to work :-)
This matches your description of the log file. If you look closely, notice that the (also) instruction after the lbuat0x00100094` is from a different address in the two cases: the expected trace has an address that goes up by 4, which makes sense. The address in the observed trace goes up by 6. Huh?!
On the plus side, I suspect the root cause is the same in both cases: the fetched instruction data contains x values.
When you say that "prim_ram_2p can read out data in the current cycle", I assume you mean that if we request from an address on cycle N then the data will come back on cycle N+1? (That's the behaviour we expect) And I guess you mean that the SRAM from the memory compiler takes an extra cycle to respond, so you request data on cycle N and the response valid signal will be high on cycle N+2?
For details of the exact timing, I'm going to forward this to @GregAC (who implemented most of the code in question). I can try to work it out by squinting at the implementation, but I'm probably not the best person to answer!

By the way, may I ask if the default RAM size for the simple system is 1MB? I want to modify it to 32KB (because the memory compiler can only generate a maximum of 32KB RAM). Is this sufficient for the simple system to run? If so, which files should be modified? From my preliminary review, it seems necessary to modify the Device address mapping section in ibex_simple_system.sv. Do the base addresses and masks for RAM, SimCtrl, and Timer all need to be modified? Besides this, which other files need to be changed?


pyfftw v0.14.0 (with numpy2 migration)

This PR updates to 0.14.0 and includes the numpy2 migration from #65.
Closes #61.
Closes #65.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Thanks @duncanmmacleod. The changes look reasonable to me and the CI is green!
Do you think this PR is ready and can be merged?

Yes. I'm not particularly familiar with pyfftw, but am interested as a maintainer of dependent feedstocks, so if you're happy, I'm happy.


caffeOp mxnet build failed

Hi,
environment MXNet v1.0.0
I want to use caffe operator to implement some custom layers,such as the solution in mxnet/example/caffe/
I follow the install command described in https://mxnet.incubator.apache.org/faq/caffe.html, how to solve these problems?

git clone https://github.com/BVLC/caffe
cd caffe && wget https://github.com/BVLC/caffe/pull/4527.patch && git apply 4527.patch

thanks a lot !!
also if it has the cmake method for below configuration.
CAFFE_PATH = $(HOME)/caffe
MXNET_PLUGINS += plugin/caffe/caffe.mk

Thanks for submitting the issue @jacky4323
Could you also provide your system config for us to be able to assist you better?
@mxnet-label-bot[Caffe Integration, Operator]

Hi @kalyc ,
system  config of my linux is showed below.
thanks for help!!
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                20
On-line CPU(s) list:   0-19
Thread(s) per core:    2
Core(s) per socket:    10
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Model name:            Intel(R) Core(TM) i9-7900X CPU @ 3.30GHz
Stepping:              4
CPU MHz:               2675.835
CPU max MHz:           4500.0000
CPU min MHz:           1200.0000
BogoMIPS:              6623.88
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K
L3 cache:              14080K
NUMA node0 CPU(s):     0-19
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx avx512f rdseed adx smap clflushopt clwb avx512cd xsaveopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req

@jacky4323 Sorry for the waiting, I am taking over here to help you out.
[I will update this comment here]

@lanking520
OK , thanks for help!!

Hi @lanking520
OK, thanks
Are there any plans to update MXNet interface project with Caffe?
some of the custom operators are in caffe for my project.
Any help would be appreciated! thanks.

@jacky4323 I have reached out to the slack channel of MXNet to see if this is possible. In the meantime, can you try to convert your Caffe model into ONNX and then to MXNet?  I saw you mentioned some custom operators and this may block this approach.

Apart from that, did this help you out? https://discuss.mxnet.io/t/caffeop-mxnet-build-failed/2014

I responded to the relevant question on Discuss: https://discuss.mxnet.io/t/caffeop-mxnet-build-failed/2014/2
Copying response for reference here:
Looks like the patch hasn't been maintained as Caffe has evolved. You should try to reset your branch head to an older node (I tried rc3 tag) and then apply the patch. Once patch is applied, you can then rebase it on top of the main repo. The following commands will do the job (although I haven't compiled Caffe and even though re-base works without any issues, you may get some compilation errors):
cd caffe
git reset --hard rc3
wget https://github.com/BVLC/caffe/pull/4527.patch
git apply 4527.patch
git add -u
git commit -m "mxnet patch"
git rebase origin/master

@safrooze ,
I have tried it , the error is solved
unfortunately, When I use cmake to build mxnet, I met the problems below
in CMakeList.txt turn on Use Caffe Plugin
mxnet_option(USE_PLUGIN_CAFFE     "Use Caffe Plugin" ON)
mkdir build/Release  && cd build/Release
cmake ../../
CMakeError.log
console_error_log.txt

Looks like the patch needs updating. Any chance you'd be interested in fixing the patch and pushing a PR to get your name as an MXNet contributor? :)

@safrooze Hi,
now I use an old mxnet package build with caffe, it works now!!
However, In my caffe operator which is only implemented custom_layer.cpp (there is no custom_layer.cu),
Can I set not compile Cuda with this custom operator?
When I use the command below, I get the error due to not implementing GPU mode(cuda file)
mkdir build/Release && cd build/Release
cmake ../../
make -j8

We are deprecating caffe converter


Rotarycraft support

Would be nice to support rotarycraft shaft power via CM, not sure if this is something @ReikaKalseki would allow or not.

Using shaft power is fine. Generating it...you have to be very careful to avoid upsetting the RC techtree.

What about reactor-craft and electric-craft? if it upsets the tech tree could you add it as a config option

ReC is specifically gated behind endgame RC, and ElC does not help with powergen.
As for configs, I do not add configs to break things, given the fact it nullifies the whole point to begin with, especially if the config becomes "enabled by default" for major modpacks.

Yeah my suggest here was more along the lines of transporting shaft power via the CM interface. You'd still need to build all the ROC infrastructure, same if electricraft was supported so it shouldn't effect the Roc/Rec techtree at all.

Merely transporting power could be OK, but there are some concerns related to power merging that could lead to exploits if you are not careful. That said, if you do not support merging or bending, it should not be an issue.

Perhaps you could make the player able to configure the amount of shaft power that is transmitted by inserting a certain shaft into the interface's slot.

I have never used Compact Machines; how exactly does it work?

When you stand outside of a compact machine and right click on it, you can see the power status (RF, Mana) and you can put items in the slot for each CM interface. But at the moment those slots are useless or they are the buffer for item transmission.

??

The mod itself gives you a single block in the over world connected to a
room in the compact machine dimension. You can pipe power/fluid/me
connections in and out to facilitate smaller builds. So for a rotary craft
example you could, in theory, have a microturbine facing the box and then
from inside the box use that shaft power to run something or have some lube
production internally and pipe it out to your machines... Wouldnt offer any
rc shortcuts other than space saving which would be great.
On Apr 26, 2015 8:36 PM, "Reika"<EMAIL_ADDRESS>wrote:

??
—
Reply to this email directly or view it on GitHub
https://github.com/thraaawn/CompactMachines/issues/87#issuecomment-96451946
.

I am in full support of this.

@ReikaKalseki would you be interested in supporting CM from your mod's side? @thraaawn and we (Dimensional Pocket devs) are working on the Wormhole API that will allow other mods to easily ask what's on the other side / inside of an IWormhole (which will be the CM in this particular case).
I reckon we get the API finalised by the end of this week, and depending on @thraaawn's speed it might be implemented within the next two weeks.
If you are interested and want to take a look, the current draft of the API is hosted here: https://github.com/NPException42/WormholeAPI

Howdy. I'm concerned about entangled machines.
There is a mechanic in this mod that allows you to link two CompactMachine blocks to the same room and thus to the same energy network.
a) this allows -let's call it- tesseracting shaft power - across dimensions
b) it must be possible to split as well as merge power between n entangled instances of the machine.

A) is not a problem, but B) is not even possible. Highly specialized code is required for merging power, and there are several checks and balances to keep things from being exploitable.

That's what I was afraid of.
I will take a look at what workarounds would make sense (only enable rotarycraft support when entanglement is disabled; allow disabling of entanglement for particular systems; always just output to the "main" CM (which is a concept that does not exist yet); etc).

This is actually a feature that would be really nice, config options to allow various transfers while entangled so the server can set it
allowEntangledFluid=true/false
***Ae2
***Energy
etc
Then mods like RC can be hard coded off. This would also allow server owners to disable AE2 connectivity when a CM is entangled to prevent them being used as a way to bypass ae2 mechanics, while still allowing server owners to leave the option to entangle for other purposes such as tesseracting power/items or multiple access points.

Currently working on a 1.10.2 version, the 1.7.10 version is not being maintained anymore, sorry.
Closing all issues not relevant for the new version.


Giving a form a name that's different from the H1

User Story:
As a GC Forms form builder, I want to be able to navigate through different forms that have the same title.

As a GC Forms form builder, I want to know which form I’m working on as I navigate from the “My Forms” page (since the Settings page gives no indication of a particular form)
https://images.zenhubusercontent.com/315708034/6e0aadc5-02a5-420e-b24a-9cf6015ada3f/navigating_settings_pages.mov
Acceptance Criteria:

[ ] Form Builder can give each form a unique name in addition to the public-facing name

[ ] Clients know which form they are changing the settings for.

Comment from Tim: Thoughts on handling this with a page title vs adding more navigation?
Settings + "Title of your form"

When https://github.com/cds-snc/platform-forms-client/pull/1548 will be merged there will be a new field named name. This is what should be used to implement the feature. It will be fully connected and ready to be used by the form builder.

This is on staging behind a feature flag:
A few bug fixes to be merged
https://github.com/cds-snc/platform-forms-client/pull/1603
Once that's in we'll need some folks to test further and let us know if we should remove the feature flag for release.

Once that's in we'll need some folks to test further and let us know if we should remove the feature flag for release.

Just needs "sign-off" to remove the feature flag.


Fix string formatting

Need to use time formatting for the debug log, otherwise it shows an Input string was not in a correct format error
Fixes https://github.com/Looking-Glass/JoyconLib/issues/23
Original fix from @UlyssesWu

Hello folks, please help review and checkin this PR since it solves this problem. Thanks.
https://github.com/Looking-Glass/JoyconLib/issues/23


Feature: Hints System

Bringing over the hints system from both OOTR and MMR. Gossip Stones (without Mask of Truth) will give you general direction on where required items are via Way of the Hero, Foolish hints to tell you what areas don't have required items, and some specific location hints like "Biggoron Crafts a Blue Rupee."
Few things to note:
-Always make hints the Clear version. It would be double the work to make vague, lore-style hints that are cool and fun but often get ditched immediately in favor of Clear hints.
-OOTR has WOTH-style hints but also other goal-style hints such as "Path to the Key" or "Path to the Tower" for instances where Ganon's Boss Key is shuffled or Trials are on. I'm not sure if we want to just go with Path hints from the get-go or if we should allow players to be able to specifically set what style of hints they would like (whether Way of the Hero or Path). I could see Path hints being VERY GOOD for this randomizer, though, with hints like "Path to Odolwa" -- suddenly, you know that's either a bow, Sonata, Deku Mask, or some other item needed in that dungeon rather than the vague "Way of the Hero" which just tells you that region has required items in it. Path-style hints would also probably help Meds/Stones/Remains shuffle to anywhere and what not.
-Just make a Tournament-style hint distribution from the get-go. The default Balanced hint distribution OOTR has and OOT3DR copied doesn't really help either casual randomizer players or veterans of randomizers. Make the Tournament dist. the default and then expand on distributions as people play seeds. Given we are going to be able to use Gossip Stones across both games we have a lot of flexibility in how the distribution's numbers should be.
Think that's all? Can discuss more when we actually start getting into this.

Implemented a large portion of it, we'll see if we need Path hints


No config description

What config options are even available? What could be renderOption and tooltipDetailLevel? What do they stand for?

The config is currently just a JSON dump of the configured options 😅
You can see the actual options in game by going into the mod config page. If you're playing on Fabric/Quilt and don't have Mod Menu installed, you can see the strings that would be displayed on that page here, though I would highly recommend using the in game configuration option for now


HashPartitioner cast uint32 to int32

Versions
Sarama Version:  e8552c0 (latest master)
Kafka Version: 1.0.0
Go Version: 1.10
Configuration
Standard Configuration.
Logs
No specific logs.
Problem Description
https://github.com/Shopify/sarama/blob/e8552c0dbf502cd7ec9186b57897e6cf9f15fb34/partitioner.go#L126
The p.hasher.Sum32() is being cast to int32. The default hasher sarama uses is FNV-1. In golang, Sum32() for FNV-1 returns uint32, and it can overflow if cast to int32.
In my case, I'm using custom hash (xxHash32) and with the key="123", the hash value="3062191159" which overflows int32. It would be nice to not have the p.hasher.Sum32() cast to int32.

It's not clear to me how this is a problem? The partition chosen is still valid, consistent, and well-distributed.

Ah, this is true... hmm.
The main problem with fixing it is that it's basically a breaking change; we need to maintain the consistency of the hash function between versions for existing users. I think the best we can do is implement a NewUnsignedHashPartitioner or something which people can manually configure.
If we ever do a sarama 2.0 with breaking changes we could fix it for the default at that point.

Just to follow up: we've already had to adjust this once for different implementations of the absolute-value function (https://github.com/Shopify/sarama/commit/6967cdb516216f65c91b9ae11431901c8b12ecf5).
I would also note that the HashPartitioner code is fairly simple and the interface is public, so you're free to implement the entirely new partitioner behaviour yourself.

Thanks for the feedback. We are now using the entirely new custom hash partitioner in our project.


Subtyping and variance chapter review

Review #nomicon/340

Scheduled for April 8th. Nobody is preparing anything; just going over PR.

Done!

Zulip log


vue & codesandbox error - unexpected token Todo (null)

hi , great job !
I've got an error on codesandox /vue example
(link on readme)
https://codesandbox.io/s/github/YousefED/SyncedStore/tree/main/examples/todo-vue?file=/src/App.vue

this one looks better (link on doc) (+ removed used "ref", and add :key in v-for)
https://codesandbox.io/s/sandpack-project-forked-2wrwwp?file=/src/App.vue

Thanks! To me it seems like valid code, so it might be a codesandbox error. If you feel like helping out, could you see if you get the same error when downloading the project to your local machine (and running eslint)?


Document, import work item attachments not available in RTC mode

Documented in the readme here for 5.3


Why we need fd transfer instead of just create new listener in new process?

From my understand, transfer will send fd to new process, let next process continue to drain connections in that fd's backlog.
but If new process use REUSEPORT and then listen, accept, it still can accept connections from kernel socket addr 4 tuple.
Why we need transfer not create?

Good question. REUSEPORT create separated listening queues for each socket. When closing such a socket (in the old process), all the half-opened TCP connections are dropped. To such connections, the server is offline.
When a listening socket is transferred. It still binds to the same listening queue that old socket binds to. So when the old socket is closed, no connection will be lost.

OK, thanks!


[EN DateTimeV2] "one morning" gets incorrectly extracted as 1:00 AM

Describe the bug
"one morning" is treated similarly to "one in the morning", in that it returns the next 1:00 AM time, but is not generally referring to that
To Reproduce
Steps to reproduce the behavior:

Input "Let's find one morning together"
Output is an exact time corresponding to the next 1:00 AM time

Expected behavior
Either nothing should be extracted, or only "morning" as a time range. Note that "one in the morning" should maintain its current correct behavior.
Platform (please complete the following information):

Environment: LUIS

This usage happens thorught the LUIS runtime enabling CalendarMode in the recognizers. Issue should be fixed in all modes.

working on this

@LionbridgeCSII welcome back!
Please check both the regular mode and Calendar mode.
Thanks.

@tellarin thanks!
yes will do.
I am also addressing similar patterns like "The subject was discussed at three afternoon sessions." ("three afternoon" is also currently extracted as time).