Not Getting Soil moisture value kindly help...

Hi i recently bought a chirp I2C soil moisture sensor V2.7.4 and i hooked it up to Arduino Uno Like this
Uno                          Chirp
5V/3.3--------VCC(Tried Both)
Gnd------------GND
SDA------------SDA(10k Pullup)
SCL--------------SCL(10k Pullup)
And i flashed the example code to read the the sensor value, but to my vain im only getting some junk values. This is the output of my serial port
I2C Soil Moisture Sensor Address: 20
Sensor Firmware version: FF
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light:
Would you Kindly let me know the problem might be?
Regards
Varun

you might have the wrong wiring colors(by the maker himself). The one I got was:
RED: Vcc, Blue: Ground??? , Yellow: SCL, White: SCA.
Hope that helps.

Hey there,
are you using the chirp (uses a battery + speaker) or really just the cheaper moisture sensor? The chirp requires a longer delay when reading a value.
FWIW, I reformatted the two code examples given by the wemakethings page and the only real difference is the delay:
--- <unnamed>
+++ <unnamed>
@@ -3,6 +3,7 @@
 void setup() {
   Wire.begin();
   Serial.begin(9600);
+  writeI2CRegister8bit(0x20, 6); //reset
 }

 void writeI2CRegister8bit(int addr, int value) {
@@ -15,7 +16,7 @@
   Wire.beginTransmission(addr);
   Wire.write(reg);
   Wire.endTransmission();
-  delay(1100);
+  delay(20);
   Wire.requestFrom(addr, 2);
   unsigned int t = Wire.read() << 8;
   t = t | Wire.read();
@@ -24,9 +25,9 @@

 void loop() {
   Serial.print(readI2CRegister16bit(0x20, 0)); //read capacitance register
+  Serial.print(", ");
   writeI2CRegister8bit(0x20, 3); //request light measurement
-  delay(9000);                   //this can take a while
+  Serial.println(readI2CRegister16bit(0x20, 4)); //read light register
   Serial.print(", ");
-  Serial.println(readI2CRegister16bit(0x20, 4)); //read light register
-  delay(500);
+  Serial.print(readI2CRegister16bit(0x20, 5)); //temperature register
 }

because the library is designed for the normal sensors and not chirp I would not like to increase the times  ... But when this solution works fr you everythign is great ...

@apollon77 I don't know if the delay in question fixes OPs issue. In any case, the delay could be made configurable. I may get around to actually using my sensors in a couple of weeks, so I might submit a PR!

you're welcome to :-)

Hi, I have exactly the same problem. Could You please post the solution? Increasing the delay time does not seem to solve it.

I had a similar problem, what worked for me is this. As I understand, every sensor has a different address. First find the address, by using the change address code and in continuation run the code for getting values of moisture. Its important that you join both codes, as the I2C does not have memory, so running them one after the other won't help. But if you find the address, and change the code to suit it, then the moisture values will start  recording.
Hope this helps.

Thanks, sure that must had been my problem too.

Hi, I have a different problem: when I connect the YELLOW to SCL and GREEN to SDA as pictured in the Arduino Uno Rev3 Pinout
, the ReadSensorData example simply doesn't show anything. It's somehow stucked.
When I remove just the YELLOW pin, the serial monitor shows just these rows:
I2C Soil Moisture Sensor Address: 20
Sensor Firmware version: FF

Soil Moisture Capacitance:

When I remove the YELLOW pin and the GREEN pin, the serial monitor shows just these rows:
I2C Soil Moisture Sensor Address: 20
Sensor Firmware version: FF

Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535

Based on the Arduino pinout above and the RED+BLACK+GREEN+YELLOW cables on the moisture sensor, what are the right connections?

Also I would be curious of the intervals you get in dry air and in cup full of water just above the sign showing "put this part in water" all under water. Raw readings you get should be around 350 at dry air and around 680-700 when sensor is completely under water.

Hi @gluckgabor , using only the ChangeSensorI2CAddress.ino example I have the following issues:
YELLOW pin connected to SCL, GREEN pin connected to SDA --> Nothing shown in the serial monitor
Just the GREEN pin connected to SDA --> The sketch stops after the following rows:
I2C Soil Moisture Sensor Address: 20
Sensor Firmware version: FF

Change address to 0x21 ...

Just the YELLOW pin connected to SCL --> The sketch stops after the first row:
I2C Soil Moisture Sensor Address
Without YELLOW and GREEN pins conneted -->
I2C Soil Moisture Sensor Address: 20
Sensor Firmware version: FF

Change address to 0x21 ...... ERROR

Scanning...
No I2C devices found

Hi @gluckgabor , this is the merging I did:

#include <I2CSoilMoistureSensor.h>
#include <Wire.h>

I2CSoilMoistureSensor sensor(0x20);

void setup() {
  Wire.begin();
  Serial.begin(9600);

  sensor.begin(); // reset sensor
  delay(1000); // give some time to boot up
  Serial.print("I2C Soil Moisture Sensor Address: ");
  Serial.println(sensor.getAddress(),HEX);
  Serial.print("Sensor Firmware version: ");
  Serial.println(sensor.getVersion(),HEX);
  Serial.println();

}

/*loop scans I2C bus and displays foud addresses*/
void loop() {
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0) {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4) {
      Serial.print("Unknow error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan

  while (sensor.isBusy()) delay(50); // available since FW 2.3
  Serial.print("Soil Moisture Capacitance: ");
  Serial.print(sensor.getCapacitance()); //read capacitance register
  Serial.print(", Temperature: ");
  Serial.print(sensor.getTemperature()/(float)10); //temperature register
  Serial.print(", Light: ");
  Serial.println(sensor.getLight(true)); //request light measurement, wait and read light register
  sensor.sleep(); // available since FW 2.3

  delay(5000);           // wait 5 seconds for next scan
}

This is the result when everything is connected:

I2C Soil Moisture Sensor Address: 20
Sensor Firmware version: FF
Scanning...
No I2C devices found
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535

Have you copied the setaddress part? Can't see it. G
Diego Braga<EMAIL_ADDRESS>(időpont: 2018. febr. 28., Sze,
19:47) ezt írta:

Hi @gluckgabor https://github.com/gluckgabor , this is the merging I
did:
#include <I2CSoilMoistureSensor.h>
#include <Wire.h>
I2CSoilMoistureSensor sensor(0x20);
void setup() {
Wire.begin();
Serial.begin(9600);
sensor.begin(); // reset sensor
delay(1000); // give some time to boot up
Serial.print("I2C Soil Moisture Sensor Address: ");
Serial.println(sensor.getAddress(),HEX);
Serial.print("Sensor Firmware version: ");
Serial.println(sensor.getVersion(),HEX);
Serial.println();
}
/loop scans I2C bus and displays foud addresses/
void loop() {
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ ) {
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
  Serial.print("I2C device found at address 0x");
  if (address<16)
    Serial.print("0");
  Serial.print(address,HEX);
  Serial.println("  !");

  nDevices++;
}
else if (error==4) {
  Serial.print("Unknow error at address 0x");
  if (address<16)
    Serial.print("0");
  Serial.println(address,HEX);
}

}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000);           // wait 5 seconds for next scan
while (sensor.isBusy()) delay(50); // available since FW 2.3
Serial.print("Soil Moisture Capacitance: ");
Serial.print(sensor.getCapacitance()); //read capacitance register
Serial.print(", Temperature: ");
Serial.print(sensor.getTemperature()/(float)10); //temperature register
Serial.print(", Light: ");
Serial.println(sensor.getLight(true)); //request light measurement, wait and read light register
sensor.sleep(); // available since FW 2.3
delay(5000);           // wait 5 seconds for next scan
}
This is the result when everything is connected:
I2C Soil Moisture Sensor Address: 20
Sensor Firmware version: FF
Scanning...
No I2C devices found
Soil Moisture Capacitance: 65535, Temperature: -0.10, Light: 65535
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Apollon77/I2CSoilMoistureSensor/issues/10#issuecomment-369341528,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXUybBJtzkmFXBH5F8TVfR-nqTEmU7skks5tZZ9MgaJpZM4NAhLF
.

--
Üdvözlettel, Glück Gábor
+36-20-327-1897
www.gluckgabor.hu
<EMAIL_ADDRESS>

no progress, will close. Please comment for reopen

Having the same problem and cannot find a solution anywhere...

First and foremost try changing the USB cable. If replacement does not solve the problem, try checking for I2C address with I2C scanner. Set the I2C address correctly as otherwise measurement won't work.


Introduce new "Watcher" abstraction to replace fabric8:watch-spring-boot

Currently there is a top leve goal fabric8:watch-spring-boot which directly connects spring-boot as a technology to the the abstract goal. We already have fabric8:watch so the user would need to know in advance what tech is used.
This is (a) in contrast to the Maven philosophy and (b) is too much of coupling (and its too much to type). E.g. should we introduce goals like 'watch-vertx', 'watch-wildfly-swarm' then later ?
This issue does not question the awesome functionality that watch-spring-boot  brings on the table. The goal should be to hide this functionality behind fabric8:watch and automatically selected by the plugin when it detects that its about s spring-boot app.
Therefore I suggest to introduce the new concept of a Watcher (on the same footprint as Enricher or Generator) which abstracts a way the concrete implementation how to watch. This is flexible, easier to use from an UX perspective and open for additional watching features).

@rhuss I start working on this.

Awesome, thanks ! I added you as collaborator to the project, so that you can close / change / assign stuff, too.

@rhuss I've looked at the current implementation of watch and watch-spring-boot and started doing some refactoring (and still fixing bugs on watch-spring-boot). For my understanding, what's currently implemented in watch will be the default watcher, while the spring-boot one will be fired under certain conditions (almost like the generators). And we'll inject other watchers the same way later.
Refactoring means for me starting to pull stuff out of mojos and define a single generic watch mojo that delegates to some service. But the f8:watch mojo is tightly coupled with the docker:watch mojo. So should we change the 'd-m-p' first? Otherwise we are going to build a (temporary?) chain of delegating mojos. wdyt?

Yes we should do it for d-m-p, too, so that we can avoid the inheritance chain of Mojos (by trying to access the watch functionality directly in a backend class). Also, I wonder now how this works with OpenShift S2I as the build mechanism is different, so triggering the build works differently.

Yeah, I don't think the Docker watch can work for Openshift. But this is in line with our target of separating the Kubernetes/Openshift workflow.
That watcher will be set as "not applicable" when the platform mode is openshift and we will have a specific Openshift Watcher default implementation that will be based on.. oc rsync?

Agreed.
If haven't scratched my head enough for how to implement watch with OpenShift. Maybe just triggering a new build would make it, too ? (for a sledge hammer approach). But agreed, oc rsync support would be awesome, too.


[NumberField] Shift modifier key is weirdly sticky

Bug report
Current behavior

Open https://master--base-ui.netlify.app/react/components/number-field
Use the built-in macOS hotkeys to either:

Start a screen recording
Make a screenshot of the page via cmd shift 4 → spacebar → mouse click on the browser window

Click increment/decrement
Increments in steps of 10

https://github.com/user-attachments/assets/ba3188c9-4ad3-465c-b914-371b312eb474
Expected behavior
Increments in steps of 1
Search keywords:

It seems like the blur event of the window doesn't fire in this case (which is what's used to reset the "holding shift" logic), nor does visibilitychange work...


Sort by first_published_to_production, filter out sites without sitemetadata content

Blocked by https://github.com/mitodl/ocw-hugo-themes/issues/599
Pre-Flight checklist

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

What are the relevant tickets?
Closes #1188
What's this PR do?

Sorts the anonymous websites api response by reverse first_published_to_production field
Instead of filtering out sites with null Website.metadata (excludes all new sites created in studio), filter out sites without a sitemetadata resource.

How should this be manually tested?
Check the output of http://localhost:8043/api/websites in an incognito browser, make sure it is sorted by first_published_to_production , most recent first.
Any background context you want to provide?
Should not be merged until after https://github.com/mitodl/ocw-hugo-themes/issues/599 is released, otherwise the new courses carousel on the home page will break.

Codecov Report

Merging #1202 (20bbd5d) into master (2ba1d71) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1202      +/-   ##
==========================================
+ Coverage   90.86%   90.87%   +0.01%
==========================================
  Files         211      211
  Lines        8738     8739       +1
  Branches     1626     1626
==========================================
+ Hits         7940     7942       +2
  Misses        689      689
+ Partials      109      108       -1

Impacted Files
Coverage Δ

websites/serializers.py
97.82% <ø> (ø)

websites/factories.py
100.00% <100.00%> (ø)

websites/views.py
97.57% <100.00%> (ø)

websites/api.py
97.24% <0.00%> (+0.68%)
:arrow_up:

Continue to review full report at Codecov.

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


[yap 3.5.0-beta4] CallConfig not getting fetched correctly.

This is caused by a parameter change issue in getCallConfig();

This only occurred when running debug statements.

in master


[add-resource] New Plugin - XAPI

I would like to add my new plugin to the Grav Repository.
Here are the project details: https://github.com/gamahachaa/grav-xapi
Cheers

Added to GPM for next update


Remove Send bounds from scopes.

I want to run some code which refers to !Send types in parallel with some other code which do use Send types. Specifically name resolution (with !Send) and gated feature checking in rustc.

Closing this pull request as Zoxc is stepping back from compiler development; see rust-lang/team#316.


Revert change to ROSolar v1.1.1 versioning

Looks like the issue was that we had a remote version file in the repo that overrode the versioning in the zip, but when a new ROSolar update was released, netkan had to get the version from the release zip, and thus reverted the metadata to the old versioning. The zip has been updated, but netkan is not re-indexing a prior release, thus we need to change the metadata in the CKAN.

Tests succeeded and this looks fine to me.


Migrate from npm to pnpm

This should resolve #94.

Projects using pnpm can be deployed to Vercel with zero configuration, ref: Install Command
We had an issue with some imports that I fixed, @ericvalcik


Garage door firing left open notification when it should not.

Describe The Bug:

Garage door fires two back-to-back open events leading to two timers.
To Reproduce:

Open a garage door that fires two back-to-back open events.
Expected behavior:

Only one timer is created and fired for a door open event.
Logs:
7/26/2021, 7:14:36 PMContact Left Open BridgeGarage Door Left OpenSwitch set to => ON
7/26/2021, 7:14:43 PMContact Left Open BridgeGarage Door Left OpenSwitch currently set to => ON
7/26/2021, 7:14:43 PMContact Left Open BridgeGarage Door Left OpenSwitch set to => ON

Plugin Config:
{
            "name": "Garage Door Left Open",
            "timeout": 300,
            "accessory": "ContactLeftOpenAccessory"
        }

Screenshots:

NA
Environment:
HOOBS 4.0.92

Plugin Version: 1.0.1
Homebridge Version: 1.3.4
Node.js Version: 14.17.2
NPM Version: 6.14.13
Operating System: Debian

Should be fixed now.


Zooming is laggy/not smooth in inspection view

Currently the zooming functionality in inspection doesn't always work reliably making for a very laggy experience that can be frustrating.

@MichaelGoodale can you elaborate -- like doesn't work at all, or it's just slow?

looping in @mmcauliffe

Oh whoops, never saw this comment. It just tends to hang for a little bit when zooming, it's still usable, it's just a little irritating, and sometimes you have to scroll more than once to get it to start zooming. Just slower and laggier than it should be on a nice computer.

@MichaelGoodale, did this get fixed in your previous work on the detail view?  I remember there being some comments about bug fixing.

No, I fixed some aspects of the lagginess but I think there's just something fundamentally weird about the zooming that I can't quite figure out


tbselenium not working with Tor Browser 8.0

I have tried running my scripts with Tor Browser version 8.0 on Lubuntu 16.04:
https://www.torproject.org/dist/torbrowser/8.0/tor-browser-linux64-8.0_en-US.tar.xz
The browser is working fine when I start it from command line.
When I start it via tbselenium, it does not connect to the Tor process and issues the following error message:
"The proxy server is refusing connections".
The script works fine when I downgrade Tor Browser to version 7.5.6.

Thanks for reporting. Indeed, upgrading to v8 broke many tests.
In the meantime, please update geckodriver and seleniumto latest if you happen to have out of date versions. As you can see from the Travis test results, a lot of tests actually pass.

I am using the latest selenium version... but I thought we had to use geckodriver v0.17.0 according to the installation instructions. Is that not the case anymore?

I am using the latest selenium version... but I thought we had to use geckodriver v0.17.0 according to the installation instructions. Is that not the case anymore?

It won't be the case any more with TB 8.0. Will be updated to the latest geckodriver version.
I just checked: tbselenium & TB 8.0 work together nicely if you use external tor process, such as 1) system tor via tor_cfg=cm.USE_RUNNING_TOR or 2) stem (see example/stem_simple.py example).

This example works for me with Tor Browser v8.0, geckodriver v0.21.0 and selenium v3.12.0

8.0.4 tor & recommended gecko 0.17 also gives me this issue

I am facing the same problem, I also tried to install Selenium 3.3 as you have in the requirements but it says that selenium 3.3 is incompatible with tbselenium. Here you have the log from the installation of selenium 3.3: https://0bin.net/paste/ykQ0JFwr-qO+L6xR#Wx+h6tebNX+V-Wu/+dNOx55IiLIEyHkyp9f3l9T2pFP Let me know if I can do something else to fix this issue for me and other people who may face the same problem


Scrollbar pushing Ui to the left on appearance

Possible fix: https://stackoverflow.com/questions/35513264/pure-css-way-to-prevent-scrollbar-pushing-content-to-the-left

I made a fix for this in #1646


[Form] validation not triggered on change event

I've created a form and I was trying to set it up in such way that after validating the field, form will be revalidated. I've set settings.on to be "change" and form is being revalidated only after submitting/pushing enter button. JS fiddle for reference
http://jsfiddle.net/8jn80vuo/1/

Hi @WojtekF,
If I understood you correctly, you could use is valid check:
function setEntry() {
  $("#form")
    .form('set values', { Name: "some name", Value: 11 })
    .form('is valid')
}

Thank you for posting, but although it’s a valid usage question, we’ve limited GitHub Issues to bug reports and feature requests, keeping the board more manageable for maintainers; see the contributing guidelines for more information on what kind of posts should find themselves into the GitHub Issues board.
To get answers or feedback that might allow you to repost this issue, please use one of our other support resources:

Gitter chatroom
Official forums
StackOverflow

If you read the e-mail, I suggested to use is valid—this is wrong, sorry about that; I thought about one thing, and typed another. Please see the edited reply.

Hi @Banandrew
i think that I've not written correctly what the issue is. I've got another use case.
After setting values and validating the form onSuccess event is triggered and submit button is enabled.
After deleting the name the error message occurs so it means that field/form is not valid but submit button is still enabled so I can pass invalid data. on clicking submit button with these steps you'll see that the name passed is empty which is not correct behaviour.
Updated JSFiddle: http://jsfiddle.net/8jn80vuo/2/

@WojtekF Thank you. There’s currently no straightforward way to make the submit button disabled/enabled based on the validation status. The form is valid by default, so if you enter a valid value in one of the fields without touching the other, the form will be considered valid anyway, and you can’t really utilize available callbacks (as both of us tried); there’re several problems with that, but in short, the feature does make sense to exist in some form.

Hi @Banandrew,
The issue is not about the submit button but about onFailure/onSuccess not triggering after field validation. I've done some changes locally and my fix works for me.
I'd create a PR but I'm newbie to JS (0 commercial yrs, 5yrs in OOP). I can share my fix if you want so.

@WojtekF I checked it yesterday as well, the do get triggered properly, but not at the point where it’d be possible to use them to switch the button’s disabled state, and that’s why I tagged it as a general validation enhancement. Glad you found a workaround, but there’s no need for a PR; Jack will get back to it as soon as possible.

I also have the need to show another form after the first form have been validated, but onSuccess never trigger even when using on: 'change' event.


Idea for connecting wallet and dapp

After investigating with test-wallet and example-dapp.
An idea for integration is to provide a SDK to get the Chain Data easily, like you can provide a base url then it will handle forking for you.

maybe we can have two demo pages and the one is /wallet and another is/dappto give a demo how to use SDK to integrate.


✨ Providers api controller

What this PR does / why we need it:

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Part of #286
Depends on #288
Special notes for your reviewer:
Checklist:

[ ] squashed commits into logical changes
[ ] includes documentation
[ ] adds unit tests
[ ] adds or updates e2e tests

@furkatgofurov7 CI issues should be fixed now


Substitute a DAG node with circuit (substitute_node_with_circuit)

Follow up to https://github.com/Qiskit/qiskit-terra/pull/5225
Refactor to add substitute_node_with_circuit.

Submitting this as an issue in #5349.


broken zycore_INCLUDE_DIR in zycore-config.cmake

on nixos (zycore.nix)
both PACKAGE_PREFIX_DIR and CMAKE_INSTALL_INCLUDEDIR are absolute paths
so the resulting zycore-config.cmake looks something like
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
# ...
set_and_check(zycore_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}//nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/include")
set_and_check(zycore_LIB_DIR "${PACKAGE_PREFIX_DIR}//nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/lib")

zycore_INCLUDE_DIR evals to something like
/nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0//nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/include
example: zydis build fails with
CMake Error at /nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/lib/cmake/zycore/zycore-config.cmake:13 (message):
  File or directory
  /nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0//nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/include
  referenced by variable zycore_INCLUDE_DIR does not exist !
Call Stack (most recent call first):
  /nix/store/ny0cljlv9dnbf6m123mlcr0n2v1bp08q-zycore-c-1.5.0/lib/cmake/zycore/zycore-config.cmake:38 (set_and_check)
  CMakeLists.txt:109 (find_package)
  CMakeLists.txt:141 (locate_zycore)

https://github.com/zyantific/zycore-c/blob/419cde9e9246370935a351fb3cc80b02fbc6abd6/cmake/zycore-config.cmake.in#L14-L15
https://github.com/zyantific/zycore-c/blob/419cde9e9246370935a351fb3cc80b02fbc6abd6/CMakeLists.txt#L200-L203
possible solutions:
remove ${PACKAGE_PREFIX_DIR}/
use cmake_path(APPEND ...) to join paths

Ah yeah -- I forgot to fix this in the last release. I maintain the nixpkgs package for it and worked around it there via:
https://github.com/NixOS/nixpkgs/blob/fa12935a32af71ab3a8b4ff60ab3c37490eea336/pkgs/development/libraries/zydis/default.nix#L27-L30
We should really fix this here, though.


Add ToInt16(ReadOnlySpan)

public static short ToInt16(ReadOnlySpan value)

Can you provide a link to the method documentation?

https://learn.microsoft.com/en-us/dotnet/api/system.bitconverter.toint16?view=net-7.0

You cannot polyfill static methods on existing types.


[Improved] Fixing crash when rss feed has no attributes in  tag

This PR implements the same code as of https://github.com/bobby-brennan/rss-parser/pull/65 from @ricardoekm , with some improvements:

Slight difference at https://github.com/bobby-brennan/rss-parser/pull/65/commits/83600cf6c5d94e90ade667aa2c5e688e815f4cb8
Another bugfix resulting from missing result.rss.$ at parser.js at line 152
The mentioned RSS causing the crash was added to a new test (Travis is already passing)

Anyways, thanks @ricardoekm for already providing the codefix (I was trying to parse the same feed), so my contribution is mostly providing the passing test.
@bobby-brennan you should check you're confortable with the way we assume RSS 0.9 in case of missing metadata. I'd assume RSS 2.0, but @ricardoekm implemented as 0.9 and I went with it.

Thanks! Can you just revert package.json and package-lock.json? I'll update these when I release.
Other than that looks great!

@bobby-brennan will do.
actually, I'll submit an update on this PR, something that @ricardoekm hinted as well - a way to determine which RSS version should be default. I'll include it as a Parser option.
I'll push that and revert the package.json.

@bobby-brennan I think this version is solid.
I reverted package.json and lock to your current master. However, most dependencies have several updates, and updating doesn't break any tests. So I recommend regenerating the lock with up-to-date versions, but I'll leave it to you.
What I did here was to enable a new option:
let parser = new Parser({
  defaultRSS: 2.0
});

If not provided, a broken feed will crash, same as before, but if set, the parser will use the appropriate buildRSSX() method.
I provided a new test to check for this crash, and also added a README section telling about this option.
That's it! I hope it'll help other people.

Looks great! Thanks a bunch for the contribution.

@bobby-brennan I realized there's still a new build to be updated, do you mind to create one with my merged code?

I've published your change as 3.5.0, and some dependency updates in 3.5.1

@bobby-brennan I meant the distribution files in the /dist folder, those didnt't seem to have been updated

Whoops! Good catch - the dist was updated in 3.5.2


Suricata support

Add support for Suricata alert logs to zqd/zar.
Package Suricata with Brim in a similar manner as Zeek, running it on ingested pcaps.

Reminder for when this epic completes: get Brim listed on this page.


Italian mention

This article embeds the italian version
http://blog.wired.it/data/2013/11/05/ultima-fermata-per-gnocca-la-mappa-dei-luoghi-piu-lol.html
/cc @cortesimone

Thanks! My rusty Italian just about managed to translate the article (and Google Translate helped a bit too!)


yaml config setup flow

hey I was wondering if you'd accept a PR adding a setup via config file if I implement this? @hugobloem

Would definitely find this useful


[DOCUMENTATION]Product name has been pluralised - reword

Section 2.1 on page 5 says Some lower-power devices, such as Pi Zeroes,.... This should probably be reworded to state the actual product name, for example:
Some lower-power devices, such as Raspberry Pi Zero,...

Just to say - I've ben adding a separate issue for each thing I come across, per the instructions in the issue template, but if you would prefer such copy edit-related issues to be all in one issue then please let me know. Also, if you would prefer I don't submit copy edit-type issues, and leave it to internal copy editors, then that's fine too - just let me know.

Thanks, I've fixed this and it will be available in the next release.
(I'm fine to receive corrections, especially glaring typos! Obviously this documentation hasn't been through the formal process at this end yet, but that will happen in due course. In the meantime, I'm keen to "have something out there" to help folks get started.)

@andrum99 While glaring typos are okay, its probably best not to try and copy edit the document. The point of the being DRAFT watermark is to indicate that (amongst other things) the document has not gone through the copy edit process. These sorts of smaller CE issues will get picked up when that happens.

@andrum99 While glaring typos are okay, its probably best not to try and copy edit the document. The point of the being DRAFT watermark is to indicate that (amongst other things) the document has not gone through the copy edit process. These sorts of smaller CE issues will get picked up when that happens.

Thanks - I realised that would probably be the case, eventually. I will hold my fire in future.


Method comments are not copied to the generated code

It would be so helpful if we copy xml comments of the code as is to the generated method.
So, for the followings:
/// <summary>
/// It doesn't copy this summary to the generated code
/// </summary>
[HttpPost]
public async Task CommentIssue()
{
}

We could have something like this:
/// <summary>
/// It doesn't copy this summary to the generated code
/// </summary>
public async Task<Task?> CommentIssue(CancellationToken _token = default)
{
    using var result = await _client.PostAsJsonAsync($"/api/Problesm/CommentIssue/", new {}, cancellationToken: _token);
    return await result.Content?.ReadFromJsonAsync<Task>(cancellationToken: _token);
}

For some reason, this is return Task<Task> which is not making any sense.

@ysmoradi This will take longer to implement, it's tricker than I thought - it will get done, just working the other issues you've raised sofar first :)

@ysmoradi This is fixed with v3 :smile:  Enjoy!


phpbrew broken after self-update failure

here is the log. It seems although curl get nothing from server, phpbrew still overwrite the empty string to the executable phar
env: osX 10.10
xiami@xiamideMacBook-Pro ~/tmp> sudo phpbrew self-update
Password:
Updating phpbrew /usr/bin/phpbrew from master...

curl: (52) Empty reply from server
Version updated.
xiami@xiamideMacBook-Pro ~/tmp> phpbrew -v
Failed to execute process '/usr/bin/phpbrew'. Reason:
exec: Exec format error
The file '/usr/bin/phpbrew' is marked as an executable but could not be run by the operating system.
xiami@xiamideMacBook-Pro /tmp> ll /usr/bin/phpbrew
-rwxr-xr-x  1 xiami  wheel     0B  6 15 11:30 /usr/bin/phpbrew

Can you cat /usr/bin/phpbrew? I just tested self-update and it seems fine. We could download to a tmp file and only overwrite if successful to avoid this kind of error, you probably had a bad transfer.

@marcioAlmada I've reinstalled phpbrew, but you can read last line of my log, it indicates /usr/bin/phpbrew is an empty file(0B).
xiami@xiamideMacBook-Pro /tmp> ll /usr/bin/phpbrew
-rwxr-xr-x  1 xiami  wheel     0B  6 15 11:30 /usr/bin/phpbrew

there's an easy way to reproduce this problem, use phpbrew self-update, and press ctrl+c when downloading.

I think you need to re-download the phar file from master.

On Jun 15, 2015, at 14:04, jhdxr<EMAIL_ADDRESS>wrote:
there's an easy way to reproduce this problem, use phpbrew self-update, and press ctrl+c when downloading.
—
Reply to this email directly or view it on GitHub https://github.com/phpbrew/phpbrew/issues/524#issuecomment-111936219.

@c9s yes, of course I can, and it's how I fix the phpbrew. However I think the program should have the ability to detect exceptions and process properly.

fixed with #525


Fallback to $_SERVER variable on cli

Fallback to $_SERVER variable on cli (e.g. when using doctrine migrations on Silex or something)
I have a silex app with a custom console to run doctrine-migrations on build:
# The hooks that will be performed when the package is deployed.
hooks:
    # Build hooks can modify the application files on disk, but not access any services like databases.
    build: |
      php console.php migrations:migrate -n
      npm install
      bower install

I've noticed that the library didn't retrieved the environment variables, so I used the $_SERVER array as a fallback.

Environment variables should be in $_ENV (except where there is a misconfigured variables_order).
But, as you have noticed, these variables are not available at build time (because builds are supposed to be independent of an environment).

Yes. I was not really aware of the difference between build: and deploy: at the time writing. Fixed the issue I've had, with running my task at deploy stage.


Adds the ability to use slots for labels

Adds support for two new slots, checked and unchecked.  Places the label html inside of a slot to act as a default for that slot.
This allows for use of Vue components as labels,  I've updated the example to use the vue-fontawesome library. https://github.com/FortAwesome/vue-fontawesome

👍


Doc updates

[ ] Figure out the meshdb-cluster stuff (first time deploy)
[ ] Finish docs
[ ] frr + haproxy

Closing the following PRs in favor of this one:

https://github.com/nycmeshnet/meshdb/pull/368
https://github.com/nycmeshnet/meshdb/pull/362


Is Unity still Alive?

We are heavily using Spring.NET today and thinking of replacing it  with a different DI tool as Spring.NET seems to be dead.  our first preference was Unity but looks like Microsoft is not supporting this any more . I see very little activity on this and we don't want end up in a situation which we are in now with Spring.NET.
Appreciate any feedback.

Microsoft stopped working on Unity in 2014. Since then it is community supported.
Unity repository has been split into all these repositories and all development is done in individual projects.
It is being actively supported and developed. Hope that helps.

Thank you ENikS for quick response. Appreciate your help. This definitely helps.


Allow include backticks in default quote characters for *.vue files, but only inside

This change seems simple enough to implement across the entire file, but I was wondering if someone could help with limiting the change to only inside the <script> tags of the file?

Can you give me an example, not sure I fully get the use case.
Also, not sure it is a good idea to put too much content specific in this logic, but anyway, I would be interested to better understand the usecase.

With *.vue files, there are three sections you can have: the template, script, and style, each opened and closed like in HTML:
<template>
    <!-- HTML goes here -->
</template>

<script>
    // Javascript goes here
</script>

<style>
    // CSS goes here
</script>

I was hoping to add the backticks as an option for toggling, but only while inside the <script> tags, which is where you would write your JS/TS code. Everywhere else, the backticks wouldn't be valid syntax.

@salvadornico Right now the plugins follows the context sent by VSCode and I am not sure I want to be smarter than that. Would be clunky, might have some unwanted side effect.

I disagree with the premise of this issue. It is common enough to embed javascript in the html section of a vue SFC so having the ability for backticks there makes sense.

seconded, I need this feature

Right now, this plugin follows the language context sent by VSCode. Trying to understand file-specific context outside of VSCode context would be quite a task and might have some unwanted effect. I respect other perspectives, but for now, this is out of the scope of this plugin.

Btw, I am planning to merge #41 which will add backtick to vscode vue.js context.


[T3A2][T17-A2]Clara Tan

made feedbackToUser private
added getter function for getFeedbackToUser

Hi Clara! Excellent job! Please add a comment - Ready for review so that I can accept your submission. Thank you and kudos for submitting early!

Ready for review


Shortcuts to open favorite software - PowerToys Run

Hi!
I got an idea that there would be shortcuts right under the search bar. You would be able to quickly open the selected programs via hotkeys such as CTRL+1 or CTRL+2 etc. The hotkeys might even be user-selected? :)
The user would also be able to select how many shortcuts there would be. 0-10 maybe? In my mockup, I just selected 5 :)
This way it would be way faster to open programs. It would eliminate the need to type the name of frequently used programs.
I would probably choose software that I open very often at work/school 😃
Here is my mockup

you can currently do this with the taskbar.  WinKey+Number Key.
Wouldn't that be a better way since this duplicates that behavior?

you can currently do this with the taskbar. WinKey+Number Key.
Wouldn't that be a better way since this duplicates that behavior?

Thanks for your message!
I like to have my taskbar clean. I currently have 3 things pinned and I would like to keep it that way 😃 I understand your point and it's valid. I can't really argue against it, other than saying that I would probably use the shortcuts in PowerToys Run more often than the taskbar shortcuts "WinKey+Number Key". 😄

If you have .lnk shortcut files pointing to your apps (you can find many in the start menu folder) you can open the properties and set a hotkey for the file. It's captured by Windows, so Don't even need PT Run (to be running) for that.

@TobiasIpsen Is this still an issue (request) for you?

I still think it would be a cool addition but I don't need it, no.

OK. I'm closing this issue for housekeeping purposes.


systemd or init.d daemon startup file

it would be nice to have a systemd .service or init.d startup script shipped with this, to make it easier to fire up our own transit / relay servers and adress the "federation" problem (#72).
such a file could detail what permissions are necessary for wormhole to run, for example. this would then make it easier to package the server in distributions. for now, Debian ships the server code, but it doesn't startup automatically and configuration is left to the user.

Any idea what a unit file for this would look like? The command to run is twist wormhole-mailbox --usage-db=.../path/to/usage.sqlite. But of course the twist executable has to come from an environment that has this package installed, so the command really depends upon how exactly we got installed. hmm. Maybe we should just put a skeleton of the unit file into the README, and suggest that whoever is packaging the program should fill in the details.
Oh, and one correction to my note from 2016: the mailbox server isn't limited to a single APPID.. those are provided by the clients, and the server just makes sure to only connect clients who use the same appid. So what I said about "not recommend packaging scripts which launch a server with the default APPID", ignore that, it doesn't make any sense.

i'd say assume twist is in the path and move on. aren't there good defaults for --usage-db? like /var/lib/wormhole/mailbox.sqlite or something?
here's a trivial example from the irker program:
# Copyright 2012 Wulf C. Krueger<EMAIL_ADDRESS># Distributed under the terms of the BSD LICENSE

[Unit]
Description=Internet Relay Chat (IRC) notification daemon
Requires=network.target
Documentation=man:irkerd(8) man:irkerhook(1) man:irk(1)

[Service]
EnvironmentFile=-/etc/default/irker
ExecStart=/usr/bin/irkerd $IRKER_OPTIONS
User=irker

[Install]
WantedBy=multi-user.target
Alias=irker.service


Add failing test fixture for ParamReturnAndVarTagMalformsFixer

@puniserv I cherry-picked your commit at PR https://github.com/symplify/symplify/pull/3731


Update grunt-html

[ ] We'll probably need to tweak Travis to use OpenJDK 8 before this is merged
[ ] And backport this to v3

/CC @cvrebert @patrickhlauke

From a quick look, I had to switch to java for the travis project. I'm experimenting with other solutions but they seem to be slower.
If anyone has any ideas please let me know.

If only https://github.com/travis-ci/travis-ci/issues/4090 was implemented.. :disappointed:

So, should I switch to java in the meantime? It also seems unlikely that Travis will update to OpenJDK 8 as the default for now so we either switch to java or require sudo and install it ourselves; the latter would be a lot slower, I suspect.

Yes, I agree. Guess we'll have to invoke nvm ourselves, which won't be too hard.

All right, I'll get to it this evening.

@cvrebert: Seems to fail in nvm. Any ideas?

@XhmikosR Try this matrix:
matrix:
  - NODE_VERSION=5 TWBS_TEST=core
  - NODE_VERSION=4 TWBS_TEST=core
  - NODE_VERSION=5 TWBS_TEST=validate-html
  - NODE_VERSION=5 TWBS_TEST=sauce-js-unit

Thanks @cvrebert, that seems to fix it the first build.
I thought I'd need a && or something but apparently not.
Now, there are issues due to caching and the different node.js versions...

Looks like we'd need https://github.com/travis-ci/travis-ci/issues/4393

Looks like we may have to stick with language: node_js and accept the slowness of installing JDK8 ourselves.

All right I'll give it a go later unless you beat me to it. In that case
just commit on this branch.
On Jan 28, 2016 09:39, "Chris Rebert"<EMAIL_ADDRESS>wrote:

Looks like we may have to stick with language: node_js and accept the
slowness of installing JDK8 ourselves.
—
Reply to this email directly or view it on GitHub
https://github.com/twbs/bootstrap/pull/19029#issuecomment-176033864.

@cvrebert: this doesn't seem to work either yet :/ Maybe I'm missing something...

Seems to be working, but OpenJDK would probably be simpler and faster to install than Oracle Java.

@cvrebert: so we only need openjdk-8-jre?

@cvrebert: I tried openjdk-8-jre but doesn't seem to work.

@cvrebert: can you check again now? It seems using the Trusty image works fine.

LGTM

All right, I'll clean up the branch and merge. Can you backport it to v3?

Ok.


Webcam does not play

Hi, the webcam doesn't appear to display upon testing (and changing the webcam name to the exact requirement).

Any thoughts?
Thanks sir. :)
ffmpeg.exe is placed into the project root also.

Hello Sean, can you show me the log? Thanks

Hi friend, looking at the log it appears this is the following issue;
{"level":"ERROR","ts":"2023-03-27 14:27:32","file":"webrtc-ffmpeg/manage_streams.go:151","msg":"RunCommand failed","error":"exec: \"C:\\ffmpeg\\ffmpegwebrtctes2\\ffmpeg\": file does not exist"}
I have placed ffmpeg in both the root folder and also as an additional folder in the root of the project (known as ffmpeg).
However this issue occurs.

this error show that you are not in the same directory with project. So can you check that again, cd to the project and run "main serve wf". It's better if you can give a short video!!

Hi, I've needed to use 'lets-go' instead of 'main', ffmpeg is in the exact same folder as the go project

Hi sir, I can send you the video via discord or email, whichever suits best.  Thanks! :)

this is my tag nkien0204#6324. Thanks

Resolved by changing


Show dataet licences URL in PermiessionDenied message

This PR adds details on the URL where users can accept missing licences.

Tested locally, I get:
Not all the required licences have been accepted; please visit http://cds2-lf-dev-cds.cci2.bopen.eu/datasets/reanalysis-era5-single-levels?tab=download#manage-licences to accept the required licence(s).

Manually adding the id to the HTML makes the link to fully work as expected


Fix issues with VS Code 1.26.1 merge

List of issues:
High priority bugs

[x] Execute query doesn't render results @mattirv
[x] Query editor toolbar disappears when reloading tabs after hot exit @mattirv

Lower priority bugs

[ ] Profiler has similar issues to query execution with results not rendering
[ ] Not all tests pass
[ ] Opening Agent dashboard fails
[ ] Show plan no longer works

Other things to look at

[ ] Editor positioning code changed, so make sure it's still working correctly
[ ] Model view tree control may be broken due to VS Code tree interface changes
[ ] OnAfterDocumentOpen editor callback is gone so see if the removed code needs to be replaced somehow
[ ] Make sure archived build works on all platforms

Just fixed the "Query editor toolbar disappears when reloading tabs after hot exit" and pushed it right to the merge branch. The file that we had edited to enable hot exit for query editors got moved as part of the editor group changes so the edits had to be reapplied

I think you've mentioned the wrong one.


[FIX] JMAP urn:ietf:params:jmap:submission submissionExtensions shoul…

…d be a map
Default JSON formatting renders the map as an iterable, so as a JSON collection instead of the desired JSON object.

org.apache.james.jmap.rfc8621.memory.MemoryCustomMethodTest.getShouldReturnCorrectSession

JSON documents are different:
Different value found in node "accounts.29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6.accountCapabilities.urn:ietf:params:jmap:submission.submissionExtensions", expected: <[]> but was: <{}>.
Different value found in node "capabilities.urn:ietf:params:jmap:submission.submissionExtensions", expected: <[]> but was: <{}>.

Related


E404 - Package Not Found in npm Registry

Description:
I encountered a 404 Not Found error when trying to install the package @hugeicons/react via npm. It seems that the package is not available in the npm registry.
Steps to Reproduce:
Run the following command:
bash
npm install<EMAIL_ADDRESS>or npm Install
The following error is returned:
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@hugeicons%2freact - Not found
npm ERR! 404
npm ERR! 404  '<EMAIL_ADDRESS>is not in this registry.

Expected Behavior:
The package @hugeicons/react should be successfully installed from the npm registry.
Actual Behavior:
The npm registry returns a 404 Not Found error, indicating that the package cannot be found.
Environment:
Node.js Version: v22.2.0
npm Version: v10.7.0

@cimplify-ai This issue has been fixed in new release today. e have replaced huge icons with open source lucide icons.


Tooltip on icon issue

I found an issue with the tooltips when placed on icons. The text dosnt't show but there is a small box with the correct color and position.
https://codepen.io/oliverjrose99/pen/zzyvop?editors=1100

@oliverjrose99 Because Icons and Tooltips both use ::before and ::after trick. It is a bug and I will think about how to fix it.

@oliverjrose99 It works only when you add Tooltips in the has-icon-left div, which is the wrapper of the form-input and icons. Is this perfect for your scenario?


add missed isNull check in createActions

This PR adds null payload creator support in createActions for consistency with createAction.
See #239 and #169.

This PR still doesn't deal with handleActions however.

@Parakleta In what way should it deal? I'm interested in this PR (:

Sorry for being late here, but can you update this PR please? Would be happy to fix it asap.


Bug in SYSTEMCOUNTER

As described in https://bugs.freedesktop.org/show_bug.cgi?id=23403 the SYSTEMCOUNTER struct in sync extension is bugged.
It needs a global pad instead of a last-field pad.
The solution is to substitute index += buffer_pad(block_len, 4) with index += buffer_pad(index, 4) on these lines
https://github.com/bread-graphics/breadx/blob/master/src/auto/sync.rs#L88
https://github.com/bread-graphics/breadx/blob/master/src/auto/sync.rs#L104
So consequently the size method needs a rewrite too.
The bug is still open since 2009, you can be the first one implementing the protocol in the right way (except for libx11).

 partly off-topic, feel free to delete this comment
I was just passing by (looking for something else), noticed the following and wondered what x11rb does (since the bug is about C compiler padding, x11rb should not be affected):

you can be the first one implementing the protocol in the right way (except for libx11).

Here is a port of the example from the above bug:
use x11rb::rust_connection::RustConnection;
use x11rb::protocol::sync::{self, ConnectionExt as _};

fn to_i64(input: sync::Int64) -> i64 {
    (i64::from(input.hi) << 32) | i64::from(input.lo)
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let (conn, _screen) = RustConnection::connect(None)?;
    let (major, minor) = sync::X11_XML_VERSION;
    conn.sync_initialize(major as _, minor as _)?.reply()?;
    let list = conn.sync_list_system_counters()?.reply()?;
    for counter in list.counters {
        let name = std::str::from_utf8(&counter.name)?;
        println!("counter {:#x}: {} (resolution: {})", counter.counter, name, to_i64(counter.resolution));
    }
    Ok(())
}

Output:
counter 0x772: DEVICEIDLETIME 15 (resolution: 4)
counter 0x771: DEVICEIDLETIME 14 (resolution: 4)
counter 0x770: DEVICEIDLETIME 13 (resolution: 4)
counter 0x76f: DEVICEIDLETIME 12 (resolution: 4)
counter 0x76e: DEVICEIDLETIME 11 (resolution: 4)
counter 0x76d: DEVICEIDLETIME 10 (resolution: 4)
counter 0x76c: DEVICEIDLETIME 9 (resolution: 4)
counter 0x76b: DEVICEIDLETIME 8 (resolution: 4)
counter 0x76a: DEVICEIDLETIME 7 (resolution: 4)
counter 0x769: DEVICEIDLETIME 6 (resolution: 4)
counter 0x768: DEVICEIDLETIME 5 (resolution: 4)
counter 0x767: DEVICEIDLETIME 4 (resolution: 4)
counter 0x766: DEVICEIDLETIME 3 (resolution: 4)
counter 0x765: DEVICEIDLETIME 2 (resolution: 4)
counter 0x70: IDLETIME (resolution: 4)
counter 0x6f: SERVERTIME (resolution: 4)

Looks correct to me. And I can get not the C example to work, even with the example from the bug.
xtrace on the above agrees:

000:>:0003:528: Reply to ListSystemCounters: counter={counter=0x00000772 resolution=4 name='DEVICEIDLETIME 15' },{counter=0x00000771 resolution=4 name='DEVICEIDLETIME 14' },{counter=0x00000770 resolution=4 name='DEVICEIDLETIME 13' },{counter=0x0000076f resolution=4 name='DEVICEIDLETIME 12' },{counter=0x0000076e resolution=4 name='DEVICEIDLETIME 11' },{counter=0x0000076d resolution=4 name='DEVICEIDLETIME 10' },{counter=0x0000076c resolution=4 name='DEVICEIDLETIME 9' },{counter=0x0000076b resolution=4 name='DEVICEIDLETIME 8' },{counter=0x0000076a resolution=4 name='DEVICEIDLETIME 7' },{counter=0x00000769 resolution=4 name='DEVICEIDLETIME 6' },{counter=0x00000768 resolution=4 name='DEVICEIDLETIME 5' },{counter=0x00000767 resolution=4 name='DEVICEIDLETIME 4' },{counter=0x00000766 resolution=4 name='DEVICEIDLETIME 3' },{counter=0x00000765 resolution=4 name='DEVICEIDLETIME 2' },{counter=0x00000070 resolution=4 name='IDLETIME' },{counter=0x0000006f resolution=4 name='SERVERTIME' };

Thanks for letting me know. I'm currently working on a new implementation of the code generator, and I'll be sure to include this in it.


Provide a way to navigate the non-synced folders

Even with the recursive mapping mentioned in issue #7 , it would be nice to have a way to pick folders form the server, before downloading.
Something like Source Control Explorer in Visual Studio (so, like dired in Emacs).
OR
Provide a download command that autocompletes directory names based on what's on the server using "tf dir" to get the listings.
(Might be worth it to cache the output "tf dir -recursive" for folders.)

Closed with commit 691a79b.


Join queue modal should show live ticker for signup gap

When a student tries to sign up and the signup gap hasn't elapsed, we show them a message. Right now it shows the static signup gap duration. It should in fact show a live ticker of the actual time remaining for that student.

Note that this is different from the message you see when logged in as a user who needs to wait, which looks like this:

This issue regards the message you get when you don't have to wait, but you try to add someone to your ticket that does.


My repository no longer displays the languages used

Preliminary Steps
Please confirm you have...

[x] reviewed How Linguist Works,
[x] reviewed the Troubleshooting docs,
[x] considered implementing an override,
[x] verified an issue has not already been logged for your issue (linguist issues).

Problem Description
After one commit, all the languages that were being used in the repository are gone and it looks like there is no language.
URL of the affected repository:
https://github.com/Allons-y-Corp/allonsve
Last modified on:
2020/02/02
Expected language:
PHP
JS
CSS
OTHER
Detected language:
None

You've committed a .gitattributes file with an incorrect override. Either delete the file or correct the override in it.

Oh, Thanks!


cronie: init at 1.5.5

Motivation for this change
Add https://github.com/cronie-crond/cronie
Things done

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

[X] NixOS
[x] macOS
[ ] other Linux distributions

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

No module additions or changes. Out of curiosity how are you using this?

I just found it exists, and seems to be well maintained by the people of Fedora.
I'm going to create another PR, in a day or two, to make cronie to be used by the cron module.

I wondered if that was where this was going :+1:


Add spaces in README

Signed-off-by: Aadhitya A<EMAIL_ADDRESS>Pull Request
Before creating a PR, just answer a below questions to get started...

What type of change does your PR bring?

[ ] Bug fix
[ ] Feature Update
[ ] Issue fix
[ ] Doc fix/update
[ ] Other

What OS you're using right now?

[ ] Windows 7 & above
[ ] Linux (Ubuntu, Debian)
[ ] macOS

If this PR fixes a bug, refer the issue number
Solves Issue:

If this PR brings a feature, what kind it is?

If this PR is related to an issue or it's discussed, refer issue here
Issue:

Any else you want to convey?

Does your PR work in stable manner?

[ ] Yes
[ ] No

@alphaX86  I've made the changes review it

@alphaX86  I've made the changes review it


Iris value as a variable

It would be ace if the Exposure - Iris > Set > Iris Setting value could be entered as a variable. Reason behind this would be so that we could make a trigger that takes the currrent Auto Iris value and make it the current Manual Iris value when switching from Auto to Manual to avoid exposure jumps.
From my undertsanding, currently the Exposure - Iris > Set > Iris Setting value can only be entered as a number, I believe that there needs to be a $ GLOBE symbol next to the value box to allow variables to be entered.
PS - Thanks for the new Panasonic Camera module , so good  !!

I have to check that in detail.
Sometimes the position read value type/range is not equal to the set value.
But maybe it is easy to.

A number input field is used here, in which Companion does not support variables.
https://bitfocus.github.io/companion-module-base/interfaces/CompanionInputFieldNumber.html
I'm sorry, I can't change that at the moment with reasonable effort.

Fixed by #19


create a utils folder and change the  constants to use the local util…

this pull request gives us a utils folder in frc.robot.utils so we have a place to put useful tools

@alt09  I've approved this for you if you approve on your own you can merge when ready and let the team know to pull


Question about the equations in the paper

Q1

Is it true that each element of n is divided by c ? not f?
Also, what is the meaning of p' value?
undistorted pixel?
Q2

In this equation, I'm not sure why $z_d$ is multiplied twice.
Q3

In this equation, why divide it by $r_{A,d} \cdot r_{A,d}$ instead of $||r_{A,d}||$ ?
Q4

In this equation, round L in the last term should be round r?

Thanks for your questions.
We'll double check your questions here and soon give you the reply.

An update for this issue.

We have normalized the coordinate of each pixel to [-1, 1] when applying radial distortions. Using f instead of c could also enhance the camera model. However, we expect changing the radial parameters could somewhat show similar behaviors. This setups were fine for our experiments. (+p' is the pixel coordinate after distortions have been applied)
2, 3, 4. You are right. We will update the arXiv preprint soon. Fortunately, the pointed parts do not cause errors in our code or performance. Thanks for your suggestion.

About Q1.
I thought the purpose of the eq5 is to convert pixel coordinates to normalized coordinate(z=1) as other distortion model does, but what you actually intended was to make pixel coordinates range from -1 to 1 right?
And if p' is distorted pixel coordinates, then the ray direction in eq 8 is a distorted ray direction?
I expected p' to be undistorted pixel coordinates so it's a bit confusing.
About Q2,3,4
Thank you for your confirmation. You cleared things up.


Set/UnsetWriter asymmetry

SetWriter and UnsetWriter on Color are not symmetric when it comes to the autodetection of support: this has created an issue that was difficult to understand in code i have been working on.
Namely, SetWriter delegates the autodetection to isNoColorSet(), while UnsetWriter() does the same, but checks again the global NoColo flag (which is also consulted in isNoColorSet()). The consequence is that when global autodetected NoColor is set, but Color has been forced to not-NoColor (sorry for the double negation), escape sequences are opened, but never closed.
This looks like a minor oversight. See below the proposed change, maybe a bit small to deserve a pull request.
diff --git a/color.go b/color.go
index 81094e8..d79a24c 100644
--- a/color.go
+++ b/color.go
@@ -205,10 +205,6 @@ func (c *Color) UnsetWriter(w io.Writer) {
return
}
-       if NoColor {
-               return
-       }
-
fmt.Fprintf(w, "%s[%dm", escape, Reset)
}

@ataypamart would you like to open a Pull Request? Happy to go over it.


Unable to identify network type (mainnet-node

When starting with Ergo, dev branch, stratum is waiting for a unknown parameter :
[2022-07-08 11:34:36.8716] [I] [ergo1] Daemon is synced with blockchain
[2022-07-08 11:34:36.9143] [E] [ergo1] Unable to identify network type (mainnet-node
[2022-07-08 11:34:36.9143] [E] [Core] Cluster cannot start. Good Bye!
[2022-07-08 11:34:36.9143] [I] [Lifetime] Application is shutting down...
I've never seen this kind of parameter in the config.
I a using a node in version 4.0.34-0-a4d1e62f-20220705-1040-SNAPSHOT

Unable to reproduce this using ergo-4.0.34.jar.

@oliverw I finally figured out, I had added a property in the ergo node conf: scorex { network { nodeName = "mainnet-node"
one way or another, mc was taking it and mixing it with something else for some preflight check…

Interesting and good to know how this can happen. 👍


[13주차] rl/ppo/index.html 백혜림

What does this PR do?
Added Korean files for week 14 in the docs/ko/

Change docs folder file which written in English to Korean.
Translate rl/ppo/indexhtml

Before submitting

[x]  This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).

[x] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting html and css

[ X ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
@Bandi120424 , @Jieun-Park99 , @kimdahyeon977, @mlleo , @movie5, @nehcream2od, @rimiyeyo, @russellgeum @Youngmi-Park
Pseudo Lab, Please review this PR.

49번째 줄 home을 홈으로 번역해도 링크가 타지나요...? 다시 home으로 해야될거 같기도 합니다...!


Error occurred while disassembling class Lrx.observers.TestObserver; - skipping class

org.jf.util.ExceptionWithContext: Invalid element width: 0
at org.jf.dexlib2.dexbacked.instruction.DexBackedArrayPayload.getArrayElements(DexBackedArrayPayload.java:109)
at org.jf.baksmali.Adaptors.Format.ArrayDataMethodItem.writeTo(ArrayDataMethodItem.java:53)
at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:240)
at org.jf.baksmali.Adaptors.ClassDefinition.writeDirectMethods(ClassDefinition.java:281)
at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:111)
at org.jf.baksmali.Baksmali.disassembleClass(Baksmali.java:152)
at org.jf.baksmali.Baksmali.access$000(Baksmali.java:46)
at org.jf.baksmali.Baksmali$1.call(Baksmali.java:76)
at org.jf.baksmali.Baksmali$1.call(Baksmali.java:74)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Problems are the Smalis, don't know exactly why.

Looks like an upstream issue with smali - https://github.com/JesusFreke/smali/issues/687

This also looks like it's similar/same as the https://github.com/JesusFreke/smali/issues/526 smali issue submitted a year +/- ago.
Possibly the same issue that might have creeped back up again @iBotPeaches?
~Ibuprophen

Be aware, they might took advanges of glitch exploits to prevent apktool from decompiling like they added file with blank file name inside. It can be resolved by deleting the file with blank file name using 7-Zip or Winrar
I can show you this glitch example

Error copying file: assets
	at brut.androlib.Androlib.decodeRawFiles(Androlib.java:160)
	at brut.androlib.ApkDecoder.decode(ApkDecoder.java:171)
	at brut.apktool.Main.cmdDecode(Main.java:164)
	at brut.apktool.Main.main(Main.java:73)
Caused by: brut.directory.DirectoryException: Error copying file: assets
	at brut.directory.DirUtil.copyToDir(DirUtil.java:91)
	at brut.directory.AbstractDirectory.copyToDir(AbstractDirectory.java:208)
	at brut.androlib.Androlib.decodeRawFiles(Androlib.java:147)
	... 3 more
Caused by: brut.directory.DirectoryException: Error copying file:
	at brut.directory.DirUtil.copyToDir(DirUtil.java:88)
	at brut.directory.DirUtil.copyToDir(DirUtil.java:61)
	at brut.directory.AbstractDirectory.copyToDir(AbstractDirectory.java:198)
	at brut.directory.DirUtil.copyToDir(DirUtil.java:77)
	... 5 more

Again, just showing. No need to fix it
There is new classes.dex glitch I just found. I will report new issue soon

Upstream was fixed. Will be in v2.5.0


can't insert new line

I can't seem to find a way to insert text that contains a new line character.
I've tried many ways of inserting the new line character, but it never shows up in the generated pdf.
Any solutions?

I found the solution, but not gonna post it here. Get rekt.


Remove Pagy in favour of cursor-based pagination

Closes: https://github.com/Shopify/maintenance_tasks/issues/362
As mentioned in the issue, Pagy uses offset-based pagination, which decreases in performance as the collection of elements being paginated grows. It doesn't scale very well, and queries that use OFFSET are outright banned in Core for performance reasons. A cursor based pagination strategy queries based on a specific point in the dataset (the cursor), and works well for
sequential datasets / datasets with ordered attributes (maintenance_tasks_runs table is guaranteed to be sortable by created_at / id).
This PR introduces a RunsPage model that handles generating a "page" of Runs based on a cursor (id). Instead of calling TaskData#previous_runs and passing this to pagy to be paginated, the TasksController#show now initializes a new  RunsPage with this relation, and passes a cursor if it receives one from the params. RunsPage has three methods - #records is the runs to be rendered on the current page, #next_cursor fetches the cursor to be used in order to move to the next page, and last? is used by the views to prevent showing the Next page link if we're on the last page.
I opted to keep these in a separate model instead of in TaskData because it was feeling like a clump of related data / behaviour and I wanted to be able to store the relation / cursor in ivars instead of having to pass them around as params in TaskData methods.
I also added a system test for pagination, but maybe we don't need this, let me know.

@etiennebarrie could use your 👀  on this please!

@etiennebarrie I've tightened up the queries on this. Now they look something like this:
Processing by MaintenanceTasks::TasksController#show as HTML
  Parameters: {"cursor"=>"16", "id"=>"Maintenance::UpdatePostsTask"}
  MaintenanceTasks::Run Load (0.2ms)  SELECT "maintenance_tasks_runs".* FROM "maintenance_tasks_runs" WHERE "maintenance_tasks_runs"."task_name" = ? ORDER BY "maintenance_tasks_runs"."created_at" DESC LIMIT ?  [["task_name", "Maintenance::UpdatePostsTask"], ["LIMIT", 1]]
  ActiveStorage::Attachment Load (0.1ms)  SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_type" = ? AND "active_storage_attachments"."name" = ? AND "active_storage_attachments"."record_id" = ?  [["record_type", "MaintenanceTasks::Run"], ["name", "csv_file"], ["record_id", 90]]
  MaintenanceTasks::Run Exists? (0.2ms)  SELECT 1 AS one FROM "maintenance_tasks_runs" WHERE "maintenance_tasks_runs"."task_name" = ? AND "maintenance_tasks_runs"."id" != ? AND (id < '16') LIMIT ?  [["task_name", "Maintenance::UpdatePostsTask"], ["id", 90], ["LIMIT", 1]]
  MaintenanceTasks::Run Load (0.3ms)  SELECT "maintenance_tasks_runs".* FROM "maintenance_tasks_runs" WHERE "maintenance_tasks_runs"."task_name" = ? AND "maintenance_tasks_runs"."id" != ? AND (id < '16') ORDER BY "maintenance_tasks_runs"."created_at" DESC LIMIT ?  [["task_name", "Maintenance::UpdatePostsTask"], ["id", 90], ["LIMIT", 20]]
  ActiveStorage::Attachment Load (0.2ms)  SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_type" = ? AND "active_storage_attachments"."name" = ?  AND "maintenance_tasks_runs"."id" != ? ORDER BY "maintenance_tasks_runs"."created_at" DESC  [["task_name", "Maintenance::UpdatePostsTask"], ["id", 90]]

Compared to before, which was:
Processing by MaintenanceTasks::TasksController#show as HTML
  Parameters: {"cursor"=>"16", "id"=>"Maintenance::UpdatePostsTask"}
  MaintenanceTasks::Run Load (0.2ms)  SELECT "maintenance_tasks_runs".* FROM "maintenance_tasks_runs" WHERE "maintenance_tasks_runs"."task_name" = ? ORDER BY "maintenance_tasks_runs"."created_at" DESC LIMIT ?  [["task_name", "Maintenance::UpdatePostsTask"], ["LIMIT", 1]]
  ActiveStorage::Attachment Load (0.1ms)  SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_type" = ? AND "active_storage_attachments"."name" = ? AND "active_storage_attachments"."record_id" = ?  [["record_type", "MaintenanceTasks::Run"], ["name", "csv_file"], ["record_id", 90]]
  MaintenanceTasks::Run Exists? (0.2ms)  SELECT 1 AS one FROM "maintenance_tasks_runs" WHERE "maintenance_tasks_runs"."task_name" = ? AND "maintenance_tasks_runs"."id" != ? AND (id < '16') LIMIT ?  [["task_name", "Maintenance::UpdatePostsTask"], ["id", 90], ["LIMIT", 1]]
  MaintenanceTasks::Run Load (0.3ms)  SELECT "maintenance_tasks_runs".* FROM "maintenance_tasks_runs" WHERE "maintenance_tasks_runs"."task_name" = ? AND "maintenance_tasks_runs"."id" != ? AND (id < '16') ORDER BY "maintenance_tasks_runs"."created_at" DESC LIMIT ?  [["task_name", "Maintenance::UpdatePostsTask"], ["id", 90], ["LIMIT", 20]]
  ActiveStorage::Attachment Load (0.2ms)  SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_type" = ? AND "active_storage_attachments"."name" = ?  FROM "maintenance_tasks_runs" WHERE "maintenance_tasks_runs"."task_name" = ? AND "maintenance_tasks_runs"."id" != ? ORDER BY "maintenance_tasks_runs"."created_at" ASC LIMIT ?  [["task_name", "Maintenance::UpdatePostsTask"], ["id", 90], ["LIMIT", 1]]
  ActiveStorage::Attachment Load (0.1ms)  SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_type" = ? AND "active_storage_attachments"."name" = ? AND "active_storage_attachments"."record_id" = ?  [["record_type", "MaintenanceTasks::Run"], ["name", "csv_file"], ["record_id", 1]]
  CACHE MaintenanceTasks::Run Load (0.0ms)  SELECT "maintenance_tasks_runs".* FROM "maintenance_tasks_runs" WHERE "maintenance_tasks_runs"."task_name" = ? AND "maintenance_tasks_runs"."id" != ? AND (id < '16') ORDER BY "maintenance_tasks_runs"."created_at" DESC LIMIT ?  [["task_name", "Maintenance::UpdatePostsTask"], ["id", 90], ["LIMIT", 20]]
  CACHE ActiveStorage::Attachment Load (0.0ms)  SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_type" = ? AND "active_storage_attachments"."name" = ?  By unscoping includes, we avoid having to do a LEFT OUTER JOIN on the active storage attachments table, and then we can use pluck to only load the id instead of the whole record

There's still an Exists? query due to https://github.com/Shopify/maintenance_tasks/blob/7d13c0ffabb2fc6d061d20988a4e68f1b82c6d71/app/views/maintenance_tasks/tasks/show.html.erb#L44
which calls exists? if the relation isn't loaded
https://github.com/rails/rails/blob/v6.1.3/activerecord/lib/active_record/relation.rb#L266
via any?
https://github.com/rails/rails/blob/v6.1.3/activerecord/lib/active_record/relation.rb#L278
We could use present? in the view like I had mentioned previously in https://github.com/Shopify/maintenance_tasks/pull/187#discussion_r531685086, or we could change records to add load (to keep a relation, but have it loaded already) or to_a (to get an array of records).

Thanks, forgot we could avoid the EXIST by using .present? instead 👌  Updated!


Change all docker -d to docker daemon

Signed-off-by: Qiang Huang<EMAIL_ADDRESS>

LGTM
/cc @tiborvass

LGTM
I guess I missed some, thanks @hqhq !

LGTM

@calavera think this needs cherry-pick?

we're not cherry picking any code that's not critical in the release at this point, sorry :sweat_smile:

@calavera yeah, not really code changes mainly comments. But fair :smile:
Thinking if there's a way to get just the docs-changes in...


[BUG] Launching neuvector chart post upgrade results in unable to create impersonator account

Information about the Cluster
Rancher Server Setup

Rancher version: v2.6.5 upgraded to v2.6.7-rc3
Installation option (Docker install/Helm Chart): Helm Chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): RKE1, v1.23.6, 1.3.11

Proxy/Cert Details: byo-valid

Information about the Cluster

Kubernetes version: v1.23.7
Cluster Type (Local/Downstream): Custom  3 worker, 1 etcd, 1 cp RKE1

Describe the bug
Launching neuvector chart results in an error post rancher upgrade but the error is not seen relaunching the app.
To Reproduce

Install rancher on v2.6.5 using byo-valid certs
Install neuvector app version 100.0.0+up2.2.0
Launch neuvector app, no errors are seen
Upgrade rancher server to v2.6.7-rc3
Launch neuvector app

Result
Error unable to create impersonator account: error getting service account token: error getting token: invalid secret object is seen
If we re launch the app, the error is not seen anymore and the app works without any error.
Expected Result
No errors seen on launching the app post upgrade.
Additional context

@anupama2501 @selvamt94 pushing this issue out since there's been no progress

I think this may have been related to earlier impersonation issues, which should have been resolved now. If this is seen again we can re-open.


Correct typo in data-modeling.md

specifief -> specified

 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.

Thanks a lot for catching this @atjeff 🚀


Add ru_ru.json (Russian)

Hello! Here's the russian translation of your mod
Feel free to correct me or ask me anything about it, I will answer you and commit changes as soon as I can.
I've been working as a mod translator for quite a while now, so if you like my work, you can consider donating! Thank you! (link in bio)

HI! Just was wondering, will this PR be merged anytime soon? Should I make a PR for another branch?

Sorry kinda forgot
Will see if sth. pops up in the coming days and if not just make a release with the translation as change

Should be released now - thank you


Truncate path elements when necessary

If a directory name is longer than what can fit in the path, we should show at least the last couple letters of the parenting folder's name

Pure CSS to the rescue, I think it's working nicely.


:sparkles: Support Request Sessions

Allow users to rock up with their own httpx.Client instance and easily instantiate FastClient.
By default, users should not need to know httpx exists.
from fastclient import FastClient

app = FastClient(
    base_url="https://httpbin.org/",
    headers={
        "X-Name": "Bob",
        "X-Role": "Admin",
    },
)

However, an alternative should be provided, such as:
from fastclient import FastClient
from httpx import Client

app = FastClient(
    client=Client(
        base_url="https://httpbin.org/",
        headers={
            "X-Name": "Bob",
            "X-Role": "Admin",
        },
    ),
)

Mixing and matching the two approaches should also be allowed

This approach will keep FastClient cleaner. It now no longer needs FastClient.base_url or FastClient._url as httpx.Client handles this for us.

What if the user doesn't want to use a session? By default it should use one, therefore they should explicitly disable this feature, e.g:
from fastclient import FastClient

app = FastClient(session=None)

To support this, under the hood, session can be of type Union[Client, Missing].


Release 1.6.1

Adds

Adds "xxxsmall" size (32px width) to the Image component.
Adds the "connect" section hues to the light and dark color palettes.
Adds the "connect" color variant to the Breadcrumbs component.
Adds internal ChakraProvider component to be able to conditionally include CSS styles through the resetCSS and disableGlobalStyle props.
Adds a theme prop to the DSProvider to merge in an additional theme file if necessary; this is to support to the Header and Footer components in the NYPL Header App.

Updates

Updates the Button component to increase the internal spacing between the button text and an icon.
Updates placeholder images to come from placekitten, rather than placeimg, which is being deprecated.

Why is the Typescript check running on this but not on the PRs that I submitted?

Correction.  Why is it showing in the check list for this PR, but not in the check list on my PRs?


Validate delivery service topology when adding a ds required server capability

I'm submitting a ...

improvement request (usability, performance, tech debt, etc.)

Traffic Control components affected ...

Traffic Ops

Current behavior:

We have no topologies validation when adding delivery service required capabilities
New behavior:

If a delivery service has a topology assigned, adding a delivery service required server capability must not invalidate the assigned topology. In other words, adding a delivery service required server capability must not alter the topology by excluding cache groups. All cache groups must be considered part of the topology.
When a user adds a required server capability to a delivery service, the API must ensure that at least one cache in each of the topology's cache groups has that server capability to ensure the topology and all its cache groups are respected.
Minimal reproduction of the problem with instructions:

Add a required capability to a topology-based delivery service

Fixed in #5093


Navbar enhancements

Add an account icon (maybe a custom SVG?)
Change brand so that it includes "Data Portal". Create multiple drafts and present to group

We should pick (and purchase) and icon set to use on the site, e.g. from https://symbolset.com/icons.

My suggestion: https://symbolset.com/icons/black-tie-solid

I am wondering if https://symbolset.com/icons/black-tie-regular is a better match for the Work Sans font. One downside of the Black Tie icons set is the weird user symbol. Gizmo (https://symbolset.com/icons/gizmo) has a bunch of better user icons.

Once icon set is decided upon, will update announcements to use collapsible content icons.

This is essentially finished, just needs to add the new icon when we buy the set. Closing.


Introduce Polly for resilient retry logic

Won't implement since the possibility of injecting a HttpMessageHandler into the HttpClient pipeline could easily be leveraged to do just that.


sqlpp11 code generator can be more powerful

Hi rbock, I have used sqlpp11 for about one year. Thanks to the powerful and amazing library, it does improve my coding efficiency and code safety a lot, running stable in production.
Nevertheless, I want to give some advice on the code generator to make it more powerful.
Based on my project, I have optimized the sqlpp code generator in the following ways:

Generate entity struct for each sql file (or each table), with ToDebugString() method and GetEntities(sqlpp res) method provided:

struct TTestTableEntity {
 public:
  TTestTableEntity () { Reset(); }

  TTestTableEntity (const TTestTableEntity &entity) {
    id = entity.id;
    name = entity.name;
    db_time = entity.db_time;
  }

  ~TTestTableEntity () {}

  void Reset() {
    id = 0;
    name = "";
    db_time = "";
  }

  template <typename Result>
  static std::vector<TTestTableEntity> GetEntities(Result &&res) {
    std::vector<TTestTableEntity> ret;
    for (const auto &row : res) {
      TTestTableEntity entity;
      entity.id = static_cast<int>(row.id);
      entity.name = static_cast<int>(row.name);
      entity.db_time = sqlpp::DateTimeToString(row.db_time);

      ret.push_back(entity);
    }
    return ret;
  }

  std::string ToDebugString() const {
    std::stringstream ss;
    ss << "\n{\n"
       << "\t id: " << id << ",\n"
       << "\t name: " << group << ",\n"
       << "\t db_time: " << db_time << "\n}\n";
    return ss.str();
  }

 public:
  int id;                            // id
  std::string name;         // name
  std::string db_time;      // selected db time
};

Support parsing sharding db/tables, such as test_db_xx.t_test_table_y (where xx in [00, 99], y in [0, 9]), or test_db_yyyymm.t_test_table_dd (where yyyymm means year-month, dd means day)

Sharding db/tables has nothing different in fields but the suffix of the db/table names between two tables.  Therefore, we can generate code overwriting the serializer of the table name:
namespace orm {
namespace test_db_suffix {
extern thread_local std::string kSuffix;
}  // namespace test_db_suffix

namespace t_test_table_suffix {
extern thread_local std::string kSuffix;
}  // namespace t_test_table_suffix
}  // namespace orm

namespace sqlpp {
template <typename Context>
struct serializer_t<Context, orm::TTestTableX> {
  using _serialize_check = consistent_t;
  using T = orm::TTestTableX;

  static Context& _(const T& /*unused*/, Context& context) {
    context << "test_db_" << context.escape(orm::test_db_suffix::kSuffix) << ".t_test_table_"
            << context.escape(orm::t_test_table_suffix::kSuffix);
    return context;
  }
};
}  // namespace sqlpp

users can set orm::test_db_suffix::kSuffix and orm::t_test_table_suffix::kSuffix  to specify the db suffix and table suffix.

Generate db utils class including method:
InsertRcd, QueryRcdByWhereCond, QueryRcdListByWhereCond, QueryRcdListByWhereCondWithPaging, QueryRcdTotalCntByWhereCond,

such as InsertRcd:
  static int InsertRcd(sqlpp::mysql::connection *db_conn, const TTestTableEntity &t_test_table_entity,
                       const std::string &db_suffix, const std::string &tb_suffix) {
    // specify db suffix
    orm::test_db_suffix::kSuffix = db_suffix;
    // specify table suffix
    orm::t_test_table_suffix::kSuffix = tb_suffix;

    auto sql = sqlpp::insert_into(orm::kTTestTable)
                   .set(orm::kTTestTable.id = t_test_table_entity.id,
                        orm::kTCouponFlow.name= t_test_table_entity.name);
    // execute sql
    ...
    return 0;
  }

After those code generated, the coding efficiency can be greately improved, I hope the features can be supported in the code generator to help more developers, especially the feature of supporting parsing sharding dbs/tables.
Best Regards.

Hi zhengminlai, Thanks for sharing. I am happy to learn that you enjoy the library, and the extensions to the code generator sound very interesting.

Would the sharding be generated for every table? Or is this "on demand"?
I am not sure what the *Rcd functions would be used for?

Thanks,
Roland

The sharding db/tb generator is invoked by the create table sql such as ''' create table test_db_$.t_test_table_$ (…)''', we can regard the $ as a suffix remark, then the code generator can know that this is a sharding db/tb so that it can generate corresponding code for this table.

The *Rcd function for each table can greatly improve the coding  efficiency, such as InsertRcd method: users just need to set filed values for the entity structure and invoke the InsertRcd method to insert a record into db, they don't  need to write sqlpp insert code by hand anymore. As for QueryRcdByWhereCond method, users just need to write where condition and pass it into this method to get the queried result entity returned by the method. It's much more straightforward to access field of an entity structure than that of a sqlpp result set.

DB utils class: Including utility methods like InsertRcd(), QueryRcdByWhereCond(), etc., can certainly simplify database operations by providing a higher-level interface for common tasks. These utility methods can encapsulate complex SQL queries and make the code more readable and maintainable. However, it's crucial to handle security and parameterization properly to prevent SQL injection vulnerabilities.


feat: added accents

Thanks for opening the pull request (and patience)! I just did a simple review over everything, and it all looks good.
LGTM!


[Improve] Add a tool class to operate k8s

Problem Summary:
What is changed and how it works?
Proposal: xxx
Feel free to ping committers for the review!
Contribution Checklist

Make sure that the pull request corresponds to a GITHUB issue.

Name the pull request in the form "[Feature] [component] Title of the pull request", where Feature can be replaced by Hotfix, Bug, etc.

Minor fixes should be named following this pattern: [hotfix] [docs] Fix typo in README.md doc.

Purpose of this pull request

@MonsterChenzhuo What is the usage of these tool classes? Probably it has been merged into the k8s-pod-template branch. Is it necessary to merge into the dev branch again?


Fix for #104: added integer check for charge command argument

Fix for #104. Check the argument of the charge command to be a number between 1 and 100.

This is a very sane addition, thank you @lodewijkvankeizerswaard!


Follow definitions across local packages

Does ghcide plan to implement a feature to follow definitions across local packages ? That would be really helpful for projects built with obelisk (reflex-frp).

In principle we have the logic for that already if there are .hie files for dependencies. But to make it usable for Haskell (we use it for DAML) there are however a few open questions here:

How do we locate .hie files for a dependency?
How do we locate source files for a dependency?
Do we want to load the source file of a dependency? If so, which flags do we use?

I think 1 and 2 probably need to come from hie-bios since that is definitely specific to each build tool. For 3 I don’t really have a great answer. At least initially the most sensible solution seems to be to just not load the source file at least not unless it’s a “local” package (e.g. for cabal that would mean that it’s listed in packagesin cabal.project).

I've just checked this one in haskell-lsp and it is not implemented yet.
I guess @wz1000 work about using a database to store the needed info could enable this


Strawberry Shake's generated code does not handle custom output directory properly.

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Our repo is setup as follows. (We are using NX for managing build orchestration/targets/dependencies/artifacts). We have a custom output directory set in our root Directory.Build.props that is set to an absolute path. (/home/krbourg/code/alloy/dist)
/dist/libs/shared/infrastructure/strawberry-shake-server-client/bin/*
/dist/libs/shared/infrastructure/strawberry-shake-server-client/obj/*
/libs/share/infrastructure/strawberry-shake-server-client
/Directory.Build.props

We are seeing the Strawberry Shake code generation output files to the following location:
/libs/shared/infrastructure/strawberry-shake-server-client/home/krbourg/work/code/alloy/dist/libs/shared/infrastructure/strawberry-shake-server-client
It seems to be taking our absolute path, and treating it as if it should be relative to the project directory.
Steps to reproduce

Create new dotnet project within a nested folder and add strawberry shake + schema/operations. (We used StrawberryShake.Server & StrawberryShake.Tool)
Add a Directory.Build.props file to the root directory and specify an absolute path for the <BaseIntermediateOutputPath> property.
Build project and observe the code generated relative to the project directory.

Relevant log output
No response
Additional Context?
No response
Product
Strawberry Shake
Version
13.0.0-preview.76

Thanks for reporting!

Hi, I'd love to take a look at this one! Does anyone have any knowledge at which files/docs I should read up on to start out?

@AlexandraChibisov this should be a simple one. I can walk you through in our zoom call.

Fixed with #5770


How should (un)subscribing in the middle of dispatch work?

Here's something that came up a few times: https://github.com/gaearon/react-dnd/issues/307#issuecomment-148528999
We let people subscribe and unsubscribe during a dispatch. This is not a problem per se.
The current behavior is that subscribe during dispatch only takes effect the next time. So if you subscribe from during a dispatch, you will only be called on next dispatch. This doesn't seem problematic because you can just read the initial state and rely on the subscriber being called the next time. It doesn't violate your expectations.
The current behavior is also that unsubscribing during dispatch only takes effect after the dispatch. So if I unsubscribe, but I'm in the middle of dispatch and the subscriber hasn't been called yet, it will be called. Even though I unsubscribed. This seems problematic because unsubscribing carries an expectation that I won't ever be called again unless I subscribe. However we violate this expectation.
One thing we can do is to treat unsubscriptions while dispatching in a special way and put those listeners in a special array. When dispatching we can make sure to skip those listeners. However this seems like a perf problem for a rare case.
We might also choose to not fix this, and document this behavior. Then it'll be up to consumers like React Redux to protect themselves from it. (FWIW React Redux already handles this correctly.)

Incriminated line: listeners.slice().forEach(listener => listener())
So on every dispatch you copy the whole listener array :) I understand the benefit of this to avoid weird index issues when modifying the array while iterating it. However it's still already a copy on each dispatch and has a performance cost (that probably does not matter much).
IMO the solution does not need to have any perf problem and could even give better performances.
Instead of using a forEach maybe it would be possible to modify the listeners array in place without having any issue during the iteration process?
I don't know what's the best solution but a solution could be to replace the listener by undefined in the array on unsubscribe, and skip undefined listeners while iterating. At some point the array should be cleaned from undefined listeners (when?) and it may affect performances but you removed the array copy on every dispatch so it might be ok.
How react redux handles this btw?

What if instead of just calling slice in the ubsubscribe function, it checked whether isDispatching was true, and just registered the index of the listener in a new array instead.
...
function unsubscribe() {
      if (!isSubscribed) {
        return
      }

      var index = listeners.indexOf(listener)

     if (isDispatching) {
        indexList.push(index)
        return
     }

      isSubscribed = false
      listeners.splice(index, 1)
    }

Then you could filter out listeners after your slice at that index
listeners.slice().forEach((listener, index) => {
     if (indexList.includes(index)) return;
     listener()
})

As long as the unsubscribe call was made before the listeners array reached the corresponding index, that should skip it. Then after the listeners have been invoked the listeners array could be cleaned up.

Hi,
I've made a pull request to try to solve this.
It passes npm run check and has a new test case added:
  it('removes listeners immediately when unsubscribe is called', () => {
    const store = createStore(reducers.todos)

    const unsubscribeHandles = []
    const doUnsubscribeAll = () => unsubscribeHandles.forEach(unsubscribe => unsubscribe() )

    const listener1 = expect.createSpy(() => {})
    unsubscribeHandles.push(store.subscribe(listener1))
    const listener2 = expect.createSpy(() => {})
    unsubscribeHandles.push(store.subscribe(listener2))

    const listener3 = () => doUnsubscribeAll()
    unsubscribeHandles.push(store.subscribe(listener3))

    const listener4 = expect.createSpy(() => {})
    unsubscribeHandles.push(store.subscribe(listener4))
    const listener5 = expect.createSpy(() => {})
    unsubscribeHandles.push(store.subscribe(listener5))

    store.dispatch(unknownAction())
    expect(listener1.calls.length).toBe(1)
    expect(listener2.calls.length).toBe(1)
    // listener3 is the one removing the others so obviously it got executed
    expect(listener4.calls.length).toBe(0)
    expect(listener5.calls.length).toBe(0)
  })

I don't think it impacts too much performances

@gaearon it makes me think: if a listener fails, shouldn't the next listeners still be triggered?

Could this be a bit more simple and readable, instead of keeping a separate array for invalid listeners and cleaning it up afterwards?
    listeners.slice().forEach(listener => {
      // Check if subscription is still intact
      if (listeners.includes(listener)) {
        listener();
      }
    });

There is some performance penalty one way or another, but if everyone agrees, that this is the correct logic, then i don't think it matters that much. Just my 2 cents.

@gaearon I think i'll rework my PR with @le0nik solution which is more clean.
Also I think if we register a listener during a dispatch, that listener should rather not be called and my PR does not handle this case currently (I think) while the former code did not have this behavior.
@gaearon don't know if I should use array.include as it seems an ES7 method right?

@gaearon I added that test case as well (it was already passing btw):
  it('not fire immediately if a listener is added inside another listener', () => {
    const store = createStore(reducers.todos)

    const listener1 = expect.createSpy(() => {})
    const listener2 = expect.createSpy(() => {})
    const listener3 = expect.createSpy(() => {})

    let listener3Added = false;
    const maybeAddThirdListener = () => {
      if ( !listener3Added ) {
        listener3Added = true;
        store.subscribe(() => listener3())
      }
    }

    // Listener 1 is normal
    store.subscribe(() => listener1())

    // Listener 2 adds the 3rd listener another listener
    store.subscribe(() => {
      listener2()
      maybeAddThirdListener()
    })

    store.dispatch(unknownAction())
    store.dispatch(unknownAction())
    expect(listener1.calls.length).toBe(2)
    expect(listener2.calls.length).toBe(2)
    expect(listener3.calls.length).toBe(1)
  })

Also used @le0nik's solution as it seems a lot more easy than my original attempt :)

@tappleby do you still have problems with batched-subscribes with the solution of @le0nik  implemented in my PR ? https://github.com/rackt/redux/pull/1204

@slorber The implementation looks good, although I do like the idea of just setting the value to undefined instead of removing it immediately from the array (see my comment on PR #1204), prevents having to duplicate the array on every dispatch.
My issues were more with having to duplicate the logic (which is fine if its simple).

@tappleby yes copying the array is a drawback but the solution is much simpler like that and it did copy the array before so... and you can easily copy that logic :) maybe it's too soon for doing this kind of optimizations I like the redux core to be easy to read even if it copies the array on every dispatch. Let @gaearon decides that

I'm inclined to leave things as is. The benefit (slightly "smarter" model) doesn't seem worth the complexity, and you can implement it in userland too with a custom event emitter acting as a sole subscriber. Instead, we documented the current behavior: https://github.com/rackt/redux/commit/6de0cda36ec6fe2c7aab52f055f59040488763e3.

@gaearon I agree.
I've made another PR with the 2 tests I have done, slightly modified so that they cover your decision:
https://github.com/rackt/redux/pull/1291


Project Test Case 3

Hi,
I can't figure out why I havent' been able to pass the 3rd test case on codecrunch. The test cases given in the brief are all passed in my terminal but I can't pass the ones after submitting my files :(
My rest time is calculated in the Done event, my server queues are only updated in Arrive and Serve, and my Done event doesn't return a new Serverqueue. Just the server's updated next available timing.

I think there's an issue with the way your Rest times are updated for the servers. "10.781 9 done serving by 1" should lead to server1 resting. But your output "10.781 10 serves by 1" shows that server 1 is available. Perhaps you can try printing out the server's available time at the end of your done serving and check if it's updated.

Most common issue is implementing the get rest time in Serve class as compared to Done class. Might look into that!

hiii, it seems that ur servers are not resting properly so u might want to check ur implementation of rest. for me, i created Rest as a separate event. After my Done event, i will generate a Rest event for the server and update its availableTime. the Rest event then becomes my terminating event.

From the looks of your output, it seems like the error is that you are updating both the serve time and rest time to the server's next available time when you serve a customer. You should instead update only the serve time in serve event and only update the rest time in done event.

Hi all, thanks for the input. I've managed to isolate the problem in my Serve class, where it seems like if I remove the addition of the serviceTime to my Done event timestamp, the servers rest correctly.
However, this causes my Done event timestamp not to update correctly... has anyone encountered this problem before? I can't understand it at all

Did you manage to get it done and over with, @squgily ?
If yes, great! Also do remember to close this issue to keep this forum clean yeah?