BottomNavigationBar.initialise()

    private void initScrollTabs(boolean isReFresh) {
    scrollingTabs.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);
    scrollingTabs.setMode(BottomNavigationBar.MODE_FIXED);
    if (!isReFresh) {
        for (BottomNavigationItem item : bottom_list) {
            item.setActiveColor(MainApplication.APP_THEME_COLOR).setInActiveColorResource(R.color.text_color_323232);
            scrollingTabs.addItem(item);
        }
    } else {
        for (BottomNavigationItem item : scrollingTabs.getItems()) {
            item.setActiveColor(MainApplication.APP_THEME_COLOR).setInActiveColorResource(R.color.text_color_323232);

        }
    }
    if (isFirstPage) {
        scrollingTabs.setFirstSelectedPosition(X_tab_position);
        viewPager.setCurrentItem(X_tab_position);
    } else {
        scrollingTabs.setFirstSelectedPosition(0);
        viewPager.setCurrentItem(0);
    }
    scrollingTabs.initialise();
}

when I initialise the second time , the item's active icon will  dismiss only the inactive icon .I debug and check the code but I can't figure out that.

@rogerou i didn't quite understand the problem. Can you explain it in breif

@Ashok-Varma  ok, the problem is that when i initialise the bottombar the second time , all the tab will
only remain the normal state , no seleted or preessed.

@rogerou call clearAll() before resetting-data something like this.
 private void initScrollTabs(boolean isReFresh) {
    scrollingTabs.clearAll();
    scrollingTabs.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);
    scrollingTabs.setMode(BottomNavigationBar.MODE_FIXED);
    if (!isReFresh) {
        for (BottomNavigationItem item : bottom_list) {
            item.setActiveColor(MainApplication.APP_THEME_COLOR).setInActiveColorResource(R.color.text_color_323232);
            scrollingTabs.addItem(item);
        }
    } else {
        for (BottomNavigationItem item : scrollingTabs.getItems()) {
            item.setActiveColor(MainApplication.APP_THEME_COLOR).setInActiveColorResource(R.color.text_color_323232);

        }
    }
    if (isFirstPage) {
        scrollingTabs.setFirstSelectedPosition(X_tab_position);
        viewPager.setCurrentItem(X_tab_position);
    } else {
        scrollingTabs.setFirstSelectedPosition(0);
        viewPager.setCurrentItem(0);
    }
    scrollingTabs.initialise();
}

@Ashok-Varma thanks , I have tried that ,unfortunately, it didn't work but remain blank.

  like this.

@rogerou
clearAll() clears all the data even the navigationItems saved in my class. so you can reintiliase from scratch. But i see you are using scrollingTabs.getItems() (Custom Method) which if i am correct gives the tabs from libraries ArrayList which is empty. If you Customizing my library then in initialise() method add this at the begining.
        mSelectedPosition = DEFAULT_SELECTED_POSITION;

this should slove

@Ashok-Varma  thanks for helping out. I found the problem is that I have set the Default Position but the tabs didn't initialise

 java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0

I  Commented out this：

  if (isFirstPage) {
        scrollingTabs.setFirstSelectedPosition(X_tab_position);
        viewPager.setCurrentItem(X_tab_position);
    } else {
        scrollingTabs.setFirstSelectedPosition(0);
        viewPager.setCurrentItem(0);
    }

It woks;

@Ashok-Varma  And I found this

    if (isInActiveIconSet) {
            StateListDrawable states = new StateListDrawable();
            //works below api 21 ,use bitmapdrawble
            states.addState(new int[]{android.R.attr.state_selected}, new BitmapDrawable(drawableToBitmap(mCompactIcon)));

            states.addState(new int[]{-android.R.attr.state_selected},
                    mCompactInActiveIcon);
            states.addState(new int[]{},
                    mCompactInActiveIcon);
            iconView.setImageDrawable(states);

@rogerou the fix i told you was bug fix. So, If you do
        mSelectedPosition = DEFAULT_SELECTED_POSITION;

you no need to use clearAll(). So set the fix and remove clearrAll() from your code. That works.

@rogerou
the fix which you mentioned is currently working in API 21 and below. There is no issue.

@Ashok-Varma  well,that's nice.

i will close this once bug fix was released


Remove the MTU workaround used for OVN load-balancers

With the following update[*], OVN now forwards ICMP packets to OVN Loadbalancers, facilitating end-to-end PMTUD. As a result, the workaround used in the OVN route-agent handler may no longer be necessary.
[*] https://github.com/ovn-org/ovn-kubernetes/pull/3762

Do we know that this fix is deployed on all the OVN-based platforms we care about? (Or will be by the time we release 0.17...)

Do we know that this fix is deployed on all the OVN-based platforms we care about? (Or will be by the time we release 0.17...)

This fix was reffering to ovn-k8s-sub0 and is not used anymore by the new implementation. So even if the fix does not land we should be fine.

We want to re-evaluate the OpenShift on OpenStack to public-cloud and then decide if this needs to be backported.


Config namespace mismatch when applying config at namespace changes in the config tree

I am attempting to apply configuration by creating an element named "routing-options" to a configuration element (e.g. the device root configuration element) but I keep running into this error:
May 01 11:49:59 nsolab-02 clixon_server.py[1396907]: pyserver[1396907] clixon.py:136: Got exception from Clixon.__exit__: Namespace mismatch: http://yang.juniper.net/junos-qfx/conf/root in XML does not match http://yang.juniper.net/junos-qfx/conf/routing-options in yang
Setting a leaf in the routing-options and then running display xml yields:
<devices xmlns="http://clicon.org/controller">
   <device>
      <name>qfx-48</name>
      <config>
         <configuration xmlns="http://yang.juniper.net/junos-qfx/conf/root">
            <routing-options xmlns="http://yang.juniper.net/junos-qfx/conf/routing-options">
               <autonomous-system>
                  <as-number>6666</as-number>
               </autonomous-system>
            </routing-options>
         </configuration>
      </config>
   </device>
</devices>

The error persists regardless of wether a I supply a namespace via template code and cdata or not, and regardless of whether I set the namespace to either of the ones in the error message. If I understand the message correctly, the service is yielding config in the namespace /conf/root where the device yang is demanding /conf/routing-options.
I have also run into the same issue when attempting to create the forwarding-options field.
All of the tests have been done against qfx devices - I have not tried it against anything else yet.

Issue was caused by an unrelated bug.


Use of UserControl with VisualStateManager to achieve same results

In the list of examples given for when we might use different templates, I was wondering why not just reference (or embed) a UserControl inside the DataTemplate. This way, you could use VisualStateManager to change the background color, the font-size, the visibility, etc. of an UIElement depending on an object property value (e.g. IsSpecialItem).
Is this use of UserControl discouraged by some reason? Is it especially less performant?

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

ID: 2f2e0771-b6f5-66c6-affa-c09f317e911f
Version Independent ID: 06169075-6507-7ca5-14a3-0ae7a0a867ff
Content: Data template selection - UWP applications
Content Source: windows-apps-src/design/controls-and-patterns/data-template-selector.md
Product: uwp
Technology: design
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

Nobody cares. Great.

Hi, sorry for the delayed response to this issue. The feedback channel you're using here (Send feedback about > This page) is for feedback about the documentation in this topic. For example, if you find a typo or believe that the documentation in this topic is incorrect.

For questions or assistance, we recommend you visit Microsoft Q&A to post your question.
To engage with the XAML product team or file a product bug, you can click Send feedback about > This product from the doc page. This will let you open an issue with the development team in the WinUI repo on GitHub.

I'll go ahead and close this issue now, since there's no action I can see to take in the documentation. You can always reply to a closed issue, or even re-open it if you feel it's been closed in error.


Never recover from database connection error

I've hit this problem a few times over the last few days. Basically a database error occurs (still not sure why) and the session isn't rolled back then on the next attempt to connect to the DB it retries forever.
It is triggered with losing an open connection to the DB as below...
2015-08-25 16:16:14,922 INFO: "Problem Connecting to sns/<account_name>/us-west-2:\n**(DatabaseError) server closed the connection unexpectedly\n\tThis probably means the server terminated abnormally\n\tbefore or while processing the request.**\n 'SELECT account.id AS account_id, account.active AS account_active, account.third_party AS account_third_party, account.name AS account_name, account.notes AS account_notes, account.s3_name AS account_s3_name, account.number AS account_number, account.role_name AS account_role_name \nFROM account \nWHERE account.name = %(name_1)s \n LIMIT %(param_1)s' {'name_1': u'<account_name>', 'param_1': 1}" [in /xx/security_monkey/exceptions.py:68]
Then when we next try to connect to the DB we get...
2015-08-25 16:16:14,924 INFO: "Problem Connecting to sns/<account_name>/us-west-1:\nCan't reconnect until invalid transaction is rolled back (original cause: InvalidRequestError: Can't reconnect until invalid transaction is rolled back) u'SELECT account.id AS account_id, account.active AS account_active, account.third_party AS account_third_party, account.name AS account_name, account.notes AS account_notes, account.s3_name AS account_s3_name, account.number AS account_number, account.role_name AS account_role_name \nFROM account \nWHERE account.name = %(name_1)s \n LIMIT %(param_1)s' [immutabledict({})]" [in /xx/security_monkey/exceptions.py:68]
2015-08-25 16:16:14,950 WARNING: Database Exception in Datastore::get_all_ctype_filtered. Sleeping for a few seconds. Attempt 2. [in /xx/security_monkey/datastore.py:251]
Then we retry forever...
2015-08-26 10:38:37,068 WARNING: Database Exception in Datastore::get_all_ctype_filtered. Sleeping for a few seconds. Attempt 13500. [in /xx/security_monkey/datastore.py:251]
I think this can be handled by simply raising the exception in datastore.py after retrying a few times (seems to be working for me) but I wasn't sure of the history of this retry?

I saw this recently as well. :(

Attempt 13500

Holy Moly.
Have you tried raising the exception from datastore?  I'm assuming that would kill execution, and supervisor would then restart the scheduler, but I haven't tried it.
This issue definitely needs some love.

Yeh I did just raise it. It works ok. It just kills off that thread so just means you miss a config cycle. This is what I did...
    attempt = 1
    while True:
        try:
            items = query.all()
            break
        except Exception as e:
            app.logger.warn("Database Exception in Datastore::get_all_ctype_filtered. Sleeping for a few seconds. Attempt {}.".format(attempt))
            app.logger.debug("Exception: {}".format(e))
            import time
            time.sleep(5)
            attempt = attempt + 1
            if attempt > 5:
                raise

@DenverJ Can you submit a PR for that change? Would do it myself, but wanted you to get the credit ;)

Resolved by #302


[EFR32] Fix examples build as sleepy end device

Problem
Examples built as Sleepy end device fail to build with error
../../../examples/light-switch-app/efr32/third_party/connectedhomeip/examples/platform/efr32/BaseApplication.cpp:262:29: error: cannot call member function 'void BaseApplication::StartStatusLEDTimer()' without object
  262 |         StartStatusLEDTimer();

Change overview
Set StartStatusLEDTimer and StopStatusLEDTimer as public static as they are called by static members of the base application class for SED examples but are also called outside the context of the class.
Testing
Build efr32 examples as sleepy end device (--sed)

Accepted for 1.0: platform specific change.


Cilium Ingress and Gateway services are not reachable through NodePort from the localhost/node

Is there an existing issue for this?

[X] I have searched the existing issues

Version
equal or higher than v1.15.7 and lower than v1.16.0
What happened?
Cilium Ingress is not reachable from the host of the node in a hybrid kube-proxy setup. Cilium is configured with nodePort.enabled=true to keep kube-proxy running alongside Cilium in a hybrid mode. Ingress controller is configured with ingressController.loadbalancerMode=shared. MetalLB is used to provide LoadBalancer type services in the cluster.
For reproduction/example, we have a simple nginx deployment, a ClusterIP service and an ingress with foo.bar.com for the address.
NAME             TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
cilium-ingress   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   80:32704/TCP,443:31260/TCP   68s

Performing a curl -vk localhost:32704 -H "Host: foo.bar.com" or curl -vk <node-ip>:32704 -H "Host: foo.bar.com" returns
*   Trying <IP_ADDRESS>:32704...
* connect to <IP_ADDRESS> port 32704 failed: Connection refused
*   Trying ::1:32704...
* connect to ::1 port 32704 failed: Connection refused
* Failed to connect to localhost port 32704 after 0 ms: Connection refused
* Closing connection 0
curl: (7) Failed to connect to localhost port 32704 after 0 ms: Connection refused

Performing a curl -vk <IP_ADDRESS> -H "Host: foo.bar.com" returns
*   Trying <IP_ADDRESS>:80...
* connect to <IP_ADDRESS> port 80 failed: No route to host
* Failed to connect to <IP_ADDRESS> port 80 after 3084 ms: No route to host
* Closing connection 0
curl: (7) Failed to connect to <IP_ADDRESS> port 80 after 3084 ms: No route to host

These requests are successful and a response is returned if performed on another host. This host can be a node that is part of the cluster, so curl -vk <other-node-ip>:32704 -H "Host: foo.bar.com" is successful.
The same issue is present for Gateway API resources and behavior is the same. The services for Gateway and Ingress should be reachable from the localhost/node.
This is somehow resolved and not observed when Cilium is configured with socketLB.enabled=true but this is not listed as a requirement in the docs.
How can we reproduce the issue?

Get a single-node(or multi) Kubernetes cluster
Setup MetalLB and configure with free IP addresses
Install Cilium 1.15.8 with values

cni:
  binPath: /opt/cni/bin
  confPath: /etc/cni/net.d
disableEnvoyVersionCheck: true
gatewayAPI:
  enabled: true
ingressController:
  defaultSecretNamespace: kube-system
  defaultTLSSecret: ""
  enableProxyProtocol: false
  enabled: true
  loadbalancerMode: shared
ipam:
  operator:
    clusterPoolIPv4PodCIDRList: <IP_ADDRESS>/16
    clusterPoolIPv6PodCIDRList: ""
ipv4:
  enabled: true
ipv6:
  enabled: false
nodePort:
  enableHealthCheck: false
  enabled: true
operator:
  replicas: 1

Apply the example ingress manifest and the example gateway manifest.
Try curling the NodePort or LoadBalancer ip from the local node.

Cilium Version
cilium-cli: v0.16.18 compiled with go1.23.1 on linux/amd64
cilium image (default): v1.16.1
cilium image (stable): v1.16.1
cilium image (running): 1.15.8

Kernel Version
Linux k8s-integration-d16e09-1 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Kubernetes Version
Client Version: v1.31.1
Kustomize Version: v5.4.2
Server Version: v1.31.1

Regression
No response
Sysdump
cilium-sysdump-20240923-113129.zip
Relevant log output
No response
Anything else?
No response
Cilium Users Document

[X] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is somehow resolved and not observed when Cilium is configured with socketLB.enabled=true but this is not listed as a requirement in the docs.

Yep, for accessing services from the host network namespace you'll need the SocketLB feature enabled. Optionally limited via --bpf-lb-sock-hostns-only.
If there's a good spot to highlight this in the docs, please open a PR for it :).


feat(design): create decorative icon component

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
There is no component to centralize a 'decorative' icon used for visual or branding reinforcement.
Fixes: N/A
What is the new behavior?
Create a component that can be used as decorative icon, separate from the icon button, which has semantic meaning.
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

stale


Interface redesign

This PR is mainly moving stuff around and creating interfaces so we can have much better coverage in our unit tests
This is the second part needed to have a parallel configuration after https://github.com/k8snetworkplumbingwg/sriov-network-operator/pull/552

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

147 of 2577 (5.7%)  changed or added relevant lines in 34 files are covered.
537 unchanged lines in 18 files lost coverage.
Overall coverage decreased (-8.1%) to 17.506%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/plugins/intel/intel_plugin.go
0
1
0.0%

controllers/sriovnetworkpoolconfig_controller.go
2
4
50.0%

pkg/utils/shutdown.go
0
2
0.0%

pkg/daemon/event_recorder.go
0
3
0.0%

pkg/systemd/systemd.go
0
3
0.0%

pkg/utils/cluster.go
0
3
0.0%

controllers/sriovoperatorconfig_controller.go
11
15
73.33%

pkg/global/vars/vars.go
22
26
84.62%

pkg/global/consts/constants.go
0
8
0.0%

pkg/daemon/plugin.go
0
9
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/plugins/generic/generic_plugin.go
1
43.96%

pkg/plugins/k8s/k8s_plugin.go
1
0.0%

pkg/plugins/mellanox/mellanox_plugin.go
1
0.0%

pkg/client/clientset/versioned/fake/clientset_generated.go
5
46.15%

pkg/client/informers/externalversions/sriovnetwork/interface.go
6
0.0%

pkg/client/informers/externalversions/sriovnetwork/v1/interface.go
9
0.0%

pkg/daemon/event_recorder.go
10
0.0%

api/v1/zz_generated.deepcopy.go
12
34.79%

pkg/systemd/systemd.go
13
0.0%

pkg/client/clientset/versioned/typed/sriovnetwork/v1/fake/fake_sriovoperatorconfig.go
15
10.81%

Totals

Change from base Build<PHONE_NUMBER>:
-8.1%

Covered Lines:
1721

Relevant Lines:
9831

💛  - Coveralls

/test-all

/test-e2e-nvidia-all

Left some comments.
Though there are a lot of changed files for a single PR, I like the approach of moving toward a more testable operator.
Looking forward to propose PRs based on this with even more cleanups and improvements

@zeeke yep agree with you there is more stuff to do here.
my next work on cleanups and improvements will be to move also the systemd stuff we have to interfaces so we can have unit-tests in that area

Hi @e0ne @zeeke @adrianchiris please take another look if you can I think I fixed everything

@SchSeba im reviewing commits 1 by 1 so expect several comment batches from me  :)

Hi @adrianchiris thanks for the great review I think I answer everything. please make another round of review to only the new commits when you have time.
I will rebase the commits before we merge this to have a good history but for now I will add new ones so it's easier for everyone to review this PR as it's pretty big

provided another round of reviews,
once remaining comments are addressed im LGTM.

Thanks!
Done please have a look :)

Thanks everyone great work!!!


fix "clicking on emoji picker in edit message closes the keyboard"

Details
https://github.com/Expensify/App/blob/ce740fedbcd9a8b334d3fb8e36bce76a542cb577/src/pages/home/report/ReportActionItemMessageEdit.js#L209-L211
Extend an existing logic (used for Save button and Cancel button) to emoji button as well.
This issue happens only on mobile web.
Fixed Issues
$ https://github.com/Expensify/App/issues/10290
PROPOSAL: https://github.com/Expensify/App/issues/10290#issuecomment-1265925665
Tests

Login with any account
Send or receive any message in any chat
Edit message
Tap emoji button
Verify that emoji picker modal shows immediately

[x] Verify that no errors appear in the JS console

QA Steps

Login with any account
Send or receive any message in any chat
Edit message
Tap emoji button
Verify that emoji picker modal shows immediately

[ ] Verify that no errors appear in the JS console

PR Review Checklist
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots
Web
https://user-images.githubusercontent.com/96077027/197142655-3c83a988-483c-4e7e-9b6f-0f7a160b5dad.mov
Mobile Web - Chrome
https://user-images.githubusercontent.com/96077027/197142611-f287c73a-6525-45ac-abe6-e71b481e0f12.mp4
Mobile Web - Safari
https://user-images.githubusercontent.com/96077027/197142630-e6c5e7e4-3f4c-45e4-ab98-8cb62d32ebb3.mov
Desktop
https://user-images.githubusercontent.com/96077027/197142526-87b16731-2d1b-41b4-84cb-9f43108c8359.mov
iOS
https://user-images.githubusercontent.com/96077027/197142567-75c5f265-d3b0-4c88-a427-0d701f93a3a8.mov
Android
https://user-images.githubusercontent.com/96077027/197142456-ceb212ce-2649-45d8-80c9-5798e3e456fd.mp4

- // Return to prevent re-render when save/cancel button is pressed which cancels the onPress event by re-rendering
+ // Return to prevent re-render when save/cancel button is pressed which cancels the onPress event by re-rendering on mWeb only

@sobitneupane how does this look?

I mean in Details section of this PR template not in code base.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @srikarparsi in version: 1.2.20-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @chiragsalian in version: 1.2.20-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Upgrade Npgsql to 3.1

Just relaxed the Nuget constraint. Npgsql 3.1.2 failed repeatedly on the Marten CI server, so I retreated back to Npgsql 3.0.4 in dev.


Render text content

The content of a <Text /> component is 99% of the time going to be raw text, so we may as well actually render it instead of null

Mock is designed for shallow render. Children can be obtained by accessing .prop('children').

I have a (React Native) component:
class MyComponent extends Component {
    render() {
        return (
            <View>
                <Text>Important Text</Text>
            </View>
        );
    }
}

and I really want to test that it renders the string "Important Text". I'm starting to infer from this pull request and the conversation in #33 that this isn't a valid (or possible) test from the point of view of react-native-mock. Is that true or am I missing something?
cc: @lelandrichardson

@lennyk Yes that's the case, and it's by design. It's not possible normally, and the solution isnt ideal. The best way i've found of actually doing it is to access the components props('children') using your prefered testing library.


Add mp2p_icp for indexing

Please Add This Package to be indexed in the rosdistro.
humble
The source is here:
https://github.com/MOLAorg/mp2p_icp
Checks

[X] All packages have a declared license in the package.xml
[X] This repository has a LICENSE file
[X] This package is expected to build on the submitted rosdistro

NOTE: This package is right now already published within another package ("mola") but in the next release it will be released as an independently package & git repository, hence this PR.

Same as https://github.com/ros/rosdistro/pull/39210#issuecomment-1856575288.

Comments solved in original thread; plus <license file=...> attribute added upstream.


[Bug]: Wrong cols and rows on connect

What happened?
On connection, the rows and columns counts are not set
Resize works fine
Node Version
v19.0.0
NPM Version
8.19.2
Server OS Version
Linux ajax 6.0.2-arch1-1 #t1 SMP PREEMPT_DYNAMIC Sat, 15 Oct 2022 14:00:49 +0000 x86_64 GNU/Linux

WebSSH2 release version
0.5.0-pre-4
OS and Version of SSH server
Linux ajax 6.0.2-arch1-1 #t1 SMP PREEMPT_DYNAMIC Sat, 15 Oct 2022 14:00:49 +0000 x86_64 GNU/Linux
OpenSSH_9.1p1, OpenSSL 1.1.1q  5 Jul 2022

Browser Version
Chromium 106.0.5249.119 Arch Linux
Relevant log output
No response

fixed in #337


Added module for Networking with code to broadcast message

Approve Plss

Is it possible to add UnitTests for this ?


Refactor(compiler_base_error): Refactor the diagnostic rendered by CodeSnippet.

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y

issue #292

2. What is the scope of this PR (e.g. component or file name):
compiler_base_error

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[x] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

Replaced component IndentWithPrefix with String.

Adjusted the output diagnostic information as follows.

  --> /User/file_path:11:6
   |
11 | Line 11 Code Snippet.
   |      ^^^^

Adjusted the rendering strategy of the code snippet, if the span involves multiple lines of code, only the first code line will be rendered.

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[x] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

6. Release note

Please refer to Release Notes Language Style Guide to write a quality release note.
None

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

280 of 316 (88.61%)  changed or added relevant lines in 5 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.9%) to 90.568%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

compiler_base/error/src/tests.rs
43
46
93.48%

compiler_base/error/src/diagnostic/components.rs
73
82
89.02%

compiler_base/error/src/emitter.rs
44
68
64.71%

Files with Coverage Reduction
New Missed Lines
%

compiler_base/error/src/diagnostic/components.rs
1
81.01%

Totals

Change from base Build<PHONE_NUMBER>:
0.9%

Covered Lines:
1594

Relevant Lines:
1760

💛  - Coveralls


Add weird pronounciation: Animate

Word: Animate
Pronounciation: エナイマテ

(If possible, please attach an wav of pronounciation. Can be generated by using speech synthesis software like VOICEVOX.)
(Please use one of the following two.)

Vocalization software: (Software name here. e.g., VOICEVOX ずんだもん)
Acted by: (Person's name whose uttered this word)

Added in c1d278ee5bc80f493cbae8ac0eb0ea6779d65d71. Thank you for contribution!


Suggestion to add Polywork.com

Hello Tim from Greece!
I was watching your video and added (Littlelink-server) in a fork of portainer-templates by  Qballjos.
Mine is here.
Can you please add Polywork.com ?
Thank you

Thanks for the suggestion!


[add-resource] New Plugin/Theme

I would like to add my new plugin/theme to the Grav Repository.
Here are the project details: https://github.com/bit-it/grav-facebook-feed/releases/tag/v.0.1.0
Simple Plugin to add Your Facebook Feed onto your Website

This is not going to work until you put the plugin at the root of the repo: https://github.com/bit-it/grav-facebook-feed
It's currently in a subdirectory, and that won't be picked up properly.

alright thanks for the info. I restructured the Project.

Added to GPM.  thanks.

OK failed because of missing blueprints:
facebook-feed (bit-it/grav-facebook-feed)...failed [getBlueprints:missing]

Please double check you have a valid blueprints.yaml in the released version

Would it be possible to elaborate this further? I tried it locally and online and both times the Plugin worked like a charm. No errors on saving the Blueprint or in the Frontend whatsoever.

Okay i renamed the Release maybe that was the Problem. here is the new Lnik
https://github.com/bit-it/facebook-feed/releases/tag/v.0.1.0


ctrl+space in new pwsh terminal with suggestions enabled doesn't do anything

It seems required that you type something first.

Can you reproduce on windows @Tyriar ? not able to on mac
https://github.com/user-attachments/assets/94ed8f80-e504-46e7-9f39-fb5e2f1e8d9e

I can reproduce after I disable starship. I'm guessing this is a general prompt input model init problem for the default prompt.

@Tyriar I think this means it's an issue with shell integration, not terminal suggest?

I'm guessing this is a general prompt input model init problem for the default prompt.

It looks like TerminalSuggestAddon doesn't exist yet when this happens. Focusing out and back into the terminal fixes the problem.

sync is never called in this case, the prompt input model isn't available until after the initial prompt happens I think:
https://github.com/microsoft/vscode/blob/ceab34bc36825ebd163e625426c2d6518c177a0b/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalSuggestAddon.ts#L109-L118
This causes the terminalShellIntegrationEnabled context key to not work:
https://github.com/microsoft/vscode/blob/ceab34bc36825ebd163e625426c2d6518c177a0b/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminal.suggest.contribution.ts#L193
Suggested fix:

Change the ctrl+space context key to use suggest.enabled instead
Track when that's triggered and make sure sync is called if it happened just before command detection lights up


Tag the source

It would be very helpful if you could tag releases as well. This would enable distributions who want to run your tests to fetch the package from GitHub instead of PyPI, where the tests are excluded.
Thanks

Good point, can you confirm that the releases/tags I've just created are correct? Thanks!

The release on PyPI is 2.1.1, the tag says 2.1.
There is also a difference between what is in the published tarball on PyPI and in the repo. The image files for the tests are missing in PyPI tarball. The other way around is setup.py and setup.cfg in the tarball but not the repo.

I've added the tag 2.1.1 and created a new tag v2.2 for the latest tarball on PyPI, which includes the image files for the tests.


Do not download images with file size lower or higher than specified

Prerequisites

[x] Did you read FAQ section?
[x] Did you test with the latest releases or commit ?

Description
I recently lost a collection of almost 1000 pages of bookmarks downloaded from my account, and even though I can download them all again, unfortunately pixiv is way too slow to handle this many pages even with multiple instances of PixivUtil2 open.
Is there any way I can set PixivUtil2 to skip certain images that won't meet a file size criteria? I've seen the possibility briefly mentioned in issue #499, but I have no idea if it's implemented or not. If I can call it as an argument, even better.
As for examples, I'm looking for something like >3m or <1000k, but any kind should be okay as long as it matches anything below or higher a certain value (in kilobytes or megabytes).

can you filter the image size from the website? else I still need to fetch the filesize for each images. also, how to handle multi-images post?

That was fast. 😄
I want to get the images from my bookmarks, and as far as I'm aware, I can't sort or filter by size. I'm okay with fetching the sizes with a HEAD request for each image, I just want to skip downloading it if it doesn't match the criteria.
In the ideal world, this would go through each multi-images post and do the work, but I'm okay with skipping the whole post if the first image doesn't match the criteria. Whatever works best and is easier to code.

it is easier to check for each images in the post, just you will have missing pages there.
HEAD checking for file size:
https://github.com/Nandaka/PixivUtil2/blob/master/PixivUtil2.py#L202


redirect_to and scroll to acnhor

When using redirect_to with anchor, change and scroll:true, it doesn't scroll to anchor.
I checked source code and i see that scroll param is never passed from server to client side.
I fixed this also in pull request https://github.com/rails/turbolinks/pull/588.

Could you provide a test app for reproducing this?
I don't think the solution is to expose the scroll option server-side.

Use case is when you update some resource "inline" (single page).
For example you have list of items with edit button you do turbolinks.visit to edit (to show form) and after save you redirect_to with anchor, but without scroll true it doesn't scroll to anchor (to saved item).

The fix isn't to expose scroll server-side. We should make Turbolinks.visit with change scroll to the URL fragment by default, instead of leaving the scroll position unchanged.
I will take care of this in the coming weeks.

Yes i agree, this solution is better. Thanks :)


flow requires SU privileges to run

Running flow in my system 1 as a standard user (not root) results in:
$ flow server
[2016-04-20 15:34:07] Initializing Server (This might take some time)
[2016-04-20 15:34:07] executable=/home/miguelg/src/flow.git/bin/flow
[2016-04-20 15:34:07] version=0.23.0
[2016-04-20 15:34:07] Parsing
Fatal error: exception Sys_error("/tmp/systemd-private-79b6d2d6e0584633abc26fe5d79a666d-tor.service-TVwX1C: Permission denied")
Exception: Sys_error("Broken pipe")
Potential backtrace:

and flow stays in a never-ending loop outputting:
Exception: Sys_error("Broken pipe")
Potential backtrace:

But if I run flow as root:
# flow server
[2016-04-20 15:34:30] Initializing Server (This might take some time)
[2016-04-20 15:34:30] executable=/home/miguelg/src/flow.git/bin/flow
[2016-04-20 15:34:30] version=0.23.0
[2016-04-20 15:34:30] Parsing
[2016-04-20 15:34:33] Building package heap
[2016-04-20 15:34:34] Running local inference
[2016-04-20 15:34:38] Re-resolving directly dependent files
[2016-04-20 15:34:38] Calculating dependencies
[2016-04-20 15:34:38] Merging
[2016-04-20 15:34:39] Done
[2016-04-20 15:34:39] Server is READY
[2016-04-20 15:34:39] Took 8.701974 seconds to initialize.

1 System:
```
Linux 4.2.0-35-generic
Ubuntu 15.10
Flow 0.23.0
```

Hmm... Are you running the server from within a directory with a .flowconfig?
(If so, can you also provide that just to rule out any uncertainty)

i can repro. looking into it!

repro:
mkdir testdir
cd testdir
flow init
mkdir foo
sudo chown root foo
sudo chmod 700 foo
flow check

result:
Fatal error: exception Sys_error(".../foo: Permission denied")


[LI-HOTFIX] Log lastCaughtUpTime on ISR shrinkage

TICKET = N/A
LI_DESCRIPTION = This is for better observability on URPs for troubleshooting.
EXIT_CRITERIA = When upstream also logs similar info.

Also raised an upstream PR
https://github.com/apache/kafka/pull/13187


fix(slides): prevent the setting of slideindex to a value outside of …

Short description of what this resolves:
Drag of the last slide sets the slide index to N+1 where N is the index of the last slide in the range.
Changes proposed in this pull request:

Set the current index to the last slide if it gets out of range.

Ionic Version: 3.x
Fixes: #10208

Hello and thank you for contributing to Ionic! We have been working on porting all of the Ionic components to web components and have recently updated master to reflect this. This significant change has caused this pull request to break. While we really appreciate the time and effort you put into creating this, we are not able to merge it because of the newly introduced conflicts. We are extremely sorry about this. We will not be merging any more features in to v3. If this is a feature and you have the time, please resubmit this PR against the master branch. If this is a critical security issue in v3, we would greatly appreciate it if you would resubmit the PR against the new v3 branch. Thanks so much for your time!


BURN BOOTLOADER

Hi ,
Sorry for my english I'm french . I have recently burn my esp32-S3 on a T Display board ( Hight voltage 20V accidently put on GPIO Input My ESP32-S3 is HS . I buy a new ESP32-S3 replace on T display bord and now I want to burn a new bootloader on this chip to restor my ESP32-S3 TDisplay BOARD is it possible ? with usb port ?

Thanks for response

"Sorry for my english I'm french .
I have recently burn my esp32-S3 on a T Display board ( Hight voltage 20V accidently put on GPIO Input My ESP32-S3 is HS
I buy a new ESP32-S3 replace on T display bord and now I want to burn a new bootloader on this chip to restor my ESP32-S3 TDisplay BOARD is it possible ? with usb port ? "
Hi! I am fascinated that you were able to purchase an identical ESP32 S3R8!
And solder it to your board? Good job!
You do not need a new bootloader because the ESP32 S3 has the bootloader  built-in, in ROM, so you should be able just continue uploading your sketches as before via the USB.
-Terry

OK thanks Terry , I prefer to repair rather than throw away but passionate about electronics I am equipped to repair CMS so at $4 why not. But from your response I just realized that I ordered the wrong version of the ESP32. I ordered the ESP32-S3 and not the ESP32-S3R8. I'm going to see how to adapt that to my card. if it is possible the PB being that I do not have a USB port.

Thanks for your help


Updates package script to run gulp build before electron-packager

Proposing a solution for #32.
It seems like the tasks for compiling typescript, react and sass isn't run before npm run package, which is what's causing this issue, if you haven't run npm start yet.
This is a possible scenario that works.
@luizkowalski @jbaskeen @mzgnr

+1

+1

@chaseadamsio, thank you for the contribution.

:+1:

:+1: happy to contribute to something that displaces the antiquated tools we have to deal with now.


CI is broken by the latest release of flake8

CI is broken by the latest release of flake8 3.8.0: https://pypi.org/project/flake8/
https://dev.azure.com/azure-sdk/public/_build/results?buildId=388688&view=logs&j=10884592-6334-52bc-4a58-7b0259fa5909&t=c6210a79-6b8f-5f7c-861b-11eaae91f848&l=366
1     E225 missing whitespace around operator
76    E741 ambiguous variable name 'l'
8     F522 '...'.format(...) has unused named argument(s): remote
19    F523 '...'.format(...) has unused arguments at position(s): 0
4     F541 f-string is missing placeholders

We need to do any of these:

Lock flake8 version to 3.7.9
Disable these errors in .flake8 file
Fix the violations in the code

add to S169


Upgrade cached-path-relative

See https://nvd.nist.gov/vuln/detail/CVE-2018-16472

any reason they are not semver range? seeing as we have a lock file, there's no reason to lock down our dependencies in package.json

any reason they are not semver range? seeing as we have a lock file, there's no reason to lock down our dependencies in package.json

No reason that I can recall. Since we have a lock file (assuming that developers install using npm ci), it won't make any difference.
However we should probably change it to use ranges, so users will get up to date dependencies when they install. Would you like to make a PR for this?

This PR has been updated to only update cached-path-relative, as a full upgrade of browserify causes builds to fail


Ratelimit based on IP Subnet

Description:
Support ratelimiting client based on their IP addresses.
Relates to https://github.com/envoyproxy/gateway/issues/670

xref: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto.html?highlight=maskedremoteaddress#config-route-v3-ratelimit-action-maskedremoteaddress

sorry, I forgot this, will do this ASAP.


Install to conda environment.

Nice job! :) I would like to have it installed to my conda environment. How can I do so?
The conda env path is "/home/nvidia/miniforge-pypy3/envs/envname/bin/"

Didn't get to this in time, but if you found a solution @Zumbalamambo , please post it here to help others :)


Exact times

Add ability to create routes that have exact times (i.e. they depart at exactly the given frequency from startTime inclusive to endTime exclusive, with no variation/Monte Carlo simulation). Should be ready to go.

@trevorgerhardt make sure you take a look at the changes in editor.js, after merging your changes in #210 I was unable to create modifications other than add-trips and reroute, I believe I fixed the issue (it was expecting to find a segments array on all modification types).


file (sendFile) without caching

As I see the implementation of the direct file sending (without streaming) is implemented in caching-only manner. I mean it is not optional to enable-disable caching of some particular files, while there are some cases when there is no need of caching (sending some very special file that most probably will be sent again in one month or never) and thus I want to ask, if you are able to add this possibility of disabling cache of the file or maybe you allow me to make a PR with this changes? I mean of course caching is important, but I think when we talk about framework (not about business code) the caching has to be optional, even if it is used in major cases.

Well the Response.sendFile() is an alias of Response.file() method and I can certainly look into making the caching optional though I don't see any mention of caching within the Express.js documentation for the sendFile() method.
Do you know of the exact function signature of the Express.js Response.sendFile() method and which option / property allows for controlling of caching?

I am sorry for late response. I am a bit confused. You tell that you want to have compatibility with Express, but actually express has no caching at all. And also about memory, even loading file to the memory, does not make us to store it there then. If I am not mistaken express has options parameter, and while it generally does not have caching functionality, we can just add this option there, as extending options will not break compatibility. To be honest default caching actually break compatibility with Express, as it has no caching by default. At least I didn’t find anything in the docs. So, will it be too difficult to add this param to the options and them pass it to “file” method?
P.S. I am really grateful to you for this framework. I am no way criticise it, only want to suggest something useful.

I see what you mean. Yeah It seems extending the options to add an additional option is the best decision here. I'll work on adding an option to disable caching now. I will leave caching enabled by default to prevent this from being a breaking change.

Hey, after much thought, I believe any changes to the signature of the Response.file() method would be a breaking change or at least very inconvenient / odd to disable caching.
Since HyperExpress provides full flexibility for anyone to just pipe a stream or easily stream any local file using one of the many available methods / techniques such as Response.stream(), I think this issue can be closed for now.


Enable copying of a run's font

Hello,
I am new to this project and have been enjoying the work done.
For my own project, I replace some text fields with specific values.
Unfortunately, I noticed that the formatting gets lost when using the Paragraph::text property.
For example,

becomes

Inspection of the XML output revealed that the run's embedded font information gets lost.

Finally, I found this comment in the source code for the Paragraph class

Looking deeper, I see why the call to clear() was needed.
In my testing, I can see how Word can sometimes split text over multiple runs.
As a result, I resorted to logic like so in my program in order to recover the font information.

if len(p.runs):
            old_run = p.runs[0]
            p.text = p.text.replace(str(key), str(value))
            new_run = p.runs[0]
            new_run.italic = old_run.italic
            new_run.bold = old_run.bold
            new_run.underline = old_run.underline
            new_run.font = old_run.font
            new_run.style = old_run.style
        else:
            p.text = p.text.replace(str(key), str(value))

The one issue is that new_run.font = old_run.font was returning an error.
I went ahead and added the missing font.setter and color.setter to the respective properties in run.py and font.py.
I am going to open a pull request to associate with this issue.
Ideally, I can retain the formatting of one of the runs when changing the text via an instance of Paragraph. Since I understand this is tricky and probably not worth the time, I think enabling the ability to copy the font formatting from a run to another would be helpful for those who are assuming 1 formatting to one block of text (meaning, even if Word splits the text into multiple runs, all runs have the same formatting). I think this is a good compromise for me at this time.
Let me know what you think, how I can be of assistance, or how I can adjust my solution in #1309 to better match expectations for this project.
Thank you for your excellent work!

I should mention that I tested my changes in #1309 to be working. It allowed me to recover the font information and pass it to the new run generated via Paragraph::text .

Actually, no, it is not fully fixed. Font::name is None so the font is not recovered even if the other properties are. I am having a bit of a hard time finding the point in which the run block gets parsed to check if the library is keeping track of the font name. Any suggestions are welcomed.

@luissantosHCIT if you work at the lxml level you can make copies of that original<w:rPr> element and apply them to new runs. That would generally be more reliable and less tedious than inspecting all the known attributes.
You'll need to search around for examples, but some of the things you'll need to know about are the lxml.etree._Element interface: https://lxml.de/api/lxml.etree._Element-class.html. All elements in python-docx are instances of these so all these methods are availble.
So something roughly like:
original_rPr = run._r.get_or_add_rPr()
new_rPr = copy.deepcopy(original_rPr)
new_r = para.add_run()._r
new_r.replace(new_r.get_or_add_rPr(), new_rPr)

Hi @scanny. Thank you for taking the time to share the snippet.
Yes, I have used lxml for a while now. I was trying to avoid the lower level api.
It makes more sense to me to abstract away the private member access with getters and setters.
It feels to me, the natural way to access the elements is through python-docx's Document->{Paragraphs, Tables}->{Runs, Rows, Cells} structure layout.
Do you think that perhaps it would be better to have a property like formatting that allows users to do exactly what you propose at the Run level? I am down to updating my fork and pushing such changes.
@property
def formatting(self) -> CT_RPr:
      return copy.deepcopy(self._r.get_or_add_rPr())

@formatting.setter
def formatting(self, rPr: CT_RPr):
      text = self._r.text
      new_run = self.add_run()
      new_run._r._insert_rPr(rPr)
      new_run.text = text

What do you think?

Updated my branch.
I only needed to add the following.
Tested to be working as desired.
    @property
    def formatting(self) -> CT_RPr:
        """The |CT_RPr| object providing access to the full range of formatting properties for
        this run, such as font name and size."""
      return copy.deepcopy(self._r.get_or_add_rPr())

    @formatting.setter
    def formatting(self, new_rPr: CT_RPr):
          self._r.replace(self._r.get_or_add_rPr(), new_rPr)

@scanny Let me know if it looks good or if you would like me to do something else.


Adding Slovenia link

Rather than copy all of the content, I think that this link should help anyone who is in Slovenia find a good work place.

hey not to be pedantic, but didn't we already discuss how having a larger list isn't a problem?  Other than it being tedious, why not add a whole long slovenia list?

Pedants welcome. I didn't feel like converting it, at the time, and this seemed to work for me. If you'd like to manually add them using the format of this list, go ahead?

I think I'd like to take that project on after I figure out a nice way to search this list.  We discussed with @diasdavid about making this whole list into a searchable JSON document in a different PR.  That would be really cool and in that context it would make sense to have this whole awesome list be one big document.

I'm really into the way homebrew cask does their search - https://caskroom.github.io/search


SONOFF SwitchMan Smart Wall Switch-M5 - 3 Gang, 86 Apple HomeKit

What issue do you have? Please be as thorough and explicit as possible.
I had installed the new SONOFF SWITCHS (SONOFF SwitchMan Smart Wall Switch-M5 - 3 Gang, 86)
It it working in eWeLink app however it doesn’t work with Apple HomeKit.
Details of your setup.

Do you use Homebridge (with config-ui?) or HOOBS?

HOOBS

Which version of Homebridge/HOOBS do you have?

Version : 4.0.110
Node version :14.18.2

Which version of this plugin (homebridge-ewelink) do you have? Has the issue started since upgrading from a previous version?

8.7.1 (latest)

Which eWeLink devices do you have that are causing issues? Please include product models if applicable.

Do you use your main eWeLink credentials or do you use a secondary eWeLink account for Homebridge?

Please paste any relevant logs below.

BridgeeWeLinkWARNING[الفناء الخارجي اضائة الشلال] is not supported, do create a GitHub issue with the following info: [160] {"bindInfos":{"gaction":["56b70842-1a14-4e90-b80c-f029462bd228_ewelinkGoogleHome"]},"version":7,"remoteCtrlList":[{"outlet":0,"addr":[]},{"outlet":1,"addr":[]},{"outlet":2,"addr":[]},{"outlet":3,"addr":[]}],"switches":[{"switch":"off","outlet":0},{"switch":"off","outlet":1},{"switch":"off","outlet":2},{"switch":"off","outlet":3}],"configure":[{"startup":"off","outlet":0},{"startup":"off","outlet":1},{"startup":"off","outlet":2},{"startup":"off","outlet":3}],"pulses":[{"pulse":"off","switch":"off","width":500,"outlet":0},{"pulse":"off","switch":"off","width":0,"outlet":1},{"pulse":"off","switch":"off","width":0,"outlet":2},{"pulse":"off","switch":"off","width":0,"outlet":3}],"sledOnline":"on","staMac":"E0E2E60BB560","rssi":-77,"offBrightness":25,"fwVersion":"1.1.0","only_device":{"ota":"success","ota_fail_reason":0}}.

Hi @alsolaim94
Can you update to the beta version of the plugin? Instructions for HOOBS here:
https://github.com/bwp91/homebridge-ewelink/wiki/Beta-Version#hoobs-4
This device should then start working.
Do you know if the device supports LAN mode?

Hey @bwp91 ,
Thank you for your quick response and support.
I have had upgraded the eWeLink plug to the beta version and it worked in Apple HomeKit. However, it shows 3 Gang switch, instead of 1 Gang.
The log for the switch I have mentioned was 1 Gang switch not 3 Gang like what I wrote in the subject(SORRY, I have more than 40 switch).
Regarding your question"Do you know if the device supports LAN mode?"
Yes it does support LAN Mode.

Do you own the 3 gang model too? If you do, can you show me the line in the log as you did for the 1 gang above?

8.7.2-beta.18 should switch this from 3-gang to 1-gang.
You will probably however need to remove the existing accessories from the cache as the plugin won't automatically remove them.

Thank you very much.
I cleared the catch, however I noticed all my previous 63 switches including the new switch turn to "Accessories No Response"
Does clearing the catch will clear all previous configured devices?

You only need to remove from the cache the 4 accessories created for this new wall switch.
Do you own the three gang version too?


Investigate support for the null cipher in the network protocol

Specifically, need to check whether sending 0 in the key exchange works as expected. Also check whether the client actually expects to exchange keys at all when using the null cipher.

If it works, add support in Vezel.Novadrop.Net.

Further RE indicates that the client does not expect to exchange keys when using NullCipher. The socket is considered ready immediately upon receiving the CIPHER_KIND_NONE from the server.
enum CipherKind : uint32_t
{
    CIPHER_KIND_NONE = 0x0,
    CIPHER_KIND_PIKE = 0x1,
};

Should be easy enough to support.

Implementation and documentation covered by #15 and #1, respectively.


blocking-plane - rewrite Jak 1 impl based on Jak II

Also added a small helper to easily spawn your own blocking-plane between 2 vectors with a given height.
Example (spawn):
(when (not (process-by-name "test-blocking-plane-1" *active-pool*))
  (let ((verts (new 'stack-no-clear 'inline-array 'vector 2)))
    (set-vector-meters! (-> verts 0) 194.39  10.62 -1587.11) ;; near geologist
    (set-vector-meters! (-> verts 1) 214.60  10.31 -1590.41)
    (blocking-plane-spawn-simple verts (meters 30.0) "test-blocking-plane-1")
    )
  )

Example (despawn):
(let ((plane (process-by-name "test-blocking-plane-1" *active-pool*)))
  (when plane (deactivate plane))
  )

test


Execution of the meeting covering basics of ODESystem solver (issue #395 related)

The goal is to execute a meeting covering basic operations on ODESystem class objects.

Meeting has been executed


Add copy for self screener start

Why:
Currently we arent providing copy for the self screener intro screen,
which is causing CI to fail for any commit that updates the translations
file.
This commit:
Adds the copy to the self screener intro screen.

@johnschoeman I checked, no need to update lokalise, as long as we merge this one first and the other 911 updates after

@aledustet , so i cant pass ci without including self_screen, is lokalize updated yet?


kddcup22-sdwpf-evaluation提交结果报错

在此次比赛中，我们队伍的提交结果总是提示 Error occurred：Err: Accuracy (-0.004) is lower than Zero, which means that the RMSE (in latest 24 hours) of the 120...
因为 Err 显示不完全，我们并不清楚是哪里产生了错误，导致无法得到测试结果的分数。
我们在本地运行 evaluation.py 是完全可以跑通的，没用任何报错，可否提供远程服务器完整的报错信息？

As we announced right before the 3rd phase competition, the questions on the technical errors will not be answered in Phase 3. These technical errors should be Q&A during the 2nd phase competition.
Sorry for that.


Some internal links not working on local copy of the website

Current Behavior
The links to the demo etc on this page don't work for me http://localhost:8080/handbook/sales
The links work for @joepavitt on his local version.
Video of the problem - https://d.pr/v/sTRada
Expected Behavior
The links should take me to the same path on local as production.
Steps To Reproduce
Install the website local build, run the server, go to the URL, click demo.
Environment

Date:
Platform/OS: latest mac
Browser: latest chrome

Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate

Netlify and eleventy locally are different. Also the route of clicking links you took was different I think.
If you click sales in the index.md in the root of the handbook the link to the sales page doesn't have a trailing /, Netlify redirects to have a trailing slash. But Rob locally ran into the case where he could go to localhost:8080/sales with a link to ./demo.md. Correctly the website went to localhost:8080/demo.
So: Internal links to index.html need trailing slashes, all other links need the .md extension.

I'm going to do a PR to fix the specific links I've noticed need the trailing slash. I suspect there will be a few other instances that will need resolving at a later date.

The links described work fine for me, even without the proposed changes..


The process cannot access the file because it is being used by another process

I get an error while trying to build a project which has DllExport package (version 1.6.3):

The process cannot access the file because it is being used by another process.

Error window says the following: at \packages\DllExport.1.6.3\tools\net.r_eg.DllExport.targets (line 59 column 5)

This issue have started happening after I upgraded the DllExport reference to a newer version <IP_ADDRESS>130 - f61ffe9.
I have tried building with VS2017 (version 15.9.13) and VS2019 (version 16.1.5), both have the same compile-time error (sometimes, I would kill MSBuild process, and then it would rebuild successfully, but now even that is not helping anymore). I can't build my project anymore, the only workaround I could do is revert back to using older DllExport version. So, I reinstalled DllExport but installed version 1.6.2, and now it all works just fine again.
So, it means this bug has been introduced very recently (in version 1.6.3). Please fix it.
This is a blocking issue, I am stuck at version 1.6.2 and cannot upgrade due of the "file-being-already-opened" bug.

Here is the stack trace from the Output window:
\packages\DllExport.1.6.3\tools\net.r_eg.DllExport.targets(59,5): error : The process cannot access the file because it is being used by another process.
1>     at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
1>     at System.IO.__Error.WinIOError()
1>     at System.IO.File.InternalMove(String sourceFileName, String destFileName, Boolean checkHost)
1>     at RGiesecke.DllExport.Parsing.IlAsm.Run(String outputFile, String ilSuffix, CpuPlatform cpu) in C:\projects\dllexport\RGiesecke.DllExport\Parsing\ILAsm.cs:line 106
1>     at RGiesecke.DllExport.Parsing.IlAsm.ReassembleFile(String outputFile, String ilSuffix, CpuPlatform cpu) in C:\projects\dllexport\RGiesecke.DllExport\Parsing\ILAsm.cs:line 52
1>     at RGiesecke.DllExport.DllExportWeaver.reassembleFile(IlAsm ilAsm, String outputFile, String ilSuffix, CpuPlatform cpu) in C:\projects\dllexport\RGiesecke.DllExport\DllExportWeaver.cs:line 198
1>     at RGiesecke.DllExport.DllExportWeaver.RunIlAsm(IlAsm ilAsm) in C:\projects\dllexport\RGiesecke.DllExport\DllExportWeaver.cs:line 149
1>     at RGiesecke.DllExport.DllExportWeaver.Run() in C:\projects\dllexport\RGiesecke.DllExport\DllExportWeaver.cs:line 89
1>     at RGiesecke.DllExport.MSBuild.ExportTaskImplementation`1.Execute() in C:\projects\dllexport\RGiesecke.DllExport.MSBuild\RGiesecke.DllExport.MSBuild\ExportTaskImplementation.cs:line 463 (TaskId:39)
1>Done executing task "DllExportAppDomainIsolatedTask" -- FAILED. (TaskId:39)
1>Done building target "DllExportMod" in project "DllExportTest.csproj" -- FAILED.: (TargetId:69)

Thanks for the report!
I'll try to reproduce your problem ASAP. And seems like it does not related to #73

it means this bug has been introduced very recently (in version 1.6.3)

My first guess about 1.6.3 it's upgrading Cecil to 0.10.3. Because they already changed internal behavior with AssemblyDefinition: https://github.com/3F/DllExport/pull/97#issuecomment-496319449
There is something that I missed o_O But anyway, here's an disposing for 0.10.x (0.9.x does not use IDisposable at all) :
https://github.com/3F/DllExport/blob/9833bc78b0f514441edd8afd59a8d4f9aee458c9/NSBin/Rmod.cs#L120-L122
Other changes shouldn't affect for IlAsm.ReassembleFile, hmm.
Does it affect also for any new projects from scratch? or only for some specific?

Does it affect also for any new projects from scratch?

All projects (new and old, whichever uses the new version 1.6.3), I have tried it out on a fresh new class library project, just before reporting it here on GitHub, and it produced the same error.
I think so, MSBuild and some external process started by DllExport task is trying to rewrite an already opened file. Making it completely block the compiler process once unhandled exception is thrown.
IMO, error handling should be improved upon, especially around file I/O operations.

All projects (new and old, whichever uses the new version 1.6.3)

Thanks for the new details.

Making it completely block the compiler process once unhandled exception is thrown.

Is it happening beyond the timeout for injection (30000ms by default from manager) ?

@berbun Please check this out: https://github.com/3F/DllExport/releases/tag/CI-build-115

Please check this out: https://github.com/3F/DllExport/releases/tag/CI-build-115

I have tried out CI-build-115, and it is not fixing the issue.

@berbun Just to be sure, can you put information here about tested build version:
DllExport -build-info

I don't know, what am I supposed to download from the assets, because I downloaded this file...
And here is the output:
    S_NUM:              1.6.3
    S_REV:              29130
    S_NUM_REV:          <IP_ADDRESS>130
    S_REL:
    bSha1:              f61ffe9
    bName:              master
    bRevc:              134
    Wizard .NET:        v4.0
    Configuration:      PublicRelease
    Platform:           AnyCPU
    cfgname:            Release
    revDeltaBase:       2016/10/12
    revDeltaMin:        1000
    revDeltaMax:        65534

                    :: generated by a vsSolutionBuildEvent v<IP_ADDRESS>01

P.S. So, I closed all Visual Studio instances. The way I reinstalled DllExport into the project is by manually removing stuff out from csproj, and then downloading a new DllExport.bat provided via release page under assets, so I replaced DllExport file and re-run config, and then installed it for the project using the prompt window.

Do you want me zip up the entire (fresh) solution, so you can take a look at the error yourself?

@berbun Fixed build should point to e5554ca. But you still use f61ffe9 (public 1.6.3 release)
Please read the documentation:

the manager from any nightly builds will point to stable public package. Therefore, you need to select custom package via -server or -pkg-link to test specific build.

The most easy way to check it via GHR:
DllExport -action Configure -force -pkg-link https://github.com/3F/DllExport/releases/download/CI-build-115/DllExport.1.6.3.nupkg

Yeah... Now I can notice it is on different revision:
    S_NUM:              1.6.3
    S_REV:              13999
    S_NUM_REV:          <IP_ADDRESS>99
    S_REL:
    bSha1:              e5554ca
    bName:              issue/106
    bRevc:              136
    Wizard .NET:        v4.0
    Configuration:      PublicRelease
    Platform:           AnyCPU
    cfgname:            Release
    revDeltaBase:       2016/10/12
    revDeltaMin:        1000
    revDeltaMax:        65534

                    :: generated by a vsSolutionBuildEvent v<IP_ADDRESS>01

And, yes, it has solved the issue.
/fixed
Thanks for the quick support! :)

Good! I've plan to release hotfixes ASAP, today or tomorrow. Follow the news.


Getting Http 400 Error

Hello there, we've set up CAPI tracking using your latest tag and client templates on Google tag manager with Cloud Run and it has been working fine for a long time. Just recently we are receiving HTTP 400 errors for all requests and not sure where exactly to debug this.
But I've noticed that when I enter the FB Event Test Code in the client, its working fine. Once we remove it, get 400 errors.
I'm not sure if this is the right place for this query but any support would be much appreciated!
This is where we've hosted the container: https://server-side-tagging-514362109381.us-central1.run.app (custom domain: firebase.purnamcommunity.in )
Thank you.

Hi! I'm afraid we do not offer tech support on selfhosted as it's deprecated.
Regards!

click "preview" and see the logs, my problem was that the request URL was not matching.

This seems to have fixed it. I removed the default facebook request URL. Thank you @YahyaAhmad


Suggestion for defrecord macro

This occurred to me in response to your comment about extending protocols at the SF Clojure meetup tonight. I'm not sure if it's useful, but such a macro might make your recommendations about extend-protocol clearer.

I'm not a fan of this, since either way the user needs to know that inlining protocol definitions won't work. If the user wanted to define their record with something else, like Prismatic Schema, they'd still need to know about the gotcha with protocol extension. So I'd rather the user know the general way to do it (that works for both records and types) rather than think of this macro as being completely necessary for Specter.


Driver starting position in the car change every time

Hi, when I run in the VR mode, the driver starting position (orientation, position) is slightly different in the car every time I start Carla. Is there any way to make it consistent? Thanks a lot!

Hi, that should not be the case. The starting pose is set here: https://github.com/HARPLab/DReyeVR/blob/main/Config/DReyeVRConfig.ini


Update base.json

To make a submission to the Dapps Page, please complete the task lists
below; otherwise remove them.

Your Dapp:

[ ] connects to Valora via WalletConnect V1 or DAppKit;
[ ] must be mobile-first or mobile responsive;
[ ] is in one of the existing categories; and
[ ] includes a link to user documentation.

Closing as this should be in #230.


autoPatchelfHook: add patchelfFlags option

Description of changes
This may be useful to enable things like https://github.com/NixOS/patchelf/pull/521 on a per-package basis.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Diff looks good to me.


remove unnecessary conditionals

The reevaluate in optionstr is a bit suspect since I've almost removed
most of the if statement, not sure if I've missed something.

The change with "reevaluate" looks wrong, I'll skip it.  Still, no test fails, so perhaps we are missing a test for the %{ statusline item.

Fair enough, although I will say that the original code still looks a bit fishy.
	if (*s == '{')
	{
	    int reevaluate = (*s == '%');

	    s++;
	    while ((*s != '}' || (reevaluate && s[-1] != '%')) && *s)
			s++;
	    if (*s != '}')
			return N_(e_unclosed_expression_sequence);
	}

I don't understand how reevaluate isn't always equal to FALSE in this scenario.

This causes a stack buffer overflow:
set statusline=%{%}
redrawstatus

Fair enough, although I will say that the original code still looks a bit fishy.
	if (*s == '{')
	{
	    int reevaluate = (*s == '%');

	    s++;
	    while ((*s != '}' || (reevaluate && s[-1] != '%')) && *s)
			s++;
	    if (*s != '}')
			return N_(e_unclosed_expression_sequence);
	}

I don't understand how reevaluate isn't always equal to FALSE in
this scenario.

ou are right it should use s[1] == '%' instead of *s == '%'.  And
apparently a test with "{% ... }" is missing.  Can you make a PR
for that?
--
The budget process was invented by an alien race of sadistic beings who
resemble large cats.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Set up documentation page

Can you give me a SAMM plug-in package directly to simplify installation in 3DSlicer?  Thanks！（I want to recommend it to my doctor friends who usually  use 3D Slicer to segment MRIs.）

This is a related request in #10 . Need some more time to figure out the axis issue in #13 first.


Add grade level to classrooms at risk tables

FYI @kevinrobinson, from our gchat conversation the other day. :0)

nice!


Fixed url in example

Typo in the example URL located in from-binary.en-us.md

Sorry, I was too fast :( #25


Overflow with flags enum

@[Flags]
enum E
  A
  B
  C
  D
  E
  F
  G
  H
  I
  J
  K
  L
  M
  N
  O
  P
  Q
  R
  S
  T
  U
  V
  W
  X
  Y
  Z
  A2
  B2
  C2
  D2
  E2
  F2
  G2
end

E::F2.to_i # => -2147483648
E::G2.to_i # => Overflow! 0

Having too many members in a flags enum causes an overflow. In the next version this would raise an OverflowError and would result in a compiler bug error.
I'd say the integer type that is used for enums should be changed to UInt128 and then the maximum flag enum member count should be limited to 128.
An overflow can also happen when a normal enum has more than Int32::MAX (or UInt128::MAX when the above is done) members. That's probably a bit unlikely to ever happen but still possible so there should be a limit too I think.

Related to #7268

@r00ster91 Do you have any reasonable use case for a flag enum with > 64 values?

No I don't have any use case. This should be fixed though.

Note that E::G2.to_i will always overflow since the return type is Int32, despite the enum been declared as Int64 for example.

Potentially, could the size of the uint be chosen to either be the least that fit all the flags?

This has been fixed in #7776.


Develop

This PR introduces

The upgraded codebase

Codecov Report

Merging #172 into master will decrease coverage by 0.2%.
The diff coverage is 54.5%.

@@            Coverage Diff             @@
##           master     #172      +/-   ##
==========================================
- Coverage   82.33%   82.12%   -0.21%
==========================================
  Files          37       37
  Lines       17371    17358      -13
  Branches     1646     1733      +87
==========================================
- Hits        14302    14255      -47
- Misses       2432     2463      +31
- Partials      637      640       +3

Impacted Files
Coverage Δ

candig/server/datamodel/rna_quantification.py
90.24% <ø> (-0.12%)
:arrow_down:

candig/server/datamodel/datasets.py
77.16% <ø> (-0.11%)
:arrow_down:

candig/server/response_builder.py
100% <ø> (ø)
:arrow_up:

candig/server/repo/models.py
99.82% <ø> (-0.01%)
:arrow_down:

candig/server/datamodel/bio_metadata.py
58.71% <ø> (-0.3%)
:arrow_down:

candig/server/auth/__init__.py
60% <ø> (ø)
:arrow_up:

candig/server/__init__.py
66.66% <ø> (ø)
:arrow_up:

.../server/datamodel/genotype_phenotype_featureset.py
95.53% <ø> (-0.08%)
:arrow_down:

candig/server/configtest.py
0% <ø> (ø)
:arrow_up:

candig/server/serverconfig.py
100% <ø> (ø)
:arrow_up:

... and 29 more

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 ab56c68...a90595e. Read the comment docs.


OpenAPI doesn't show ZetaChain endpoints, only Cosmos SDK ones

For some reason a | character is being added, which breaks the OpenAPI browser.
  /zeta-chain/crosschain/TSS: |
    get:
        summary: Queries a tSS by index.
        operationId: Query_TSS
        responses:
            "200":
                description: A successful response.
                schema:
                    $ref: '#/definitions/crosschainQueryGetTSSResponse'
            default:
                description: An unexpected error response.
                schema:
                    $ref: '#/definitions/googlerpcStatus'
        tags:
            - Query

And here's a Cosmos SDK endpoint for comparison:
  /cosmos/auth/v1beta1/accounts/{address}:
    get:
      summary: Account returns account details based on address.
      operationId: Account
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:

This has changed recently, because it used to show all endpoints just fine.

The problem is here:
https://github.com/zeta-chain/node/blob/60edc0e8b43ef44a014721740586b4345aa485c7/scripts/protoc-gen-openapi.sh#L3

We're using the latest version, and apparently one of the version changed how the spec is generated.

Source of the issue: https://github.com/grpc-ecosystem/grpc-gateway/issues/3557


duplicate rows R error in CIRI_DE_replicate

Hi Jyniang,
The program is now working smoothly under python 2.7. Thanks again!
I'm just encountering an R error (duplicated rows) in the very final step (CIRI_DE_replicate):
###################################################
[Fri 2021-03-12 17:26:31] [INFO ] Library information: /nobackup/fbsev/LeedsOmics/Kathy-circRNAs/CIRIquant-run/03-CIRI_DE_replicate/NvsC/NvsC-library_info.csv
[Fri 2021-03-12 17:26:31] [INFO ] circRNA expression matrix: /nobackup/fbsev/LeedsOmics/Kathy-circRNAs/CIRIquant-run/03-CIRI_DE_replicate/NvsC/NvsC-circRNA_bsj.csv
[Fri 2021-03-12 17:26:31] [INFO ] gene expression matrix: /nobackup/fbsev/LeedsOmics/Kathy-circRNAs/CIRIquant-run/03-CIRI_DE_replicate/NvsC/gene_count_matrix.csv
[Fri 2021-03-12 17:26:31] [INFO ] Output DE results: /nobackup/fbsev/LeedsOmics/Kathy-circRNAs/CIRIquant-run/03-CIRI_DE_replicate/NvsC/NvsC-circRNA_de.tsv
Error in read.table(file = file, header = header, sep = sep, quote = quote,  :
duplicate 'row.names' are not allowed
Calls: read.csv -> read.table
In addition: Warning message:
In scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  :
EOF within quoted string
Execution halted
[Fri 2021-03-12 17:26:31] [INFO ] Finished!
###################################################
The weird thing is that I couldn't find any duplicated row in both circRNA_bsj.csv and gene_count_matrix.csv files.
Any clue on how to solve this?
Thanks very much,
Best,
Elton

Could you check the first columns in NvsC-library_info.csv as well? I guess that there are some duplicate sample names.

Thanks for your prompt attention, Kevin.
Ok, there was also no duplicates in my library_info.csv, BUT there was an incomplete row circRNA description row. The first one right after sample descriptions (see below):
################################
$ head NvsC-library_info.csv
Sample,Total,Mapped,Circular,Group
CASE1,73927460,71797170,37734,T
CASE2,83042976,80349502,26676,T
CASE3,78334774,75989168,30354,T
CONTROL1,82382804,80406804,63676,C
CONTROL2,86148002,83484844,18798,C
CONTROL3,84563972,80765346,14990,C
NSMUSG00000019966","Kitl","protein_coding"
"10:100457048|100478022","exon","ENSMUSG00000036676","Tmtc3","protein_coding"
"10:100466021|100478022","exon","ENSMUSG00000036676","Tmtc3","protein_coding"
################################
Same thing has also happened in a different sample pairwise comparison I'm running (see below). I wonder why this first circRNA description row is being generated like this.
################################
$ head ../NvsR/NvsR-library_info.csv
Sample,Total,Mapped,Circular,Group
CASE1,64677878,62825972,54918,T
CASE2,77171814,74682858,38254,T
CASE3,66121954,64099836,14564,T
CONTROL1,82382804,80406804,63676,C
CONTROL2,86148002,83484844,18798,C
CONTROL3,84563972,80765346,14990,C
NSMUSG00000019971","Cep290","protein_coding"
"10:100518795|100528660","exon","ENSMUSG00000019971","Cep290","protein_coding"
"10:100528549|100536917","exon","ENSMUSG00000019971","Cep290","protein_coding"
################################
On an attempt to move on, after deleting this problematic row, I'm getting a new R error message (see below):
################################
[Sat 2021-03-13 10:52:16] [INFO ] Library information: /nobackup/fbsev/LeedsOmics/Kathy-circRNAs/CIRIquant-run/03-CIRI_DE_replicate/NvsC/NvsC-library_info.csv
[Sat 2021-03-13 10:52:16] [INFO ] circRNA expression matrix: /nobackup/fbsev/LeedsOmics/Kathy-circRNAs/CIRIquant-run/03-CIRI_DE_replicate/NvsC/NvsC-circRNA_bsj.csv
[Sat 2021-03-13 10:52:16] [INFO ] gene expression matrix: /nobackup/fbsev/LeedsOmics/Kathy-circRNAs/CIRIquant-run/03-CIRI_DE_replicate/NvsC/gene_count_matrix.csv
[Sat 2021-03-13 10:52:16] [INFO ] Output DE results: /nobackup/fbsev/LeedsOmics/Kathy-circRNAs/CIRIquant-run/03-CIRI_DE_replicate/NvsC/NvsC-circRNA_de.tsv
Error in [.data.frame(gene_mtx, , rownames(lib_mtx)) :
undefined columns selected
Calls: [ -> [.data.frame
Execution halted
[Sat 2021-03-13 10:52:20] [INFO ] Finished!
################################
Could you please shed a light on these issues?
Thanks very much,
Best,
Elton

Hi @eltonjrv, it seems that lib_info and circ_info are somehow mixed in the same file. Are you using the latest version of CIRIquant (v1.1.2)? If not, I would recommend you do a clean install of CIRIquant under virtualenv, and re-run CIRIquant to see if the problem persists.
Besides, it would be better if you can also provide your commands running CIRIquant and prep_CIRIquant.

Sorry, my bad!
There was a typo in my prep_CIRIquant command, which was assigning "library_info.csv" output name for both --lib and --circ options.
CIRI_DE_replicate has now worked just fine!
Thanks very much again for all your prompt attention and support.
Best,
Elton

No worries! :)


Setting up Github actions and repo2docker for multiple images

Community maintained images currently are based on a template where a GitHub action builds one docker image per repository.

[ ] Is it possible to set up GitHub actions to allow for one docker image PER repository subdirectory?
[ ] Can these community maintained images import from each other?

This kind of functionality is already available in jupyter-docker-stacks and pangeo-docker projects.  Can it be set up with in this repository so that more than one image environment can be maintained in the same repository?
Or, is it a built in requirement on how repo2docker works that there is 1:1 mapping between the repository and the docker image?

@sgibson91 I am hoping you'll either be interested in taking up this issue or #21 during Sprint 3.  I think it may be too much to tackle both #21 and #25 in Sprint 3 but I invite your input on which task makes more sense for you to be involved in.

Is it possible to set up GitHub actions to allow for one docker image PER repository subdirectory? [...] This kind of functionality is already available in jupyter-docker-stacks and pangeo-docker projects. Can it be set up with in this repository so that more than one image environment can be maintained in the same repository?

There's no technical reason why we can't do this. Is the scope of this task for this repo only? I ask because multiple images in a repo may be a complex thing for communities, especially if they're new to the concept. But I'm happy for it to be just this one for now.

Or, is it a built in requirement on how repo2docker works that there is 1:1 mapping between the repository and the docker image?

I don't think repo2docker knows the concept of repos, it only knows the concept of a filesystem. So the command would look like repo2docker <subdir> instead of repo2docker .

Can these community maintained images import from each other?

Traditionally, if you wanted to build a Docker image using another one as a base, you had to provide a Dockerfile with a FROM statement in it. And that is already "here be dragons" territory for repo2docker. This is why jupyter-docker-stacks and pangeo-docker don't actually build their images using repo2docker, but docker directly.
There was recently some work done in repo2docker that would permit defining a base image to use https://github.com/jupyterhub/repo2docker/pull/909 - so hooray, we can continue using repo2docker! However, I'm not sure if that work has percolated upwards such that the setting is exposed in the repo2docker action we use in GitHub Actions. Either the action has an ability to pass arbitrary args to the repo2docker command which will solve our problem, or some upstream dev work in the action will be required to support this. A little bit of research needed.

Understood about the complexity of having one repo2docker work flow build and image that in turn would be the base image for another repo2docker image, especially if they exist in the same repository. Let's exclude that requirement from this issue.
The scope is for this repo only.  For the purposes of this Showcase hub, I want to be able demonstrate a few different repositories and it seems confusing to me to create a separate repo for each one.  But, I will commit to each repo being defined entirely from the contents of subdirectory (following the specification given here ) with any image dependency (FROM <base_image> type usage) only being used that base_image is fully defined outside of this repo.
It is exactly because I know I can use repo2docker <sub_dir> that I was hoping this would be difficult.  The challenge for me is getting the GitHub action set up correctly.
I am imagining a file structure for this repo like
README.md
.github/workflows/
handbook/
  *.yml
  *.md
  *.ipynb
images/
 image1/
   environment.yml
 image2/
   Dockerfile
 image3/
   install.R
   apt.txt
image4/
    requirements.txt
    postBuild

I can see that this could be done by either having a separate, dedicated GitHub action for each image. But I also suspect with some sort of arg passing there be a way to set it up so that one GitHub action is triggered for each imageN/ subdirectory is built independently.  All images should can use the same quay.io secrets and be pushed to the same container registry.
There doesn't appear to be a way of setting the image name within the repo2docker configuration specification (a possible upstream contribution?). But I think using the directory name and reponame so images get called something like {QUAYID}/{REPONAME}-{subdir} might be reasonable (e.g., quay.io/2i2c/community-showcase-image1). It also could be fine if some configuration of the GitHub action needs to occur if a new image subdirectory is created.
@sgibson91 is this specified clearly enough for you? If there is any confusion, please through something in my calendar so we can chat on it.

There doesn't appear to be a way of setting the image name within the repo2docker configuration specification

This is totally possible, both in repo2docker and the repo2docker-action:

https://repo2docker.readthedocs.io/en/latest/usage.html#cmdoption-jupyter-repo2docker-image-name
https://github.com/jupyterhub/repo2docker-action#optional-inputs (4th bullet point)

is this specified clearly enough for you?

Yes. I have a couple of research questions I can pursue on my own (indeed around figuring out arg passing so we only require one workflow file for the repo, rather than a workflow file per image subdir), but other than that I think I can make progress on this.

Bookmarking some info I gathered on changing the base image for repo2docker. I know this is no longer a requirement but wanted to make sure the record is kept somewhere.
https://2i2c.slack.com/archives/CKJS000F4/p1700138248103149

CLI invocation: repo2docker --Repo2Docker.base_image IMAGE_NAME:TAG .
Can also include in the folder a repo2docker_config.py file containing c.Repo2Docker.base_image=IMAGE_NAME:TAG

Tomorrow, I'll add a section to the readme documenting how to add an image to the repo given the current workflow and the assumptions it makes.

Looking forward to trying it out!
The quick test I did triggered the workflow and built a new image but didn't appear to actually push it to quay.io. I verified that the corresponding quay.io repository of the same name already existed but that didn't make a change.  Perhaps there is a step I am missing to get the workflow to push to quay.io?

Yep - in my experience, merging a workflow and having it work first time is a holy grail quest 😄 I'll dig in today

Ok, so it seems there was something iffy about setting the NO_PUSH variable with a conditional as this commit got us to the pushing step.
However, there is then a permissions error even though I have given the bot account write permissions on the repo to push to https://github.com/2i2c-org/community-showcase/actions/runs/6956812443/job/18928433370?pr=40#step:6:3849

I think there is now something up with the credentials (but I don't know what) as I tried to add an explicit login step before running the repo2docker action (which should not be required) and that failed as well

I forgot secrets are not available in PRs

If https://github.com/jupyterhub/repo2docker-action/pull/107 is merged, I will be able to achieve a workflow where images are built in both PRs and pushes to main, but are only pushed to the registry when the PR is merged to the default branch, without having duplicate workflow files.

I have had success in using these new actions to make modifications to images and maintain multiple repo2docker based images from the same repository. It is working as I expect!
One last step in my work flow is to recover the tag that is automatically generated in the build process and pushed to quay.io.  I can manually look it up in either the github action log, or go to quay.io for that image.  Would it be possible to extract this tag from the log and make it more easily discoverable?  I don't know "where" this information would go ... I most immediately need it when I am spinning up a new instance in the hub and use the 'Other...' image dialog to verify it the new image has the new functionality I intended.  Here's the workflow I am currently using:

An image needs a new/updated package, extension, or some other feature added to it.
Clone the community-showcase hub within an existing JupyterHub instance
Make changes in the configuration files for building the image and commit the change.
Push the changes back to GH and merge into the main branch to determine
a. if the modify image actually built without errors
b. what the newly assigned tag is for the image that has been pushed to quay.io
[ If the the build but not push option for a PR was set up, I suppose I could first push to PR, wait for the build to occur without error, then merge into main, then wait for the build to occur again -- but that seems like an extra step I am not sure I would actually want to do! ]
Browse to https://showcase.2i2c.cloud and select a custom image 'Other...' and test this newly built image.
Go back to step 3 and make another configuration change because I almost invariably missed something
Having verified that the new image is working as expected, send a note to my community to use this new image tag via the Other... UI (if it requires feedback from only a few people) or make a PR on the infrastructure repo to update the image under the ProfileList so that the image is available to all hub users.

In some future state, I can imagine a improvement to the ProfileList that goes and looks up recently tags for a given image.
Since the change, build, test loop for making a change an image repository is slow, I also experimented with a build and test changes to an image on a local computer using repo2docker. With cached build files this can be a faster process when I am making changes to configuration to solve a problem that I do not already know the full solution to.

I think the simplest implementation to unearth the built and pushed tag would be to:

Output the tag from the build command into the GitHub Actions context
Within this context, make some GitHub API calls to leave a comment on the PR that affected the change in the image reflecting the new image tag

This will be a little bit like the workflow in the infrastructure repo that extracts the GitHub Actions run that was triggered by a merge into the default branch, and comments on the PR the merge commit came from with a link to the running workflow triggered by the merge.

Based on @sgibson91 efforts, I think we can mark this issue as 'Completed'!


Multiplatform tasks should not depend on check

This PR is cleaning up our task dependencies a bit. Specifically the only task that should be a dependency of check is the plain detekt task.
When I worked on the KMP implementation, I accidentally plugged all the KMP tasks to depend on check. That's problematic as we still have some rough edges to fix and people might experience problems with their build because of this. See #3927 #3838

I assume that this PR fixes both linked issues, right?

I assume that this PR fixes both linked issues, right?

Nope it does not. It's related to both but the real fix needs to be discussed in the issues.