ESP8266: byte array with value 248-255 cannot be published!

Hi guys,
I'm trying to publish a byte array that contains a few 248-255 values and it's not really working. My array size is 100 bytes. I'm using this command:
client.publish("my/topic/", myArray, 100);
I modified mqtt_esp8266 example (added upper command and created byte array) and it seems like when I fill different value then (248,249,250.....255) it's working fine!!!
For example:
byte myArray[100] = {.....,.,.255,.....248...}; //this will be ignored when publish is called
byte myArray[100] = {.....,.,.10,.....112...}; //If ther is no value in array greater then 248 then evrithing works fine!!
Response from client.publish is TRUE(publish succeeded)! I am using NODEMCU 1.0 ESP8255 with the latest library.
What can I do?

Here is the modified example mqtt_esp8266, I am using HiveMQ broker for testing. You can see the problem when 255 value is the array and you try to publish.
To test it just add your wifi info into code, upload esp8266 and go to this site. On site click Add New Topic Subscription and add my/topic/.
#include <ESP8266WiFi.h>
#include <PubSubClient.h>

// Update these with values suitable for your network.

const char* ssid = "*******";
const char* password = "*******";
const char* mqtt_server = "broker.hivemq.com";

WiFiClient espClient;
PubSubClient client(espClient);
long lastMsg = 0;

//byte myArray[5] = {255,0,2,3,4}; //This doesn't work!!!
byte myArray[5] = {1,2,3,4,5}; //This works!!!

int value = 0;

void setup_wifi() {

  delay(10);
  // We start by connecting to a WiFi network
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  randomSeed(micros());

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");
  for (int i = 0; i < length; i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();

  // Switch on the LED if an 1 was received as first character
  if ((char)payload[0] == '1') {
    digitalWrite(BUILTIN_LED, LOW);   // Turn the LED on (Note that LOW is the voltage level
    // but actually the LED is on; this is because
    // it is active low on the ESP-01)
  } else {
    digitalWrite(BUILTIN_LED, HIGH);  // Turn the LED off by making the voltage HIGH
  }

}

void reconnect() {
  // Loop until we're reconnected
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    // Create a random client ID
    String clientId = "ESP8266Client-";
    clientId += String(random(0xffff), HEX);
    // Attempt to connect
    if (client.connect(clientId.c_str())) {
      Serial.println("connected");
      // Once connected, publish an announcement...
      client.publish("outTopic", "hello world");
      // ... and resubscribe
      client.subscribe("inTopic");
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      // Wait 5 seconds before retrying
      delay(5000);
    }
  }
}

void setup() {
  pinMode(BUILTIN_LED, OUTPUT);     // Initialize the BUILTIN_LED pin as an output
  Serial.begin(115200);
  setup_wifi();
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);
}

void loop() {

  if (!client.connected()) {
    reconnect();
  }
  client.loop();

  long now = millis();
  if (now - lastMsg > 2000) {
    lastMsg = now;
    ++value;

    Serial.println("Publish message");
    client.publish("my/topic/", myArray, 5);
  }
}

@knolleary

seems like you can send range from -128 to 127

Never mind. It was working all this time.

Here is the modified example mqtt_esp8266, I am using HiveMQ broker for testing. You can see the problem when 255 value is the array and you try to publish.
To test it just add your wifi info into code, upload esp8266 and go to this site. On site click Add New Topic Subscription and add my/topic/.
#include <ESP8266WiFi.h>
#include <PubSubClient.h>

// Update these with values suitable for your network.

const char* ssid = "*******";
const char* password = "*******";
const char* mqtt_server = "broker.hivemq.com";

WiFiClient espClient;
PubSubClient client(espClient);
long lastMsg = 0;

byte myArray[5] = {255,0,2,3,4}; //This doesn't work!!!
//byte myArray[5] = {1,2,3,4,5}; //This works!!!

int value = 0;

void setup_wifi() {

  delay(10);
  // We start by connecting to a WiFi network
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  randomSeed(micros());

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");
  for (int i = 0; i < length; i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();

  // Switch on the LED if an 1 was received as first character
  if ((char)payload[0] == '1') {
    digitalWrite(BUILTIN_LED, LOW);   // Turn the LED on (Note that LOW is the voltage level
    // but actually the LED is on; this is because
    // it is active low on the ESP-01)
  } else {
    digitalWrite(BUILTIN_LED, HIGH);  // Turn the LED off by making the voltage HIGH
  }

}

void reconnect() {
  // Loop until we're reconnected
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    // Create a random client ID
    String clientId = "ESP8266Client-";
    clientId += String(random(0xffff), HEX);
    // Attempt to connect
    if (client.connect(clientId.c_str())) {
      Serial.println("connected");
      // Once connected, publish an announcement...
      client.publish("outTopic", "hello world");
      // ... and resubscribe
      client.subscribe("inTopic");
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      // Wait 5 seconds before retrying
      delay(5000);
    }
  }
}

void setup() {
  pinMode(BUILTIN_LED, OUTPUT);     // Initialize the BUILTIN_LED pin as an output
  Serial.begin(115200);
  setup_wifi();
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);
}

void loop() {

  if (!client.connected()) {
    reconnect();
  }
  client.loop();

  long now = millis();
  if (now - lastMsg > 2000) {
    lastMsg = now;
    ++value;

    Serial.println("Publish message");
    client.publish("my/topic/", myArray, 5);
  }
}

@knolleary

I compiled your code and it works as intended.
I'm sure you were just reading it as string on the receiving side instead of reading it as byte array.


Using setState in afterColumnFilter function

It will crash program after I use setState in afterColumnFilter.
getFilterResult = (f, result) => {
    Promise.resolve(this.somethingComputing(result))
                  .then(data => this.setState({data: data}))
}

render(){
   const options = {
       afterColumnFilter: this.getFilterResult
   }
}

It will call setState many time...

Same to me. In some reason, the new afterColumnFilter call occurs each time tableData changed.

Same to me. In some reason, afterColumnFilter called each time data for table changed (state or props - doesn't mater)

sure, when table change, like data, pagination, it will trigger data filtering again.

@Terryhung your case is very wired, why set data again after filtering?

@AllenFang Doing some computing for data.

For example, you have data set and some coefficient(user can define it from some input), each time filter changed OR coefficient changed - you need call back for new data set changed with coefficient (you don't know how exactly back change the data, i.e. you couldn't change it yourself on front-end part).
So you need  "filtered state" saved on the table and simultaneously the new (changed by back) data set. For now, if you changed the data - filter will be applied in a circle.
A few versions ago filters didn't behave like this.

A few versions ago filters didn't behave like this.

which version?
@epsyan @Terryhung could I point me if you have the same issue like following steps:

A table rendered successfully
Doing a filter on some column
You got options.afterColumnFilter called  << That's expect behavior absolutely.
Now, change some state or something to cause table rerender
You got options.afterColumnFilter called again

Please let me know you guys condition more clear, thanks

Hi @AllenFang
I need filter data to children component to draw picture after bootstrap table filter it.

@AllenFang I have a use case for you.
We have been working with react-bootstrap-table v4.0.0-beta.1. We had issues with users of our app selecting multiple rows, then choosing to filter the rows. If they did this, the rows remained selected that were now no longer visible, and if they executed an action on the visible rows that were selected, it would also execute on the rows hidden by the filter.
To avoid this, we have an afterColumnFilter function that sets a property in state, currentFilteredData, storing a record of all the visible selected rows so we only execute commands on those rows.
Now that we are attempting to upgrade to 4.2.0, it's an infinite loop, as others have experienced. We can store the filter conditions and do a comparison, only setting the state if the conditions have changed, but this seems like a bad workaround for a breaking change.


Bare repository support

Summary 💡
Would it be possible to read repository information from a bare git repository? Currently only an error is printed that no repository can be found.
Motivation 🔦
I have a server running where all of my Git repositories are stored for synchronization. These are only bare repositories and it would be really helpful to get the statistics without cloning them or installing onefetch on every machine (I am developing on Windows, Linux and Mac).

Would it be possible to read repository information from a bare git repository?

Not as long as we use tokei, since that uses the actual files in the repository's directory, not the files in the git history. Though we might switch to a tool that can read bare repos.

Sorry, I got a bit tunnel-visioned, I just realized, besides building language stats, onefetch reads files from "non-bare" repositories for

Manifests (package.json, Cargo.toml)
License files

So, besides #1305 (supersedes #1152), we'd have to update those utilities to read from a git commit/index. I don't think these stats will break, but they won't be included until those are updated as well.
Also, if I'm not mistaken, our call to gix::ThreadSafeRepository::discover_opts doesn't currently support bare repos and would need to be updated:
https://github.com/o2sh/onefetch/blob/3cdc171fad328e4423bb61211924156bc9451418/src/info/mod.rs#L113-L120

do we have any updates on this or the bare support is still in draft?

No updates. I've been very slow on https://github.com/o2sh/onefetch/pull/1305, even though not much work is left :bow: If we ever support bare repos we'll need to make that switch, since I highly doubt that Tokei would behave in such a specialized manner.
So here's roughly what's left:

[ ] Support remaining few languages in Gengo that Onefetch needs to not throw a compiler error (or at least have a very good reason to drop a language's support)
[ ] Release a new version of Gengo (this part's trivial)

After that's done I think it will be pretty easy to support bare repositories for language detection (licenses and package manifests are a different story).

thank you for the update and please take your time and thanks again for your work :)

Thank you! If you're interested, you can help add language support to Gengo (https://github.com/spenserblack/gengo/issues/34). It's roughly 90% done -- it looks like I've slowed down the closer I got to the finish line :sweat_smile:
:checkered_flag: :snail:
Contributing language support is pretty easy. If you're familiar with the language, great! If not, it just takes some quick research to find at least one popular file extensions and/or filename for the language. Besides that, there's just picking a primary color for the language.


improving SMuFL glyph style

This slightly improves displaying SMuFL glyphs.
(style should probably be introduces to sass)

Is there a reason why you didn't put it in the SASS?

Yes.

It's in another repo.
I can't handle SASS


⚠ Avatar API Endpoint has degraded performance

In c6c7ac2, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 1565 ms

Resolved: Avatar API Endpoint performance has improved in 0e88993 after 2 minutes.


question about input data

hello,
i'm trying your software to see memory consumption of it for a metagenomics dataset i have, the problem is that i can't use bcalm to generate unitig for it(https://github.com/GATB/bcalm/issues/71) due to the big number of kmer, have you any software recomandation to transform a lot of read into a input format that work with your software?

Hi @PandorasRed,
you could try the Cuttlefish (v2) software here https://github.com/COMBINE-lab/cuttlefish
which produces a similar output to that of BCALM.
Let me know if that works for 43B of kmers. Also, what k are you using? 31?

I'm closing this for the moment. Let me know if you need my assistance.


ICE: Module validation failed for ivar access in a yielded block inside a proc inside a method

This is a weird nested context:

The relevant code is inside a method (method)
Inside the method body is a proc literal
Inside the proc body a method is called which yields an object to the block
Inside the block an ivar of the yielded object cannot be accessed directly

The error does not trigger in top-level scope directly, or when the ivar is accessed through a getter, etc.
class Entry
  @ivar = 1
end

def yielding
  yield Entry.new
end

def capture(&block : ->)
  block.call
end

def method
  capture do
    yielding do |e|
      e.@ivar
    end
  end
end

method

Module validation failed: Stored value type does not match pointer operand type!
  store i32 1521, i1* %self, !dbg !391
 i1 (Exception)
  from /crystal/src/string.cr:5017:14 in 'finish'
  from /crystal/src/compiler/crystal/codegen/codegen.cr:69:7 in 'codegen'
  from /crystal/src/compiler/crystal/compiler.cr:172:16 in 'compile'
  from /crystal/src/compiler/crystal/command.cr:296:3 in 'run'
  from /crystal/src/compiler/crystal.cr:11:1 in '__crystal_main'
  from /crystal/src/crystal/main.cr:110:5 in 'main'
  from src/env/__libc_start_main.c:94:2 in 'libc_start_main_stage2'

I stumbled over this while fiddling with the Log spec helper:
require "spec"
require "log"
require "log/spec"

def it_helper
  it do
    Log.capture do |logs|
      logs.@entries
    end
  end
end

it_helper

This could be a reduction of some of the cases described in #4858 (especially https://github.com/crystal-lang/crystal/issues/4858#issuecomment-632894822) or at least related.

Don't reproduce anymore on 1.5.0 :tada:!
https://play.crystal-lang.org/#/r/dpoy


Add a string vector example for Chicken Scheme

Note that it requires the srfi-133 egg, which is not installed by default nor is installing it handled by the included shell script. It's just a call to chicken-install srfi-133 away though.

Awesome, thanks!
I gave you direct access to the repo; feel free to push commits if you want to. We can also both use PRs if you prefer it that way. I don't have a strong preference.

BTW please use rebase instead of merge in git (i.e. let's try to have linear history).


feat: initial package setup

Initial setup in new repo. Copied files from https://github.com/ibm/carbon-shared-tests/ with updates to URLs as needed.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update index.html.haml

Pilot roster page styling updates, changed "container-fluid" to "container" to match site wide styling.
Closes #64 (partly)

Also, if we drop the width I would also suggest removing the card. It has a redundant header and makes the table look a bit goofy when narrowed.

This would change a few pages. I am not against it, but the items in the issue should be fixed with this most recent commit.
Just let me know what you guys want to do.

If we do go that route, can we open a new issue for it that tags it since more than this page will need to be edited?

I think I agree with @RShannon1321 that dropping the card for this specific page would not match the generic styling of the site and thus would be feature creep on this specific issue.
I could agree that the card header is redundant with the page crumb. However the header could be dropped while leaving the card (and associated drop shadow) the would help it maintain consistency with the other pages. This is something for discussion in another issue.


help me understand this. Thanks.

what is the purpose of this:
RUN mkdir /root/.ssh &&
touch /root/.ssh/authorized_keys &&
chmod 700 /root/.ssh &&
chmod 600 /root/.ssh/authorized_keys
If you are preparing to mount authorized_keys from the host file system,  the mounting happens AFTER the above RUN and before  entrypoint/CMD.  So the permission will be whatever the host file has.   On the docker host,  I am not running as root but a docker user, so this would not work.
I guess one  could use a host file or  an ENV in the entrypoint script, and write it to the authorized_keys file there.  Is that what you have in mind?

The idea is that you can add a public key to the file when building a derived image.


dump db as gzip; a --gzip flag?

Please describe the feature you would like to see implemented.
Allow to dump the database directly to a gzip file.
So like a --gzip flag?
When working with the output db.sql would output db.sql.gz

🥳


OptimumFuse NeoForge Broken

OptimumFuse 1.3.1 with NeoForge appears to be broken. I gave the log for normal Forge, which does work, for reference.
OptimumFuse 1.3.1-FORGE-MC1.20.1: https://mclo.gs/bsRJMEl
OptimumFuse 1.3.1-NEOFORGE-MC1.20.1: https://mclo.gs/wTzqImc

Seems to be a PrismLauncher issue. I will further investigate it in a day or two (typing this on my phone...). Neoforge is still very young, so, be ready to face these issues with some launchers. :P
I recommend you to use Modrinth Theseus. See Wiki: Installation!
During my testing, it worked flawlessly on Modrinth Theseus. Besides Theseus, you can try ATLauncher!

I ran a VM to try Modrinth and ATLauncher and yeah, it's definitely a Prism issue which is unfortunate because I don't like either of those launchers. Oh well 😅

Nevermind!

Whoops! Wrong issue.


De-Esser slider doesn't save to whatever new value you set it (visual)

So when you set a de-esser value and then swap between tabs (with or without saving) it will always show the value it started with. Internally it will set the correct value though.
I have to completely restart the app so it shows the correct one. This is on 1.0

Thanks for the report, I've managed to track this down and fixed it in goxlr-ui#e3689263. Looks like it was also affecting the bleep volume, which I've fixed as well!
I'll put it into a 1.0.1 release at some point during the week, assuming no other issues are found.

Can you please grab the Windows artifact at the bottom of this build, install it and let me know if the problem is fixed?
Thanks.

Closing as Fixed.


Update to newer VPP version

Coverage increased (+0.02%) to 76.544% when pulling c6bfc7cbdfa3372a553ac5db8e5ce5c718689c74 on rastislavszabo:master into 40c52b6d6deaa71149a5f11caa5a17e63a1685ed on contiv:master.


chore: ignore @opentelemetry/api in renovate config

Which problem is this PR solving?
Renovate Bot often tries to bump @opentelemetry/api to new versions and lumps that in together with other package updates. This makes renovate bot's PRs hard to impossible to merge. For most packages in this repository, @opentelemetry/api is kept at an older version on purpose to ensure maximum compatibility. Any updates should most likely be a conscious decision.
See #3156
Checklist:

[ ] Followed the style guidelines of this project
[ ] Unit tests have been added
[ ] Documentation has been updated

I guess that will be anyway obsolete once api is part of the lerna project as this results in lerna controlling the version (which is latest then).


[DS-4020] fix statistics logging issue in DSpace 5.9

https://jira.duraspace.org/browse/DS-4020
See Jira ticket for testing suggestions

As a sidenote, in case others are interested, this does not need porting to 6.x (or master), as the behavior of how configurations are loaded was changed significantly in 6.x (as we know).  So, in 6.x, this is a single param, e.g. https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java#L166
So, my suspicion is this bug was caused by an accident in backporting to 5.x (i.e. assuming the same config behavior in 5.x as in 6.x)

Tested locally in a plain DSpace instance and confirmed the logging of VIEW records.


App macros not working

I keep getting "Staxrip has stopped working" when using certain macros in Custom Filters. Example (Loading Limited Remove Dust w/ the necessary plugins):
LoadPlugin("%app:masktools2%") LoadPlugin("%app:RgTools%") LRemoveDust()
Using the full path works fine:
LoadPlugin("C:\StaxRip-x64\Apps\Plugins\avs\masktools2\masktools2.dll") LoadPlugin("C:\StaxRip-x64\Apps\Plugins\avs\RgTools\RgTools.dll") LRemoveDust()
Was also still working in <IP_ADDRESS>, no clue about versions in between.
(Windows 10 Pro x64, Staxrip x64 <IP_ADDRESS>)

It's due to a improvement in <IP_ADDRESS> (smarter discovery of required AviSynth LoadPlugin calls) causing a stack overflow exception due to recursion.


Event logs transaction hash is null

Event log transaction hash
Description
After a transaction, when looking at the event, the transaction hash is null
Your environment

Unbuntu(WSL2) Docker container
latest
develop

Steps to reproduce
Picking up the hash using go-ethereum;
for {
		select {
		case myEventSubErr := <-depositsSub.Err():
			log.Fatal("error in deposits event subscription: ", myEventSubErr)
		case myEvent := <-deposits:
			fmt.Printf(myEvent.Raw.TxHash)
		}
	}
	// output 0x0000000000000000000000000000000000000000000000000000000000000000

Expected behaviour
I should receive a valid transaction hash
Actual behaviour
receive a null transaction hash

Hi @IanDorion ,
We have already created the fix for this issue here is the PR https://github.com/0xPolygon/polygon-edge/pull/528.
We expect  to merge it soon.

Hello @Aleksao998,
Thank you for you quick response.

Thank you very much!


Add missing SDC commands used in Litex generated XDC

The SDC commands used in the auto-generated XDC PR are:

[x] create_clock
[x] set_false_path
[x] set_max_delay
[x] set_clock_groups
[x] get_clocks

create_clock is already supported in the SDC plugin, however the target net is wrapped in the get_nets command which needs to be handled.
In the first approach all the set_false_path and set_max_delay and set_clock_groups commands shall simply be forwarded to the output SDC and passed 'as is' to VPR.

@tmichalak - The set_false_path and set_max_delay should be applied to the correct cells and then the data extracted again when writing out the SDC. This is important as the cells might change names, be removed, etc due to optimizations and stuff.

@mithro Yes I figured out that simply writing out these commands as the come in in the original SDC will not work.
For example for minilitex_ddr we have:
set_false_path -quiet -to [get_pins -quiet -filter {REF_PIN_NAME == PRE} -of [get_cells -quiet -filter {ars_ff1 == TRUE || ars_ff2 == TRUE}]]

set_max_delay 2 -quiet -from [get_pins -quiet -filter {REF_PIN_NAME == Q} -of [get_cells -quiet -filter {ars_ff1 == TRUE}]] -to [get_pins -quiet -filter {REF_PIN_NAME == D} -of [get_cells -quiet -filter {ars_ff2 == TRUE}]]

so this looks more like applying it to the correct pin.
However, just by looking at the above example it seems that we will need to have the get_pins command support filtering and stuff just like Vivado.
For the first version of the SDC plugin we could:

Ignore/filter out these commands at all
Support only commands with explicit names of the pins like set_max_delay 2 -from pin1 -to pin2

Option 1 is already supported as the read_xdc command overrides the TCL specific unknown procedure handler which results in simply ignoring unknown commands (so in this case all missing SDC commands).
However my guess is that we are leaning towards option 2, right?

I think we want to support the filtering commands? They should be pretty simple right?

Basic versions of all of the necessary commands have been implemented.


[CI] Use Cuda 10.0 MXNet build

Description
Nightly release pipelines for cu101-mkl is currently blocked.
Recent CPU builds also failed
cc @dmlc/gluon-nlp-team

Job PR-991/1 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-991/1/index.html

Job PR-991/2 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-991/2/index.html


Ignore warning for cookie type

Brakeman wants us to use :json and not :marshal or :hybrid, but
switching straight to :json from :marshal breaks existing sessions.
ref: https://github.com/alphagov/specialist-publisher/pull/1471

What cookies is this app setting? I can't think of any cookie based interaction the Rails bit's of frontend would have?


Reticulate Cheatsheet

I would suggest that the next Cheatsheet in the roadmap is the "reticulate" Cheatsheet:
https://cran.r-project.org/web/packages/reticulate/index.html
Which is already well documented with Vignettes, but I feel it is important too make it more accessible, as R is a language for Interfaces, and it would allow to port many important Python packages to R.

Having reticulate Cheatsheet will definitely enable, from my point of View, strong foundations for future R packages.

Thanks @jtelleria, that's a great idea and great feedback! Be patient with us there's a lot of good cheatsheets to get to...

Of course, thank you :)

Thanks for the reticulate cheatsheet!
Take for granted the R Community will benefit greatly from it! :D

Thanks @jtelleria!


There is an extra dividing line in the edit box

Thank you very much to the author for making such a good project. I encountered such a situation while using it yesterday.

thank you very much。

 editor.setShowPrintMargin(false); this method is not available?


Add Framework :: Sphinx :: Extension classifier

Summary of changes

Add Framework :: Sphinx :: Extension classifier to help people find the extension via PyPi
Fix keyword typo

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

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

Totals

Change from base Build<PHONE_NUMBER>3:
0.0%

Covered Lines:
765

Relevant Lines:
768

💛  - Coveralls


⚠ Fetchers has degraded performance

In 533cb57, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 1037 ms

Resolved: Fetchers performance has improved in ce880aa.


Disallow inline 'style' attribute in html or hbs

Im most projects, we recommend that using css to style the dom elements. But some ones may prefer to write inline style rules, because it's just quick! I would be wonderful if we have a rule that totally disallow inline style rules. And it would be even more wonderful if we can add inline directive comment to disable   a rule for some rare reasons.

Maybe I need to post in project ember-template-lint

This is resolved in ember-template-lint v0.6.4


feat: Add logger

This PR will close issue #140
Adds structured logger to the application
Usage
Define your logs by priority: Debug, Info, Warn and Error by adding the following to the code
import log/slog

slog.Debug("Debug message")
slog.Info("Information message")
slog.Warn("Warning message")
slog.Error("Error message")

To set the debug level when running:
ENV=debug sesh

Just need to change the debug text for info or error. The default log level is warn.

Made some decisions to implement this, it will be good to have your input about those:

Log file location: I decided to use the following ~/.config/sesh/<date>.log
Log file name: I decided to use the date in the format YYYY-mm-dd as the log file name
Default log level: If no log level is defined, I set being the warn level as the default one
When using the default log level, I decided not to show the user the log information and only save the log to the specified file

I'll review this and plan on merging it later this week, thanks!

Could you please add one or two examples (maybe a debug and an error) somewhere in the codebase that shows how this gets used?
I just want to make sure I understand how this gets used and how it impacts testing, thanks.

I've added a couple of examples on how I would log the the error and debug inside the App() function

I'm on macOS and I was unable to generate a log file in the tmp directory. I could only see the logs in the terminal.
I tried all the logs levels, am I missing something?

The os.TempDir() function that is used to get the temp directory returns whatever is in your $TMPDIR environment variable and if empty it defaults to /tmp try :
cd $TMPDIR/sesh
tail <date>.log

You will find the log file there


Operator with multiple objects with same names

Operator cannot handle multiple data carriers with same name.
For example
from devito import Grid, inner, Function

grid = Grid((10, 10))

u = Function(name="u", grid=grid)
u.data[:] = np.random.rand(*u.shape)
u1 = Function(name="u", grid=grid)

assert inner(u, u1)  == 0 # Fails but is what it should be
assert inner(u, u1) == norm(u)**2 # Returns true (withing numerical prceision) as u1 is ignored because same name as u

Not sure how to handle it, probably automatically create aliases if there is multiple objects with the same name

I'm downgrading to bug-py-minor from bug-py

how about we check the id and the name and raise SuitableException if id different but identical name?

Not sure it should be an exception, IMO should be supported, in practice can happen fairly often, like a simple:
rec0 = solver.forward()
rec1 = solver.forward(vp=vp0)
inner(rec0, rec1)

then they have same name and not really a "nice" way to change the name of one of the two, and most people would expect this to work.


optimize: rename Success to Completed

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

Is there any purpose here beyond fixing the todo for the sake of it? In addition, there are at least 2 files that contain references to the enum that weren't updated.

Is there any purpose here beyond fixing the todo for the sake of it? In addition, there are at least 2 files that contain references to the enum that weren't updated.

There is no other purpose. I forgot to check the test file，I have fixed it

cc @abeyad since you left the TODO originally

/assign @alyssawilk


added a java program that uses multiple oops concepts

I have added a new java program that calculates the marks of a university student based on his performances and co-curricular achievements. This program uses multiple oops concepts including inheritance, use of abstract classes etc.

Please add the hacktoberfest-accepted tag while merging. Cheers.


Implement Openstack

Hey,
Unfortunately I don't have access to EC2 or Azure, it is possible to create some sort of profile for Openstack environment? If so I would be happy to help (I work on openstack a lot)

Yes this is a great idea, would love to code an implementation in! There is documentation on how write a Reconciler in the Cloud directory https://github.com/kris-nova/kubicorn/tree/master/cloud and there are examples of other implementations in the code base.
Do you want to start coding and we can work together? Also happy to jump on a video call and go through this in greater detail if needed

Hi,
I will be a little busy the coming week due to some research workload so that spending non-preempted time might be a little luxury for me :(  I will start with the reconciler and probably discuss with you if I have any questions. I am very interested into the bare metal case too (some of my past research can actually use that right away)

I am wrapping up writing a book this week and next, but once that is done I should be back to my old tricks again.. meaning I can help out with this effort as well!

I'm happy to help with this too.  Closest thing, that I'm aware of, is Juju.

I've started working on an Openstack implementation.

I guess this issue can be closed now :)

@xlucas thanks for the update! Closing


Implement add reverse func in ast_builder

Issue
Implement https://github.com/gluesql/gluesql/issues/636
Description
Implement reverse function at ast_builder

Codecov Report

Merging #637 (cce074a) into main (36e156e) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #637   +/-   ##
=======================================
  Coverage   94.28%   94.29%
=======================================
  Files         215      215
  Lines       15323    15335   +12
=======================================
+ Hits        14448    14460   +12
  Misses        875      875

Impacted Files
Coverage Δ

core/src/ast_builder/mod.rs
100.00% <ø> (ø)

core/src/ast_builder/expr/function.rs
100.00% <100.00%> (ø)

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 36e156e...cce074a. Read the comment docs.


Stop add event on child list from propagating to parent list

See https://github.com/powmedia/backbone-forms/issues/502

@exussum12 - although stopPropogation is fairly severe, the Add button is really only used for the list editor - I can't forsee any fallout, but can you?

Going to merge this as we only use the event in the forms.


B-18066-INTEGRATION

B-18066
E-05254
Summary
For INTEGRATION
This PR is for the PPM down payment packet API.
Sample PDF:
ppm_payment_packet-2024-03-05T13_09_53.021Z.pdf
Note: PDF will also contain both bookmarks and footer/watermark.
Internal:

GET: /ppm-shipments/{ppmShipmentId}/payment-packet/

GHC/Office

GET: /ppm-shipments/{ppmShipmentId}/payment-packet/

Verification Steps for the Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

Setup to Run the Code

Instructions for starting storybook
Instructions for starting the MilMove application
Instructions for running tests

How to test

Login into Milmove customer
on board PPM and submit
Login into Milmove office and review move
Approve PPM and "move details"
Login into Milmove customer and start uploading documentations(see UI attachment)
Add weights, pro-gear, expenses ..etc..
Determine ppm shipmentId. Go to customer/office swagger -- "payment-packet" and execute API.
Swagger will also provide a URL(not curl example). Copy and paste into browser.  This is the quickest way to test without using postman. Make sure you are logged into either customer or office.
http://milmovelocal:3000/internal/ppm-shipments/ff084acc-77ef-4d87-8c02-aff83aa56f74/payment-packet
Run in Postman if applicable

Backend

[ ] Code follows the guidelines for Logging.
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Warnings

:warning:

New files have been created under one of the legacy directories
(src/shared or src/scenes). Please relocate them according to the file structure described here.
View the frontend file org ADR for more information

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

  Generated by :no_entry_sign: dangerJS against be06565bea51812f57110fe4ac1cc216c7d52e1d

Was able to download the payment packet no problems. Looks good

Office API works too


Question about this project

What difference is there between Laravel Cashier  and this project?

Laravel Cashier only lets you add 2 types of payment providers (Stripe and Paddle), so the aim of this project is to offer the possibility of having the entire subscription management system and adding several other payment methods other than Stripe or Paddle.

Great! Is there a way to mate it work with Redsys? Is there any documentation on how integrate it? Thank you @mckenziearts

Personally, I don't know Redsys., but here's a mini example of integration I had to do on a project
public function subscribe(SubscribeRequest $request): JsonResponse
{
  /** @var Plan $plan */
  $plan = Plan::find($request->input('plan_id'));
  /** @var User $user */
  $user = User::canSubscribe()->find($request->input('user_id'));

  if (! $user) {
      return $this->errorResponse(__('You cannot subscribe to this plan. Your account may have a problem'));
  }

  if ($user->subscribedPlans()->isNotEmpty()) {
      return $this->errorResponse(__('You already have a subscription!'));
  }

  $action = $user->planSubscriptions->isNotEmpty() ? SubscriptionAction::RENEW : SubscriptionAction::SUBSCRIBE;

  // here your own integration of your payment solution
  $response = ProceedPayment::run($user, $plan, $action);

  return $this->successResponse(__('Your payment is in progress...'), $response);
}

It was for the integration of a simple mobile money solution. I don't know if the example helps, but it's just to add the package actions after payment.
Compared to Laravel Cashier, which handles all this in back, here you'll have to set up the whole payment, re-subscription and trial period process yourself for everything to work properly.

To integrate another solution, you need to integrate the bank's sdk yourself (php or Laravel). The aim of the package is just to give the subscription and renewal methods and to give the developer complete control to add any means (even Stripe if he wants).


i3expod not launching

-- Linux Mint 23
-- python 3.10
-- i3 4.22

Monitor(s) configuration?

I have only one monitor, under DVI-D-0, 1920x1200 resolution

If you open a python interpreter and paste this:
import subprocess

def get_primary_output_name():
    stdout, stderr = subprocess.Popen('xrandr --listmonitors',
                                      shell=True, stdout=subprocess.PIPE).communicate()
    if stdout != '':
        monitorlines = stdout.decode().split("\n")
        # Search for the primary (marked with +*)
        # If none found (e.g. primary is on a disconnected output), take the first
        primary = None
        for m in monitorlines:
            if "+*" in m:
                primary = m
                break  # Early exit from the cycle
            elif "+" in m:
                primary = m  # We found a monitor. Keep it
        if primary != None:
            return primary.split()[-1]
    return None

get_primary_output_name()

what's the output?

Here it is

I dont know how i didnt think about it earlier, but with default i3 configuration, i3expo is working perfectly, i will try to debugg my config and update this thread later, im sorry for wasting your time

Ok it seems its because of gaps, is expo not supposed to work with gaps or is it because of some bugs? My configuration of gaps:

Umh, interesting. So it's fine if you disable gaps... Well I do use gaps myself and it works, the only difference is I don't use negative values for gaps. Have you tried setting your outer gaps to something non-negative, like 0?

Yeah without negative value it's working as expected, i guess i can live without it, thank you :)


ClientModel prototype: validate API changes

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel


Landsat 9

The readme does not mentioned Landsat 9, but it looks like Landsat 9 is incorporated in BAP (looking at 'library' script).
You may want to update the readme to make this clear.

Done.
Thanks a lot!
Saverio


Update docs

Description
Update docs for new custom resources functions.
Generate Markdown docs straight into README (pending)
Motivation and Context
Prep docs for general release.
How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] I have signed the Adobe Open Source CLA.
[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

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

@@          Coverage Diff          @@
##           master    #31   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           3      3
  Lines         242    242
  Branches       14     14
=====================================
  Hits          242    242

Impacted Files
Coverage Δ

src/index.js
100% <ø> (ø)
: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 887af7b...274531a. Read the comment docs.


ERROR c.g.r.t.h.AbstractRequestHelper - [makeRequest,122] - Connection timed out: connect

ERROR c.g.r.t.h.AbstractRequestHelper - [makeRequest,122] - Connection timed out: connect

You just maybe lost your internet connection during the call.


How to delete listeners?

Is it possible to add a hook to remove all listeners?
It's quite useful in event handler:
process.on('exit'....

Please refer to EventEmitter2 documentation on how to remove listeners.
Something like gkm.events.removeAllListeners(eventName) should do the trick.
Note that gkm spawns a single listener process (for both keyboard and mouse) in Java (running gkm.jar) that will run until your program is terminated.


CMake doesn't support download from ssl or http but out-of-the-box it must.

Hi!
Out-of-the-box I mean Windows and Linux full versions of CMake (for example 3.25.1)
See this issue:
https://github.com/OpenEnroth/OpenEnroth/issues/1308#issuecomment-1722913731
This project cmake auto-resolves the dependencies and downloads them.
Is this issue fixable?
It is critical I think.

Im trying building this project using a termux, not successfully, need more configuration for ffmpeg

You can take my build.gradle script for path android/openenroth and my keystore.jks if you don't have yours, to reproduce the error.

I have just reproduced the issue if i enter the following command in the AndroidIDE:
git pull origin master
under the OpenEnroth dir if you cloned the repo.
Build log:
build_output (1).txt

The problem still reproduces even if I use the latest ndk: r26b, the errors are the same, unsupported protocol which means CMake is linked against libcurl without openssl and http support.


Fix fix NormalizeRepeat, only normalize grouping scalar function in agg outputExpressions with bottom projects

In NormalizeRepeat, three parts of the outputExpression of LogicalRepeat need to be pushed down and outputted by bottom project: flattenGroupingSetExpr, argumentsOfGroupingScalarFunction, argumentsOfAggregateFunction.
In the original code, use these three parts to rewrite the outputExpressions of LogicalRepeat to slots.This can cause problems in some cases, for example:
SELECT
	ROUND( SUM(pk + 1) - 3) col_alias1,
	pk + 1 AS col_alias3
	FROM
	table_20_undef_partitions2_keys3_properties4_distributed_by53
GROUP BY
	GROUPING SETS ((pk), ()) ;

The three parts expression needed to be pushed down are: pk, pk+1. The original code use pk+1 to rewrite the pk + 1 AS col_alias3  to slot. But the pk+1 is not in the list of grouping outputs, and then report error.
This pr change the rewrite process,  divide the expression needed to be pushed down  into 2 parts: one is (flattenGroupingSetExpr) and the other one is (argumentsOfGroupingScalarFunction, argumentsOfAggregateFunction).
and use the flattenGroupingSetExpr rewrite all LogicalRepeat outputExpressions, and use the argumentsOfGroupingScalarFunction, argumentsOfAggregateFunction to rewrite only the agg function arguments and the grouping scalar function.


The documentation is incomplete

I am looking at the documentation
I would expect a sample of what the csv file should look like
The syntax and details of the format fit file.
That way I can walk through the whole example.
I don’t see the details. This would be awesome that shows clearly
For csv File a format file so we can replicate the steps

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

ID: 1b7a6124-86bc-bd57-88c6-7c4334c49cd5
Version Independent ID: 1598c673-fb85-3cf7-4ff9-8fdc0e384c68
Content: Bulk access to data in Azure Blob storage - SQL Server
Content Source: docs/relational-databases/import-export/examples-of-bulk-access-to-data-in-azure-blob-storage.md
Product: sql
Technology: data-movement
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

@mdhruv1 -- thank you for your feedback.
@MashaMSFT -- please look into this issue #4151.

Hi @mdhruv1, thanks for contacting Microsoft and providing your feedback! Let me see what our options are for you. Stay tuned :)
Thanks!
Masha from the SQL Docs team

Hi @mdhruv1 , thanks for bringing this to our attention! I have created an internal work item to track this work  (1698110).
I will close out this Git Issue in the meantime but please feel free to comment should you need anything further.
Thanks for improving our documentation!
Masha from the SQL Docs team

#reassign:@rwestMSFT

This article is being refreshed and will publish in the next few days. There is already a link in the article that points to sample code, where you can examine an example CSV file.


Redefine requirement of Symbolizer properties

Currently all properties (except kind) are optional (marked with ?) for the Symbolizers.
We should check which properties should be required and which should be optional.
E.g. an IconSymbolizer without image shouldn't be valid...

Seems like there are very rare properties that are required as most style-representations accept almost empty styles (SLD) or have default values (OpenLayers).


Module not found: Error

Having this error at build:
Module not found: Error: Package path ./react is not exported from package /Users/[path_to_project]/node_modules/@formkit/auto-animate (see exports field in<EMAIL_ADDRESS>
React 17
Webpack builder Using Laravel Mix
Typescript 4.7.4
Library is installed as "@formkit/auto-animate": "^1.0.0-beta.1"

Having the same issue in Next.js

Hi I'm getting the same error

React 17
Webpack using Bit.dev
beta.3

import attempts

import autoAnimate from "@formkit/auto-animate"; // without hook
import { useAutoAnimate } from "@formkit/auto-animate/react"; // hook

Calling code attempts

const [examplesContainer ] = useAutoAnimate(); // hook
const examplesContainer = useRef(null); and autoAnimate(examplesContainer.current); // without hook

I could be wrong about this — but there seems to be a common thread when people encounter this issue. Typically the build tool is a bit older (like webpack 4) and doesn't like .mjs files. AutoAnimate as of right now is ESM only, we don't plan to ship any CJS (we're ok with some rough edges if it helps move the ecosystem along a bit — better for the environment you could say 😂).
That said — if there is some way we could write the export map to allow these older bundlers to actually work without shipping CJS I'm in!


go-symbols: init at 2017-02-06

Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>Motivation for this change
go-symbols is an utility for extracting a JSON representation of the package symbols from a go source tree. It's used in vscode and other editors 👼
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@Mic92 LGTM. Could you have a lool?


Metadata Support

metadata files can be viewed in /var/log/rpi-sb-provisioner//metadata/.json
Added basic parsing of metadata file.
NOTE: Needs updated version of rpiboot - specify this in nfpm.yaml?

Are these commits missing some changes? One of the commit messages has "Added hooks in provisioner.sh to help the app" but provisioner.sh is not modified by this MR.

Are these commits missing some changes? One of the commit messages has "Added hooks in provisioner.sh to help the app" but provisioner.sh is not modified by this MR.

Which commit?

Are these commits missing some changes? One of the commit messages has "Added hooks in provisioner.sh to help the app" but provisioner.sh is not modified by this MR.

Which commit?

5835727d8f163736ce3f1a27af7ebc9da9fe567e claims "Added hooks in provisioner.sh to help the app". Some of the other commit messages could do with reviewing as well as they don't align well with the contents of the commit.

ACK. @bebon901 please review the commit messages in this series, or are we good to squash all these commits into one as part of a merge (with an appropriate message?)
At the very least - this now needs a rebase.


Solve warnings, corrected instructions in README

Not all tests are passing, yet. Hope you can fix the "leave".

Sorry for the delay, Thanks! :bowtie:


fix multiple header values not preserved by Rust SDK

close #1406

@Patrick0308 Thanks for the contribution. The Spin project requires all commits to be signed; could you please sign your commit and update the PR?

@lann @fibonacci1729 PTAL, I had signed the commits.

Thanks!


Highlight attack ranges

It would be nice to see the weapon's basic attack range highlighted before moving.

With #89 implemented, is this still relevant? Also, just to be clear, this is for highlighting the basic attack range while selecting a tile to move to, correct?

One issue I am noticing, is we currently use the same color for showing range of movement as we do the range of an attack (blue in both cases).

Fixed the color issue with da9905ea43d12ab3704f190a3008943b6c4bd486


fix(structures/channel): empty guildID

This will not completely fix the issue

I just did quick testing on start rn.


CSV import: allow waveforms to be dense packed if all samples are equidistant

Right now all CSV imported waveforms are assumed sparse which can hurt performance and use more disk space than necessary.

Also, autodetecting the sample rate from a CSV would enable a more plausible display of sample rate rather than 1 PS/s.


Wyoming: context in Transcript object is discarded

Observation:
The wyoming.asr.Transcript object takes a context parameter, but it does not end up serialized in to the Event, or deserialized on the other side, so the data is lost in the Wyoming communication layer.
Expected Behavior
The context passed to the Transcript constructor should end up transmitted to the server and available for use.
Note: I notice that the Transcribe object appears to have the same issue, although I'm not using that part of the code so I'm less confident about its intentions.
Relevant code:
@dataclass
class Transcript(Eventable):
    """Transcription response from ASR system"""

    text: str
    """Text transcription of spoken audio"""

    context: Optional[Dict[str, Any]] = None # <------ The context object is available at construction
    """Context for next interaction."""

    @staticmethod
    def is_type(event_type: str) -> bool:
        return event_type == _TRANSCRIPT_TYPE

    def event(self) -> Event:
        return Event(type=_TRANSCRIPT_TYPE, data={"text": self.text}) # <------ The context dict is not serialized

    @staticmethod
    def from_event(event: Event) -> "Transcript":
        assert event.data is not None
        return Transcript(text=event.data["text"]) # <-------- The context dict is not de-serialized

Side note for HA:
It would be great if Home Assistant would use this object to provide other important context for handling the intent. Right now it adds a conversation_id uuid, but the text "context" (previous conversational bits) as well as the device_id and agent_id would also be very valuable for providing more tailored intent handling.
Partially putting this here to validate that it's within the spirit of the Wyoming protocol to allow arbitrary data in the context dict, which could be implementation-specific, yeah?

Thanks for bringing this up! Context ended up being unfinished since a workaround was found.
I definitely planned for context to contain arbitrary data, and to get copied between input/output events within each service.
I will get it finished here and then update it on the HA side :+1:

Yay! I've got a draft PR open on the home-assistant side here: https://github.com/home-assistant/core/pull/132235


Text editor search with recently search terms history

I would like to have vscode keeping track of my last search terms I have used on text editor.
I don't think vscode needs to keep this history persistent across multiple instances, but until the current instance/process is closed.

Can you please add this feature , i think we need this.

You can use alt+up/down to navigate the search term history.


Add aframe with arrow

Adds an index page that shows the arrow using the default ARjs marker.

✅ LGTM
Shit works yo!


[Blazor] render-components-outside-of-aspnetcore - Proper DI usage

When using dependency injection, the HtmlRenderer should not be composed directly (with new), but using a service provider.
cc @guardrex

Internal previews

📄 File
🔗 Preview link

aspnetcore/blazor/components/render-components-outside-of-aspnetcore.md
Render Razor components outside of ASP.NET Core

Thanks @hakenr ... The code was sourced from Dan's blog post here ...
https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-preview-3/#render-razor-components-outside-of-asp-net-core
I think Steve built the feature. IDK if Dan wrote the code or if Steve gave it to him for publication. I'll ping them tomorrow for a look 👀.

UPDATE: Dan said he'll be free to take a look at the end of the week. I haven't heard back from Steve. He might pop in for a peek at any time.

Mmmmmm ... Nothing yet on a review. I'll leave this open a bit longer and mention it to Dan today.

@SteveSandersonMS Can you weigh in here on which pattern we should show? Another options seems to be removing DI completely from the sample. For example, this seems to also work: await using var htmlRenderer = new HtmlRenderer(new ServiceCollection().BuildServiceProvider(), new LoggerFactory());. Should we also consider adding a default constructor to HtmlRenderer in the framework?

It's the app developer's own choice whether they want to resolve this via DI or not. Given that:

it only takes two constructor parameters, serviceProvider and loggerFactory
... and in this sample, you want to consume it in a transient way (i.e., you manage the disposal yourself)

... there's very little benefit to obtaining the instance from DI. Arguably it has more drawbacks than benefits, since resolving anything transient from DI is a little confusing because people struggle to remember how disposal works. The standard DI interface pattern around transient+disposal is awkward so we try to avoid it.
I personally prefer the new approach in this case (making clear that the flexibility to use new directly exists here) but ultimately it doesn't matter very much.

Should we also consider adding a default constructor to HtmlRenderer in the framework?

If you mean a parameterless constructor then I don't think so because of the risk of confusion. HtmlRenderer will commonly be used to render components that themselves rely on DI services, and if we default to giving them an empty service provider, they will default to throwing an exception saying that the required service could not be resolved. Empty service providers are a weird scenario so while it's fine for developers to get themselves into that situation by their own choice, I don't think we should be leading them in that direction in a subtle way.

Thanks @SteveSandersonMS!
@hakenr ... Looks like we're leaning toward closing and going with what's in the doc. Do you have any final thoughts before I close?

@guardrex
Ah, the evil transient disposables, I see. Let's stick with the new approach then.
Should we add a note that when using dependency injection, we need to be cautious with this?

Should we add a note that when using dependency injection, we need to be cautious with this?

Only if it's something unique about HtmlRenderer, but I suspect this is purely a concern about DI so we can (and already do) cover that in the DI docs.

Perhaps just a cross-reference? ;-)


How to check for status code?

Hi,
Is there any way to check for status code when making a HTTP request? For instance, when executing
browser.post(loginURL, Map(
        "email" -> email,
        "password" -> password,
        "op" -> "Login",
        "form_build_id" -> getLoginFormID,
        "form_id" -> "packt_user_login_form"
    ))

how can one check whether status code is 200 (successful logging) or not? One way would be to write a custom HtmlValidator to validate returned Document, but can I do it explicitly by checking status code?

Hi @mjenczmyk! The behavior of a Browser when a request returns a non-200 status code is implementation-dependent. In the case of jsoup, for example, an HttpStatusException is thrown:
scala> JsoupBrowser().get("https://example.com/non_existing_page")
org.jsoup.HttpStatusException: HTTP error fetching URL
  at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:760)
  at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:706)
  at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:299)
  (...)

You can catch this exception to check the specific status code that was returned.
Note that scala-scraper does not intend to provide full-fledged HTTP clients. While the Browser class surely helps in the most common use cases, dealing with more complex HTTP responses may require using a proper external HTTP client and passing the response body to Browser#parseString manually.

Thanks, that'll help. I was using scalaj-http when making more complex requests (as you've suggested), but now I'll be able to use plain scala-scraper more. Thanks for help!
Feel free to close the issue if you want to.

For me changing the user agent to "Mozilla/5.0" alone fixed the issue.
Document doc = Jsoup.connect(url)
.userAgent("Mozilla/5.0")
.timeout(30000)
.get();


Draw the filled part of the slider on float EditorSpinSliders

master version of #55521.
This makes it more obvious that the slider has a "filled" part on the left, which improves visibility especially in wider inspectors (such as the Project Settings and Editor Settings).
Preview

Before
After

Whoa, I never realized the sliders have a filled part! My poor eyes say THANKS!!!

That looks pretty cool for ratios definitely. But what about arbitrary float slides which do not range from 0 to 1? Is the "filled"/"progress" concept still relevant?

I have the same concern as Akien. It sure makes semantic sense in some situations, but not in others. Maybe it should be an option and we should only enable it for properties that have PROPERTY_HINT_RANGE with both ends?

Maybe it should be an option and we should only enable it for properties that have PROPERTY_HINT_RANGE with both ends?
Edit: Though, I guess the slider itself is already only visible in such cases. Probably good then.

Well my point is that sometimes the range we specify is not the range of absolute values that something can take, but a generic "wide yet small enough" range for a slider to be a meaningful way to pick a value.
For example:
scene/resources/cylinder_shape_3d.cpp
100:    ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "radius", PROPERTY_HINT_RANGE, "0.001,4096,0.001"), "set_radius", "get_radius");
101:    ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "height", PROPERTY_HINT_RANGE, "0.001,4096,0.001"), "set_height", "get_height");

It doesn't make much sense to represent 0.001 radius as 0% filled and 4096 radius as 100% filled UX wise IMO.
That being said, I'm not sure if it's actually detrimental to UX as opposed to just being superfluous in this case.

IMO that's probably fine. or_greater and or_lesser spinners would be more problematic (the ones you refer to seem to have a fixed range). I'm not sure I'm a fan of the way we show the slider at all. But this improvement makes it ever so slightly easier to identify visually what the overall state is.

Thanks!


Refactor map feature managers

Closes #2155
@scolsen @shobhitagarwal1612 PTAL?
@justinkimtang FYI

Codecov Report
Attention: 179 lines in your changes are missing coverage. Please review.

Comparison is base (f4deb1a) 52.21% compared to head (7a6e1fc) 52.72%.
Report is 1 commits behind head on master.

Files
Patch %
Lines

...roid/ground/ui/map/gms/features/MapsItemManager.kt
0.00%
38 Missing :warning:

...droid/ground/ui/map/gms/features/FeatureManager.kt
18.60%
35 Missing :warning:

...ound/ui/map/gms/features/FeatureClusterRenderer.kt
0.00%
22 Missing :warning:

...d/ground/ui/map/gms/features/LineStringRenderer.kt
16.66%
20 Missing :warning:

...roid/ground/ui/map/gms/features/PolygonRenderer.kt
12.50%
14 Missing :warning:

...ndroid/ground/ui/map/gms/features/PointRenderer.kt
23.52%
13 Missing :warning:

...le/android/ground/ui/map/gms/GoogleMapsFragment.kt
18.18%
9 Missing :warning:

...round/ui/map/gms/features/FeatureClusterManager.kt
63.15%
6 Missing and 1 partial :warning:

...me/mapcontainer/HomeScreenMapContainerViewModel.kt
14.28%
6 Missing :warning:

...acollection/tasks/polygon/DrawAreaTaskViewModel.kt
78.57%
3 Missing :warning:

... and 8 more

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2157      +/-   ##
============================================
+ Coverage     52.21%   52.72%   +0.51%
+ Complexity     1208     1204       -4
============================================
  Files           313      314       +1
  Lines          6136     6084      -52
  Branches        646      634      -12
============================================
+ Hits           3204     3208       +4
+ Misses         2586     2532      -54
+ Partials        346      344       -2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@shobhitagarwal1612 @scolsen Applied a few suggestions, replied to several others. PTAL?


Redirect 404

Hello, Is there a way to automatically redirect you to "admin page" or a page where you create short links if the short link does not exist?

Please have a look at the plugin list: https://github.com/YOURLS/awesome-yourls
For example you can use https://github.com/8thwall/keyword-not-found-set-field-yourls

Perfect! works like a charm!


validateKey function not exist

installed 1.0.0 on laravel 5.3.
getting error on validating key:
Call to undefined method nickurt\Akismet\Facade::validateKey()

my fault :)


fix(docs): add Pull Request Template

fixes: #91
adds Pull Request Template on the root directory as guideline for contributors.
[skip ci]

@ruzell22 can you convert these into something like
[ ] Rebased onto ...
[ ] Have git sign off

These get rendered as boxes which one can tick off in markdown

@jagpreetsinghsasan changes has been made and is repushed. Thank you

LGTM, thankyou

@petermetz , synced the PR title and commit subject. Thank you


Unable to Modify Workspace Settings

I tried to modify Workspace name or Slug values in my Prisma Console and pressed "Save" to no effect.

Hey, this is being tracked here: https://github.com/prismagraphql/prisma-cloud-feedback/issues/119 🙂


Client Allocation Request for: TVCC

Client Allocation Questions
Core Information

Name: TVCC
Website / Social Media: www.tvcc.kr
Region: Asia excl. Greater China
DataCap Requested: 5TiB
Addresses to be Notarized: f3tbfu6dptaui5uwdt7tlhzmovocz47z2fv34dewwhvkf6heel63zqv6ro7we5fvfzndmofel64dggk5vdr5rq
Notary Requested: MasaakiNawatani

@seong-k Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Hello! I would like to know more about your business and protocols.
Please respond to the questions below in paragraph form, replacing the text saying 'Please answer here'. Include as much detail as you can in your answer!
Please describe the nature of your organization, project, or use case. For organizations, please include your relationship with the organization the size of the organization, and time since inception. For projects and other use cases, please link to relevant web pages or Github. Please include as much relevant detail to provide contextual information (with external links). If you have any presentation document about your business, please provide it to me.
Please answer here.

Have you been approved for a DataCap previously? If so, can you share the details of the last allocation decision (who approved your DataCap, what your plan was for spending it, how you executed on that plan)?
Please answer here.

**Allocation Strategy
Do you intend to store your data in a single geography or many?
Please answer here.

Are you aware of and do you intend to use the features you may specify (e.g. Fast Retrieval) with your storage deals?
Please answer here.

How do you plan on securing the DataCap to ensure your organization (and its delegated members) are the ones allocating the DataCap?
Please answer here.

Do you plan on allocating a substantial portion of your DataCap to a single miner, or will you spread it across many miners?
Please answer here.

For application developers, will you be acting as the client on behalf of your users or you applying as a Notary on behalf of your users? If so, how much DataCap per user are you seeking to have approved?
Please answer here.

Do you agree to use the DataCap to only store data that abides by local regulations and in compliance with the recipient miner’s terms of service?
Please answer here.

**Track Record
Have you previously received DataCap to allocate before? If so, please link to any previous decisions that have been made.
Please answer here.

Are there any disputes open against you from your previous DataCap allocations?
Please answer here.

Been found to be in violation of the Principles of Filecoin Plus?

Please answer here.

Thanks for your response. Here are my answers to your questions.

Please respond to the questions below in paragraph form, replacing the text saying 'Please answer here'. Include as much detail as you can in your answer!
Please describe the nature of your organization, project, or use case. For organizations, please include your relationship with the organization the size of the organization, and time since inception. For projects and other use cases, please link to relevant web pages or Github. Please include as much relevant detail to provide contextual information (with external links). If you have any presentation document about your business, please provide it to me.
The leader in news and information on cryptocurrency and blockchain, TVCC is a media outlet that strives for the highest journalistic. TVCC curates the latest news about the cryptocurrency and blockchain industry.

Link here -> www.tvcc.kr

Have you been approved for a DataCap previously? If so, can you share the details of the last allocation decision (who approved your DataCap, what your plan was for spending it, how you executed on that plan)?

N/A

**Allocation Strategy
Do you intend to store your data in a single geography or many?

Single. We prefer to work with a storage provider that exists or based in Japan.

Are you aware of and do you intend to use the features you may specify (e.g. Fast Retrieval) with your storage deals?

Yes, we are aware of the issue, and we are willing to use it. If the storage provider has Fast retrieval, it will be fine.

How do you plan on securing the DataCap to ensure your organization (and its delegated members) are the ones allocating the DataCap?

We will manage the file storage separately to protect the data cap.

Do you plan on allocating a substantial portion of your DataCap to a single miner, or will you spread it across many miners?

We will store in multiple miners. (At least two)

For application developers, will you be acting as the client on behalf of your users or you applying as a Notary on behalf of your users? If so, how much DataCap per user are you seeking to have approved?

N/A

Do you agree to use the DataCap to only store data that abides by local regulations and in compliance with the recipient miner’s terms of service?

Yes. We intend to fully abide by the rules and guidelines set forth.

**Track Record
Have you previously received DataCap to allocate before? If so, please link to any previous decisions that have been made.

None.

Are there any disputes open against you from your previous DataCap allocations?

None.

Have you ever previously violated:

* Your own attested allocation / audit plan?
* Been found to be in violation of the Principles of Filecoin Plus?

None.

Thank you for your response, can you tell us more about your

Business model and where will the 5 TB be used for?
Your storage and retrieval strategy?
Will the use of this storage protocol be announced publicly to your users?
Do you have any direct affiliation with any miners to enable this agenda?

Thanks for your response. Here are my answers to your questions.

Thank you for your response @seong-k, can you tell us more about the following:

Business model and where will the 5 TB be used for?

We are a news company specializing in Blockchain. We deliver all the news related to Blockchain, including crypto currency, through YouTube and other media every day. Through YouTube and other media platforms, we have regular earnings. In addition, we are taking client requests as a full-service advertising agency. For sample videos, please refer to the link below:
https://www.youtube.com/c/TVCC-Broadcast We are planning to store and save the contents on the decentralized data storage, FILECOIN.

Your storage and retrieval strategy?

Also, we are planning to save massive data files like XR contents, which will be released this fall. However, if it takes time to recover from Filecoin, we will solve the following issues by uploading on YouTube or use other online platforms (Which known as a hybrid fast retrieval) and, if Filecoin proposes a solution to these problems, we will try to retrieve files directly from Filecoin network.

Will the use of this storage protocol be announced publicly to your users?

We are also planning to inform and educate our subscribers about all these processes through video contents.

Do you have any direct affiliation with any miners to enable this agenda?

We have no direct affiliation with miners.

Thank you for your response. After reviewing the information you have provided, I will allocate 1 TB for this request.
You may re-apply again with me but only after I am able to verify the datacap was used for its intended purpose.

Hi @seong-k , I have allocated 1 TB to the address you provided. You may now close this ticket please. Thank you.


Release 0.5.0

I would suggest to release version 0.5.0 (including #8 and #11) soon and to defer #17/#18 for a future version.
Do you agree, @francium?

Yes

Do you want to wait some more for #11's author to respond or should get it finished ourselves?

@francium if you feel like it, you can take over that PR!
I think it should be even possible to resolve the conflict directly on GitHub:

Version 0.5.0 is now published.
I also noticed that the py.typed file was not included in the dist previously. I fixed that using a MANIFEST.in file.


Conflicting objects UI error is misleading

UI error for conflict is misleading. By design that's conflict (changes to both right and left commits). I think the diff should not be visible for non-diffable objects (non csv, txt, tsv).

2 Options I can think of:

Remove the 'show changes' button completely
Change the error to a warning message stating "Unsupported file type for diff"

@itaiad200 @ozkatz (for product perspective). Your thoughts?

I think that we should stay consistent:
non conflicting changes would show a content diff for txt,csv,... and the amount of bytes added/removed for other non-humanly-diffable formats.
We're already doing the first part for conflict, why not the second?

yes, summing the values indeed makes little sense. however showing size in bytes for source and for destination could be helpful (i.e. if big_data.parquet is 40bytes on source but 150MB on destination, that's useful when trying to decide which version to take)

Sounds legit, do we want to add an informative message (as suggested above) in addition to the size change information?

Without Diff:

With Diff: