[Android] Empty array of services is returned

Expected Behavior
After calling bleManager.discoverAllServicesAndCharacteristicsForDevice(), calling .services() on the returned bleDevice should return a non-empty list of services.
Current Behavior
Calling .services() returns an empty array. This might be a pairing issue, since if I pair with the device via Android's bluetooth menu, it seems to connect without issue and properly returns a non-empty list of services. Restarting the phone also seems to "fix" the issue for me.
I assume this issue is related to https://github.com/Polidea/react-native-ble-plx/issues/488 and the "known bug". Calling connectToDevice() seems to work fine, and the resulting device has the correct name/id.
Steps to Reproduce

Put device in pairing mode
Connect to device using bleManager.connectToDevice().
Call discoverAllServicesAndCharacteristicsForDevice() with the device or using bleManager.
Attempt to get services using .services() on the device.
An empty services array is returned.

Context

Library version: 2.0.1
Platform and version: Android 10 (SDK 29)
Phone: Samsung Galaxy S20

I think I have a related issue.
I am trying to find my device by serviceUUID and that does not work.
uuids = ["UUID_GOES_HERE"]
bluetoothManager.startDeviceScan(uuids, null, (error, device) => { }

The above code never finds anything.
If I remove the uuids argument to make it find everything, then manually filter on the MAC address to get the reported device object. Getting it's .serviceUUIDs also returns null.

Hi!
Could you both install nRF Connect and check your devices with it? They both sound like implementation choices on its side.
There are devices that won't report any services unless they're paired.
A service doesn't have to be advertised and filtering by service UUID only works on those that are advertised. You can see the advertisement package on nRF Connect.
There are two names a device might use: .name and .localName. Both might not be set.

Hi!
Could you both install nRF Connect and check your devices with it? They both sound like implementation choices on its side.
There are devices that won't report any services unless they're paired.
A service doesn't have to be advertised and filtering by service UUID only works on those that are advertised. You can see the advertisement package on nRF Connect.
There are two names a device might use: .name and .localName. Both might not be set.

Was just about to get back to this. My issue is resolved, it was a configuration problem on my end!

Could you share what configuration problem it was? It could be helpful for anyone else that would stumble upon this issue.

@justintim3 Could you adhere to the issue template, share the code and show native logs as described in the template?

Could you share what configuration problem it was? It could be helpful for anyone else that would stumble upon this issue.
I actually still don't know. I'm running a Bluez server. And whenever a connection request comes in it gets disconnected by the server. So a server side issue, unrelated to this library.

@justintim3 Could you adhere to the issue template, share the code and show native logs as described in the template?

const bleManager = new BleManager();
const foundDevices: Device[] = [];

const subscription = bleManager.onStateChange(async state => {
  if (state === 'PoweredOn') {
    setTimeout(async () => {
      bleManager && bleManager.stopDeviceScan();
      await parseClosestDevice(foundDevices);
      subscription.remove();
    }, 5000);
    bleManager.startDeviceScan(
      null,
      null,
      async (error, discoveredBleDevice) => {
        if (error) {
          console.log('Ble Manager error during scan: ', error);
        } else {
          if (
            discoveredBleDevice?.serviceUUIDs?.includes(SERVICE_UUID) &&
            !foundDevices.find(d => d.id === discoveredBleDevice.id)
          ) {
            foundDevices.push(discoveredBleDevice);
          }
        }
      },
    );
    subscription.remove();
  }
});

const parseClosestDevice = async (devices: Device[]) => {
  if (devices.length === 0) {
    return;
  }
  devices.sort((a, b) => b.rssi - a.rssi);

  const discoveredBleDevice = devices.find((a, i) => i === 0);
  if (discoveredBleDevice) {
    try {
      if (discoveredBleDevice?.serviceUUIDs?.includes(SERVICE_UUID)) {
        const connectedDevice: Device = await bleManager.connectToDevice(
          discoveredBleDevice.id,
          {timeout: Constant.CONNECTION_VALUES.connectWaitMs},
        );

        const dev = await bleManager.discoverAllServicesAndCharacteristicsForDevice(
          connectedDevice.id,
        );

        const services = await dev.services();
      }
    } catch (error) {}
  }
};

filteredlogs.txt

Additional comments/observations:
Some of our users have reported both an initial connection issue (the issue above) as well as a reconnection issue where after initial connection where everything works fine, after disconnection, they are unable to reconnect. Keep in mind that most of our users experiencing connection issues are using Samsung devices with Android 10 such as Galaxy S10/20 and Note 10. I don’t believe we’ve had connection issues pre Android 10.
The above logs occurred during initial connection when the device was not paired. I’ve personally experienced connection issues inconsistently. Sometimes it would initially pair and connect properly, while other times i would get the empty services array.
Although I think that the initial connection issue is related to pairing as I mentioned in my original post, I will say that the reconnection issue mentioned above obviously occurs after initial pairing, so it may not be just a pairing issue. I’ve only personally experienced this a few times as it is difficult to reproduce, but I did notice that it also returned an empty services array. From my experiences testing this, restarting the app does not seem to fix either issue.

Try postponing service discovery for ~1600 ms when connecting to a bonded device and tell me if that fixes the issue.

Try postponing service discovery for ~1600 ms when connecting to a bonded device and tell me if that fixes the issue.

This does not seem to resolve the issue. I tested adjusting the timeout up to 10000 ms which still did not resolve the issue.
console.log('isConnected', await dev.isConnected());
await new Promise(resolve => setTimeout(resolve, 1600));
const services = await dev.services();
console.log('services', services);

LOG  isConnected true
LOG  services []

Try postponing service discovery for ~1600 ms when connecting to a bonded device and tell me if that fixes the issue.

This does not seem to resolve the issue. I tested adjusting the timeout up to 10000 ms which still did not resolve the issue.
console.log('isConnected', await dev.isConnected());
await new Promise(resolve => setTimeout(resolve, 1600));
const services = await dev.services();
console.log('services', services);

LOG  isConnected true
LOG  services []

You do not call discoverAllServicesAndCharacteristicsForDevice() at all in the above snippet.

You do not call discoverAllServicesAndCharacteristicsForDevice() at all in the above snippet.

You do not call discoverAllServicesAndCharacteristicsForDevice() at all in the above snippet.

The above snippet was implied to be inserted inside the initially shared code, so that the the console logs and new Promise surrounded the services call. Sorry if this was unclear.
...
const connectedDevice: Device = await bleManager.connectToDevice(
  discoveredBleDevice.id,
  {timeout: Constant.CONNECTION_VALUES.connectWaitMs},
);

const dev = await bleManager.discoverAllServicesAndCharacteristicsForDevice(
  connectedDevice.id,
);

console.log('isConnected', await dev.isConnected());
await new Promise(resolve => setTimeout(resolve, 1600));
const services = await dev.services();
console.log('services', services);
...

You do not call discoverAllServicesAndCharacteristicsForDevice() at all in the above snippet.

The above snippet was implied to be inserted inside the initially shared code, so that the the console logs and new Promise surrounded the services call. Sorry if this was unclear.
...
const connectedDevice: Device = await bleManager.connectToDevice(
  discoveredBleDevice.id,
  {timeout: Constant.CONNECTION_VALUES.connectWaitMs},
);

const dev = await bleManager.discoverAllServicesAndCharacteristicsForDevice(
  connectedDevice.id,
);

console.log('isConnected', await dev.isConnected());
await new Promise(resolve => setTimeout(resolve, 1600));
const services = await dev.services();
console.log('services', services);
...

So you are making no delay between connection and service discovery...

So you are making no delay between connection and service discovery...

I tested it again today, with the suggested 1600 ms delay, this time between connection and service discovery and I still had an empty services array returned. I tested adjusting the delay as high as 4000 ms and it did not resolve the issue.
...
const connectedDevice: Device = await bleManager.connectToDevice(
discoveredBleDevice.id,
{timeout: Constant.CONNECTION_VALUES.connectWaitMs},
);
const dev = await bleManager.discoverAllServicesAndCharacteristicsForDevice(
connectedDevice.id,
);
...
const connectedDevice: Device = await bleManager.connectToDevice(
  discoveredBleDevice.id,
  {timeout: Constant.CONNECTION_VALUES.connectWaitMs},
);

await new Promise(resolve => setTimeout(resolve, 1600));

const dev = await bleManager.discoverAllServicesAndCharacteristicsForDevice(
  connectedDevice.id,
);

const services = await dev.services();
...

I tested it again today, with the suggested 1600 ms delay, this time between connection and service discovery and I still had an empty services array returned. I tested adjusting the delay as high as 4000 ms and it did not resolve the issue.
...
const connectedDevice: Device = await bleManager.connectToDevice(
discoveredBleDevice.id,
{timeout: Constant.CONNECTION_VALUES.connectWaitMs},
);
const dev = await bleManager.discoverAllServicesAndCharacteristicsForDevice(
connectedDevice.id,
);
...
const connectedDevice: Device = await bleManager.connectToDevice(
  discoveredBleDevice.id,
  {timeout: Constant.CONNECTION_VALUES.connectWaitMs},
);

await new Promise(resolve => setTimeout(resolve, 1600));

const dev = await bleManager.discoverAllServicesAndCharacteristicsForDevice(
  connectedDevice.id,
);

const services = await dev.services();
...

Could you add more information according to the issue template? Especially native logs part.

Could you add more information according to the issue template? Especially native logs part.

Could you add more information according to the issue template? Especially native logs part.

This is basically the same as my initially shared code, but with the 1600 ms suggestion as well as extra console logs. I hope that helps.
console.log('+++++create ble manager');
const bleManager = new BleManager();
bleManager.setLogLevel('Verbose');
[filteredlogs1600.txt](https://github.com/Polidea/react-native-ble-plx/files/5785159/filteredlogs1600.txt)
[filteredlogs1600.txt](https://github.com/Polidea/react-native-ble-plx/files/5785161/filteredlogs1600.txt)

const foundDevices: Device[] = [];

const subscription = bleManager.onStateChange(async state => {
  if (state === 'PoweredOn') {
    setTimeout(async () => {
      bleManager && bleManager.stopDeviceScan();
      await parseClosestDevice(foundDevices);
      subscription.remove();
    }, 5000);
    bleManager.startDeviceScan(
      null,
      null,
      async (error, discoveredBleDevice) => {
        if (error) {
          console.log('Ble Manager error during scan: ', error);
        } else {
          if (
            discoveredBleDevice?.serviceUUIDs?.includes(SERVICE_UUID) &&
            !foundDevices.find(d => d.id === discoveredBleDevice.id)
          ) {
            foundDevices.push(discoveredBleDevice);
          }
        }
      },
    );
    subscription.remove();
  }
});

const parseClosestDevice = async (devices: Device[]) => {
  if (devices.length === 0) {
    return;
  }
  devices.sort((a, b) => b.rssi - a.rssi);

  const discoveredBleDevice = devices.find((a, i) => i === 0);
  if (discoveredBleDevice) {
    try {
      if (discoveredBleDevice?.serviceUUIDs?.includes(SERVICE_UUID)) {
        console.log(
          'Trying to connect to device: id: ',
          discoveredBleDevice.id,
          ' name: ',
          discoveredBleDevice.name,
          ' rssi: ',
          discoveredBleDevice.rssi,
        );

        const connectedDevice: Device = await bleManager.connectToDevice(
          discoveredBleDevice.id,
          {timeout: Constant.CONNECTION_VALUES.connectWaitMs},
        );

        console.log(
          'before await new Promise(resolve => setTimeout(resolve, 1600))',
        );

        await new Promise(resolve => setTimeout(resolve, 1600));

        console.log(
          'before await bleManager.discoverAllServicesAndCharacteristicsForDevice()',
        );

        const dev = await bleManager.discoverAllServicesAndCharacteristicsForDevice(
          connectedDevice.id,
        );

        console.log('before await dev.services()');

        const services = await dev.services();

        console.log('after await dev.services()', services);
        ...
      }
    } catch (error) {}
  }
};

Could you add more information according to the issue template? Especially native logs part.

This is basically the same as my initially shared code, but with the 1600 ms suggestion as well as extra console logs. I hope that helps.
console.log('+++++create ble manager');
const bleManager = new BleManager();
bleManager.setLogLevel('Verbose');
[filteredlogs1600.txt](https://github.com/Polidea/react-native-ble-plx/files/5785159/filteredlogs1600.txt)
[filteredlogs1600.txt](https://github.com/Polidea/react-native-ble-plx/files/5785161/filteredlogs1600.txt)

const foundDevices: Device[] = [];

const subscription = bleManager.onStateChange(async state => {
  if (state === 'PoweredOn') {
    setTimeout(async () => {
      bleManager && bleManager.stopDeviceScan();
      await parseClosestDevice(foundDevices);
      subscription.remove();
    }, 5000);
    bleManager.startDeviceScan(
      null,
      null,
      async (error, discoveredBleDevice) => {
        if (error) {
          console.log('Ble Manager error during scan: ', error);
        } else {
          if (
            discoveredBleDevice?.serviceUUIDs?.includes(SERVICE_UUID) &&
            !foundDevices.find(d => d.id === discoveredBleDevice.id)
          ) {
            foundDevices.push(discoveredBleDevice);
          }
        }
      },
    );
    subscription.remove();
  }
});

const parseClosestDevice = async (devices: Device[]) => {
  if (devices.length === 0) {
    return;
  }
  devices.sort((a, b) => b.rssi - a.rssi);

  const discoveredBleDevice = devices.find((a, i) => i === 0);
  if (discoveredBleDevice) {
    try {
      if (discoveredBleDevice?.serviceUUIDs?.includes(SERVICE_UUID)) {
        console.log(
          'Trying to connect to device: id: ',
          discoveredBleDevice.id,
          ' name: ',
          discoveredBleDevice.name,
          ' rssi: ',
          discoveredBleDevice.rssi,
        );

        const connectedDevice: Device = await bleManager.connectToDevice(
          discoveredBleDevice.id,
          {timeout: Constant.CONNECTION_VALUES.connectWaitMs},
        );

        console.log(
          'before await new Promise(resolve => setTimeout(resolve, 1600))',
        );

        await new Promise(resolve => setTimeout(resolve, 1600));

        console.log(
          'before await bleManager.discoverAllServicesAndCharacteristicsForDevice()',
        );

        const dev = await bleManager.discoverAllServicesAndCharacteristicsForDevice(
          connectedDevice.id,
        );

        console.log('before await dev.services()');

        const services = await dev.services();

        console.log('after await dev.services()', services);
        ...
      }
    } catch (error) {}
  }
};

I see nothing more that can be done. You need to verify that your peripheral is correctly setup and it does indeed answer with some services during the service discovery process.
You could try switching BT off/on or rebooting your phone to see if the problem will persist.

I see nothing more that can be done. You need to verify that your peripheral is correctly setup and it does indeed answer with some services during the service discovery process.
You could try switching BT off/on or rebooting your phone to see if the problem will persist.

I see nothing more that can be done. You need to verify that your peripheral is correctly setup and it does indeed answer with some services during the service discovery process.
You could try switching BT off/on or rebooting your phone to see if the problem will persist.

Just toggling BT off/on was not able to resolve the issue. Afterwards, I restarted the phone, and it was still not resolved. Toggling BT off/on again then was able to resolve the issue.
Do you have any thoughts why this combination works or what might be the underlying issue? If there is no issue with the library, is there some issue with Android 10 or Samsung software?
Also, what were your thoughts for the 1600ms delay as a possible solution?

I see nothing more that can be done. You need to verify that your peripheral is correctly setup and it does indeed answer with some services during the service discovery process.
You could try switching BT off/on or rebooting your phone to see if the problem will persist.

Just toggling BT off/on was not able to resolve the issue. Afterwards, I restarted the phone, and it was still not resolved. Toggling BT off/on again then was able to resolve the issue.
Do you have any thoughts why this combination works or what might be the underlying issue? If there is no issue with the library, is there some issue with Android 10 or Samsung software?
Also, what were your thoughts for the 1600ms delay as a possible solution?

Different Android BLE stack implementations tend to differ on when the BLE stack is being reset. Sometimes it is BT toggle, sometimes it is power cycle, formerly it could be BT + WiFi toggle.
Some implementations have bugs.

Also, what were your thoughts for the 1600ms delay as a possible solution?

Android starts to encrypt the connection after it gives the "connected" callback. If the app would query for services at that time it can get a stalled "cached" version instead of what is currently available on the peripheral. Weird things happens while the connection is reencrypted.

Different Android BLE stack implementations tend to differ on when the BLE stack is being reset. Sometimes it is BT toggle, sometimes it is power cycle, formerly it could be BT + WiFi toggle.
Some implementations have bugs.

Also, what were your thoughts for the 1600ms delay as a possible solution?

Android starts to encrypt the connection after it gives the "connected" callback. If the app would query for services at that time it can get a stalled "cached" version instead of what is currently available on the peripheral. Weird things happens while the connection is reencrypted.


Get-Team: unable to suppress the Progress Bar

Using PS 7.1 and MicrosoftTeams "2.4.1-preview"
I would like to be able to suppress the builtin progress bar because I have my own that gives more information. Also, the builtin one seems to always display the same value.

Is that possible?
-ShowProgress:$false throws "A parameter cannot be found that matches parameter name 'ShowProgress'."
Thanks,
Murray

@dariomws Thanks for that. I can't use the GA version yet because it doesn't include the Add-TeamChannelUser commandlet.
The $ProgressPreference option hides the progress bar generated by Get-Team and it also hides my custom Write-Progress bar.
I tested again using MicrosoftTeams 2.5.2-preview and got the same error regarding -ShowProgress:$false  ie "A parameter cannot be found that matches parameter name 'ShowProgress'"
Thanks for your suggestions anyway.
Regards,
Murray


Remove ElseBlock and ElseIfContinuation nodes

These don't appear to be used by anything, the if statement node should own these bits of syntax.

@swift-ci please test


Improved doxygen

Signed-off-by: ahcorde<EMAIL_ADDRESS>🎉 New feature
Summary
Improved doxygen and added CI linter
Test it
In the build directory run:
make doc
bash <(curl -s https://raw.githubusercontent.com/ignitionrobotics/ign-cmake/ign-cmake2/tools/doc_check.sh)

Checklist

[x] Signed all commits for DCO
[x] Added tests
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge

friendly ping @jennuine

This pull request has been mentioned on Gazebo Community. There might be relevant details there:
https://community.gazebosim.org/t/new-ignition-releases-2022-01-10/1228/1


responsive-css.ts is empty

Hi,
I have just upgraded to the last version (from the previous reprository) and responsive-css.ts is empty. Is the feature removed or replaced with something else ?
Thanks and great job !!

Hi no-more!
Sorry, sometime eliminating unfinished items for deploy in npm. Delete the information of responsive-css. If you can´t retrieve the file you tell me and I retrieve file information git and update the file in the master branch.
; )


Facebook download speed slow

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

Downloading from Facebook goes extremely slow, about 40Kb/s.
When I download the same video trough curl, I get normal speeds. Any idea what the issue can be?
[facebook]<PHONE_NUMBER>686564: Downloading webpage

[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on u'https://video-ort2-1.xx.fbcdn.net/v/t42.9040-2/10000000_136940690132218_8752927939458236416_n.mp4?_nc_cat=104&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2h...'
[download] Resuming download at byte 40036579
[download] Destination: Test...-1393626100686564.554v.mp4
[download]  28.2% of 136.59MiB at 38.11KiB/s ETA 43:57

I have tried to use --http-chunk-size but it has no improvement

I also find downloading Facebook videos very slow. I also get an error about connection being closed around every 15 minutes. It's a pain when downloading large videos.

You can try using a VPN, maybe the videos will download from anothers server (CDN)

@cfreds the same video URL downloads fine with curl

Same here,mate.Speed is limit in 35-40kb/s always.

I have the same problem.
But when I watch the video, it loads very quickly, so I do not think it's a Facebook issue.


[Question]: neo4j vector retrieval

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
How to retrieve embeddings from neo4j . I have neo4j db created for storing my information and have a text data to it and also embeddings are created and stored in neo4j .I need to retrieve that embeddings from neo4j graph for further processing ,How to do the retrieval process.

@dosu thanks for the reply one more clarification need my embedding is actually stored in neo4j graph database as
embedding :
[-0.042840488255023956,0.03162284940481186,-0.020775185897946358,0.012170901522040367,-0.051600754261016846,-0.027891861274838448,0.061851561069488525,0.07208336144685745,-0.05090389400720596,-0.038099255412817,0.011754359118640423......................]
how do i retrieve it should i use cypher query for it or is there any other method

@dosu   i have my embedding available as a node property in neo4j db how do i take those embeeding and do a similiarity search i need to query from existiing index available from my neo4j database


Jesse: Blacklist (?-i:WizardGhosthacker)(?#t.me)

Jesse requests the blacklist of the keyword (?-i:WizardGhosthacker)(?#t.me). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

(?-i:WizardGhosthacker)(?#t.me) has been seen in 5 true positives, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Proton radiography particle tracker conflicts

@JaydenR2305 — here's an attempt to reconcile the differences between https://github.com/PlasmaPy/PlasmaPy/pull/2493 and main.
This PR touches a lot of files because of the change to an src layout, and because of the release of v2024.5.0 (which transformed the previously existing changelog files into the changelog of the release).

Hi Nick. Thanks for looking into this! Could you walk me through the procedure for doing this just in case myself or others have similar problems in the future? Also, is this ready to be merged?

Yes, I think this is just about ready to be merged.  I'm still getting one documentation build failure locally, I think we can address that in https://github.com/PlasmaPy/PlasmaPy/pull/2493.
The process I went through was for resolving a git merge conflict!  If you'd like to go through the process, feel free to send me an email and we can figure out a time.  Thank you again!


See if PR jobs run many times

Signed-off-by: Shane Loretz<EMAIL_ADDRESS>

@ros-pull-request-builder retest this please


How about a posibility to save the aspect ration option in SILX_style?

Working with 2d datasets in NeXus hdf5 with different units on the x- and y-axis I was wondering if there is a way to tell silx view to open a NXdata image view with the option "Do not keep data aspect ration" activated? By default it seems to keep the aspect ratio.
Would the the SILX_style be an appropriate place?
https://github.com/silx-kit/silx/blob/360f890a617676a92f0bed6a28b718d09e70ec03/src/silx/io/nxdata/parse.py#L64

HI Linus,
Have you checked in the menu? I think there is a default aspect ration option. But i dont remember if it is applied for the NXdata.

Also, i think it was already discussed, but if the units dosen't match i think there is no need to apply by default the constraint on the aspect ration.
This have to be checked with @t20100, but in this case, this could be set as the default behaviour in silx?

Yes that would make sense to enable "keep aspect ratio" only when the units of both axes are the same.
If that's not enough, we can also consider extending SILX_style to include a toggle about the aspect ratio

Basic solution would be to add a keep_aspect_ratio boolean.
But, I propose to add an aspect (or aspect_ratio) field which can be either equal or auto. It leaves more room for extensions than a boolean.
This is inspired from: https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_aspect.html#matplotlib.axes.Axes.set_aspect

In h5web, the aspect ratio setting is saved when the user changes it which seem to alleviate the issue at hand.
Is it reset each time you load a dataset in silx ?
If we decide to extend SILX_style, I would be more inclined towards having a aspect_ratio field with set values rather than a boolean.

In h5web, the aspect ratio setting is saved when the user changes it which seem to alleviate the issue at hand.

Not completely since you can have multiple nxdata in the same file.
But yeah, it makes it complicated to mix both.

Is it reset each time you load a dataset in silx ?

It is not saved as a preference when you restart the app.
It is however kept when you change from one dataset to another and keep the same vis...

Seems to me like checking the units is enough, at least for now. If we implement this in H5Web, we'll have to review how the layout option is persisted. I'll open an issue in the repo.

Proposition: Keep aspect ratio by default and disable it when axes have different @units (i.e., keep aspect ratio for axes with the same @units or without @units - if an axis as @units and the other not, it's different @units) and see if that is enough before extending SILX_style.
Would that be OK?


(SERVER-410) Always cache features in puppet server

Without this patch puppet server defers to puppet on the value of the
always_cache_features setting.  This is a problem because it does not make
sense for features to be reloaded frequently on the puppet server, this
behavior is only useful for puppet agent processes that need to update the set
of installed features mid-run.
This patch addresses the problem by explicitly passing in the
always_cache_features key with a value of true to the Puppet::Server::Master
initializer.
This approach is employed to keep all of the jruby-puppet related settings in
one place, external to JRuby, and injected into the system from the application
layer.
This could alternatively be implemented directly in server/master.rb, but this
approach was not taken because it would change the behavior of the ruby code to
pull settings from multiple locations rather than the sole location of settings
injected via the initializer.  The injection approach also has the benefit of
keeping all settings together and performing a slightly more comprehensive
test.

@jeffmccune I left a couple of 'food-for-thought' comments on the jira ticket.  One other thing we should consider is whether or not this should maybe targeted at stable and merged up?

Closing to re-implement in Ruby.  See comments on the ticket.

Work in progress, please don't merge.

Ready for merge again, moved the implementation into the PuppetConfig ruby class.

:shipit:

going to rebase onto stable and merge-up as Chris mentioned.

@camlow325 This is the one that may or may not need to go into Stable.

:+1: on the changes.
Since the PR involves refactoring the log-level tests, which don't exist on stable since the log-level implementation is different on stable, it may be better to just let this come into master as-is and do a separate PR for stable that just has the logic to set always_cache_features to true in the Ruby code and with just the always_cache_features -- and not the log-level -- tests in tow.
I don't think the separate PR for stable is as critical since always_cache_features is set to true in the master section of default puppet.conf files, but it would be nice to just force set it to true in the Ruby code in case users happened to leave it out of their puppet.conf files.
@cprice404 - what do you think?

I'm going to go ahead and merge this.  Not sure it's worth the time to pull it back into stable.


RankGen Training

Hi, do you have the rankgen training script? Or just the code that you used to compute the loss?
Thanks in advance!

hi @SSamDav, in this release we are planning to release the model checkpoints along with the inference-time code for generation. The code for training RankGen is closely based on T5X. We won't be releasing this now, but perhaps at some point in the future.

Ohh I see. I just have a few question about the loss:

Did you had some stability issues with the loss?
Did you normalize the embedding vectors before applying the dot product?

Thanks for the quick reply! This work is very interestin!

Hi @SSamDav, no we didn't have any stability issues during training.. there was variation in the loss but it usually came right back at the correct trajectory. We used adafactor with the constant learning rate of 2e-3, the standard recipe in T5X.
No we didn't normalize embeddings since that would limit the range of the logit values. I don't think normalization is done in other recent retrievers either like REALM


Add API action to refresh external governance status.

ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo.  If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[x] Other, please clarify
Add action to 2022-08-01 (Version yet to be released)

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
Asap, we will be GA soon, currently in public preview.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
Asap, we will be GA soon, currently in public preview.
By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[x] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[x] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.

Can we ask for an exception for these failed rules? we will fix them in the next API version.

❌ ResourceNameRestriction
The resource name parameter 'serverName' should be defined with a 'pattern' restriction.Location: Microsoft.Sql/preview/2022-08-01-preview/Servers.json#L413
RPC-Uri-V1-05

❌ PostOperationAsyncResponseValidation
An async POST operation must set long running operation options 'x-ms-long-running-operation-options'Location: Microsoft.Sql/preview/2022-08-01-preview/Servers.json#L414
RPC-Async-V1-11

Can we ask for an exception for these failed rules? we will fix them in the next API version.
❌ ResourceNameRestriction	The resource name parameter 'serverName' should be defined with a 'pattern' restriction.Location: Microsoft.Sql/preview/2022-08-01-preview/Servers.json#L413	RPC-Uri-V1-05
❌ PostOperationAsyncResponseValidation	An async POST operation must set long running operation options 'x-ms-long-running-operation-options'Location: Microsoft.Sql/preview/2022-08-01-preview/Servers.json#L414	RPC-Async-V1-11

Need exception for ResourceNameRestriction and LROLocation header (both errors already exist in the Servers.json in the past and are approved exceptions per ericshape).

Marking as "Approved-BreakingChange" only to unblock merge into the feature branch. But the breaking change to the x-ms-enum.name of the "publicNetworkAccess" property must be fixed before this can be merged to an official branch.

I am OK with merging it.

Can we ask for an exception for these failed rules? we will fix them in the next API version.
❌ ResourceNameRestriction	The resource name parameter 'serverName' should be defined with a 'pattern' restriction.Location: Microsoft.Sql/preview/2022-08-01-preview/Servers.json#L413	RPC-Uri-V1-05
❌ PostOperationAsyncResponseValidation	An async POST operation must set long running operation options 'x-ms-long-running-operation-options'Location: Microsoft.Sql/preview/2022-08-01-preview/Servers.json#L414	RPC-Async-V1-11

Need exception for ResourceNameRestriction and LROLocation header (both errors already exist in the Servers.json in the past and are approved exceptions per ericshape).

approved lint in this PR.


Save and Publish feature

Is your feature request related to a problem? Please describe.
If edits are made but not saved before publishing then the published BCO will not contain the edits
Describe the solution you'd like
Save and publish a BCO at the same time instead of validating, saving, then publishing
Describe alternatives you've considered
Require the BCO to be saved after validation and before publishing
Additional context

This could be accomplished by simply adding an async save triggered before the publish. Otherwise the structure of the API request will have to be adjusted.


Previous Versions TOC does not indicate current topic when URL ends with (v=vs.100) rather than (v%3dvs.100)

All four of the following URLs display the same topic "<xsd:import> Element".  However, the breadcrumb bar and the table of contents indicate the current topic only at the first two URLs, i.e. the ones that contain "%3d". At the last two URLs, which contain "=", the breadcrumb bar shows only "Docs / Previous Versions / .NET", and the table of contents shows only the first-level sections. I think the server should be treating all of these as equivalent or perhaps redirecting to a canonical URL.

https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms256480(v%3Dvs.100)
https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms256480(v%3Dvs.100)
https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms256480(v=vs.100)
https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms256480(v=vs.100)

Reproduced with Firefox 60.7.0esr and Microsoft Edge 44.17763.1.0.

@v-saambe Can you please take a look at this issue?

I've reported the same issue internally and I just got confirmation that it was fixed. I don't have permissions to close this though.

OK, it's working now.


cannot import name 'Uniswap'

Describe the bug
Installed on SageMaker machine in conda_python3 environment, using pip install uniswap-python, getting ImportError: cannot import name 'Uniswap' after kernel restart as well
To Reproduce
see above
Expected behavior
Everything works
Additional context

There's nothing to go on here.
I just did the following, which works fine:
python3 -m temp_venv
source temp_venv/bin/activate
pip install uniswap-python
python3 -c "from uniswap import Uniswap; print(Uniswap)"

Can you provide a full example?

Here is the full screenshot of a SageMaker EC2 notebook output

There is absolutely nothing specific about this setup, just create a SageMaker notebook with the instance ml.t3.medium though I am sure it's the same for other instances

(of course, the commented out cell has been previously successfully run)

Ok this happens because SageMaker has python 3.6 and you support only 3.7+, so feel free to close the issue of you don't feel like fixing this is needed for you


Fixes Bug Where Robot State is Not Updated

Thanks to @MauleshSTrivedi for helping track this down.
@shaun-edwards or @MauleshSTrivedi  please review.

That sounds like a great idea, lets log an issue @MauleshSTrivedi!


adding HMIP-ESI to favorites only allows channel 0

Describe the issue you are experiencing
I want to see values for the HMIP-ESI device in the favorite view.
But the only selection I get is the channel 0 with device status data.

homematic-raspi-2024-10-12.log
Describe the behavior you expected
As for any other HMIP device I want to be able to select the channel I want - not limited to a single one.
Please also allow channel-1 data to be displayed.
Steps to reproduce the issue

Add any HMIP-ESI device (LED/GAS)
create a new favorite view and try to add the device data channel

What is the version this bug report is based on?
<IP_ADDRESS>40720
Which base platform are you running?
rpi3 (RaspberryPi3, ARM64/aarch64)
Which HomeMatic/homematicIP radio module are you using?
RPI-RF-MOD
Anything in the logs that might be useful for us?
log attached above

Additional information
No response

Wenn du das Kanalauswahl-Popup offen hast filtere mal nach der Seriennummer deines ESI: 003FA2698A9D64
Eventuell andere vorhandene Filter löschen und dann nen Screenshot bitte.

Sorry - user error.
I forgot to rename the channels as well - so the channels appeared at a different place in the list.
Pro-Tip: Filter for device-ID instead of channel name.

User errors are both the easiest and hardest to fix. ;)

Und genau das hatte ich im Hinterkopf weil es ein häufig anzutreffendes User-Problem ist.


Don't ignore Link entry type.

There is no reason to ignore this kind of entry as TarHeader.LinkName is correctly filled. It's up to the user to handle it correctly.

Fixed by #93.


Command+Arrows on mac

Description of the problem or steps to reproduce
When I use zsh or nano, I can do command+left or command+right to place the cursor at the start or end of the line respectively (this works in all observable cases). I believe this is the "normal" behavior for macOS text editing as it seems to be the case for all apps.
Yet this does not seem to work in micro, when I do command+left, the cursor will go to the start of the line, but it will also select that text. While when I do command+right, it opens the micro command input (as if I pressed control+e).
I know micro remaps command to control on macOS as stated in the readme, but I can't use control-left and control-right instead because those are set (by default) to switching between different desktops/full screen windows through mission control. So I'm wondering if I'm missing the way to fix this issue (perhaps by letting micro take whatever key combination the terminal is giving it), or if this isn't supported at all by micro.
Specifications
I'm using iTerm 2 with the "Natural Text Editing" key mapping, which sets

command+left: Send Hex Codes 0x1
command+right: Send Hex Codes 0x5

Commit hash: 5044ccf (v2.0.7)
OS: macOS Catalina 10.15.7
Terminal: iTerm2 v3.3.12

Since + and + is used for switching between desktops on macOS, it cannot be used inside micro and is therefore remapped to + and +. This works for me in all terminal emulators including iTerm2.
If you are using an external keyboard without the function key, you have to remap some keys within macOS or modify the keybindings for micro itself. With an external keyboard you could also use  and  keys if they are present.
Can you confirm that? If this solves your issue, please make sure to close it.

Yes the Fn+Right and Fn+Left do work, but I'm saying that in typical macOS text inputs, you use Cmd+Right and Cmd+Left, which works fine in terminal and in terminal-based editors like nano, yet when I use it on micro this is not the case.
So I'm wondering if there's some kind of setting (or perhaps this might need a PR) to allow micro to read Cmd+Right and Cmd+Left as the current "Ctrl+Right" and "Ctrl+Left" behavior. That is, I'd like to have the same behavior as typical macOS text inputs and even other terminal-based editors.
Here's a video demonstrating the different behavior.

When you use the natural editing present, this causes iTerm2 to send 0x5 for command+right and 0x1 for command+1 (as you noted in the original post). These hex codes have the following meanings:

0x1: Ctrl+a
0x2: Ctrl+e

In nano and bash (and probably other applications), ctrl+a and ctrl+e are bound to beginning and end of line which is what you want. In micro, these keys do other things. You probably want to remap command+right and command+left to send the same hex codes as ctrl+right and ctrl+left rather than ctrl+e and ctrl+a:

Command+right: send ^[ [1;5C
Command+left: send ^[ [1;5D

Alternatively, you can remap ctrl+a and ctrl+e in micro to jump to the beginning and end of the line.

Since Ctrl+Right and Ctrl+Left are used for switching between desktops on macOS, they cannot be used inside micro and are therefore remapped to Fn+Right and Fn+Left.

This is not correctly documented in defaultkeys:

| Alt(Ctrl on Mac)-LeftArrow  | Move to the beginning of the current line                                                 |
| Alt(Ctrl on Mac)-RightArrow | Move to the end of the current line                                                       |

It is correctly documented. On Mac by default Ctrl-Left and Ctrl-Right are bound to those actions. Depending on the settings in your terminal emulator it may send those events when you press Fn-Left or Fn-Right, but that isn't necessarily the case. If you want it to work properly you can just disable the switch desktops via ctrl-arrow keys or rebind it. See system preferences->keyboard->shortcuts->mission control.

In iTerm2, this can be solved by mapping Cmd-Left to ^[ [H (home) and Cmd-Right to ^[ [F (end), rather than the defaults of Ctrl-A and Ctrl-E.

This do the trick:
"Ctrl-a": "StartOfLine",
"Ctrl-e": "EndOfLine"

I would really prefer this behaviour by default. Thanks for the help, folks.


how to start ?

hi,
seems so great,but how to begin for a newer ?
any advice or suggestion will be appreciated.
Thx

I can't find the dataset in
http://www.cbsr.ia.ac.cn/english/CASIA-WebFace-Database.html

you can use this documentation https://github.com/davidsandberg/facenet/wiki/Classifier-training-of-inception-resnet-v1

You can download the dataset from here:  https://drive.google.com/open?id=1Of_EVz-yHV7QVWQGihYfvtny9Ne8qXVz

@italojs
Thanks,
but could you please supply the trained model,I want to test  it on some pictures,
thx

https://github.com/davidsandberg/facenet/blob/master/README.md#pre-trained-models

please, close the issue

but I didn't find the test script,I really need it.

https://github.com/davidsandberg/facenet/issues/463#issuecomment-481522369
@ucasiggcas you can to search in the old issues too

@ucasiggcas  close this issue

no answer will not close
https://github.com/davidsandberg/facenet/issues/463#issuecomment-481522369

no answer will not close
#463 (comment)

this is not for asking questions go to stackoverflow for that.  forum is only for reporting bugs not for teaching anyone

关你屁事，操不完的闲心


Add Azure logging guide

Leaving as draft since we can't publish until micronaut-azure-logging is in the BOM

Guide preview: azurelogging.pdf


Add an example using Mapbox Terrain-RGB tiles

This adds an example that shows how Mapbox Terrain-RGB tiles can be used with ol.source.Raster.

Merging as a doc/example only change.

Looking forward to see it in action

Looking forward to see it in action

Apologies for not waiting for a review (didn't expect anybody up).  Updating the hosted version now ...

No problem 👍

It looks like you'll be fine @bartvde (assuming you can get on the roof.)

LOL you know the Dutch will find a way to protect their land :-)

This example doesn't work for me. Not in Chrome nor in Firefox.

@hyperknot see #6279


Add Procedural macros to support convert identifier to string literal

Development Task
In some macros about tikv config, we run into this situation: convert identifier to string value in compile stage. for example
the following case:
numeric_enum_mod {
 ($enum:ident) {

match str_value:
   "read-only" => ReadOnly,
   "read-write" ==> ReadWrite
 }
}

That is, we need a templated to convert kebab case string to camel case Enum value, However input value is a came-case identifier, We have to use procedural macros to implement this conversion (ReadWrite => "read-write")
This task aim to add a procedural macros to convert camel case identifier to kebab case string, Issue #11028 depends on this task

Will hand writing match be optimized out at compile time? If it is, a procedural macros seems overkill.

Will hand writing match be optimized out at compile time? If it is, a procedural macros seems overkill.

@BusyJay , I'm not sure if we need this macros to solve concrete case conversion problem.  But @tabokie suggest we'd better add it for further use. @tabokie Can you make this issue more clearly here?

@BusyJay The use case is to make RocksDB enum configuration supports string literals (e.g. compaction-style = "universal"), without breaking backward compatibility of using numbers. This is what it looks like before: https://github.com/tikv/tikv/blob/e1b198abeaa8c781794cc6d374bf8aea96cc34f8/components/engine_rocks/src/config.rs#L384-L389
Not particularly good, so I think it would be better to implement our own case conversion tools to further dedup the code.


Updated readme.md

added java resource.
IMPORTANT: When creating your Pull Request, please use the following format for the title: Category - Resource Name & Section
PR Title samples:

Web development - CSS Portal & Tools
Web development - Leetcode & Challenges

Closes #407
Description:

Provide a brief description of the pull request
added java resource.

Resource URL:

Insert the URL of the resource you're proposing

https://www.youtube.com/playlist?list=PL6Zs6LgrJj3tDXv8a_elC6eT_4R5gfX4d

Checklist:
Before submitting your pull request, ensure that you have completed the following tasks:

[x] I have carefully reviewed and adhered to the contributing guidelines before creating this pull request.
[x] I followed the prescribed PR title template. (Check this if you're adding a resource)

fill the bracket with x. Something like this [x]

You can reopen the PR and then just dont modified the machine learning, and then I can merged

resolved by #426


Dropping support for GCC

I will drop support for gcc. There's been alot of issues that's been unique to gcc builds and unfortunately I don't have enough time to properly test everything using different compilers. Since I personally use clang when building the project, that's the compiler that will be officially supported from now on.
I will update the README and the template files for the AUR packages to reflect this.

After alot of testing I don't think this is necessary...


Merge Wk 8 v1.1 into master branch

Changes Unknown when pulling fdb31ee11caba882f38f77b4e4be08314ebd803c on WK-8-V1.1 into ** on master**.


Encoding issue (Bulgarian language)

I've noticed some issues while trying to parse dbf shp file. While geometry is parsed nicely I'm having some issues with encoding Cyrillic language. (picture below, Notice the CROP_NAME: property)

I'm importing zip using File Api.
Example:
     var fr = new FileReader();
      fr.onloadend = function(e) {
        var contents = e.target.result;
        shp(contents).then(function(data) {
          console.log(data);
          // save parsed shp file data to store
          that.dispatch("_UPDATE_PARSED_SHP_", data);
          // remove layer
          that.get.olMap.removeLayer(that.SHAPE_FILES);
          var vectorSource = new VectorSource({
            features: new GeoJSON().readFeatures(data, {
              featureProjection: "EPSG:3857"
            })
          });

Is there some property that I should pass into shp function or encoding code? Scrolling through recorded issues I saw that there is recorded issue on encoding but to be fair I didn't manage to find solution for my problem.
btw. awesome job with library...keep up the good work :)
Here is link to shp file:
https://www.dropbox.com/s/y226s898ntj6yx5/encoding.zip?dl=0

Same issue with german umlauts (ä,ö,ü,ß…) displaying the attributes.
Is there already any encoding property available?

do you have a .cpg file included with your shapefile? if not then that's what you need to include

Ok, i ll try with .cpg file and with "UTF-8" in first line. Do you think that it should be enough?

Worked for me. I had to use ISO-8859-1 in my case.

@NevenD we default to utf-8 so if you are having issues it's because that's not whats being used, ISO-8859-1 (aka latin1) probably won't work for bulgarian, utf16le aka ucs2 might work or cp1251 I don't know enough about bulgarian to know what encoding to use

@calvinmetcalf  Greate, I'll try that. Thank you :)


Day463

Resolves #937.

Pull Request Test Coverage Report for Build 1744

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 1742:
0.0%

Covered Lines:
5

Relevant Lines:
5

💛  - Coveralls


Update sites.yml

This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[x] I used the uncompressed size of the site
[x] I have included a link to the Cloudflare report
[x] This site is not an ultra minimal site
[x] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[x] Check to confirm

- domain: sexiarz.com
  url: https://sexiarz.com/
  size: 304.74
  last_checked: 2024-07-26

Cloudflare Report: https://radar.cloudflare.com/scan/4b1940ea-7fbc-4dcf-9479-e8d6784c1cbf/summary
Sexiarz used to be on this list before we changed our domain (PR #438).

Thanks!


Multiple typos inside /docs fixed.

🚀 🚀 Pull Request
Impact

[ ] Bug fix (non-breaking change which fixes expected existing functionality)
[x] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
Fixed multiple typos inside /docs directory

Things to be aware of

Things to worry about

Additional Context

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

Hi @parikshit-adhikari! Thbak you so much for catching those. Tagging @FayazRahman @istranic to approve. Really appreciate the contribution. Can you please sign the CLA so we can merge this?

My pleasure @mikayelh , and also now I have signed the CLA.


Fixing broken links and markdown linting

There were a few broken links or undefined links in the spec document. That turned into moving all of the external links to the end of the file rather than having a mix of some inline and others at the end. And that turned into a bit of markdown cleanup and a few spell checks to make my linter happy.

One line I didn't change, but it's easy enough to add to this PR, in the revisions:

| 2023-01-16 | Updated specx draft to reflect initial review. |

Is "specx" a typo for "spec"?

Is "specx" a typo for "spec"?

@puerco: I too am guessing "specx" is a typo. Is that correct?

Yeah it is a typo :)

Yeah it is a typo :)

Thanks, I've added that to the PR.


Transaction details - scroll bar (Windows)

Testing was done on: Windows 7
Arizen version: 0.1.0-beta
In the transaction details there is an extra scroll bar. See picture below with highlighted bubble.

Fixed in #78


Kamyroll -> Consumyroll

Remove Kamyroll and add consumet crunchyroll api as consumyroll (rename if you want)
closes #1210, closes #1181, closes #1180
Checklist:

[x] Updated extVersionCode value in build.gradle for individual extensions
[x] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[x] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[x] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio

note this: https://github.com/jmir1/aniyomi-extensions/blob/master/CONTRIBUTING.md#renaming-existing-sources
and one question: do old kamyroll anime work in your aniyomi library with the new "consumyroll" extension, or do you have to migrate?

At first I renamed it, but then since it was a completely different source I thought to make it its own extension. And since the info about the audio is not provided with the stream like kamy, that info is saved in the episode url so they have to be refreshed. So they don't necessarily have to migrate but refresh the episode list for all the kamy anime in their library if renamed. That's one is the reasons I made it is own extension. So they could mass migrate it.
Should I still rename it?

Now you changed it to renaming the extension. I don't have an opinion on which is better. Just do what is best in your opinion! :+1:

Yeah renaming it allows refreshing episode list and migration so I think it's fine to just rename it. I'm trying to change the epsiode list to use Crunchyroll instead of consumet to lessen the strain on their servers. I already finished it but forgot to push it before I left my computer. I'll push it tomorrow


proposal: iter/sorted: functions on sorted iterators

I propose adding a package of functions that operate on iterators whose values are sorted.
Sorted sequences can arise in a number of ways:

From a slice that has been sorted.
From the keys of an ordered map, such as github.com/google/btree or the one in #60630.
From an external source, like a database with sorted keys.
Naturally, as in the line numbers of a file or the times of a monotonic clock.

Common operations on pairs of sorted sequences include merging them into a single sorted sequence, as well as the set operations union, intersection and set difference. I propose a package with these operations, with the API given below.
As is common in packages like slices, there are two functions for each operation, one using the natural ordering of a type and one that accepts a comparison function. We could also consider adding functions that operate on the keys of iter.Seq2s, bringing along the corresponding values. I don't know if those sequences would arise enough to make that worthwhile. We could reconsider adding the Seq2 functions if and when we add ordered maps.
API
package sorted

Package sorted provides operations over iterators whose values are sorted.

FUNCTIONS

func Intersect[T cmp.Ordered](s1, s2 iter.Seq[T]) iter.Seq[T]
    Intersect returns an iterator over all elements of s1 that are also in s2,
    in the same order. Each element of s1 appears only once in the result.
    Both s1 and s2 must be sorted.

func IntersectFunc[T any](s1, s2 iter.Seq[T], cmp func(T, T) int) iter.Seq[T]
    IntersectFunc returns an iterator over all elements of s1 that are also in
    s2, in the same order. Each element of s1 appears only once in the result.
    Both s1 and s2 must be sorted according to cmp.

func Merge[T cmp.Ordered](s1, s2 iter.Seq[T]) iter.Seq[T]
    Merge returns an iterator over all elements of s1 and s2, in the same order.
    Both s1 and s2 must be sorted.

func MergeFunc[T any](s1, s2 iter.Seq[T], cmp func(T, T) int) iter.Seq[T]
    MergeFunc returns an iterator over all elements of s1 and s2, in the same
    order. Both s1 and s2 must be sorted according to cmp.

func Subtract[T cmp.Ordered](s1, s2 iter.Seq[T]) iter.Seq[T]
    Subtract returns an iterator over all elements of s1 that are not in s2,
    in the same order. Each element of s1 appears only once in the result.
    Both s1 and s2 must be sorted.

func SubtractFunc[T any](s1, s2 iter.Seq[T], cmp func(T, T) int) iter.Seq[T]
    SubtractFunc returns an iterator over all elements of s1 that are not in s2,
    in the same order. Each element of s1 appears only once in the result.
    Both s1 and s2 must be sorted according to cmp.

func Union[T cmp.Ordered](s1, s2 iter.Seq[T]) iter.Seq[T]
    Union returns an iterator over all elements of s1 and s2, in the same order.
    Each element appears only once in the result. Both s1 and s2 must be sorted.

func UnionFunc[T any](s1, s2 iter.Seq[T], cmp func(T, T) int) iter.Seq[T]
    UnionFunc returns an iterator over all elements of s1 and s2, in the same
    order. Each element appears only once in the result. Both s1 and s2 must be
    sorted according to cmp.

There is a working implementation at github.com/jba/sorted.

Related Issues and Documentation

proposal: container: add tree-based ordered.Map/Set #60630
proposal: container/set: new package to provide a generic set type #69230
proposal: x/exp/xiter: new package with iterator adapters #61898

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Is there any difference between this Merge and the one in #61898?
If this package gets added, it seems like a good place for the sequence equivalent for Compact: #67441

Is there any difference between this Merge and the one in https://github.com/golang/go/issues/61898?

No, I just forgot about the other one.

If this package gets added, it seems like a good place for the sequence equivalent for Compact: https://github.com/golang/go/issues/67441

Agreed.

I'm guessing that iter/sorted functions don't check that their iterator arguments are sorted, and I'm worried that some people will pass them unsorted iterators. If this proposal gets accepted, its documentation should encourage other packages that provide sorted iterators to document them as such.

I omitted that from the spec so that the implementation could choose to do it if we wanted it to. We don't want to document that it does, because that would force the functions to run slower.
In general, Go doesn't perform expensive checks like this. For example, sort functions that take a less or cmp function as argument don't check that those functions behave properly.
My hope is that by putting these in a separate package from other iterator functions, users would be reminded of the requirements at the call site: sorted.Union(a, b) and so on.

You could also introduce package sorted; type Iter[E any] iter.Iter[E], requiring at least an explicit conversion.

@Merovius sadly you can still pass an func(yield(T) bool) to it without explicit conversion.

Yes, I believe most iterators will be iter.Seq[E], though. Note that the general recommendation is to have methods All() iter.Seq[E], not All(yield func(E) bool, for example.
In any case, I’m not saying it’s perfect, or even that we necessarily should do it. But it’s IMO the strongest reasonable thing, has no runtime cost and will catch the overwhelming majority of mistakes.

Even if we had a sorted.Seq type, sortedness wouldn't be checked at compile time. People could produce sorted.Seq[T] values that are in fact not sorted at all. The value of adding such a type is therefore moot, IMO.

You said

I'm guessing that iter/sorted functions don't check that their iterator arguments are sorted, and I'm worried that some people will pass them unsorted iterators; the type system can't help us, in this case, since both sorted and unsorted iterators have type iter.Seq[T].
If this proposal gets accepted, its documentation should encourage other packages that provide sorted iterators to document them as such.

If there is value in such documentation, than the value of sorted.Seq would be stricter higher. In that it serves itself as documentation - and a form of documentation that can't be overlooked. And it is, in fact, a way in which the type system can help us.
I agree that it doesn't provide an absolute guarantee. And I can understand the position, that the value it would provide is not enough to justify its cost. But it seems absurd to me to claim it has none, after saying that a doc-comment has enough.

@Merovius

it seems absurd to me to claim it has none, after saying that a doc-comment has enough.

Note that moot != none. I'm not dismissing a hypothetical sorted.Seq type altogether.

If there is value in such documentation, than the value of sorted.Seq would be stricter higher. [...] it is, in fact, a way in which the type system can help us.

Not sure I agree. If anything, a sorted.Seq would represent one more way to potentially "lie" about sortedness (in addition to such statements in doc comments), since a non-sorted iterator could masquerade as a sorted.Seq.

It is true that sorted.Seq would not do anything to enforce "sortedness" -- "sortedness" isn't really even a single property in general, since of course a "sorted" sequence for one cmp func(T, T) int is not necessarily sorted for another.
If there were some way to capture the specific sort order itself as part of the type or value then that would be interesting, but I can't really think of any good way to do that with Go's current type system:

encoding it as part of the value would require some way to check whether a s1 and s2 both have the same cmp, which isn't possible because we can't compare two function pointers for meaningful identity.
encoding it as part of the type would require each comparison function to be a separate type -- presumably a single-method interface instead of just a plain function pointer -- and that seems like a considerable ergonomic cost.

While I do sympathize with the idea that types often represent a claim about what something is or how it behaves rather than an enforcement of that (e.g. sort.Interface describes a set of requirements for Less but cannot enforce that they are followed), in this particular case I don't think "this sequence is sorted in some unspecified way" alone is enough of a claim for the type to be useful as a way to discourage incorrect usage. :confounded:

I find myself defending an idea I don't even believe that strongly in, but I just find the counter-arguments kind of confusing, TBH. This is a proposal for a package sorted, specifically described as "functions on sorted iterators". How is everything you are saying not an argument against this proposal, then? If "being sorted" is not something you can reasonable say about an iterator?

@Merovius I'm not sure who you're replying to, but I never claimed that

"being sorted" is not something you can reasonable say about an iterator

I only claim that you cannot verify that at compile time. Therefore, there is room for misuse (passing a non-sorted iterator where a sorted one is expected). And I doubt that a sorted.Seq type would be effective at preventing misuse. That is all.

It would be nice to add a native type for ssmap orderedmap I personally use it within several modules without this:jsonTree, enumgen, structview. Without a native type the code to instantiate the map is a bit long, there is no pre-compiler key duplication check, and various sorting related issues require more code to manipulate related things

I apologize if I misunderstood the intent. My assumption was that the goal of introducing a new type to represent "sortedness" was to make it a compile-time error to use a sequence that isn't correctly sorted, and so I was trying to find a way to solve for some way that an API author can encode which specific order they used as part of the type, to reduce the likelihood of using a sequence that is sorted by the wrong comparison function.
At the risk of taking this to an unreasonable extreme, it seems to me that any sequence can be said to be "sorted in some way". What these functions seem to require for correct usage is that they be sorted in some specific way -- the way described by the cmp callback, and/or the same way as the other given sequence -- and it was that which I was trying (and failing) to find a way to check at compile time.

@apparentlymart I understood what you where saying. But not, why the same can't be said about a sorted package in general. If we are nitpicking what a "sorted iterator" means, why are we even talking about a package for functions that deal with sorted iterators?

solve for some way that an API author can encode which specific order they used as part of the type, to reduce the likelihood of using a sequence that is sorted by the wrong comparison function.

That is easy, FWIW: Use methods, instead of passing functions. And yes, I understand the reasons against that as well. Just pointing out again, that there are ways that the type system can address at least some of the concerns y'all bring up, if there is an actual interest in solving them.
The alternative, IMO, is to just say "we trust the programmer to be sensible". That's what we do for slices.BinarySearchFunc, BTW.

By analogy with slices.BinarySerach{,Func}, an argument could also be made to just put these functions directly into iter. Or that we should have added a package slices/sorted as well.

To be clear, I would prefer to get some more compile-time safety here, and only discarded the idea of using a single-method interface because I recall from earlier discussions about package cmp that the consensus was to prioritize the ergonomics of using a single inline closure.
I suppose the way I'd sum up what I was trying to get at is: I would be in favor of a design that makes the comparer part of the type, such as what you've just proposed, but with a sorted.Seq that has no additional type parameters over iter.Seq all we'd be able to represent is "this sequence is in some unspecified order" and that doesn't seem like enough of a safety improvement over iter.Seq to be worth the additional API complexity.
I assumed, perhaps incorrectly, that consensus would not favor using a single-method interface for the comparers, even though it would in principle allow that additional safety, based on earlier discussions in this area.
(FWIW I also think it would be just fine to put these in the main package iter, rather than in a separate package. I can't think of many other examples of using a package to represent that its symbols some special usage requirement, rather than just using documentation.)


on deleting app from android settings, unable to install it back on the same device

on an installed app delete it from android settings menu and try to run the same app with flutter up
Steps to Reproduce

on an installed app
delete it from android settings > apps
flutter run again shows error

Flutter Version
flutter --version
Flutter from https://github.com/flutter/flutter.git (on alpha)
Framework: 2fe456bf957d5df792b716599aa6f21d98997228 (8 days ago)
Engine:    d474e9d2b60a9cb111c09844c10081b68bde9252
Logs
flutter run --checked --debug-port=16228 --start-paused --device-id CB5A20N72H • flutter logs
flutter/examples/stocks • checked mode • debug
Starting lib/main.dart on D6503...
Starting: Intent { act=android.intent.action.RUN dat=/data/local/tmp/dev.flx flg=0x20000000 cmp=org.domokit.stocks/org.domokit.sky.shell.SkyActivity (has extras) }
Error type 3
Error: Activity class {org.domokit.stocks/org.domokit.sky.shell.SkyActivity} does not exist.
Error starting application on D6503.
Unable to run application
exited with code 2

Yup, easy to reproduce.  @abarth says this is due to our current hash checks.  We don't remove the sha file when uninstalling the app, and thus think the phone has a SkyShell when it doesn't.  @devoncarew

I can take a look at this issue.

This happens to any apk we build, not just SkyShell, btw.

To work around this:
flutter apk
adb install build/app.apk

Then flutter start should work again.  There is also probably a way to remove the sha file from the device, I just don't know the location of it offhand.


fix: Editor scroll bar issue

The arrow icon of the editor scroll bar was displayed in front of menu dropdown and this pulll request solves the problem.
Fixes https://github.com/freeCodeCamp/freeCodeCamp/issues/53385

I have read and followed the contribution guidelines.
I have read and followed the how to open a pull request guide.
My pull request targets the main branch of freeCodeCamp.
I have tested these changes either locally on my machine, or GitPod.
Closes https://github.com/freeCodeCamp/freeCodeCamp/issues/53385

Hey @ashutoshsabale,
unless there are merge conflicts, at this point there's no need to update the PR branch with new changes from the main. PR will be merged without issues. All that it does now, is basically just running again all the CI checks.


Can no longer edit Resource List manually

Even by hitting apply changes, when the manager is closed and opened again it goes back to the manager default, the version prior to the newest one didn't do that, had to reinstall the old version

Hi, thanks for reporting!
I found the bug and will push an update soon.

Update is out now, let me know if there are any more issues.


failed to fetch https://projectcalico.docs.tigera.io/charts/index.yaml : 404 Not Found

Expected Behavior
Index.yaml of chart repo is inaccessible
https://github.com/projectcalico/calico/issues/7300

@CecileRobertMichon They changed the domain of the docs and the hosted repo -> https://docs.tigera.io/calico/3.25/getting-started/kubernetes/helm
Pull from https://docs.tigera.io/calico/charts


ContractAgreementId not collected

Description
When starting a Job with flag "auditContractNegotiation" set to true, the contractAgreementIds are not collected.
Current behaviour
"contractAgreementId" in shells is empty string ("") and null in submodels
Expected behavior
shells and submodels contain the contract agreement id
Steps to reproduce the Bug
Start a Job with parameter "auditContractNegotiation": true,

Fixed with https://github.com/eclipse-tractusx/item-relationship-service/pull/599


feat: make the reason category more visible on drawer

Define your request
When I selected multiple categories on the top-right selector, I couldn't identify which category a specific pin belonged to. There is no indicator on the pin, drawer, etc. right now which makes the data meaningless.
We might display the reason data (erzak,barinma,giysi etc.) we received from the backend into the drawer.
discord username: justinhoyte#1478
Define the alternatives you have in mind
We can also show different pin images for different reason categories.
Extra context
You can see in the ss below that after I clicked a pin, there is no info anywhere about the reason category.

there will be a design refresh very soon, this will be addressed differently there.


Can't RUN in Windows 1803

Microsoft add a option, which is to allow user to use utf-8 code page as default code page.
MCEdit Version: Latest
Minecraft Version the world was last opened in: (Crashed before I even choosed a world
Operating System: Windows 10 1803
The bug is that:
PS D:\MCEdit> .\mcedit.exe
Running in fixed mode. Support files are in your Documents folder.
Splash load...
Traceback (most recent call last):
  File "mcedit.py", line 73, in <module>
LookupError: unknown encoding: cp65001
Failed to execute script mcedit

Did the MCEdit-Unified executable work before setting your code page to utf-8?

I had this problem before, and I just figured out.
Please check your language settings in Windows 10:
Settings > Time & Language > Region & Language >Administrative Language settings > Language for non-Unicode programs > Change system locale
In the new popup dialog, you can change current system locale, and beneath it, there is a checkbox called "Beta: Use Unicode UTF-8 for worldwide language support". Mine checkbox is checked. After unchecked it and restart, everything should be going well. I hope this is helpful to you.

Did the MCEdit-Unified executable work before setting your code page to utf-8?

Yes. it work

nope, mc edit still doestn start at all

is this a different issue?

I had this problem before, and I just figured out.
Please check your language settings in Windows 10:
Settings > Time & Language > Region & Language >Administrative Language settings > Language for non-Unicode programs > Change system locale
In the new popup dialog, you can change current system locale, and beneath it, there is a checkbox called "Beta: Use Unicode UTF-8 for worldwide language support". Mine is checked. After unchecked it and restart computer, everything is going well. I hope this is helpful to you.

Big thank you! Finaly i found a solution my problem (mcedit cant start)


Add operations: BitXor, BitOr, and Not to MiniRust

Should be pretty straight for the most part.
But for the shift operation I am unsure if i created the correct semantics.
The rustc doc states:
Shl: The << operator (shift left)

The offset is truncated to the size of the first operand and made unsigned before shifting.

For made unsigned I see two possibilities:
1. C-style: interpret the bits as unsigned integers now (e.g. -1i8 → 255u8)
2. Throw Error (but not UB?) if trying to shift with negative value.
So far the 2nd version is implemented by libspecr (via BigInt).
~~

Thanks!
Please restrict this to BitXor, BitOr, Not so that we can discuss the shifts separately.

I removed the shift operations.

I removed the shift operations.

Thanks! Please also remove them from the PR title and commit message.

BitXor, BitOr, and Ǹot to MiniRust

Your commit message has a strange Ǹ character in it still. ;)

BitXor, BitOr, and Ǹot to MiniRust

Your commit message has a strange Ǹ character in it still. ;)

oh man, thanks for the reminder.

Looks good, thanks!


Occasional repeated results in search

The TopKSearch results should be deduplicated, but occasionally we see repeated results. What gives?

Fixed; this was due to sampling with replacement in the validation code.


Accessibility Prompt

Show a window on startup explaining how users can enable the 'accessibility' privacy option:

This should hopefully solve some permissions issues for some users. In the future, we can expand this pane with any other permissions requests we need (e.g. Calendar etc.)

A rebase is needed.

Thanks for the heads up @RobFog . Rebased and pushed.
I'm going to merge this into master. I hate dealing with merge conflicts. If there are issues with this down the line, we can update this PR and re-merge.


Purge wallet

Purge wallet from db. If multiple wallets are being supported, there should be an option to purge a wallet's sqlite db.

Addresses https://github.com/LtbLightning/bdk-flutter/issues/27

The way we did this on stackmate is by using sqflite in dart and with bdk we allow users to specify the dbPath. This allows us to then just use sqflite to delete the wallet from dart.
I suppose its possible to do it via rust as well, if you do not want to remove the complexity of having the frontend developer have any direct interaction with sqlite. When a user wants to purge a wallet, it can use purgeWallet(descriptor) and from rust we see if this wallet exists and if it does, we delete it.
What are your thoughts?


remove unused boneId variable in ModelNode data class

I might miss its purpose but this variable is not used at all.
The same goes for ModelNode.meshId, but I didn't remove it since it is written to (but never read from). Can do another commit if needed.
This is quite a non-important change so feel free to reject it but I thought it would help reduce the complexity of libgdx's node architecture. I'm writing my own model loader right now and the amount of variables in the data classes is a bit overwhelming, and if some of them are not used, it's even more confusing.

Thanks!


[1.4.x] service generation warning is no longer present

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Versions.
@angular/cli: 1.4.1
node: 8.4.0
os: darwin x64
@angular/animations: 5.0.0-beta.3
@angular/common: 5.0.0-beta.3
@angular/compiler: 5.0.0-beta.3
@angular/core: 5.0.0-beta.3
@angular/forms: 5.0.0-beta.3
@angular/platform-browser: 5.0.0-beta.3
@angular/platform-browser-dynamic: 5.0.0-beta.3
@angular/router: 5.0.0-beta.3
@angular/cli: 1.4.1
@angular/compiler-cli: 5.0.0-beta.3
@angular/language-service: 5.0.0-beta.3
typescript: 2.4.2
Repro steps.
> ng g service race
create src/app/race.service.spec.ts (368 bytes)
create src/app/race.service.ts (111 bytes)

The command used to emit a warning about providing the service somewhere to use it.
Desired functionality.
The warning should still be present.

Thanks for reporting this issue. This issue is now obsolete due to changes in the recent releases. Please update to the most recent Angular CLI version.
If the problem persists after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.
By default services will be injected in the root injector


Multiple scenes are saved to the same file.

Description of bug / unexpected behavior
If you have multiple scenes they all get saved to the same file. Very similar to #1578.
main.py
from manim import *

config.background_color = "#333388"
config.frame_width = 40
config.scene_names = ["A", "B"]

class A(Scene):
    def construct(self):
        a = Circle(5)
        self.play(Create(a))

class B(Scene):
    def construct(self):
        a = Circle(5)
        self.play(Create(a))

manim.cfg
[CLI]
frame_rate = 30
pixel_height = 1080
pixel_width = 1920

Logs
Terminal output
Uhm... -v DEBUG does not work:
manim -v DEBUG render main.py
Manim Community v0.10.0

Traceback (most recent call last):
  File "/usr/local/bin/manim", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/manim/cli/render/commands.py", line 132, in render
    for SceneClass in scene_classes_from_file(file):
  File "/usr/local/lib/python3.9/site-packages/manim/utils/module_ops.py", line 124, in scene_classes_from_file
    module = get_module(file_path)
  File "/usr/local/lib/python3.9/site-packages/manim/utils/module_ops.py", line 51, in get_module
    raise FileNotFoundError(f"{file_name} not found")
FileNotFoundError: render not found

Here's the output without that:
manim render main.py
Manim Community v0.10.0

[09/24/21 20:12:03] INFO     Animation 0 : Using cached data (hash :<PHONE_NUMBER>_1959254436_1145583325)                                                      cairo_renderer.py:107
                    INFO                                                                                scene_file_writer.py:606
                             File ready at '/.../project/media/videos/main/1080p60/A.mp4'

                    INFO     Rendered A                                                                                scene.py:233
                             Played 1 animations
                    INFO     Animation 0 : Using cached data (hash :<PHONE_NUMBER>_950503052_1145583325)                                                       cairo_renderer.py:107
                    INFO                                                                                scene_file_writer.py:606
                             File ready at '/.../project/media/videos/main/1080p60/A.mp4'

                    INFO     Rendered B                                                                                scene.py:233
                             Played 1 animations

System specifications
System Details

OS: Mac
Python version: 3.9.7

Seems that it is failing to write multiple files when using config.scene_names = ["A", "B"]. Until it is fixed you can omit this line and when it prompts you to select scenes it will write to multiple files


envelope customisation

Currently the EmailBuilder's build function creates the envelope from the To and From headers. I propose the EmailBuilder should allow for this to be customised, e.g. like this:
impl EmailBuilder {
    fn set_envelope(&mut self, e: Envelope) {…}
    fn envelope(mut self, e: Envelope) -> Self {…}
}

If no envelope is set, the current behaviour should stay the default. Of course for this to work, There needs to be a useful constructor or builder for Envelope.

This is not a big deal, but because of merging and rebasing I'd like to only start working on this once the PR for #85 is through.


InputStreamChain

I needed to combine output of two input streams while not leaking null from previous stream. I abandoned this idea after all, but code is already written and wonder if you would be interested in me to contribute it here? Usage is like following.
public function testInputStreamChain()
{
    $chain = new InputStreamChain(new InMemoryStream('foo'), new InMemoryStream(null), new InMemoryStream('bar'));

    self::assertEquals('foo', wait($chain->read()));
    self::assertEquals(null, wait($chain->read()));
    self::assertEquals('bar', wait($chain->read()));
}

@ostrolucky Sorry for not responding yet, sounds fine to me.

The second call to read() should not return null. Consecutive calls to read() should return 'foo', 'bar', then null.

That's discutable, but I have found that impossible to solve anyway in my implementation. Source can be found at https://github.com/ostrolucky/stdinho/blob/cfb4735e5037575eeb1b5275f890a2b3cd19473e/src/Stream/InputStreamChain.php


Official way of using parquet in modern cmake

What is the official way of adding the targets using modern cmake? The only thing that worked for me is the following but not sure if it is the best way. I installed arrow using brew on mac. Vcpkg unfortunately does not work at the moment.
set(Parquet_DIR /usr/local/lib/cmake/arrow)

find_package(Arrow CONFIG REQUIRED)
find_package(Parquet CONFIG REQUIRED)
target_link_libraries(database PRIVATE arrow_shared parquet_shared)

@ghamarian could you please open a JIRA describing what you're trying to accomplish?

Thanks, did that. I guess this issue can be closed.

See also https://issues.apache.org/jira/browse/ARROW-13021


Lootsheet NPC Auto-update non-functional

The latest version of LootSheet NPC 5E is 1.6.2, but the in-Foundry updater(version 0.5.7)  is not progressing me past 1.3.6:

I'll uninstall and reinstall, but there might be something that needs fixing here.

Nothing I can do there. I moved it from gitlab to GitHub so the update at that stage doesn’t work so it requires an uninstall and fresh install via the module browser. From then on the updates will work fine though.


Some groups related with treesitter don't work properly

After install the markdown language suppor for Treesitter, the markdown files weren't higlighted.
I had had to remove this double quotes surrounding "colors.orange" found in these lines:
https://github.com/Mofiqul/dracula.nvim/blob/main/lua/dracula/init.lua#L221-L227
Thankyou in advance

@GerardoGomez - Putting them inside double quote is my mistake, they are variable. As you already fixed it, can you please make a PR.


cleanup: flush temporary namespace when cleaned

As soon as the temporary namespace is freed, it can be flushed (FLUSH command) to discard any pending history.

This become really important for production release.
But temporary namespace usage is not easy to simulate correctly locally, it's easier to update in real world condition, will work on that asap.

First version implemented via https://github.com/threefoldtech/0-db-fs/commit/62ed95e4e64f31fcb068c9d3de8887f89f19100a


Re-structuring and renaming of contracts code.

This is a quick change to address some of the issues I have with the contracts codebase, like:

Naming, for example:

CredbullBaseVault the root of the Vault contract hierarchy.

Prefixed with Credbull, but not actually deployed (the only other 'Credbull' prefixed contracts are those that are deployed).
Base, but is that really necessary? Also, in that vein, it could be BaseMaturityVault.

We have MockToken and MockStableCoin in test, but also CredbullBaseVaultMock (same for all vaults).

Inconsistent naming (contracts, structs, files), for example:

whitelist and kyc used interchangeably.
For WindowPlugIn is it a mature window, or a redemption window? Seeing as the other window is the deposit window, it seems to me that it should be redemption. But it's IS mature and is referenced interchangeably as 'mature' and 'redemption'.

Uncategorised (as far as I can tell) directory structure. For example:

base, vaults AND extensions fulfilling essentially the same purpose.
interface containing cross-functional interfaces.

IErrors has been deleted

Root (src) containing deployable contracts AND factories

Adopted Changes

Categorised singular sub-directories, like vault and factory.

All deployable contracts are in the root of the src directory.

All things PlugIn are now re-named Plugin.
All Vault/Plugin Contracts have a XParams struct capturing their construction values.

NOTE: When an XParams contains a reference to another XParams, the member name is x.

This will lead to a usage pattern like this: params.maturityVault.vault.custodian;, where params is a FixedYieldVaultParams. Thus the purpose is clear due to the call chain off  params and no need to have an xParams at every level of the tree.

All Vault Contract constructors accept an instance of their parameters struct.
Changed the matureWindow in WindowPlugIn to redemptionWindow. Is this correct?

As per the discussion on #engineering:

WindowPlugin relates to deposit/redemption windows.
MaturityVault is a Vault that 'pushes' the assets to the depositing accounts on maturation. BUT it should not know anything of promisedYield or fixedYield as those are FixedYieldVault concerns.

All test support contracts are now called SimpleX.

As @lucasia pointed out, 'Mock' was over-used, and most instances were not actually 'mock's.
This change may have gone a bit too far. Opinions, please!

All testing source is in .t.sol files. We had .m.sol and .sol files in test.
Added utility import shortcuts to remappings.txt

So we can import from<EMAIL_ADDRESS>for src<EMAIL_ADDRESS>for script code and<EMAIL_ADDRESS>for `test code.
Usage of this is ONLY INTENDED FOR test and script source (where the '../../..' imports are prevalent).

Extent

This PR currently only affects contracts.
I didn't touch any of the Nat Spec docs, but I think that needs review too.
All tests are passing.
There will be knock on effects around the generated code and anything that uses it, due to Parameters renaming and structural changes. If this PR gets approved, I will add those changes.

Thanks for the feedback, @lucasia ! It's great and much appreciated!
For a linter, we already have solhint installed in the contracts project, with recommended settings. This is supposed to be run automatically, by husky, before commits and pushes. I'll confirm it is.

I ff-merged and committed this PR to another branch (https://github.com/credbull/credbull-defi/pull/71) to filter out all the rebasing changes. It worked well, going from 130+ files changes in this PR, to 60+ in the newer version.
Closing this PR.


Compile HyPhy results

Compile the HyPhy results (currently one report per gene) into a table describing all genes. Users can then make predictions from a single file.

Implemented in a2b16db2158220fda146cbc2ef6e5372bae33f9f


fix: send much less data on taxonomy sorting

(probably) fixes https://github.com/serlo-org/athene2/issues/332
previously our SortableList code serialized the whole tree and send it to the server, where every element then was updated. I cleaned the data for the post request by removing unchanged subtrees. This should fix the referenced issue - which probably was caused by some timeout / too many changes / ... :tada: :tada:

Nice!

Ah, there's still a bug, _.findWhere doesn't work as I intended.

Should work now :-) good for review :eyes:


Angular Material Release Timeline ?

I like the angular material and was hoping to use this library for one of my projects.
Do you have any tentative date/timeline when the GA or RC release will be available?

We haven't announced an official date for this yet; stay tuned to the Angular blog for future announcements.

I find it a little concerning that whenever someone asks when Material will reach a stable release the only answer that is given is the one above.  Is there at least a ballpark estimate of when it will come out (EOY, sometime next year, the following year, etc...)?  One reason we like the Angular project is that you guys have created a release schedule so that people have an idea of when items will move out of alpha, beta, or rc.  But with Material it feels like a similar approach to what Bootstrap takes with LONG running alpha and beta releases with no real time line of when it will stabilize which makes it very difficult to schedule around when new releases are available.  We really want to take advantage of what Material offers and think that it is a fantastic product, it just needs to get caught up with how other Angular projects are managed and released.

Now with Angular 5 released, if do not see an imminent release of Material 2, developers will be losing their trust in it. It's been in Beta-s way too long at this point.

The readme answers this question

High level stuff planned for Q4 2017 (October - December):

RC and stable release


libfftw3 not defined on Raspberry Pi 3 Raspbian

Hi, I'm using Julia 1.3.1 32-bit generic binary on an Arm-based Raspberry Pi and was trying to install Images.jl but kept running into a "libfftw3 not defined" error that I traced to FFTW.jl (v1.2.0). I've installed 'libfftw3-dev' and I think I can get the library to load using Libdl, but realized that is likely not the problem since it is simply not defined in the 'src/FFTW.jl' file somehow? Looking at 'src/FFTW.jl' (and following the error message) I realized line 27 does not make it clear where libfftw3 is coming from, so I'm guessing one of packages used should be pulling it in but isn't.
Thanks for any help you can provide and I understand that since this is an Arm architecture the answer might be "that just doesn't work right now" :)

What version of FFTW.jl are you using?

v1.2.0. Thanks!

Can you please try to do
using Pkg
Pkg.add(PackageSpec(name="FFTW_jll", rev="704f8580a0c9395721016c85a9ea376e272074fe"))

and see if now FFTW.jl works for you?

Thanks for the suggestion, unfortunately it doesn't seem to work. I now have FFTW_jll v3.3.9+4 #704f858 but running using FFTW results in the same error, same for when I remove and add FFTW.jl back or build it again.

That's because I told you the wrong revision :woman_facepalming:   Try this:
using Pkg
Pkg.add(PackageSpec(name="FFTW_jll", rev="633945700554833c7ecc7140bf2e76c4e37cc8e5"))

Haha, second times a charm, I think that one did the trick! I had to restart Julia but now I can load FFTW.jl and Images.jl as well!  Thank you so much!


DTO/Document extension can be null

Discussed in https://github.com/codebar-ag/laravel-docuware/discussions/26

Originally posted by StanBarrows October 27, 2021

[x] DTO/Document extension can be null

This happens on manual entries.


Tag valid release and attach Artificats

I'm trying to build and use the latest master code, unfortunately, with the recent changes this does not compile.   It would be nice to have a tag or a branch that has the most current working code.   If a tag is done, it will allow the artifacts that are needed to be uploaded with the tag and only the necessary dependencies can be brought down.

v

This repository is outdated and archived!
You can find up-to-date client libraries in the new Emby.ApiClient Repository


Option to read file from an offset

Closes #38 and fixes some linting issues.
Added an --offset option to allow read file from a given offset. The behavior of the option is described as below:

It supports both decimal and hexadecimal numbers.
It doesn't support negative numbers.
When it is larger than file size, it follows the current logic of handling an "empty" file: prints out a warning and exits. We should think about this more carefully.

Hey again! Nice to see you around and thanks for the PR :smile:
I was testing out your changes and added some tweaks with the intent of improving the user features - most notably, these changes allow users to look at data earlier in the file even if they specify the --offset flag.
Let me know if you think there's anything wrong with what I've done, or if it breaks anything (I can ultimately revert or overhaul my changes if need be). If I get approval or don't hear back after a while, I'll go ahead and squash + merge!

@ndd7xv That's awesome!


Breaking change:  remove deprecated classes

Coverage increased (+0.1%) to 68.715% when pulling c028986f2b22d4a183d277612a85ef2a3612802a on purge-deprecated-code into 1fe2f0b9334d650cb7774338b8037913ca180204 on master.