test: checking in timeout changes

trying to check in again.

test files have been removed
and timeouts have been set prior each test starts (as workaround to cypress issue with setting global timeouts).

We have discussed this fix many times, so checking in.


0.4.0 breaks working code

I just updated to 0.4.0 from 0.3.3, and this error occurs:

What am I doing wrong? Thank you

AES-256 key must be 32 bytes. Seems like yours isnt?

My key is bip39.generateMnemonic(wordlist, 128) converted via mnemonicToEntropy. So do I have to use 24 words? Is 12-words mnemonic too weak? Thank you

you can: 1) pad key to make it 32 bytes instead of 16 2) use mnemonicToSeed instead, which has better security for this use-case.

@paulmillr Thank you. May I ask why it has better security? Do you mean with a password?

I used mnemonicToSeedSync and the result is the same.
Error: {"type":"UnknownError","error":{"message":"Uint8Array length 32 expected","stack":"Error: Uint8Array length 32 expected\n at ensureBytes


Return item

User stories
As a Borrower I want to return an item in order to end the lending process
Dependencies
Depends on:

#14
#11

UI Mockup
not applicable
Context

#27
prepare for #45

Acceptance Criteria

[x] Button click should make item returnable

LGTM


refactor: switch to a monorepo with lerna

This refactors the repository into a more typical monorepo setup. This will eventually allow to add additional packages (perhaps an API client or a package that exports OSCAL types for TypeScript). Along with this refactoring, we've replaced create-react-library with rollup for the React library and we use craco instead of raw react-scripts in the Viewer app (to workaround some wonkiness with forbidden imports outside of src/).
Along with this we get TypeScript!! Only one or two files have been rewritten as part of this migration. That serves two purposes, first that we can use TypeScript, and second that we can adopt it incrementally.
We also have a scripts/ directory which will allow us to store scripts that we want that are too complex to just toss into package.json. I would like to keep those scripts limited to Bash (all our users should have access to a basic Bash environment) or to TypeScript (we install ts-node as a dev dependency in the root repo).
lerna is used as the tool to manage our monorepo. A lot of features are now built into the npm workspaces features; however, lerna gives us some nice ability to manage references between repos and to run commands against all of them (and look at how nice that is for scripts/watch-viewer!)
The tests are all still jest and our linting rules remain largely the same. Tests should be run in the individual packages for now; functionally for the majority of our work, this means that you need to be in packages/oscal-react-library in order to run its tests for example. For commands that do work across all packages without any dependencies (for now, just lint) those can be run across all packages from the root.
If you do want to run across all packages, lerna exec --stream is a good friend; additionally, its --scope and --include-dependencies and --include-dependents arguments may be good friends.
You do not need to install lerna globally (although you may find it useful to do so). You can use npx lerna (as the example in scripts/watch-viewer does).
Closes: #732
Closes: #403
Closes: #596
Closes: #493

Todo:

[ ] Update documentation (CONTRIBUTING & README)
[ ] Scripts for building/running work
[ ] ESLint works
[ ] Dependency update workflow works
[ ] Basic TypeScript works (at least well enough for scripts & new packages)

Looking over the current draft, I don't see anything that stands out as an issue at this point. The chosen direction and file structure seem like a logical choice. I'm liking a lot how OSCALPropUtils.ts is turning out.  Also, it's exciting were just on the cusp of our first TS implementation!

It built in the pipeline!!

There are some things that can't easily be tested here...  Additionally, other repos that depend on the structure of this (such as the PR that I created for the all-in-one container) may not show themselves until after this is merged.
Rather than trying to predict all those locations, I'd like to merge this before we have to deal with more conflicts; and then work quickly to find those other plcaes.


Why we get "non-specified generic argument"?

Question
I'm trying to use typia to get typescript to recognise a type assertion. Like this:
import typia from "typia";

interface Point {
  x: number;
  y: number;
  tag?: string;
}

function x(v: unknown) {
  v = <Point> typia.assertEquals<Point>(v); // Does not work, v is still unknown according to typescript.
  v = typia.assertEquals<Point>(v) as Point;  // Does not work, v is still unknown according to typescript.
  _assertEquals<Point>(v); // Does not work, typia compile error: "non-specified generic argument"
  _assertPoint(v); // Works.
 console.log(v.x + v.y);
}

function _assertPoint(v: unknown): asserts v is Point {
  typia.assertEquals<Point>(v);
}

function _assertEquals<T>(v: unknown): asserts v is T {
  typia.assertEquals<T>(v);
}

Would be great if the 3rd form worked (generic) otherwise have to write specific assertion function for every type. Why we get "non-specified generic argument"? Is there another way?

https://github.com/samchon/typia/issues/125

You might need to use the createAssert function https://typia.io/docs/validators/assert/#reusable-functions
I found a few spots if we needed to do that to get the right types.

Thanks @andymac4182. Wasn't immediately obvious, but ended up doing that - instead of generic, encode type in validator function and pass that around.


Add Working External PR Changes + Test

@flaub - For reference, here is the external PR showing the recent fixes worked:
https://github.com/risc0/risc0/pull/1832


Slow gets from redisson in CommandServiceAsyncGet

Hi,
We are using redisson-client 3.6.0 with cluster mode enabled with elasticache, redis=3.2.6(encryption-at-rest enabled). These are the configurations for 2 separate clusters,
{
  "clusterServersConfig": {
    "idleConnectionTimeout": 60000,
    "pingTimeout": 1000,
    "connectTimeout": 10000,
    "timeout": 5000,
    "retryAttempts": 3,
    "retryInterval": 1500,
    "reconnectionTimeout": 3000,
    "failedAttempts": 3,
    "subscriptionsPerConnection": 5,
    "clientName": "RegularCluster",
    "sslEnableEndpointIdentification": true,
    "sslProvider": "JDK",
    "pingConnectionInterval": 0,
    "keepAlive": false,
    "tcpNoDelay": false,
    "loadBalancer": {
      "class": "org.redisson.connection.balancer.RoundRobinLoadBalancer"
    },
    "slaveConnectionMinimumIdleSize": 50,
    "slaveConnectionPoolSize": 150,
    "masterConnectionMinimumIdleSize": 50,
    "masterConnectionPoolSize": 150,
    "readMode": "MASTER",
    "subscriptionMode": "SLAVE",
    "subscriptionConnectionMinimumIdleSize": 1,
    "subscriptionConnectionPoolSize": 50,
    "dnsMonitoringInterval": 5000,
    "nodeAddresses": [
      "redis://elastic-cache-config-end-point:6379"
    ],
    "scanInterval": 5000,
    "slaveSubscriptionConnectionPoolSize": 50,
    "slaveSubscriptionConnectionMinimumIdleSize": 1
  },
  "threads": 25,
  "nettyThreads": 50,
  "codec": {
    "class": "org.redisson.codec.SnappyCodec"
  },
  "referenceCodecProvider": {
    "class": "org.redisson.codec.DefaultReferenceCodecProvider"
  },
  "referenceEnabled": true,
  "transportMode": "NIO",
  "lockWatchdogTimeout": 30000,
  "keepPubSubOrder": true,
  "useLinuxNativeEpoll": false
}

{
  "clusterServersConfig": {
    "idleConnectionTimeout": 60000,
    "pingTimeout": 1000,
    "connectTimeout": 10000,
    "timeout": 5000,
    "retryAttempts": 3,
    "retryInterval": 1500,
    "reconnectionTimeout": 3000,
    "failedAttempts": 3,
    "subscriptionsPerConnection": 5,
    "clientName": "HighAvailCluster",
    "sslEnableEndpointIdentification": true,
    "sslProvider": "JDK",
    "pingConnectionInterval": 0,
    "keepAlive": false,
    "tcpNoDelay": false,
    "loadBalancer": {
      "class": "org.redisson.connection.balancer.RoundRobinLoadBalancer"
    },
    "slaveConnectionMinimumIdleSize": 50,
    "slaveConnectionPoolSize": 150,
    "masterConnectionMinimumIdleSize": 50,
    "masterConnectionPoolSize": 150,
    "readMode": "MASTER",
    "subscriptionMode": "SLAVE",
    "subscriptionConnectionMinimumIdleSize": 1,
    "subscriptionConnectionPoolSize": 50,
    "dnsMonitoringInterval": 5000,
    "nodeAddresses": [
      "redis://elastic-cache-config-end-point:6379"
    ],
    "scanInterval": 5000,
    "slaveSubscriptionConnectionPoolSize": 50,
    "slaveSubscriptionConnectionMinimumIdleSize": 1
  },
  "threads": 25,
  "nettyThreads": 50,
  "codec": {
    "class": "org.redisson.codec.SnappyCodec"
  },
  "referenceCodecProvider": {
    "class": "org.redisson.codec.DefaultReferenceCodecProvider"
  },
  "referenceEnabled": true,
  "transportMode": "NIO",
  "lockWatchdogTimeout": 30000,
  "keepPubSubOrder": true,
  "useLinuxNativeEpoll": false
}

We see a degraded performance on all our apis and the bottle-neck seems to be from redisson. We are using spring caching and noticed that all the keys with a particular cacheName are being stored in a single shard instead of being distributed. How do we solve for actually distributing this across different shards?
We are contemplating switching to redisson.pro if it's going to help. But does the configuration look good and will redisson.pro help with the issues?
Please find attached screenshots that is showing the bottle-neck

All the keys with a particular cacheName are being stored in a single shard instead of being distributed. How do we solve for actually distributing this across different shards?

Redis cluster key level sharding works by taking the crc16 value of the key name and then mod it with 16384 to determine the slot number for this key, each redis node is then responsible for arrange of the slots. If this default method created an uneven distribution, you could use key hash tags method to help with the way a slot is calculated.

We are contemplating switching to redisson.pro if it's going to help.

If the performance degradation was very severe at in a highly contended period, then PRO would definitely help.

Please find attached screenshots that is showing the bottle-neck

It's hard to say where exactly the bottle neck is from the images you sent. What you are seeing is your thread has invoked a redisson method and then the thread gets parked up for sometime. Since redisson manages a lot of work before a command is dispatched and also after a result is returned all on a different thread than the one you originally invoked. There are a number of factor that can affect the overall performance. Just to name a few (it's not a definitive list): on redisson side, there are command encoding, command queuing, connection acquiring, result parsing result decoding, etc; on Redis side, there are command queuing, command executing and result dispatching, of course network round trip is also a big factor in this. All of those times and delays are hidden behind the LockSupport.park line. So it would really help if you can show us how other threads are doing at the same time, redisson's netty threads in particular.
And the most important thing, please state the version of redisson you are using. Thanks.

Updated my comment to have more specifics about the redis we are using.
Does the configuration look alright? Do we need more netty threads? What is a good configuration for netty threads?
I see all of them in RUNNABLE state
Snippet of the netty threads ,
"redisson-netty-4-36" #165 prio=5 os_prio=0 tid=0x00007ff43021b000 nid=0x5623 runnable [0x00007ff3f9b9e000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(Unknown Source)
	at sun.nio.ch.EPollSelectorImpl.doSelect(Unknown Source)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
	- locked <0x00000007440d1c98> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000007441471c8> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000007440d1bf0> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(Unknown Source)
	at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:753)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:409)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Unknown Source)

"redisson-netty-4-35" #164 prio=5 os_prio=0 tid=0x00007ff430219000 nid=0x5622 runnable [0x00007ff3f9c9f000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(Unknown Source)
	at sun.nio.ch.EPollSelectorImpl.doSelect(Unknown Source)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
	- locked <0x0000000743eb2d58> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x0000000743f3d118> (a java.util.Collections$UnmodifiableSet)
	- locked <0x0000000743eb2cb0> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(Unknown Source)
	at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:753)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:409)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Unknown Source)

Another issue I am facing as we moved to redisson pro trial version is,
using redisson-all 3.6.0 again
WARN io.netty.util.concurrent.DefaultPromise - An exception was thrown by org.redisson.command.CommandAsyncService$9.operationComplete()
java.lang.NullPointerException: channel
	at io.netty.util.internal.ObjectUtil.checkNotNull(ObjectUtil.java:31)
	at io.netty.channel.DefaultChannelPromise.<init>(DefaultChannelPromise.java:53)
	at org.redisson.connection.t.b.send(ac:148)
	at org.redisson.command.CommandAsyncService$9.operationComplete(oj:389)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:507)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:481)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:420)
	at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:163)
	at org.redisson.misc.RedissonPromise.addListener(RedissonPromise.java:123)
	at org.redisson.misc.RedissonPromise.addListener(RedissonPromise.java:41)
	at org.redisson.command.CommandAsyncService.async(oj:503)
	at org.redisson.command.CommandAsyncService.evalAsync(oj:599)
	at org.redisson.command.CommandAsyncService.evalWriteAsync(oj:307)
	at org.redisson.RedissonMapCache.getOperationAsync(wf:288)
	at org.redisson.RedissonMap.getAsync(ko:800)
	at org.redisson.RedissonMap.get(ko:409)
	at org.redisson.spring.cache.RedissonCache.get(RedissonCache.java:73)
	at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:71)
	at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:536)
	at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:502)
	at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:388)
	at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:326)
	at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
	at com.safepage.user.data.impl.UserFeatureTypeMapDaoImpl$$EnhancerBySpringCGLIB$$8924d657.getUserFeatureTypeByUserId(<generated>)
	.
.
.
.

@PC-AKumar

I see all of them in RUNNABLE state

It's expected behaviour, this is the way how netty epoll is working.
Basically default threads amount is enough for most cases.

@jackygurui  The slow down at redisson layer is very evident, causes high CPU on our instances and slowdowns in the api layer as well. Here are a few other screenshots.
@mrniko I have tried using redisson pro in LOWER_LATENCY mode, with above config and no luck here as well. Still, see the same issue with LockSupport.park
In some cases, LockSupport.park is holding the service for 1 minute(distributed across multiple method calls)

@mrniko I used RedissonClusteredSpringCacheManager, but it appears the keys are mostly still going to 1 shard(the second one is the read replica)

@PC-AKumar

The slow down at redisson layer is very evident, causes high CPU on our instances and slowdowns in the api layer as well. Here are a few other screenshots.
FYI, I didn't see this issue when we used jedis-client

Could you check Redis load at those moments? I think network and/or Redis setup is the bottleneck in your case. I would recommend to try more performant Redis setup.

@mrniko CPU usage on elasticache cluster with 6 nodes(cache.r3.large | 2 core| 13.5 gb, with 1 slave replica each) didn't exceed 35%. Checked this usual-suspect as well.
What seems to be helping right now is going back to performance HIGHER_THROUGHPUT performance mode and increasing the master connection pool size to 300 with minimum idle and max idle at 60. The Lock support blocking has reduced but we still see it frequently.
I liked the near cache concept of org.redisson.spring.cache.RedissonSpringLocalCachedCacheManager but I am unsure if it will support clustered sharding. If it does this will add a significant performance boost for us.

@PC-AKumar

What seems to be helping right now is going back to performance HIGHER_THROUGHPUT performance mode and increasing the master connection pool size to 300 with minimum idle and max idle at 60

What is the average size of objects you're stored into spring cache?

I liked the near cache concept of org.redisson.spring.cache.RedissonSpringLocalCachedCacheManager but I am unsure if it will support clustered sharding. If it does this will add a significant performance boost for us.

I have just released 3.6.0-3 version it contains org.redisson.spring.cache.RedissonSpringClusteredLocalCachedCacheManager class. It supports local cache and works in cluster.

@mrniko We store roughly 17kb on an average, median will probably around 50
Thanks for the update with near cache, will try it out.


Improve readability of card descriptions

This is an alternative solution to #402, much simpler than #425.

Approved, except for one little note in one file that I hope to see resolved first.


Logos alignment and UI not properly working.

The Logos are quite big and make a bad impression and some of the images are not working,

Some other UI changes for "Stars: 18" on the header as well like

Assign me this issue, also add the hacktoberfest, gssoc-ext, and level3 labels.

/assign


FoundationEssentials: improve Windows coverage for Platform.swift

Adjust the codepaths to improve Windows support in the file. This is simply blindly trying to match semantics to reduce the errors reported during building FoundationEssentials.

@swift-ci please test

It looks like the CInt(Platform.MAX_HOSTNAME_LENGTH) change broke the linux/macOS build:
/build/swift-foundation/Sources/FoundationEssentials/Platform.swift:206:48: error: cannot convert value of type 'CInt' (aka 'Int32') to expected argument type 'Int'
204 |     static func getHostname() -> String {
205 |         return withUnsafeTemporaryAllocation(of: CChar.self, capacity: Platform.MAX_HOSTNAME_LENGTH + 1) {
206 |             guard gethostname($0.baseAddress!, CInt(Platform.MAX_HOSTNAME_LENGTH)) == 0 else {
    |                                                `- error: cannot convert value of type 'CInt' (aka 'Int32') to expected argument type 'Int'
207 |                 return ""
208 |             }

@swift-ci please test

@swift-ci please test


Changing values and triggering inputs

I am currently on avoriaz 1.13.1 and use simulate() pretty regularly in my Vue Component tests as so:
const component = mount(SearchForm)
const searchInput = component.find("input#search")[0]
searchInput.element.value = 'Jane Doe'
searchInput.simulate('input')

These specs work correctly and pass.
As I upgraded to avoriaz 2.4.3, and I change the deprecated simulate() to trigger(), the specs fail. I also noticed that if I console log searchInput.element, it will log HTMLInputElement { _prevClass: '', _value: '' }, and if I console log searchInput.element.value, it console logs nothing. Previously, console logging searchInput.element.value would return a value and would be set correctly. I have looked around and am wondering why when I upgrade, searchInput.element.value doesn't seem to be returning anything like it use to.
I am still learning a lot about Vue and avoriaz, so it is quite possible I just missed something. But was wondering if you had any ideas @eddyerburgh. Thanks for any help 😄

Hey, thanks for the bug report 😄 . Sorry for the late response. I've been really busy.
Would you able to write a minimal failing test? I'm going to busy for at least the next week, but should have 30mins to try and solve your issue. It would be a lot easier for me if I could copy and paste the test you were trying to run.

@eddyerburgh I am pretty busy this week too, but when I am able to get back to working on testing I will get you a minimal reproduction case! Hopefully by the end of the week!

@eddyerburgh finally got to getting back to this! Here we go, a super basic component with an input, and then the two tests, one with trigger() and one with simulate()! Also a sidenote
// SearchForm.vue

<template>
  <div>
    <form method='get' action='some.api.endpoint' accept-charset="utf-8">
      <input id='query' v-model="searchQuery" name='query' type='search'>
      <input type='submit' value='Search'>
    </form>
  </div>
</template>

<script>
export default {
  name: 'search-form',
  data: function () {
    return {
      searchQuery: ''
    }
  }
}
</script>

// SearchForm.test.js

import Vue from 'vue'
import { expect } from 'chai'
import avoriaz, { mount } from 'avoriaz'
import SearchForm from '../path/to/SearchForm.vue'

Vue.config.productionTip = false

describe('SearchForm.vue', () => {

  // This passes
  it('changes input with simulate()', () => {
    let component = mount(SearchForm)
    const searchInput = component.find('input#query')[0]
    searchInput.element.value = 'hello'
    searchInput.simulate('input')
    expect(searchInput.element.value).to.eq('hello')
  })

  // This does not
  it('changes input with trigger()', () => {
    let component = mount(SearchForm)
    const searchInput = component.find('input#query')[0]
    searchInput.element.value = 'hello'
    searchInput.trigger('input')
    expect(searchInput.element.value).to.eq('hello')
  })
})

The problem was that I had added update inside of trigger to fix this issue - https://github.com/eddyerburgh/avoriaz/issues/66.
I've now removed that update in the v3.0.0 . trigger will behave the same way as simulate.
Note that 3.0.0 has removed simulate, dispatch, style and use.
Let me know if it fixes your issue

@eddyerburgh works great, all my specs passed with simply replacing simulate with trigger. Also, switching to Vue.use(Vuex) was a simple find and replace from what I had which was avoriaz.use(Vuex).
Thanks for the help and the quick response and fix, you are the man, love your software!


chroot: failed to run command '/prepare.sh': No such file or directory

chronos@localhost / $ sudo edit-chroot -all
name: code-oss-chroot
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/code-oss-chroot...
chroot: failed to run command '/usr/local/bin/croutonversion': No such file or directory
Unmounting /mnt/stateful_partition/crouton/chroots/code-oss-chroot...
name: trusty
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/trusty...
crouton: version 1-20171230152552~master:de1361af
release: trusty
architecture: amd64
xmethod: xorg
targets: audio,cli-extra,extension,touch,xfce,xfce-desktop
host: version 10452.22.0 (Official Build) dev-channel cave
kernel: Linux localhost 3.18.0-17009-g5fd68df28fb7 #1 SMP PREEMPT Wed Mar 21 22:50:27 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/trusty...
chronos@localhost / $

Please describe your issue:
Crouton method Failed to complete chroot setup.
If known, describe the steps to reproduce the issue:
chronos@localhost / $ . <( curl --silent https://code.headmelted.com/installers/chromebook.sh )
...
chroot: failed to run command '/prepare.sh': No such file or directory
Failed to complete chroot setup.
Unmounting /mnt/stateful_partition/crouton/chroots/code-oss-chroot...
Crouton install script failed.
chronos@localhost / $

@a1exus,
This appears to be the same issue as:

Can't run prepare.sh during setup, and can't access file when run separately #3695

I'll close this issue so we can all track it in #3695
-DennisLfromGA


Create social accounts for the app and refer to it in the About section

Accounts for:

Twitter
Facebook

Created a Twitter account (@sgltapp) and a Facebook page (https://www.facebook.com/sglandtransportapp), and also linked to them in the About page.


Docs multi-language support

Need English translation first.

Is the Doc up to date in this repo? Thinking maybe we can create PR for the translation bit by bit. I am happy to contribute some.

the Docs adapted to Orange is here: http://orange.sumory.com


Fix/advisory unlock

Description

This change fixes the unlock function of Advisory Locks in safeposix.
EDIT: This issue was discovered while testing the flock syscall; the other relevant PRs are: https://github.com/Lind-Project/lind_project/pull/315 and https://github.com/Lind-Project/native_client/pull/139.

Advisory Locks are used by the flock syscall.
The way it is intended to work is as follows:
When a lock is acquired, a guard value is used to indicate whether the lock is exclusive or shared.

Guard is set to -1 to indicate an exclusive lock.
Guard is incremented by 1 for shared locks.

When unlocking this mutex:

If a shared lock is held, the guard is decremented by 1.
If an exclusive lock is held, the guard is set to 0.

Currently, the unlock function was decrementing the value of guard if it was less than 0, and not performing any action when it was more than 0.
This meant that neither exclusive locks nor shared locks would be released once acquired, even though the function would run correctly.

Type of change

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

How Has This Been Tested?
This was tested by running the flock.c test successfully.
Note that this test will be added to the Lind test suite in a future PR in lind_project, but the file can be found under this branch for now: https://github.com/Lind-Project/lind_project/blob/feature/new-tests-to-debug/tests/test_cases/flock.c
Checklist:

[x] My code follows the style guidelines of this project
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Any dependent changes have been added to a pull request and/or merged in other modules (native-client, lind-glibc, lind-project)

This isn't your fault since youre just fixing a bug and didn't write the original code, but would love for you to add a multi-line comment above the AdvisoryLock struct explaining how it works, since you may be the only person who knows that now!

this is well commented and the bug fix (comparison operator was wrong direction) is simple to understand. thanks!


[$1000] Error for Duplicate Room name is not translated to spanish

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Change Room Name to existing name
Observe the error message

Expected Result:
Error Message should be displayed in Espanol
Actual Result:
Error message is displayed in English
Workaround:
unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.2.30-0
Reproducible in staging?: y
Reproducible in production?: y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

Expensify/Expensify Issue URL:
Issue reported by: @varshamb
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1669138878378109
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0127ca6f5c680f935b
Upwork Job ID:<PHONE_NUMBER>592060416

Pasting my solution from the slack thread
We just need to add this validation at ReportSettingsPage.js
        if (ValidationUtils.isExistingRoomName(this.state.newRoomName, this.props.reports, this.props.report.policyID)) {
            errors.newRoomName = this.props.translate('newRoomPage.roomAlreadyExistsError');
        }

And the code below at withOnyx
        reports: {
            key: ONYXKEYS.COLLECTION.REPORT,
        }

It is already approved here.

I was about to propose similar solution which is proposed on slack after I reported the bug.
https://expensify.slack.com/archives/C049HHMV9SM/p1669138878378109

Taking over from @Luke9389 since I already discussed this in slack. @parasharrajat can you double check the proposal from @Puneet-here ?

@parasharrajat @iwiznia
I was about to propose similar solution which is proposed on slack after I had reported the bug.
https://expensify.slack.com/archives/C049HHMV9SM/p1669138878378109

Checking...

@varshamb sorry, but it's a first come first served and Puneet's proposal was first. You will still get the reporting bonus though.

@Puneet-here 's proposal looks good. We are only focusing on the front-end errors for now.
cc: @iwiznia
:ribbon: :eyes: :ribbon:  C+ reviewed

@iwiznia It's not about bonus at all!
My question is: as per policy is it allowed to post solution on slack channel where they are not reporter?
i.e. one can propose solution for the Bug which is reported by others in Stack channel
#expensify-bugs.
Cc: @Christinadobrzyn @parasharrajat

@Puneet-here Please keep your proposals on GH.

Thanks! I will keep it in mind. In this case I posted the solution in the thread because it was easy to explain the issue that way.

@iwiznia
@flodnv is referring this.

ok, maybe I am wrong and should've not skipped the process, just wanted to get the issue resolved quickly.

ok, maybe I am wrong and should've not skipped the process, just wanted to get the issue resolved quickly.

Ok, I haven't proposed a solution on slack as the Proposal of another contributor was already accepted on Slack.

Sorry, catching up here, @iwiznia are you good with https://github.com/Expensify/App/issues/12939#issuecomment-1324958044?

Sorry, catching up here, @iwiznia are you good with https://github.com/Expensify/App/issues/12939#issuecomment-1324958044?

Yep

Ah, regarding @varshamb - that is a good point. So maybe we should update our contributor guidelines (Step 3. under Finding Jobs) to request contributors post a proposal in the GH if there is one created - otherwise post a proposal in slack? I'm might be wrong but I'm unsure how much the Slack chat is monitored after a job is created in Upwork and the focus moves to the GH.

There's a thread about this here https://expensify.slack.com/archives/C02NK2DQWUX/p1669203099566179

Thanks @iwiznia!
Hired the following in the Upwork job - https://www.upwork.com/jobs/~0127ca6f5c680f935b

@varshamb $250 for reporting
@Puneet-here $1000 for the fix and it looks like you're eligible for 50% bonus since the PR was raised in three days
@parasharrajat $1000 for the C+

@varshamb thank you so much for bringing up the proposal in Slack conversation. Based on this discussion, we will update our guidelines to request that contributors only post a proposal in Slack if a GH isn't created. If the GH is created, the proposal needs to be in the GH for us to see it. Let me know if you have any questions!

Hum, that is a good point/question. I believe the option to post in slack is designed only for the reporter as it gives the reporter a chance to propose a solution before it gets to GH where anyone can propose a solution. The expected workflow is:

Post a bug in Expensify-open-source
Post your proposal at the same time
The QA team will create a GH with the bug and the proposal
Other contributors can post a proposal

The intention was to solve the issue where a reporter had a solution but waited for a GH to be created and they ended up losing the opportunity for the job because they weren't the first to post in the GH.
I believe we don't want a non-reporter to post a proposal in Slack but let me check with my team to see if they have thoughts on that.

@Christinadobrzyn in this case a Proposal was posted on slack by a non-reporter.
Because of this, I didn't get the opportunity to propose a solution.

Thank you for the additional information @varshamb, sorry I should've read the original reporting Slack post. I do see that is the case, we're discussing changes to the proposal review process because of this. I'm sorry this happened but we're working on a change that will hopefully make sure this doesn't happen again.

This was deployed on PROD in 1.2.31-8 https://github.com/Expensify/App/issues/12976 9 days back. Should be ready for payout.

Ah, looks like the Melvinbot prompt to pay wasn't working for this one - https://expensify.slack.com/archives/C07J32337/p1670302655519719
Sorry for the delay! Paying now...
@varshamb $250 for reporting
@Puneet-here $1000 for the fix and 50% bonus
@parasharrajat $1000 for the C+ and 50% bonus
Closed the Upwork job and this GH.


Don't Merge! PR real time test for source branch full build

Docs Build status updates of commit e191113:
:clock10: Pending: waiting for processors (32 builds ahead of you)
:warning: Docs Build is busy, currently there are 32 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit e191113:
:clock10: Full build: the average full build time is 5 min(s) 40 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit e191113:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Updating cloud-provider version

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/lgtm


ShareStructure UX Updates

Issue #: /bcgov/entity#5305
Description of changes:

Implemented functionality enhancements on the share structure table, please see attached ticket for checklist...
https://app.zenhub.com/workspaces/entity-5bf2f2164b5806bc2bf60531/issues/bcgov/entity/5305

Following scenarios handled are laid out in this design ticket...
https://projects.invisionapp.com/share/FMZ1IBHPD9X#/screens/434176105

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

I'm surprised no unit tests were harmed while implementing these changes...
Would it be possible to add a few unit tests that check the scenarios updated in this PR?
For example, here's a simple unit test that checks whether a dialog is displayed:
https://github.com/bcgov/business-edit-ui/blob/bcde5cea7c6d872433e6c71fb37db2325258160b/tests/unit/OrgPerson.spec.ts#L396

Absolutely, sorry i should have mentioned in the notes, i was just working on that :)
But yea, "no tests were harmed during the development of this code" 😆 Sounds like a warning before a movie!


Offline Method procedure references non-existent path

[Enter feedback here]
Offline Method, Step 7 references a non-existent file:
7. Copy the kernelopts value from the grubenv file.
Example
[root@repairvm ~] # cat /boot/efi/EFI/redhat/grubenv   # /boot/efi/EFI/redhat/grubenv doesn't exist on RHEL 8.6

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

ID: 74cffbf6-f480-345a-71b0-023de0a00900
Version Independent ID: afd850d8-37e2-9105-3abd-6ca36cf5075d
Content: Failed to start Switch Root error in an Azure Linux VM - Virtual Machines
Content Source: support/azure/virtual-machines/resolve-failed-start-switch-root-azure-linux-vm.md
Service: virtual-machines
Sub-service: vm-cannot-start-stop
GitHub Login: @genlin
Microsoft Alias: tibasham

@grubenv, Thanks for the feedback. In the RHEL 8.5 or newer versions,  the grubenv config file is located at \boot\grub2\gubenv. I will update the article with this information.


Views not set when switching databases

@cswanson310
Steps to repro:

Create views in test database
Create views in db2
Restart shell
Run use db2
Note that show views doesn't load the appropriate dbs

Fixed in https://github.com/justinjmoses/mongo-views/commit/084954c8f74bb2bd07a090f9179a088132881062


Composite experiment got error of long job.

Informations

Qiskit Experiments version: 0.1.0
Python version: 3.8
Operating system: window

What is the current behavior?
When I run a parallexperiment (each experiments are standardRB experiment on real backend's qubit), it shows the error code3248. When i run a batchexperiment i got an 1102 error code.
However each sub experiments went well when it was run as a single experiment.
When the number of experiment was over 7, (when the experiment was done on the backend which has more than 7qubits) the error shows up.
Steps to reproduce the problem
exps_1q = [StandardRB([i], lengths, num_samples=num_samples, seed=seed+i)         for i in qubits]
par_exp_1q = ParallelExperiment(exps_1q)
par_expdata_1q = par_exp_1q.run(backend).block_for_results()
Below is the error code.
HTTPError                                 Traceback (most recent call last)
~\anaconda3\envs\qiskit\lib\site-packages\qiskit\providers\ibmq\api\session.py in request(self, method, url, bare, **kwargs)
277             response = super().request(method, final_url, headers=headers, **kwargs)
--> 278             response.raise_for_status()
279         except RequestException as ex:
~\anaconda3\envs\qiskit\lib\site-packages\requests\models.py in raise_for_status(self)
952         if http_error_msg:
--> 953             raise HTTPError(http_error_msg, response=self)
954
HTTPError: 403 Client Error: Forbidden for url: https://api-qcon.quantum-computing.ibm.com/api/Network/ibm-q-skku/Groups/skku/Projects/squirl/Jobs/619c49921db79f1c23da4418/jobDataUploaded
The above exception was the direct cause of the following exception:
RequestsApiError                          Traceback (most recent call last)
~\anaconda3\envs\qiskit\lib\site-packages\qiskit\providers\ibmq\ibmqbackend.py in _submit_job(self, qobj, job_name, job_tags, experiment_id)
374             qobj_dict = qobj.to_dict()
--> 375             submit_info = self._api_client.job_submit(
376                 backend_name=self.name(),
~\anaconda3\envs\qiskit\lib\site-packages\qiskit\providers\ibmq\api\clients\account.py in job_submit(self, backend_name, qobj_dict, job_name, job_tags, experiment_id)
217             # Notify the API via the callback.
--> 218             response = job_api.callback_upload()
219             return response['job']
~\anaconda3\envs\qiskit\lib\site-packages\qiskit\providers\ibmq\api\rest\job.py in callback_upload(self)
100         url = self.get_url('callback_upload')
--> 101         data = self.session.post(url).json()
102         mapped_response = {'job': map_job_response(data['job'])}
~\anaconda3\envs\qiskit\lib\site-packages\requests\sessions.py in post(self, url, data, json, **kwargs)
589
--> 590         return self.request('POST', url, data=data, json=json, **kwargs)
591
~\anaconda3\envs\qiskit\lib\site-packages\qiskit\providers\ibmq\api\session.py in request(self, method, url, bare, **kwargs)
299
--> 300             raise RequestsApiError(message, status_code) from ex
301
RequestsApiError: '403 Client Error: Forbidden for url: https://api-qcon.quantum-computing.ibm.com/api/Network/ibm-q-skku/Groups/skku/Projects/squirl/Jobs/619c49921db79f1c23da4418/jobDataUploaded. Your job is too long., Error code: 3248.'
The above exception was the direct cause of the following exception:
IBMQBackendApiError                       Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_12196/4255053815.py in
10 par_exp=ParallelExperiment(exps)
11 start=time.time()
---> 12 par_expdata=par_exp.run(backend).block_for_results()
13 duration=time.time()-start
14 par_results=par_expdata.analysis_results()
~\anaconda3\envs\qiskit\lib\site-packages\qiskit_experiments\framework\base_experiment.py in run(self, backend, analysis, experiment_data, **run_options)
133             job = backend.run(qobj)
134         else:
--> 135             job = backend.run(circuits, **run_opts)
136
137         # Add Job to ExperimentData and add analysis for post processing.
~\anaconda3\envs\qiskit\lib\site-packages\qiskit\utils\deprecation.py in wrapper(*args, **kwargs)
60             if kwargs:
61                 _rename_kwargs(func.name, kwargs, kwarg_map)
---> 62             return func(*args, **kwargs)
63
64         return wrapper
~\anaconda3\envs\qiskit\lib\site-packages\qiskit\providers\ibmq\ibmqbackend.py in run(self, circuits, job_name, job_share_level, job_tags, experiment_id, header, shots, memory, qubit_lo_freq, meas_lo_freq, schedule_los, meas_level, meas_return, memory_slots, memory_slot_size, rep_time, rep_delay, init_qubits, parameter_binds, use_measure_esp, **run_config)
324             qobj = assemble(circuits, self, **run_config_dict)
325
--> 326         return self._submit_job(qobj, job_name, job_tags, experiment_id)
327
328     def _get_run_config(self, **kwargs: Any) -> Dict:
~\anaconda3\envs\qiskit\lib\site-packages\qiskit\providers\ibmq\ibmqbackend.py in _submit_job(self, qobj, job_name, job_tags, experiment_id)
382             if 'Error code: 3458' in str(ex):
383                 raise IBMQBackendJobLimitError('Error submitting job: {}'.format(str(ex))) from ex
--> 384             raise IBMQBackendApiError('Error submitting job: {}'.format(str(ex))) from ex
385
386         # Error in the job after submission:
IBMQBackendApiError: "Error submitting job: '403 Client Error: Forbidden for url: https://api-qcon.quantum-computing.ibm.com/api/Network/ibm-q-skku/Groups/skku/Projects/squirl/Jobs/619c49921db79f1c23da4418/jobDataUploaded. Your job is too long., Error code: 3248.'"
What is the expected behavior?
Automatically split my job into small jobs.
Suggested solutions

Closing this issue since I think it has been addressed, feel free to reopen and update if it is still an issue on current main branch

Retested and this is still an issue. Running
lengths = np.arange(1, 1000, 100)
num_samples = 10
seed = 1010
qubits = range(7)

exps = [StandardRB([i], lengths, num_samples=num_samples, seed=seed + i)
        for i in qubits]
par_exp = ParallelExperiment(exps)
par_expdata = par_exp.run(backend)

on auckland gives the Your job is too long error message.

Should be solved by #1052.


[WIP] Update Wiki Docs for Select Menus

This PR updates documentation relating to Select Menus to include the new select menu types.
There is a known issue where ##### is not well-liked by the wiki

Deploy Preview
Building preview of Pull request. Please wait...


Update chs.po

我是啥b，今天看到邮件才发现1个月前改的东西没有上传

Oh, that's unfortunate! I hope it didn't cause too much of a hassle.


build: switch to dart-sass

Switches to dart-sass in order to be consistent with the Bazel output. That way we can identify potential issues with the SASS output (e.g. demo-app) before we at some point make the full-switch.
Also speeds-up the project installs because libsass bindings are no longer needed (trade-off with compilation time though; but pretty minimal due to our amount of Sass files)

Note that if you can configure the task to run the synchronous version of Dart Sass, it'll be substantially faster.

Right, I forgot about that. @DevVersion we should look into that

@nex3 @jelbourn Should be fine now. Please have another look.
Also fixed that the commit message mentioned "consistency with gulp", while it should be actually "consistency with Bazel"


Feature/parser working

Welcome to the worlds largest PR.
~100k lines are actually:

Tokens.scala Seq[String]
Test resources which need to be shipped with the codebase
The libbackend.so
Some tests are ignored because their expected have changed. Will fix later.

~5k lines are actual code to review.

The CrfScala interface has already been reviewed.
The implementation of the interface needs to be reviewed.
There's a lot of string construction stuff going on, please refrain from commenting, some of it isnt nice, but I have optimisations in mind.

Optimisations (its pretty fast anyway):

Impl a proper way of configuring AggregateFeatureAnalysers (current impl is because of time)
Some places could do with some extra StringBuilders (specifically the AggregateFeatureAnalysers)
Static Types on Tokens.

Tests which need to be added:

Specific token bounds test (40 odd to come)
AggregateFeatureAnalysers when impl complete.

A special thanks to @Mironor @alangorton and @saniemi for your assistance with this.

This branch will be squashed when merged.

Lots to do!

Some tes feedback

Adding comments on feedback


There is no information about usagelocation

[Enter feedback here]
Dear Team, I can't find here any mentions related with usage location. Please add information which propertyset I need to choose to see usagelocation property?

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

ID: d9145396-cc72-6e54-4204-6867397e67ea
Version Independent ID: ca86d515-e4d3-ce0f-11e3-87ddfda38b75
Content: Property sets in Exchange Online PowerShell V2 cmdlets
Content Source: exchange/docs-conceptual/cmdlet-property-sets.md
Service: exchange-online
GitHub Login: @chrisda
Microsoft Alias: chrisda

@Cypher-Skif, the property sets are not meant to include all of the output properties from a given cmdlet. Many (most?) of them are purposely not included.
If the property you want isn't isn't available in a property set, then use the Properties parameter (for example, -Properties UsageLocation).

@chrisda Thank you very much for sharing this explanation. @Cypher-Skif Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Chat - Emoji picker and send buttons appear on the left of composer briefly when opening chat

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: n
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Issue found when executing PR https://github.com/Expensify/App/pull/29755
Action Performed:

Launch New Expensify app.
Open any chat.

Expected Result:
The composer layout is the same when opening the chat.
Actual Result:
The emoji picker and send buttons appear on the left of composer briefly when opening chat.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/93399543/30551262-a9f0-4315-8987-6dc996d98bb7

View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

This issue looks like the recent change of react-native-onyx version in this PR https://github.com/Expensify/App/pull/29169
@ospfranco might have some context

https://github.com/Expensify/App/issues/23658#issuecomment-1799029415
we're going to revert the PR that caused this

revert pr is up https://github.com/Expensify/App/pull/31011

revert PR was CP'd to staging, can you please retest to confirm it's fixed?

Confirm that this was resolved after the revert 👍


Errors in the raygui.h file

I dont know if this is a problem on my end but i will post it anyways because im not sure.
I'm already working with raylib.h so i just put raygui.h in my include folder, added the define to my program and tried to build the exe.
i got some errors and had a look, but they are very simple:
Line 1571 -> if (GuiButton((Rectangle){tabBounds.x + tabBounds.width - 14 - 5, tabBounds.y + 5, 14, 14}, GuiIconText(ICON_CROSS_SMALL, NULL)))
Line 1578 -> GuiDrawRectangle((Rectangle){bounds.x, bounds.y + bounds.height - 1, bounds.width, 1}, 0, BLANK, GetColor(GuiGetStyle(TOGGLE, BORDER_COLOR_NORMAL)));
Line 4243 -> DrawTextCodepoint(guiFont, codepoint, (Vector2){position.x + textOffsetX, position.y + textOffsetY}, (float)GuiGetStyle(DEFAULT, TEXT_SIZE), tint);
Error: expected an expression
I had to remove the brackets around Rectanlge and Vector2
Line 4142 -> char **lines = GetTextLines(text, &lineCount);
Line 4151 -> lines[i] = GetTextIcon(lines[i], &iconId); // Check text for icon and move cursor
Error: argument of type "const char *" is incompatible with parameter of type "char *"
I had to cast both text and the output of GetTextIcon to "char *"

The compound literals issue is a C99 feature, not available in C++, the const issues should be just warnings.


Array of Complex Types throws error

When trying to add an Array of Complex Types to my stream, I was getting the following error
TypeError: 'ComplexType' object is not callable
This is an example example record:
{"Id": "00000000-0000-0000-0000-000000000000", "Datasets": [{"DatasetId": "00000000-0000-0000-0000-000000000000", "DatasetName": "Dataset Final"}]}

below is the code that I tried in the PropertiesList
ArrayType("Datasets",ComplexType(
             StringType("DatasetId"),
             StringType("DatasetName")
            )
        ),

After careful review and consideration, I found that this represents something of a weakness in how JSON schemas had been modeled, essentially conflating "properties" and "types". I've changed this implementation to more naturally distinguish between types and properties, with a thorough description here: https://gitlab.com/meltano/singer-sdk/-/merge_requests/8
After updating to the latest (via ``), please replace your sample code above with:
Property(
        "Datasets",
        ArrayType(
            ObjectType(
                Property("DatasetId", StringType),
                Property("DatasetName", StringType),
            )
        )

The new convention (with formal Property mapping) is demonstrated in this sample code from the MR:
    jsonschema = PropertiesList(
        Property("id", IntegerType, required=True),
        Property("name", StringType,
        Property("tags", ArrayType(StringType)),
        Property("updated_on", DateTimeType),
        Property("is_deleted", BooleanType,
        Property(
            "author",
            ComplexType(
                Property("id", StringType),
                Property("name", StringType),
            )
        ),
    ).to_json()

The old syntax, wherein type definitions have names and the required flag, should still work for a little longer, but eventually I think it will probably make sense to move entirely to the new Property syntax as shown above.
Also note that ComplexType (which expected a name argument) is being replaced by ObjectTypes (which does not accept a name argument).
Let me know if you have any difficulty implementing this spec or if you have any questions/concerns. I'm happy to lend a hand as needed.

I was able to solve this by converting to the new Property spec


ktorrent: mkDerivation

Motivation for this change
Still found it crashed on me after a few hours (?),
but at least this fixes inability to launch.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @

FYI ktorrent works fine for me on 19.09.
Why would changing mkDerivation make it not crash?

@edolstra due to some relatively recent changes in qt passing mkDerivation for packages which use libsForQt5.callPackage instead of callPackage is required. See https://github.com/NixOS/nixpkgs/issues/65399 for details.


Build files error handling

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA


soabase-guice has dependency on soabase-core

Hey there - is this repo still being maintained?
I'm upgrading dropwizard from 0.7.2 to the 1.0.0-rc3 and am also upgrading my dropwizard-guice bundle to soabase after stumbling upon this issue: https://github.com/soabase/soabase/issues/32
I noticed that soabase-guice has a dependency on InternalFeatureRegistrations, which is in soabase-core. Is this intentional?

Yes - it's still maintained. There should be no deps on other parts of soabase. I'll have a look.

I'll do a release soon.


can't use ffmpeg full  with trinity

Is it possible to use ffmpeg used in trinity we can use in our project ??

@badcodercpp Yes, you can refer to the app build.gradle configuration

We literally had to use another version of ffmpeg to add additional capabilities.

If you've been working on this for a bit and are open to helping each other fix certain aspects of the library, feel free to reach me at<EMAIL_ADDRESS>P.S : Looking for folks to co-build/extend this library to add more features.

@shashankjha1994 am in , let's add some individual functionality support in kotlin and shadow some cpp work :)


Received Log Data which is currently not supported

I didn't get the API running.
After start I get looping this message:
[12/04/2021, 12:23:09] [BuschJaegerSysAp] Received Log Data which is currently not supported: 0.toBus + 2e 00 3ce0  0200 20cc  03  0080 - 0c7e

Nobody an idea?

That's only an informational message when logging is enabled in the System Access Point settings. You can turn that off and the message goes away.


add repr to models

@kristapratico

For the failing sdk-auto-release(master) step in CI, you can just push a new commit with some small change (e.g. correct whitespace ) to re-trigger the pipeline and clear that error.

/azp run python - documenttranslation - ci

@kristapratico please merge it, before the pipeline changes its mind :)


Prometheus

This is still work in progress. Had to modify the bitcoind docker image to allow us to run our prometheus python script in there.
My changes to the source are on my fork: https://github.com/Tomasvrba/docker-bitcoin/tree/BBBase and I upload the image to our docker hub org when I make chages: https://hub.docker.com/r/shiftcrypto/basebitcoind/tags
Still some stuff I would like to work out to make this run nicely, but electrs and bitcoind are being already monitored by prometheus


db: add order by clauses

As per the title. This adds order by to the select statements.
fixes #175

The main motivation here is that this makes the output more predictable at the expense of slightly reduced efficiency?

pretty much. In some cases it can prevent bugs from happening, but I haven't found any here.


mirroring docker.io: enable schema1 until it is dropped by docker.io

When using the registry as a mirror, enable schema1 as long as docker.io supports it.
This may require #2925 to work on docker.io first.

Just to give you heads up Schema1 support will be deprecated in the next release. Feel free to close this issue.

Sounds good.


add transpile target to plugin optimize

Changes

Tackles part of https://github.com/pikapkg/snowpack/issues/838 to add transpilation for unbundled builds.

| `target` | `string | string[]` | The language target(s) to transpile to. This can be a single string (ex: "es2018") or an array of strings (ex: ["chrome58","firefox57"]). If undefined, no transpilation will be done. |

Testing

No plugin tests (yet).

Yea, I'm a little torn since I'd much prefer an esbuild-agnostic interface so that we weren't tied to any one implementation. But, if we find ourselves being asked to support more than just this down the road, then I'd definitely be +1 for just exposing directly instead of maintaining a custom mapping


Crash when trying to loop through empty Vec

I got following struct:
#[derive(Resource, Reflect, Default, Clone)]
#[reflect(Resource)]
pub struct LobbyListResource {
    pub lobbies: Vec<u64>,
}

I register all the needed things to correctly access the vec and loop through it via scripts:
struct HandleLobbyApiProvider;

impl APIProvider for HandleLobbyApiProvider {
    type APITarget = Engine;
    type ScriptContext = RhaiContext;
    type DocTarget = RhaiDocFragment;

    fn register_with_app(&self, app: &mut App) {
        app.register_foreign_rhai_type::<Vec<u64>>();
    }

    fn attach_api(
        &mut self,
        api: &mut Self::APITarget,
    ) -> Result<(), bevy_mod_scripting::prelude::ScriptError> {
        api.register_vec_functions::<u64>();
        Ok(())
    }
}

With this I can then loop through the lobbies in Rhai like this:
let lobby_list_type = world.get_type_by_name(blablabla::LobbyListResource");
if world.has_resource(lobby_list_type) {
    let lobbies = world.get_resource(lobby_list_type).lobbies;
    for lobby in lobbies {
        print(`lobby: ${lobby}`);
    }
}

And this works... as long as the vec is not empty!
When it's empty i get following error and it crashes:
thread 'main' panicked at 'attempt to subtract with overflow', C:\...\.cargo\git\checkouts\bevy_mod_scripting-ff78cea4271e6409\8879577\bevy_script_api\src\common\std.rs:136:26
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in exclusive system `bevy_mod_scripting_core::systems::script_event_handler<bevy_mod_scripting_rhai::RhaiScriptHost<pgc::modding::ModdedScriptRuntimeArguments>, 0, 10>`!
Encountered a panic in system `bevy_app::main_schedule::Main::run_main`!

As I'm only using Rhai, I don't know if this error exists in Lua too.
The current workaround is to just check if the vec is empty before trying to loop through it:
let lobby_list_type = world.get_type_by_name(blablabla::LobbyListResource");
if world.has_resource(lobby_list_type) {
    let lobbies = world.get_resource(lobby_list_type).lobbies;
    if !lobbies.is_empty() {
        for lobby in lobbies {
            print(`lobby: ${lobby}`);
        }
    }
}

I looked into this, and it seems the error comes from this line:
https://github.com/makspll/bevy_mod_scripting/blob/eb691a26d316aba6fbd5f58322be7850db4833b0/bevy_script_api/src/common/std.rs#L136
as when the length is 0, it tries to subtract one. it being a usize, results in a attempt to subtract with overflow.
So just to test, i changed it to
fn into_iter(self) -> Self::IntoIter {
        ScriptVecIterator {
            current: 0,
            end: self.len().map(|v| v - 1).unwrap_or(0),
            base: self,
        }
    }

Which kind of solves it, as it doesnt crash anymore.
But interestingly the variable, in my case lobbies can't be found anymore:
Runtime error in script `lobby_list_container.rhai` Variable not found: lobbies
in call to function 'lobby_list_updated'

Alright, changing it to
fn into_iter(self) -> Self::IntoIter {
    ScriptVecIterator {
        current: 0,
        // TODO?: end used to be an Option, and this check moved into the next method but
        // I am not sure if this will ever realistically fail, so if you do get this exception happening
        // hit me with an issue
        // if len > 0, subtract 1, otherwise set to 0
        end: self
            .len()
            .and_then(|len| Ok(if len > 0 { len - 1 } else { 0 }))
            .expect("Failed to get length of ScriptVec"),
        base: self,
    }
}

Makes it not crash.
But I now get following error printed out:
Runtime error in script `lobby_list_container.rhai` Runtime error: Invalid reflection path: `[0]`. No such element
in call to function 'lobby_list_updated'

Is the no such element error happening on empty vecs?  That might be because of the issue I mentioned with the iterator where it's still trying to index into it on empty vecs


REPL UX with Political Banner on Mobile

On a phone, the pro-Ukraine banner in the REPL is excessively obtrusive. This may seem like an odd use case, but I find the REPL quite helpful for validating components on mobile before putting them into my code, and, besides, the REPL was clearly designed to be responsive.
With the banner up, the REPL is unusable in landscape mode, and is still a significant UX hassle in portrait mode.
Please add an option to close or at least hide the Ukraine banner in the REPL, ideally with the ability to remember my preferences.

agreed. i use it on mobile too, not just for testing, but development.
I appreciate the support, but a close/hide button would be really nice... even if it comes back on refresh or expires after 24 hours etc.

the banner has been removed and the current banner component that may be used for future banners has an ability to close it


The iframe in controller.html cannot be loaded

Describe the bug
The iframe in container.html cannot be loaded.
To Reproduce
Steps to reproduce the behavior:

Run the commands below

git clone https://github.com/Microsoft/pxt.git
git clone https://github.com/Microsoft/pxt-microbit.git
cd pxt
npm install
npm run build
cd ..
cd pxt-microbit
git checkout v1
npm link ../pxt
npm install
pxt serve

Go to controller.html

Expected behavior
The index page is displayed in the iframe
Screenshots

Desktop:

OS: Windows 10 1803 / Ubuntu 18.04 / macOS 10.13.6
Browser: Microsoft Edge / Google Chrome

Fixed by https://github.com/Microsoft/pxt/pull/4614


chore (pnpm clean) - rimraf Instead of rm for Windows OS Support

replace rm with rimraf while deleting node_modules during pnpm clean to support in both Windows and Linux.

Closes #2442
📝 Description
Replace rm -rf with rimraf in [pnpm clean](clean:node-modules) in root package.json scripts.
⛳ Current behavior (updates)
[pnpm clean](clean:node-modules) script used for node_modules cleaning doesn't work in Windows OS as rm command is not internal.
🚀 New behavior
Deletes root node_modules in Windows OS as well with rimraf.
💣 Is this a breaking change (Yes/No):
No
📝 Additional Information
NA

Thank you @wingkwong  for you review.


Add new endpoint for DependencyGraph

Description
In this PR I create two new endpoints GET /api/v1/dependencyGraph/project/{uuid}/directDependencies and
GET /api/v1/dependencyGraph/component/{uuid}/directDependencies.
The purpose of this endpoint it's to avoid the frontend from doing multiple requests to the backend to fetch each node of the Dependency Graph. With this endpoint, you can get all directDependencies of a project or a component by providing his UUID.
Addressed Issue
https://github.com/DependencyTrack/hyades/issues/858
Checklist

[x] I have read and understand the contributing guidelines
[ ] This PR fixes a defect, and I have provided tests to verify that the fix is effective
[x] This PR implements an enhancement, and I have provided tests to verify that it works as intended
[ ] This PR introduces changes to the database model, and I have added corresponding update logic
[ ] This PR introduces new or alters existing behavior, and I have updated the documentation accordingly

@sahibamittal Please use Co-authored-by to denote the original author of the change. I don't care about changes that I did, but for other contributors we should give credit where credit is due. See https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors#creating-co-authored-commits-on-the-command-line


Inline Blame in the middle of the line

GitLens inline text is pushing the code to the right.

GitLens Version: 10.1.1
VSCode Version: 1.40.0-insider
OS Version: Mojave 10.14.6

Look at the print screen below to see that the selected line text "snbdsbd" has been pushed to the right of the GitLens text.

Duplicate of https://github.com/eamodio/vscode-gitlens/issues/667


The plugin doesn't support latest Gradle settings

I'm getting the following error after following the steps at https://flutter.dev/go/flutter-gradle-plugin-apply:
FAILURE: Build failed with an exception.

* What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':plugin_wifi_connect' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50

dependence bot just update a lot of things now, can you check again?

The issue still the issue still persists. I am also getting this:
FAILURE: Build failed with an exception.

* What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':plugin_wifi_connect' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50

I dont know, it feels like in pub.dev it references to the old project. Because there I found version 1.3.50, and it is consistent with the error message, hence the conclusion. I hope it helps.
https://github.com/weplenish/flutter_wifi_connect/blob/main/android/build.gradle
Here you have updated it (this project):
https://github.com/CadisRaziel/plugin_wifi_connect/blob/main/android/build.gradle

@ved0
The original project was kind of 'abandoned' and we had to pick it up to use it in our company, due to the lack of time due to the sprints we are not able to maintain a consistency of correction.
Ours is more up-to-date thanks to the help of a collaborator who added a bot to update the dependencies automatically.

@ved0
The original project was kind of 'abandoned' and we had to pick it up to use it in our company, due to the lack of time due to the sprints we are not able to maintain a consistency of correction.
Ours is more up-to-date thanks to the help of a collaborator who added a bot to update the dependencies automatically.

@ved0
The original project was kind of 'abandoned' and we asked the owner of the repository for permission to take it over and fix the problems that our company needed, but due to the lack of time because of the sprints we are not able to maintain a constant fix for new users.
Ours is more up-to-date thanks to the help of a collaborator who added a bot to update the dependencies automatically.

@CadisRaziel
Yeah, I read about that. And I am using your up-to-date one in my project. I add it into my project with, flutter pub add plugin_wifi_connect . And I write some code with it, but when I try to run it. I get this message:
* What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':plugin_wifi_connect' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50

That is why I thougt maybe something got mixed up with the old project. Do you have any suggestions what could be wrong?

@ved0
Go into the android folder and access build.gradle and you'll see a string called ext.kotlin_version, try manually changing the version to 1.5.20 in your project.
if you can't find this build.gradle in vscode, look for the string ext.kotlin_version in the magnifying glass.

@ved0
Go into the android folder and access build.gradle and you'll see a string called ext.kotlin_version, try manually changing the version to 1.5.20 in your project.
if you can't find this build.gradle in vscode, look for the string ext.kotlin_version in the magnifying glass.
after doing this give your project a full reload

@CadisRaziel
Do you mean to update the string within the plugin_wifi_connect dependency?
The latest version on pub.dev is currently using ext.kotlin_version = '1.3.50'.

@calmog
Not so far.
Because there are people who still use the old one, if you want to update you can manually change the version in your project.

@calmog
Not yet
Because some people still use the old version.
If you want to update, you can manually change the version in your project.

You mean within the dependency? Or just copy paste the lib to my project?On 13 May 2024, at 3:33, Vitor Brussolo Zerbato @.***> wrote:
@calmog
Not yet
Because some people still use the old version.
If you want to update, you can manually change the version in your project.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@calmog
ext.kotlin_version belongs to your created project, check its version, if it is 1.3.50 change it to the desired version 1.5.20, see if it works.
Be careful because if you have other very old libs in your project, there may be a version conflict.

@calmog
the latest version of ext.kotlin_version if I'm not mistaken is 1.9.0. I can't remember now if it came with the updated dart.

I’m using 1.9.20

On 13 May 2024, at 18:12, Vitor Brussolo Zerbato @.***> wrote:
@calmog https://github.com/calmog
the latest version of ext.kotlin_version if I'm not mistaken is 1.9.0. I can't remember now if it came with the updated dart.
—
Reply to this email directly, view it on GitHub https://github.com/CadisRaziel/plugin_wifi_connect/issues/117#issuecomment-2107939442, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABAUU4AH4Z2WTLSSO3KABELZCDJ7BAVCNFSM6AAAAABFJLQW72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBXHEZTSNBUGI.
You are receiving this because you were mentioned.

@calmog Not yet Because some people still use the old version. If you want to update, you can manually change the version in your project.

this worked, thanks :)

@CadisRaziel @ved0
Just so I'm clear, you are suggesting to manually modify the source code of plugin_wifi_connect locally?
Cause that can work as a test, but it's not a long term solution since we can't ask every team member to do that. Also wouldn't work in our CI server which will always pull the source code of the dependencies from pub.dev.
Could you publish an updated version with just this change? People that need to stay in the previous version can always lock their version in their pubspec.yaml to 1.0.2.
Would you take a PR with these changes? I'd prefer not to have to maintain a fork just for this.
Thanks

@juan-tado
No, my friend, you don't understand.
In your project flutter in the build.gradle file (android > build.gradle) when you open this file you will find the global variable ext.kotlin_version of your project and not of my extension.
You can modify it directly in your global project, my extension will just follow the new version it needs.
The ext.kotlin_version variable is just to define the version of kotlin in your project, it can be modified
I don't want to change it because I use it in my project and old members also use it in their projects that are already in the play store and app store.
If you have a better solution than updating it for everyone, I'd be willing to implement it.

@juan-tado
I'll update the version

@calmog Not yet Because some people still use the old version. If you want to update, you can manually change the version in your project.

this worked, thanks :)

we will update directly in source code. :)

Im using this fork that fixes for me https://github.com/tadodotcom/plugin_wifi_connect

Im using this fork that fixes for me https://github.com/tadodotcom/plugin_wifi_connect

nice!


No module named 'decorator'

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp up
Errors:
No module named 'decorator'
Traceback (most recent call last):
python3/dist-packages/fabric/connection.py, ln 5, in <module>
    from invoke.vendor.six import StringIO
ModuleNotFoundError: No module named 'invoke.vendor.six'

...

python3/dist-packages/fabric/connection.py, ln 10, in <module>
    from decorator import decorator
ModuleNotFoundError: No module named 'decorator'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az webapp up --sku {} --name {}

Expected Behavior
Environment Summary
Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-glibc2.29
Python 3.8.10
Shell: bash

azure-cli 2.0.81

Additional Context

@vicuartas230 Looks like this has since been fixed and I can confirm that there is no error now. Apologies for no updates on this issue sooner. Unless you are still seeing this error on your end with the latest version, I believe this could be closed.


Ensure timestamp config makes sense.

Closes #1493

That's a bit consensus-engine specific, isn't it?

Perhaps, but right now it's confusing to users and I don't see a better way of sorting it in time for 1.0.

We could add functions like substrate_consensus_aura::minimum_period(block_time: Timestamp) -> Timestamp and use those in the configuration

then genesis configs become pretty convoluted. and only to enable flexibility that 99.9% of users neither know nor care about

then genesis configs become pretty convoluted. and only to enable flexibility that 99.9% of users neither know nor care about

Sure, just worth noting we will almost definitely have to break compatibility with timestamp when rolling out BABE.

ok i'll replace with a straight rename to minimum_period and copious documentation. but it's still a pretty crappy dev experience and it'll need improving. the issue is clearly in the consensus module, which is where the block period should be configured and checked. timestamp should have the check removed entirely and just be a simple inherent + change-once-per-block-check + storage item.


typo in documentation

https://semantic-ui.com/modules/search.html#/usage
Category search, Example JSON Response
comma is missing after parent "results" javascript object's right curly bracket,
right before comment "// optional action below results"

Hi @kvasirr, thank you, I opened a PR to the documentation repository.


Use actual temporary dir for pageserver unit tests

Before this PR, a tmp_check directory was created in the project's root for pageserver's tenant unit tests: every unit test created a subdirectory inside tmp_check was created.
The only reason to do so appears to be test file explorations, but in reality those files are relatively standard (hence, could be reproduced with Python tests, if needed) or mock (since there's no proper walreceiver in unit tests).
Does not make much sense to create these files as "permanent", keep them in the temporary dir that's cleaned after test.

Re commit Enable logs in unit tests
Would be nice if that could be a separate PR

Would be nice if that could be a separate PR

Would it be ok to leave it as a separate commit here?
I have plenty of open PRs already and this is small.

some --keep flag

That would complicate the logic and recent PRs are somewhat slow, so I'd keep this simple for now and if later we'd need this, add separately.


Floated column on responsive?

I thought I could use right floated columns to have better source order, i.e. displaying the asides in the right hand side of the page before other stuff in single column mobile layout.
However, it would appear that even if I put the floated and normal columns inside a stackable grid, the float is not cleared on mobile and things mess up. If the floated column is not very wide, it will even sit next to the main column, with both being very thin.
This problem seems like an obvious one, so I wonder whether I'm missing something? Are there other tricks for showing something to the right on desktop and then showing it at the top on mobile?
Also, what are those floated columns actually good for?

Can you provide a JSFiddle where a floated column appears broken in stackable grid.

Yes. Thanks.
http://codepen.io/dalgard/pen/zxEQLw?editors=110

Thanks for the test-case.
Fixed in next.

I used the same trick as @dalgard to show one column on the right on desktop and at the top on mobile but it seems to be broken in 2.1.
Is there any way to reorder column in stacked mode right now?

Yes, there is a reverse mobile setting.
http://semantic-ui.com/collections/grid.html#reversed


Contextual DotF predicate

Ref

https://nanopay.atlassian.net/browse/NP-1379

Changes

~Add contextualizing support to mlang expression~
~Add ContextAwarePredicate model~
Contextualize DotF predicate
Fix for strategizer choice view choice selection in update view (included here as the change is just 2 lines)

Updated @kgrgreer @jlhughes please take another look. Thanks


[SPARK-38490][SQL][INFRA] Add Github action test job for ANSI SQL mode

What changes were proposed in this pull request?

Add Github action test job for ANSI SQL mode. It will be triggered after each commit push on the master branch of apache/spark.

To make the implementation easy, ANSI SQL mode becomes enabled if ENV variable SPARK_ANSI_SQL_MODE is set as true
Why are the changes needed?

Testing the ANSI SQL mode on each commit push, so that we can find issues in time.
Does this PR introduce any user-facing change?

Yes, ANSI SQL mode becomes enabled if ENV variable SPARK_ANSI_SQL_MODE is set as true. This won't be in documentation since it is for testing purpose.
How was this patch tested?

Manually try on my repo: https://github.com/gengliangwang/spark/actions/runs/1961176426

This one is ready. The test result https://github.com/gengliangwang/spark/runs/5491483010 is the same as changing the SQLConf manually: https://github.com/apache/spark/pull/34970


Proposal to be able to add divided after the last element in Listview.seperated

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
In a design where we need to show divider at the last of the element we have do following:

add 1 to the itemcount and then check for last element and add the divider
check for the last element and wrap it inside a column and then add the divider in column widget.

Proposal
It would be way easier to just configure one bool variable to show the divider after the last index or not by adding an extra parameter in the Listview.seperated (for example: showDivider atLast) something like that to control this functionality.

Hi @faisalansari0367.
Thanks for proposing this.
This is a known proposal, see https://github.com/flutter/flutter/issues/134272 which was closed per this https://github.com/flutter/flutter/pull/138672#discussion_r1401363002.
You can follow up on these in the issue links shared above.
Closing this from here, if you disagree, please comment and I'll reopen this.
Thank you.


⚠ Mobitopup has degraded performance

In 2d8cb8a, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 20559 ms

Resolved: Mobitopup performance has improved in 866d939.


Does not switch to flying up

When using the /flyto commands, it only adjusts to going down, and never switches to flying up. This causes you to crash into terrain. Is there a way to maybe adjust the altitude where it switches?
Edit: this only happens on servers.

Fixed in the new commit ;]


Error when focusing on input text

Every time I clicked on an input text in the simulator, I got this error in the console:
error    TypeError: undefined is not an object
(evaluating 'keyboardActiveElement.getBoundingClientRect'),
http://localhost:8100/vendors/ionic/js/ionic.js, Line: 3988

Please help fix.

Also getting this error (version 1.0.0-rc.4).
undefined is not an object (evaluating 'keyboardActiveElement.getBoundingClientRect'), http://<IP_ADDRESS>:8100/lib/ionic/js/ionic.bundle.js, Line: 3995

same error for me. :(

@tlancina any word from the Ionic team on this?

Updating Ionic should make it I away, this was fixed in https://github.com/driftyco/ionic/commit/a86ec11fbd9d810bc272bc2fbeee92fbf07d6dd5.

@tlancina thanks. Confirm updating to Ionic 1.0 fixes the issue.

i updated to ionic 1.0, but it seems for me that the problem was not solving.
Roy-Mac-11:app Admin$ ionic info
Your system information:
Cordova CLI: 5.0.0
Ionic Version: 1.0.0-rc.4
Ionic CLI Version: 1.4.5
Ionic App Lib Version: 0.0.22
ios-deploy version: 1.4.0
ios-sim version: 3.1.1
OS: Mac OS X Yosemite
Node Version: v0.10.36
Xcode version: Xcode 6.1 Build version 6A1052d
any reason ?

same error for me.
TypeError: undefined is not an object (evaluating 'keyboardActiveElement.getBoundingClientRect')
keyboardShowionic.bundle.js:3995
（anonymous 関数）ionic.bundle.js:3946
(ionic version 1.6.1).

same error for me
Your system information:
Cordova CLI: 4.3.1
Gulp version:  CLI version 3.9.0
Gulp local:
Ionic Version: 1.0.1
Ionic CLI Version: 1.6.4
Ionic App Lib Version: 0.3.8
ios-deploy version: 1.7.0
ios-sim version: 4.1.1
OS: Mac OS X Yosemite
Node Version: v0.12.7
Xcode version: Xcode 6.4 Build version 6E35b


Lopunny's ability is its mega's

I also checked it with pokesee, ability is still listed as scrappy

Fixed


Custom Main

Description
The main goal from this PR is to lay the foundation of a custom entry point which can be reused for multiple executables. Currently this is only used in the vulkan_samples CLI. Down the line this can be used in sample single entry point and in compile time executables such as offline shader compilation / reflection or asset pack preparation.
This PR starts small by moving only the entry point, arguments and file paths away from the frameworks platform. Following this we can remove the windows which will eventually allow us to remove the platform in its entirety. We can do this as samples only require the window interface and some boolean checks if we are running in a specific mode. All other platform functionality is to facilitate the vulkan samples cli lifecycle
Recompile times when tweaking a platform-specific implementation are extremely quick as we no longer need to recompile parts of the framework.
The folder structure may seem a little overkill whilst this PR targets just the entry points. But these folders will fill out after moving the windows.
TODO

[x] Unix
[ ] Unix D2D
[x] Macos (via Unix)
[x] Android
[x] Windows

Fixes #698
Based off #690
General Checklist:
Please ensure the following points are checked:

[x] My code follows the coding style
[x] I have reviewed file licenses
[x] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
[x] I have commented any added functions (in line with Doxygen)
[x] I have commented any code that could be hard to understand
[x] My changes do not add any new compiler warnings
[x] My changes do not add any new validation layer errors or warnings
[x] I have used existing framework/helper functions where possible
[x] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions
[x] My changes do not add any regressions
[x] I have tested every sample to ensure everything runs correctly
[x] This PR describes the scope and expected impact of the changes I am making

Sample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:

[ ] I have tested the sample on at least one compliant Vulkan implementation
[ ] If the sample is vendor-specific, I have tagged it appropriately
[ ] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
[ ] Any dependent assets have been merged and published in downstream modules
[ ] For new samples, I have added a paragraph with a summary to the appropriate chapter in the samples readme

@gary-sweet can you help test the Unix D2D implementation, please? Nothing should have changed but always good to be sure.
I'm also interested if we can set up a local device to test with. Is there any way to emulate D2D or can you share any links to some getting started articles? I'm struggling to find anything of substance but it's likely that I don't fully understand what is going on with the Unix D2D stuff

Tested and works on all platforms that I have access too. I would greatly appreciate a second test on an android device. Currently I only have access to a Google Pixel 3

@gary-sweet can you help test the Unix D2D implementation, please? Nothing should have changed but always good to be sure.

Sorry for the delay Tom - I was on holiday for a couple of weeks, then out of commission with covid for a week and then chasing my tail trying to catch up for a week.  I'll see what I can do today, but I have slightly hampered capability right now as I'm still having to work from home.

I'm not seeing any issues here other than an odd build warning that I don't seem to get without this change. It's not obvious what has changed to cause the warning though.
Vulkan-Samples/samples/api/hpp_hello_triangle/hpp_hello_triangle.cpp: In member function ‘std::pair<vk::Result, unsigned int> HPPHelloTriangle::acquire_next_image()’:
Vulkan-Samples/samples/api/hpp_hello_triangle/hpp_hello_triangle.cpp:503:23: warning: ignoring return value of ‘vk::Result vk::Device::waitForFences(const vk::ArrayProxy<const vk::Fence>&, vk::Bool32, uint64_t, const Dispatch&) const [with Dispatch = vk::DispatchLoaderDynamic; vk::Bool32 = unsigned int; uint64_t = long unsigned int]’, declared with attribute nodiscard [-Wunused-result]
  503 |   device.waitForFences(per_frame_data[image].queue_submit_fence, true, UINT64_MAX);
      |   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from Vulkan-Samples/third_party/vulkan/include/vulkan/vulkan.hpp:6681,
                 from Vulkan-Samples/framework/common/hpp_error.h:22,
                 from Vulkan-Samples/framework/core/hpp_instance.h:20,
                 from Vulkan-Samples/framework/platform/hpp_application.h:22,
                 from Vulkan-Samples/samples/api/hpp_hello_triangle/hpp_hello_triangle.h:20,
                 from Vulkan-Samples/samples/api/hpp_hello_triangle/hpp_hello_triangle.cpp:18:
Vulkan-Samples/third_party/vulkan/include/vulkan/vulkan_funcs.hpp:1499:42: note: declared here
 1499 |                                          Device::waitForFences( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,
      |                                          ^~~~~~

I'm also interested if we can set up a local device to test with. Is there any way to emulate D2D or can you share any links to some getting started articles? I'm struggling to find anything of substance but it's likely that I don't fully understand what is going on with the Unix D2D stuff

Hmmm, not that I know of.  Our test devices only exist in our labs or at customers using them for early access. The overhead of maintaining the build and run environment for one would be large even if we were allowed to share one (which I highly doubt).
We didn't invent the D2D APIs in Vulkan, we just found them and used them as they fit our needs. I'm not sure which vendor initially created them tbh.

This looks really good!
Compiles fine for me on:

Windows 11
Android 13 (built from Windows)

Runs fine on:

Windows 11

Sadly can't test on Android due to the permission problem.

One thing I noticed though is that there are now two build steps for each platform in the CI:

The new group builds and runs unit tests. These are generally quicker than seen in this PR but it is likely that GitHub's recent CI/CD outages have degraded their performance
Locally building and compiling the unit tests takes a matter of seconds and run in sub seconds

Just got a chance to come back to this, fixed PR comments @SaschaWillems @gary-sweet

Will need to re-test this on the available platforms


How to compile

Hi, I would like to know how to compile the project? The API folder does not seems to be a valid project since it has the android class loader in the path, but does not have the AndroidManifest.xml or project.properties.
For now, I moved the API files from KISSmetricsAPI/src/com/kissmetrics/  to KISSmetricsAPIIntegration/src/com/kissmetrics/
and imported the Android project.

We have converted the project to Gradle.  You should be able to build it using the gradle command line or Android Studio.
I've also included an AndroidManfiest.xml file in the src root.
Reopen if you have any problems building the library.


fix org.apache.camel.quarkus.component.lra.it.LraTest failed #2523

[ ] An issue should be filed for the change unless this is a trivial change (fixing a typo or similar). One issue should ideally be fixed by not more than one commit and the other way round, each commit should fix just one issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful and properly spelled subject line and body. Copying the title of the associated issue is typically enough. Please include the issue number in the commit message prefixed by #.
[ ] The pull request description should explain what the pull request does, how, and why. If the info is available in the associated issue or some other external document, a link is enough.
[ ] Phrases like Fix # or Fixes # will auto-close the named issue upon merging the pull request. Using them is typically a good idea.
[ ] Please run mvn process-resources -Pformat (and amend the changes if necessary) before sending the pull request.
[ ] Contributor guide is your good friend: https://camel.apache.org/camel-quarkus/latest/contributor-guide.html

Asside from the LraTestResource mods, I'm a bit confused by the changes to this test.
The general idea is that CreditService has a limit of 100 credits. The test then makes 3 'orders' amounting to 95 credits. It then attempts another order with a total of 20 to trigger the 'Insufficient Credit' scenario. So from what I can see, the assertions are valid and correct (I think I stole this idea from the Camel main project BTW).

Another thought is that, without host networking, you may not be able to run this test properly. The LRA container needs the ability to 'call back' to the test application running on the host.

Asside from the LraTestResource mods, I'm a bit confused by the changes to this test.
The general idea is that CreditService has a limit of 100 credits. The test then makes 3 'orders' amounting to 95 credits. It then attempts another order with a total of 20 to trigger the 'Insufficient Credit' scenario. So from what I can see, the assertions are valid and correct (I think I stole this idea from the Camel main project BTW).

OK, now I understand better about the testcase.
So the "java.lang.IllegalStateException: Insufficient credit" is expected, but this test still has the logic error.
Since it always creates new orders before checking the credit, so when checking valid order, the expected return value is 4 instead of 3. I adjusted the camel route definition(put checking credit before creating new order) to make the test pass.
Actually this problem also exists in the test counterpart(LRACreditIT#testCreditExhausted)  of camel-lra component, so I think we also need a change in camel project.

Another thought is that, without host networking, you may not be able to run this test properly. The LRA container needs the ability to 'call back' to the test application running on the host.

You raised a very good question here which pushed me to went through a bunch docker network documents to give the answer.
You must be on the linux machine so that withNetworkMode(host)(equals --network host, which means container shares the same network stack as host). However, this doesn't work on mac. Per the document here
https://docs.docker.com/network/host/
The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.

Moreover, when "--network host" is used, the "port forwarding"(-p container_port:host_port) related configuration will be ignored, which means for developer on mac(also on windows, if there is any), can't access the lra service in the container from the host. Since we can't guarantee all developers to use linux machine, I think we need the test runnable on major OS.
So I think we should use default network mode(bridge)
From this test, I don't see how LRA container needs the ability to 'call back' to the test application running on the host, since it works for me now on my mac, please test it with your machine if you are on linux. If in any case we need call back from container to host, with default network mode, we can also do it(using hostname docker0 for linux and host.docker.internal for mac and windows)
I think my new commit addressed all concerns we have so far, please take another look.
Thanks!
Freeman

the expected return value is 4 instead of 3

I believe it should be 3. We attempt to create 4 orders, but one will end up as cancelled and the LRA will be rolled back. If you're seeing 4 as the result, it means the compensation direct:cancelOrder route is not being invoked. That's why the LRA container needs access to the host application, because it triggers the compensation actions.

the expected return value is 4 instead of 3

I believe it should be 3. We attempt to create 4 orders, but one will end up as cancelled and the LRA will be rolled back. If you're seeing 4 as the result, it means the compensation direct:cancelOrder route is not being invoked. That's why the LRA container needs access to the host application, because it triggers the compensation actions.

Thanks @jamesnetherton  for the quick reply!
Yes, I got your point.
Instead of using localhost for the callback host, we need to use host.docker.internal for mac, and docker0 for linux machine
We need change like
-                    String.format("http://localhost:%s", System.getProperty("quarkus.http.test-port", "8081")));
+                    String.format("http://%s:%s", "host.docker.internal",
+                            System.getProperty("quarkus.http.test-port", "8081")));

I will push another commit.
Freeman


Changed AssemlbyCopyright to reflect the copyright on top of the file…

Related issue: #5231

Hi @OzieGamma, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

Hi @OzieGamma. Sorry for our late response on this.
As a lot of time has passed since this PR has been opened, there are a lot of conflicts already, so we're going to close this PR.


[new-rule] Added new invalid-void rule

PR checklist

[x] Addresses an existing issue: fixes #4732
[x] New feature, bugfix, or enhancement

[x] Includes tests

[x] Documentation update

Overview of change:
Added new rule no-invalid-void which fails on every "invalid" usage of the void type.
CHANGELOG.md entry:
[new-rule] no-invalid-void

@JoshuaKGoldberg can you please take a look? Do I need to do fix something else?

Planning on looking at pending PRs this week!

There is CI error, but it looks like the master is failed too.

🕺 thank you @JoshuaKGoldberg

@timocov, is it expected that this complains about types like Promise<void>, and if so is Promise<undefined> the recommended style?

Hey @buu700, I don't think that it was intended and I don't think that Promise<undefined> is what I suggest to use instead either. For me, we should add exception for Promise<void> case (and PromiseLike<void> as well). @JoshuaKGoldberg what do you think?

@buu700 @timocov see #4832

Whoops, sorry about the duplicate report, but thanks for the link!

Yup, this was an error on my end for not noticing in review. Updated the fix PR. It should be in soon


CSS GUI playground

[X] Add an HTML element combobox (#205)
[x] #207
[x] #208
[ ] #209
[x] Improve styling
[x] #210
[x] #212
[x] #217
[x] #220
[ ] #214

This has been superseded by #214


feat(settings): add talking option

Current dependencies on/for this PR:

main

PR #14   👈

This stack of pull requests is managed by Graphite.


[cinder-csi-plugin] update doc on deprecated params

What this PR does / why we need it:
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:

NONE

/lgtm
/approve
fast approve as it's pretty straightforward and follow up of other PR


How to get an encoder for compress pictures into a low dimensional space

It is mentioned in the paper that encoder E maps the picture to the low-dimensional space. How to obtain encoder E? And where is that part of the code
I would appreciate accidentally, if you can solve

I also didn't find the code for encoder E and decoder D.