Should translated titles be captured?

Are there any guidelines on capturing translated titles (e.g., as described in CMOS17 14.99 or APA7 9.38)? Should there be an element in the schema that captures such information?

Thanks @acli for this issue, it's an interesting question!
I'm not sure who in practice usually supplies translated titles.
I think I have done it perhaps once or twice myself in the past, for papers that reference German language publications for which I had translated the title myself, so one use case would be citer adds translation. In this case I think the schema wouldn't need such a field. The citer would simply add their translation in the metadata format they are using for the work they want to cite the translated work in.
By the way, it seems to be a matter of debate whether translating titles is good research practice (e.g., see comments in this TeX StackExchange post), although personally I see why they can be useful in some contexts.
Another use case could be provider of work adds translation. I'm not sure if this is a common use case especially for software (and datasets). It may be for works that go in the references section, but this information may also be lost downstream anyway - BibTeX for one doesn't seem to natively support translated titles (as far as I could find out). Instead, BibTeX must be "hacked" (see link to TeX SE above) to work. One could also argue that if software/dataset creators want to supply a translated title, they can simply use the title field and add the translation in square brackets or another format of their choosing, making it part of the title itself.

I just read the StackExchange post and wanted to just jot down some thoughts:
It is not known what the OP’s discipline was; all we know is they cite in APA style, which suggests they likely did not work in math, engineering, or medicine (where some kind of Vancouver style would be more common). For what it’s worth, APA has never had good support in BibTeX.
It is also not known what disciplines the commenters work in, or why they felt translated titles were bad academic practice. As one dissenting commenter stated, numerous examples with translated titles can be found in the Chicago Manual of Style (including CMOS17, the current edition). APA also does not discourage translated titles (9.38 specifically, if we’re talking about APA7, the current edition). MLA (1.2.5 specifically, for MLA8, the current edition) actually tells people to provide translated titles  “if your readers are unlikely to understand the title of a non-English work”. APA, CMOS, and MLA happen to be precisely styles not commonly used in math, engineering, or medicine.
Since I’m not a researcher, I’m not qualified to further comment on whether translated titles are acceptable practice in some disciplines, but I don’t feel “it’s not supported by BibTeX” is a strong argument for not captuing this information. If the Ruby library is ever updated to include other styles – particularly Chicago style where the original and translated titles are separated by a delimiter other than an opening square bracket – this will become a problem because there will be no way to determine if any square brackets are part of the original title or if they introduce a translation.
We might want to re-examine our rationale for tying CFF so closely to bibtex:

Are we assuming that everyone who might want to use CFF will write papers in LaTeX?
Are we assuming that everyone who might want to use CFF must be working in math, engineering, or medicine? (This is false – for one no one from my university works in math, engineering or medicine. The designer of the Ruby library obviously also thought this was false since they included support for APA style.)
Are we consciously or subconsciously excluding people we stereotypically don’t think would write code, such as artists or designers?

(FWIW, I graduated from an art school and we do produce code. My department mostly cites in APA, the rest of the university mostly cites in MLA. Use of LaTeX is virtually non-existent. If we thought citing art is a possibility, we should face the reality that some art pieces will be or contain code. Do we want artists to use the citation file format?)


Jar File Not Accessible in Recaf V3/V4 Due to Missing Central Directory Header

Describe the bug
I made my own program that takes a jar file by input to detect and remove a spigot backdoor but the output jar file cannot be accessed by V3 or V4 due to an "No Central-Directory-File-Reader found" error, it is accessible in V2 though.
I forgot to close the output stream which I assume caused the zip headers to not be written correctly but since it works in the JVM regardless of this I thought I might as well mention it. I had to upload it to media fire because github doesn't recognize it as a zip file.
To Reproduce
Steps to reproduce the behavior:

Open sample  in Recaf V3/V4

Exception
14:25:27.680 [BasicResourceImporter/path-loader-0] INFO : Reading input from ZIP container 'viaversionfixed.jar'
14:25:27.716 [WorkspaceExplorerPane/path-loader-0] ERROR: Failed to create new workspace from dropped files
java.io.IOException: No Central-Directory-File-Header found!
        at software.coley.lljzip.format.read.JvmZipReader.read(JvmZipReader.java:68)
        at software.coley.lljzip.ZipIO.read(ZipIO.java:257)
        at software.coley.lljzip.ZipIO.read(ZipIO.java:197)
        at software.coley.recaf.services.workspace.io.ResourceImporterConfig.lambda$mapping$0(ResourceImporterConfig.java:65)
        at software.coley.collections.func.UncheckedFunction.apply(UncheckedFunction.java:17)
        at software.coley.recaf.services.workspace.io.BasicResourceImporter.handleZip(BasicResourceImporter.java:142)
        at software.coley.recaf.services.workspace.io.BasicResourceImporter.handleSingle(BasicResourceImporter.java:107)
        at software.coley.recaf.services.workspace.io.BasicResourceImporter.importResource(BasicResourceImporter.java:592)
        at software.coley.recaf.services.workspace.io.BasicResourceImporter$Proxy$_$$_WeldClientProxy.importResource(Unknown Source)
        at software.coley.recaf.workspace.PathLoadingManager.lambda$asyncNewWorkspace$2(PathLoadingManager.java:84)
        at software.coley.recaf.util.threading.ThreadUtil.lambda$wrap$2(ThreadUtil.java:224)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1570)

Opens fine for me

Default IO/ZIP parse settings

With your modified one:
Recaf can understand what files there are in the zip if you use the Naive strategy, but because the file entries are all sized at ZERO it will skip the associated file data and go to the next header. As the name implies, its naive. The file lengths were normally stored in the central file headers not the local file headers, and your modified file only has the local file headers. No central file headers, no end header, so Naive won't read the content.
I may add some options to the naive handling later at some point.


fix: create project fails in combine-api

What bugs does this PR fix?
Fixes silent failure when creating new omex file.  The transaction failed when uploading to a temporary S3 bucket.  The cause was improper environment variable used for S3 credentials.

Fixes create project fails when writing to S3 (closes #4736)

How have you tested this PR?
Unit test CreateCombineArchiveTestCase.test_create_combine_archive_with_uploaded_model_file_and_save_to_s3_biomd0000000010() exercises this code path in combine-api.

:tada: This PR is included in version 9.43.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Guru Meditation Error. I2C driver with commands of only one byte (IDFGH-6890)

Environment

Development Kit:      ESP32-DevKitC
Kit version [v4]
Module or chip used:  [ESP32-WROOM-32|ESP32-WROOM-32D|ESP32-WROOM-32U|ESP32-WROVER|ESP32-WROVER-IESP32]
IDF version: v4.4 - issue may be related to changes in 4.3
Build System:         [CMake|idf.py]
Compiler version: latest
Operating System:     [Windows|Linux|macOS]
Power Supply:         [USB]

Problem Description
After upgrading the SDK from 4.0 to 4.4 receiving Guru panics with our I2C driver.
//Detailed problem description goes here.
With our I2C peripheral device we issue a command to start performing work (not shown).
While the I2C peripheral is still working, it responds NACK to its address (+ read) and ACK when the work is complete and ready to be read.
To check the completion of the work, we issue a single byte command as shown below:

cmd = i2c_cmd_link_create();
 i2c_master_start(cmd);
 i2c_master_write_byte(cmd, (DEVICE_ADDRESS << 1) | I2C_MASTER_READ, ACK_EN);
 ret = i2c_master_cmd_begin(I2C_NUM, cmd, 2000 / portTICK_PERIOD_MS);
 i2c_cmd_link_delete(cmd);

if (ret == ESP_OK)
    work_is_complete();

Expected Behavior
To get either ESP_OK or NACK.
Actual Behavior
Guru Meditation Error: Core  0 panic'ed (StoreProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x4008ab5f  PS      : 0x00060b30  A0      : 0x801322d5  A1      : 0x3ffbc730
0x4008ab5f: i2c_master_cmd_begin_static at /Users/user/esp/esp-idf/components/driver/i2c.c:1345

A2      : 0x00000000  A3      : 0x3ffdf098  A4      : 0x00000000  A5      : 0x00000000
A6      : 0xffffff00  A7      : 0x6001301c  A8      : 0x3ffdf1fc  A9      : 0x3ff53000
A10     : 0x00000901  A11     : 0x0000008b  A12     : 0x3ffbf22c  A13     : 0x00000001
A14     : 0x00000000  A15     : 0x00000800  SAR     : 0x00000009  EXCCAUSE: 0x0000001d
EXCVADDR: 0x00000008  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0x00000000

Backtrace:0x4008ab5c:0x3ffbc7300x401322d2:0x3ffbc770 0x400da1ee:0x3ffbc7b0 0x400da357:0x3ffbc7f0 0x400d83f3:0x3ffbc810 0x401b73fb:0x3ffbc930
0x4008ab5c: i2c_master_cmd_begin_static at /Users/user/esp/esp-idf/components/driver/i2c.c:1345

0x401322d2: i2c_master_cmd_begin at /Users/user/esp/esp-idf/components/driver/i2c.c:1446

i2.c snippet:
1344                p_i2c->cmd_link.head = p_i2c->cmd_link.head->next;
 1345 ->               p_i2c->cmd_link.head->cmd.bytes_used = 0;

I have not scrutinized the i2c.c file, but it's possible head->next is NULL given that we only have one command.
Steps to reproduce
Craft a similar cmd.
Debug Logs

https://github.com/espressif/esp-idf/issues/8348

Hi @armandr ,
As @negativekelvin showed, this is due to the absence of a stop at the end of the transaction, this has been fixed in the other thread, the commit is number for v4.4 is f60a914bae19caf201da5188d391641bc29c1164


Tools seems to be broken

I've tried your online tool. Unfortunately I get an error message than click on move issue:
Error creating new issue: NullError: Cannot call "ez" on null

It happens if i want to move one issue between two personal issues and also when trying to move an issue between 2 repos which belongs to an organization.

I still get this error and it seems there is another issue dedicated to this:
https://github.com/google/github-issue-mover/issues/11

yep i just ran in to it today


⚠ ClamAV has degraded performance

In b1c8dd8, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 214 ms

Resolved: ClamAV performance has improved in a2e007c.


Feature/rtter 65/fe/create appointment

Description
Briefly explain what the PR does.
Adds new components for the Appointment Module:

New Appointment Dialog
Edit Appointment Dialog
Appointment Status Dialog
Warning Alerts for Rescheduling and Deleting
Scripts for manual deployments

Related Jira Issue (ID/URL)
RTTER-127(https://rtterror.atlassian.net/browse/RTTER-127)
RTTER-146 (https://rtterror.atlassian.net/browse/RTTER-146)
RTTER-319 (https://rtterror.atlassian.net/browse/RTTER-319)
Checklist

[x] Code compiles correctly
[ ] Code is covered by current tests or new tests
[x] Code is formatted correctly
[ ] Extended the README / documentation, if necessary

Comment/Discussion
Add anything else.

Merged as the build failure has been fixed.


Question: Implementation of “Sign in with Tezos”.

Hey Team,
I just read the article "Open Source NFT Infrastructure For Developers And Businesses Building On Tezos" and want to ask if you use the SIWT (Sign in with Tezos) open source library? The article mentions the following: "on top of that, developers can also verify users’ ownership of a wallet with an implementation of “Sign in with Tezos”." If yes, we would like to add the walt.id logo to siwt.xyz with your permission!
Best regards,
Daniel

Hey @dansan566 thanks for reaching out to us! Based on https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-122.md we have implemented SIWT our selves. Some docs can be found here here https://docs.walt.id/v/idpkit/concepts/identity-provision-via-nfts-with-tezos/sign-in-with-tezos-siwt

Hello @philpotisk
In the context of the GaiaX 4 PLC-AAD project we are using the SIWT open source library as a common resource in order to avoid the reimplementation of the features. Thank you for pointing out the reference to chain agnostic - I personally was not aware of those improvement proposals. I would be happy to get in touch with the author of the Sing in with X proposal.
We could schedule a quick meeting to get aligned and see if we have topic overlaps<EMAIL_ADDRESS>Best regards
Carlo


get a lava player error sometimes when someone try's to play songs

Bug Description
Bot sometimes errors out when trying to play a song it happens randomly (seems to be lava player)
Steps to Reproduce

play any song through youtube links
wait for the song to finish
try again and it might happen

Expected Result
Bot to play music and not error out
Debug Output
System Properties:
  java.version = 19.0.2
  java.vm.name = Java HotSpot(TM) 64-Bit Server VM
  java.vm.specification.version = 19
  java.runtime.name = Java(TM) SE Runtime Environment
  java.runtime.version = 19.0.2+7-44
  java.specification.version = 19
  os.arch = amd64
  os.name = Windows 11

JMusicBot Information:
  Version = 0.3.9
  Owner =<PHONE_NUMBER>41884929
  Prefix = !
  AltPrefix = null
  MaxSeconds = 0
  NPImages = true
  SongInStatus = true
  StayInChannel = true
  UseEval = false
  UpdateAlerts = true

Dependency Information:
  JDA Version = 4.4.1_353
  JDA-Utilities Version = 3.0.5
  Lavaplayer Version = 1.3.78

Runtime Information:
  Total Memory = 44
  Used Memory = 17

Discord Information:
  ID =<PHONE_NUMBER>414380052
  Guilds = 1
  Users = 2

Additional Info
This happens randomly I provided the console log info below
Error in playback of gIaKUi5FS_Q
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:44)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:116)
at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:348)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1589)
Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation:
lavaplayer.version: 1.3.78
os.arch: amd64
os.name: Windows 11
os.version: 10.0
java.vendor: Oracle Corporation
java.version: 19.0.2
java.runtime.version: 19.0.2+7-44
java.vm.version: 19.0.2+7-44
Caused by: java.lang.RuntimeException: Not success status code: 403
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.validateStatusCode(PersistentHttpStream.java:87)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.attemptConnect(PersistentHttpStream.java:116)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.connect(PersistentHttpStream.java:105)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.internalRead(PersistentHttpStream.java:150)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.read(PersistentHttpStream.java:166)
at java.base/java.io.DataInputStream.readByte(DataInputStream.java:271)
at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaEbmlReader.readEbmlInteger(MatroskaEbmlReader.java:39)
at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaFileReader.readNextElement(MatroskaFileReader.java:45)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.readFile(MatroskaStreamingFile.java:78)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:51)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:34)
at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25)
at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:57)
at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:49)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:104)
... 4 common frames omitted
Checklist

[X] I have looked for information about this within the documentation
[X] I have searched for similar issues on the issues page
[X] I am running the latest version of the bot:

Duplicate of #885


Revisit BAM indexing in the workflows

As mentioned in comments on #698, the issue can arise if the input step already yields an indexed file.  There's no reason for us to run the indexer again when the input is already indexed, so really we should remove that step entirely in situations where it is.
CWL Conditional support, when it is released, may make worrying about this less complicated, but it'd still be more efficient to not do anything when we know an index exists 😄

Am I understanding correctly here that this could be fixed with the following approach?
a) pass optional secondary files into the index step
b) add a little bash script to the index file that says "run samtools index if the index doesn't exist"
The index step will still get called, which is inefficient, but at least it won't duplicate work
This same approach could be considered for VCF indexing steps.

I spent some time looking into this, and it turns out to be difficult to accomplish without conditionals, due to the fact that the tool needs to know whether secondary files are being passed in or not. (they can't be optional, or at least, cromwell doesn't support that).  Removing this from the 2.0 milestone and we can revisit if cromwell updates


Shipping price by weight or size

First I contributed to this issue that has already been closed, but probably nobody noticed as the issue is closed.
Could someone give me a hint what is the best and cleanest way to implement shipping price calculation by weight?
I get better in understanding the code, but nevertheless it’s cumbersome without explanation.
You need a place where you set the shipping price and you can get hold of the items ordered.
Maybe when a DeliveryGroup is created in core.utils.random_data.create_delivery_group(order)? Or in checkout.core.Checkout.deliveries(self)?
Any help would be appreciated.

Hello @MacLake
First of all - all code that lives in core.utils.random_data is only used to generate fake data (it's used by ./manage.py populatedb command.
To achieve price by weight, you should take a look on the code that creates order: https://github.com/mirumee/saleor/blob/master/saleor/checkout/core.py#L288  and wire it with shipping methods https://github.com/mirumee/saleor/blob/master/saleor/shipping/models.py#L98
I think it would be the easiest way to do it.

Hello @artursmet ,
Thanks a lot. I’ll try it this way and tell if it worked out.

Hi @MacLake  I'm also interest in the shipping by weight. I plan to get started at the end of the month but if you could share any information about your progress I'd be glad to hear in order to not duplicate the functionality or even support your development on the matter.

Hi  @curaloucura, I've solved the problem. I’ll give you some detailed instructions tomorrow. Actually it’s quite easy once you’ve understood the code, but that takes some time.

Okay, here are the instructions as promised: First of all, as a physicist I should use the correct term mass instead of weight.

[ ] Add mass fields to Product and ProductVariant in saleor/saleor/product/models.py:
In class Product(models.Model, ItemRange, index.Indexed):
mass = models.FloatField(null=True, verbose_name=pgettext_lazy('Product field', 'mass in kg'))
In class ProductVariant(models.Model, Item):

mass_override = models.FloatField(null=True, verbose_name=pgettext_lazy('Product variant field', 'mass in kg'))

    @property
    def mass(self):
        return self.mass_override or self.product.mass or 0

Add the fields the dashboard templates e. g. under the  price fields:
saleor/templates/dashboard/product/product_form.html:

                  {{ product_form.mass|materializecss }}

saleor/templates/dashboard/product/variant_form.html:

                  {{ form.mass_override|materializecss }}

In saleor/saleor/checkout/core.py the shipping price is calculated in two places. The cart is split in partitions, afik in products that require shipping and those that don’t. A partition contains the ordered products with their masses that we need. In the standard implementation you need a ShippingMethodCountry object for every country except the ones that count as "rest of the world", which is cumbersome. It’s easier to pass along the shipping address to the shipping price calculation: Add the parameters partition, self.shipping_address to self.shipping_method.get_total() in Checkout.deliveries(self):
	shipping_cost = self.shipping_method.get_total(partition, self.shipping_address)

and Checkout.create_order(self):
	shipping_price = self.shipping_method.get_total(partition, self.shipping_address)

self.get_total() calls self.deliveries(), which should do the correct calculation
In saleor/saleor/shipping/models.py we can now calculate the shipping price in class ShippingMethodCountry(models.Model) according to the partition and the shipping address. It’s more flexible to pass the whole address instead of just the country, so you can differentiate the cost within a country. This is not unrealistic,  e. g. shipping costs to some German islands in the North Sea or Baltic Sea can be higher. Here is an example for the shipping cost calculation, just as a proof of concept. You might either hard code the calculation or read a config file or use foreign key objects pointing to ShippingMethodCountry, but then you need to show them somehow in the Dashboard or activate the standard Django admin.
    def get_total(self, partition=None, shipping_address=None):
        """Calculate shipping price by mass and shipping address if partition is available"""
        if partition:
            # TODO: correct calulation, maybe with data from config file or with foreign key objects
            # We ignore self.country_code and use shipping_address.country instead. We also ignore self.price:
            eu = ['AT', 'BE', 'BG', 'CY', 'CZ', 'DK', 'DE', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU',
                        'IE', 'IT', 'LT', 'LU', 'LV', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK']
            import datetime, pytz
            utc = pytz.timezone('UTC')
            t_brexit = datetime.datetime(2019, 4, 1, 0, 0, 0, tzinfo=pytz.utc) # or whatever
            if utc.localize(datetime.datetime.utcnow()) >= t_brexit:
                eu.remove('GB')

            cc = shipping_address.country

            # Determine the total mass of the partition:
            mass = 0
            for cart_line in partition:
                mass += cart_line.quantity * cart_line.variant.mass
            # Just an example: 1 €/kg for Germany, 1.5 €/kg for the rest of the EU and 2 €/kg for other countries:
            if cc == 'DE':
                shipping_price = Price(mass, currency=settings.DEFAULT_CURRENCY)
            elif cc in eu:
                shipping_price = Price(1.5 * mass, currency=settings.DEFAULT_CURRENCY)
            else:
                shipping_price = Price(2 * mass, currency=settings.DEFAULT_CURRENCY)
            return shipping_price
        # Standard behaviour just in case in order not to break things
        else:
            return self.price

Note that the stardard shipping price ShippingMethodCountry.price and in this example also ShippingMethodCountry.country_code are completely ignored. This might be confusing, but I wanted to change as few code as possible and not break existing functionality.
Finally hide the shipping cost in the cart, because they are not calculated when saleor/templates/cart/_subtotal_table.html is shown:

              {% if default_country_options %}
                {# hide fixed standard shipping price {% price_range default_country_options %} #}
              {% endif %}
              {% trans "+ shipping" %}

To the maintainers of Saleor: Is there any other way I can contribute in this matter? Should I do a fork? We should somehow put this information into the documentation.

Thanks @MacLake I was woundering how to this right now heheheh, thanks again!

@MacLake  just saw the t_brexit in the calculation, so sad but so funny.

Shipping price by weight was introduced in #2529
For shipping price by size, we will keep #2029 issue as it contains more details


Allow retry firmware download on failure

I have a pi that needs to connect to the internet through a proxy. For unknown reasons the firmware download fails halfway through quite often when I using this proxy. If rpi-update had a switch that would allow it to retry the download until it succeeds, I would not manually have to run the script again and again to do so.

Most instances of curl could be replaced by wget, which has a cleaner implementation of retry + continue.
There's really only one instance in the script that needs to be curl, and that's the line that grabs just the headers.

You could try adding the --retry NUM option to the curl commands, to see if that helps? (but if you make local edits to rpi-update, don't forget to run it with sudo UPDATE_SELF=0 rpi-update to stop it overwriting your edits!)

Now that #279 has been merged, you could do this with just sudo CURL_OPTIONS="--retry 10" rpi-update
:smiley:
(although I've not tested this, as I have reliable internet!)

@SkyLined can this issue be closed?

Yes on my account - I no longer use a proxy, so I no longer need this feature and cannot test to see if the proposed solution works.


EVMNS_Milestone_1

Milestone Delivery Checklist

[x] The milestone-delivery-template.md has been copied and updated.
[x] The invoice form has been filled out for this milestone.
[x] This pull request is being made by the same account as the accepted application.
[x] In case of acceptance, the payment will be transferred to the EOS account name provided in the application.
[x] The delivery is according to the Guidelines for Milestone Deliverables.

Link to the application pull request: https://github.com/eosnetworkfoundation/grant-framework/pull/106< please fill this in with the PR number of your application.

@tedcahalleos Hi Ted, I am so sorry for my mistake in accidentally removing the requests from wanderingbort, arhag, and nsjames. Could you please help me add them back? I apologize for any inconvenience caused.

What NFT standard will be used for the names?

mentioned in main GitHub "EVMNS domains use the ERC721 protocol standard"
https://github.com/evmns/EVMNS
This is the same as ENS

Why is the data encrypted?

Encrypt and generate commitment, in order to achieve two-stage registration and prevent malicious attacks. (Flowchart has been updated.)

Why is an oracle needed, and is the intent for the EVMNS team to develop an oracle?

The domain registration fee is priced in USD and settled in EOS, requiring an oracle to provide the real-time price of EOS.

What NFT standard will be used for the names?

Use the ERC721 protocol standard.

What is the register controller? A backend API, a smart contract, multiple things?

This is a smart contract designed to maintain a registry, including registration conditions and registrants.

I'd like to have more information about the architecture/process diagrams.
EVMNS Registration Service Process

Why is the data encrypted?
Why is an oracle needed, and is the intent for the EVMNS team to develop an oracle?
What NFT standard will be used for the names?
What is the register controller? A backend API, a smart contract, multiple things?

Encrypt and generate commitment, in order to achieve two-stage registration and prevent malicious attacks. (Flowchart has been updated.)
The domain registration fee is priced in USD and settled in EOS, requiring an oracle to provide the real-time price of EOS.
Use the ERC721 protocol standard.
The register controller is a smart contract designed to maintain a registry, including registration conditions and registrants.

@hdavis1988 thanks for the information.
Regarding #2, which oracle will you be using?

@hdavis1988 thanks for the information.
Regarding #2, which oracle will you be using?

We will use the third-party oracle officially recommended by the EVM, await positive news from the EVM team.

@hdavis1988 the requirement of an oracle for further milestones means that the EVMNS project's progress is at the mercy of others.
It seems that the only way that with the current design the milestones set out here can be ensured to be accomplished would be if your team does the work to create an oracle for the EOS EVM.

@hdavis1988 the requirement of an oracle for further milestones means that the EVMNS project's progress is at the mercy of others.
It seems that the only way that with the current design the milestones set out here can be ensured to be accomplished would be if your team does the work to create an oracle for the EOS EVM or removes the requirement for an oracle.

Regarding this issue, we have considered the possibility that if a third-party oracle cannot be integrated in time, we will have to use our own off-chain price feed service to ensure the normal operation of the EVMNS system.
After that, if a third-party oracle is successfully launched on EOS EVM, we will integrate it as soon as possible to achieve on-chain price feeding.

@hdavis1988 the requirement of an oracle for further milestones means that the EVMNS project's progress is at the mercy of others.
It seems that the only way that with the current design the milestones set out here can be ensured to be accomplished would be if your team does the work to create an oracle for the EOS EVM or removes the requirement for an oracle.

Regarding this issue, we have considered the possibility that if a third-party oracle cannot be integrated in time, We will obtain the real-time EOS price through Swap to calculate the domain registration fee (if this approach is still not feasible, we will have to use our own price feed service to ensure the normal operation of the EVMNS system).
After that, if a third-party oracle is successfully launched on EOS EVM, we will integrate it as soon as possible to further ensure the stability of the system.

Okay, thank you for the clarifications 👍

in Registration Service Process
"Encrypt and Generate Commitment" is shown as occurring within the Register Controller. It is not explicit, but seems to me that the Register Controller is an on-chain component. If that is the case, wouldn't conducting this process on-chain compromise the 2 phase commit protocol? Any observer will see the unencrypted preimage (aka the name).
Also, is this truly "encryption" or is this using a one-way hash (such as SHA256) to commit to a name without revealing it even if the name is not recoverable from the commitment.
Is there a missing set of processes for handling when the USD/EOS conversion results in a price higher than the user has paid?
Is there a missing set of processes for handling refunds (or escrowing a later withdrawal) when the USD/EOS conversion results in overpayment?

@wanderingbort

Encryption uses the pure method, which is not a transaction and will not be recorded on the blockchain. Therefore, no one can see the encrypted content (including name).

We use keccak256 for one-way encryption, which cannot be reversed to decipher the encrypted content.

Assuming that the oracle is functioning properly, (1) if the amount paid by the user is less than the payable amount, the contract will automatically report an error, and the registration cannot be completed. (2) If the amount paid by the user exceeds the payable amount, the contract will immediately refund the excess amount.

If the oracle encounters a problem, although the calculation result of the registration fee is incorrect, the contract cannot determine whether the result is correct. Therefore, as long as the amount paid by the user is greater than or equal to the payable amount given by the contract, the registration can be completed normally, and the user will receive the corresponding domain name as usual.

In the event of the situation described in point 4 above, we will immediately initiate the emergency plan: (1) identify and fix the root cause of the problem, or replace the feed price method; (2) if the error in the USD/EOS conversion results in the user paying more, we will recalculate the correct amount and refund the excess payment to the user in bulk; (3) if the error in the USD/EOS conversion results in the user paying less than the correct payable amount, the related losses will be borne by the team, and we will not require the user to make up the difference. The user can continue to hold and use the corresponding domain name normally.

Regarding the oracle part, we have prepared three implementation plans for possible use: (1) the preferred option is a stable and mature third-party oracle; (2) obtained real-time prices through Swap; (3) set up offline feed price services.

Additionally, we will continuously monitor the operation of the oracle, and immediately alert the team if there are any anomalies in the feed price, such as the price not changing for 10 consecutive feeds or a significant difference from the price on centralized exchanges.

The process diagram has been updated with the above content. Please review. Thank you very much!

All technical evals complete cc @ABurton22

Invoice has been processed.

Invoice has been processed.

OK, Thank you very much!


Add support for Vulkan's GLSL... maybe

Adding new keywords introduced by Vulkan to the syntax highlighter is the easy part but there is a problem.
At the moment, vscode-shader's syntax highlighter contains some archaic GLSL constructs that don't quite align with Vulkan. One example is the keyword texture2D. At the very beginning texture2D was a function (GLSL 1.10), then it got deprecated and finally it got reintroduced in Vulkan as a type. At the moment the syntax highlighter thinks texture2D is a function.
I'm not sure what is the best course of action here. texture2D and co are functions in WebGL but types in Vulkan. Any idea how to solve this issue? Maybe have a config option to control this?

Probably it can be resolved by the #version header. Does Vulkan's GLSL have such header?

Unfortunately Vulkan's GLSL doesn't have a special #version. But the #version can be used to distinguish the "archaic GLSL" (<=1.10) and the more modern versions. The modern versions can include the extra Vulkan keywords.

I don't think this merits a new issue so I will add it to this thread.
As it stands this extension gets confused by vulkan glsl dialects. For example using scalar gives this error:
'scalar' : only allowed when using GLSL for Vulkan
And using 'scalar' : only allowed when using GLSL for Vulkan  also produces an error.


Unescape?

A lot of languages also provide a second unescape method like C#.
Should this be considered?
If so, as a part of this proposal?

Would be nice to have an unescape method as well. Could benefit regex tooling like http://regex101.com etc. Also for consistency (like we have String.raw).
I think it should be a part of this proposal itself.
My 2 cents :)

What's striking to me is that literally nobody has ever asked for this despite the multi-year history of people asking, in es-discuss and elsewhere, for escape.

When one starts to write the writing the actual code it becomes much clearer what is needed. Amusing, but it makes sense.

Yes, nothing, closing.


Code organization question

I have a parent components which also have two child components(table and chart) and both components need data from request. But if i set request in parent components i must pass data across children to table and have table elements style.
for example
`
const Row = styled.tr''
const Td = styled.td''

export default function() {
const [datasets, setDatasets] = useState(null);
const { pages, pageSWRs, isEmpty, isLoadingMore, isReachingEnd, loadMore } = useSWRPages(
    'statistic-page',
    ({ offset, withSWR }) => {
        const { data, error } = withSWR(
            useSWR(// make request),
        );

        if (error) return null;

        if (!data) return '...loading';

        setDatasets(data)
        return data.map(item => (
            <Row key={item.date}>
                {Object.keys(item).map(key => (
                    {item[key]}
                ))}
            </Row>
        ));
    },

    ({ data }, index) => {
        return data && data.length === LIMIT ? (index + 1) * LIMIT : null;
    },

    [],
);

return (
    <>
        <Chart data={datasets} />

            {pages}

    </>
);

}
`
The question is next: Have i'm trying use swr wrong and how it must be?

Hi @VivatRafa! First, in your case I saw the undocumented useSWRPages, I need to point out that it's specifically for infinite loading (not the normal pagination cases), and the API might change in the future.
And about your question, I would organize the code like this:
import useSWR from 'swr'

export default function() {
  const { pages, pageSWRs } = useSWRPages(
    'statistic-page',
    ({ offset, withSWR }) => {
        const { data, error } = withSWR(
            useSWR(// make request),
        );
        // let's render nothing inside `pages`
        return null;
    },
    ({ data }, index) => {
        return data && data.length === LIMIT ? (index + 1) * LIMIT : null;
    },
    [],
  );

  // we get everything from pageSWRs
  const datasets = pageSWRs.map(swr => swr.data);

  return (
    <>
        {pages}
        <Chart data={datasets} />

          {datasets.map(data => {
            return data.map(item => (
              <Row key={item.date}>
                {Object.keys(item).map(key => (
                    {item[key]}
                ))}
              </Row>
            ));
          })}

    </>
  );
}

Keep in mind that pageSWRs is just an array of your SWR results (and it's important that you still have to render pages even if it's empty). So you can do any manipulations like const datasets = pageSWRs.map(swr => swr.data);.

@shuding thank you for your answer!


appService.StartRemoteDebug

Does this occur consistently?
Repro steps:

Action: appService.StartRemoteDebug
Error type: Error
Error Message: Unable to establish connection to application: Error getting tunnel status: 502
Version: 0.19.0
OS: linux
OS Release: 5.4.0-47-generic
Product: Visual Studio Code
Product Version: 1.48.2
Language: en

Call Stack
TunnelProxy.<anonymous> extension.bundle.js:164:122897
rejected extension.bundle.js:164:118469

Please add repro steps


how to remove attention mechanism

As far as I know, image caption can be generated without the mechanism of attention.
How can i remove the mechanism of attention effectively for training?
can u give me advice pls?

Attention mechanism helps to cater to different parts of an image. This helps in improved caption generation. Without the attention layer LSTM or GRU whatever you want to use as RNN decoder will face the problem of diminishing gradient. In flattened image features, it is important to carry information from distant places, without attention LSTM alone surely won't be able to carry that information. Have a look at "Attention is all you need", the necessity of transformers for sequence tasks can be understood from that paper.
It is true that without the attention layer also LSTM will be able to handle sequence tasks but the quality will be surely impacted.


[Material] Use InkSparkle for Android non-web when useMaterial3 is set to true in ThemeData

Description

Use InkSparkle for splashFactory (material 3 ripple) in ThemeData when useMaterial3 is set to true, the platform is Android, and the compilation target is not Web.
One step closer to closing https://github.com/flutter/flutter/issues/82850, which can be closed once https://github.com/flutter/flutter/issues/99884 is closed.
closes https://github.com/flutter/flutter/issues/99886

Tests

Added platform tests for using the correct splashFactory when useMaterial3 is false
Added platform tests for using the correct splashFactory when useMaterial3 is true
Existing ThemeData global test continues to pass.

Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

not sure why one of the tests is failing, the case where it should be InkSparkle...
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: <Instance of '_InkSparkleFactory'>
  Actual: <Instance of '_InkSplashFactory'>

When the exception was thrown, this was the stack:
#4      main.<anonymous closure> (file:///Users/xxxxxx/git/flutter/packages/flutter/test/material/theme_data_test.dart:279:9)
#5      main.<anonymous closure> (file:///Users/xxxxxx/git/flutter/packages/flutter/test/material/theme_data_test.dart:271:97)
#6      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:29)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)

This was caught by the test expectation on the following line:
  file:///Users/xxxxxx/git/flutter/packages/flutter/test/material/theme_data_test.dart line 279
The test description was:
  splashFactory is InkSparkle only for Android non-web when useMaterial3 is true (variant:
  TargetPlatform.android)
════════════════════════════════════════════════════════════════════════════════════════════════════
00:03 +21 -1: splashFactory is InkSparkle only for Android non-web when useMaterial3 is true (variant: TargetPlatform.android) [E]
  Test failed. See exception logs above.
  The test description was: splashFactory is InkSparkle only for Android non-web when useMaterial3 is true (variant: TargetPlatform.android)

00:03 +53 -1: Some tests failed.

not sure why one of the tests is failing, the case where it should be InkSparkle...
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure was thrown running a test:
Expected: <Instance of '_InkSparkleFactory'>
  Actual: <Instance of '_InkSplashFactory'>

As I mentioned in the review, this is due to useMaterial3 only changes the default if it is set in the constructor, and not in copyWith.

I'm curious: is the sparkle effect not part of material design, or why is it only applied on Android?

I'm curious: is the sparkle effect not part of material design, or why is it only applied on Android?

The current goal is to make ripple consistent with Android 12. I will try to find out a better answer for your question though.

Some tests are failing due to tickers not being stopped when widget is cleaned up.
I don't think there is currently a way to stop the shader compilation once started. @chinmaygarde @flar is there something that can be done with the FragmentProgram in onDispose here, or should the affected tests be fixed with something like pumpAndSettle?

Is there currently a way to stop/cancel the async shader compilation once started? ... is there something that can be done with the FragmentProgram in onDispose here...

While shader compilation may be async, it isn't concurrent. And there is no way to stop a compilation once it has started on the UI thread. If shader compilation takes too long, the task to service the onDispose call will be queued behind the completion of shader compilation (as will any other tasks on the UI thread).


Change STRICT param to true in the EC pipeline

See commentary for explanation. I'm not sure if this will require a change in the tests, but I'll push the PR and see how it goes.

The merge button is green now, but I'm not sure if I should merge. @Michkov FYI.

@simonbaird CI is currently broken since the prod/stage cluster is not ready. Feel free to merge. It will be validated once more in infra-deployments.


3rd Party Calls

Americorps is ready to start pushing the number and taking calls.  one requirement we need to add is the ability to add a 3rd party to the call when needed.   This was already designed for the most part, but we are rushing it to the front to turn on and get them going.

[x] Add the Add 3rd party icon
.  Sent to you in #core

[x] When you click on the icon, you are presented with a slide out panel that covers the intake form area.

[x] This form will one day have tabs for 3 categories (dialpad, translator, resources).  For now, ONLY show the tab resources

[x] resources will have buttons available based on database records.  For this case, there should only be 1 record in the table we will need. It will be

Disaster distress helpline: 1-800-985-5990

[x] When you click the button, it will initiate an AWS connect stream 3rd party call.  This is a WARM call where the phone rings while the agent and survivor are still on the call.

(this is not exactly what we need, but it is one for cold transfers I thought was interesting:  https://aws.amazon.com/blogs/contact-center/making-cold-transfers-using-the-amazon-connect-streams-api/)

[x] When connected, you will add a new row for the 3rd party called.  This will be a merged call

[x] Change the hang up button to a exit door button.  This will allow the agent have bridged the 3 way call, say nice introductory words, and exit gracefully while leaving the other two connected.
(see upload to white phone exit .SVG in core. )

[x] also, can have the small hangup icon to disconnect either party.

yep. works


"error: subprocess-exited-with-error" when installing on Ubuntu

Describe the bug
I'm unable to install label-studio on my computer.
To Reproduce
Steps to reproduce the behavior:
python3 -m venv env
source env/bin/activate
sudo apt install python3.9-dev
python -m pip install label-studio

N.b. I've pasted the documentation's steps for installing on Ubuntu, but the issue reported here comes when also installing via pip and Git
Expected behavior
successful installation of Label Studio
Screenshots
[Successful installation of various pkgs followed by:]
Collecting psycopg2==2.9.5
  Using cached psycopg2-2.9.5.tar.gz (384 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [25 lines of output]
      /home/jmurel/anaconda3/lib/python3.9/site-packages/setuptools/config/setupcfg.py:516: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
        warnings.warn(msg, warning_class)
      running egg_info
      creating /tmp/pip-pip-egg-info-1n0ya7sw/psycopg2.egg-info
      writing /tmp/pip-pip-egg-info-1n0ya7sw/psycopg2.egg-info/PKG-INFO
      writing dependency_links to /tmp/pip-pip-egg-info-1n0ya7sw/psycopg2.egg-info/dependency_links.txt
      writing top-level names to /tmp/pip-pip-egg-info-1n0ya7sw/psycopg2.egg-info/top_level.txt
      writing manifest file '/tmp/pip-pip-egg-info-1n0ya7sw/psycopg2.egg-info/SOURCES.txt'

      Error: pg_config executable not found.

      pg_config is required to build psycopg2 from source.  Please add the directory
      containing pg_config to the $PATH or specify the full executable path with the
      option:

          python setup.py build_ext --pg-config /path/to/pg_config build ...

      or with the pg_config option in 'setup.cfg'.

      If you prefer to avoid building psycopg2 from source, please install the PyPI
      'psycopg2-binary' package instead.

      For further information please check the 'doc/src/install.rst' file (also at
      <https://www.psycopg.org/docs/install.html>).

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Environment (please complete the following information):
OS: Ubuntu 22.04
Label Studio Version : label_studio-1.7.2-py3-none-any.whl
Conda : 23.1
Kernel : 5.19.0-35-generic
Additional information for context:
As mentioned, I've tried the documentation's directions for installing on Ubuntu, as well as via pip and Git, and the above error arises for all three. I have tried installing the PyPI 'psycopg2-binary' pkg as the error direct, but still the issue arises. Any help is appreciated!

You mentioned Conda, but I don't see conda command there. Also could you please check your python version, just run and send first lines here:
python

Same error
python
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

@makseq Here is the output of "python" per your request:
Python 3.9.12 (main, Apr  5 2022, 06:56:58)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

I have the same error on Debian

This issue will be fixed in LS 1.7.3 soon.

Same issue. How to install it?
install psycopg2 did not fix it :(

@kopyl
sudo apt-get update
sudo apt-get install libpq-dev python-dev
sudo pip install psycopg2


AENO Premium Heater Support

Prerequisite

[X] Yes, I've read the readme completely.

Cache

[X] Yes, I've cleaned accessory cache and the issue still exists.

Version
v1.7.0-beta.54
Device Infomation JSON File
No response
Device Control Mode
Standard Instruction
Logs
No response
Other Infomations
The AENO Premium IR heater doesn't seem to be supported as there are NO controls in the Home app when adding it as an accessory.
I've tried multiple category overrides with no success.

Any feedback on this?


test: estimate gas evolution

@EvolveArt Regarding the storage gestion: either we implement the single felt252 storage, which will lead to a maximum price value of<PHONE_NUMBER>8278622253223069278535680. Or we can just use the starknet::Store implementation, which will store the EntryStorage in two slots of felt252 instead of one of felt252. The first gas output should the gas increase for the starknet::Store, and the second gas output is for the single slot.
In theory, we will never face a price bigger than<PHONE_NUMBER>8278622253223069278535680. However, considering the low gas change, using starknet::Store is not really a bad idea.

The issue with the previous method implemented is that felt252 does not really cover 2^252. Instead felt252 < P=2^251 + 17 * 2^192 + 1, which lead to a segment ]P,2^252] where the price might overflow.


Some components don't use classNames from css modules

components: Table, Pagination
reactstrap version #8.0.0
import method es
react version #16.8.6
bootstrap version #4.3.1

What is happening?

I've noticed that using css modules via `Util.setGlobalCssModule(cssModule)` or `cssModule={cssModule}` prop has no effect on Table component which renders regular CSS classes.
On the screenshot below you can see <Table> component rendering regular CSS class and <Pagination> component rendering proper CSS class. I'm using Util.setGlobalCssModule on in this case.

Another thing is that screen-reader only span rendered in pagination links also uses regular CSS class instead of css module:

What should be happening?
I would expect CSS classes on all reactstrap components to properly use hashed classes if Util.setGlobalCssModule is in use.

My bad with the table component, had @import of table styles commented out in my scss code.


Consumers are not redefined after channel reconnect, resulting in ack errors: reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag

We experienced an error scenario where a channel died while our application was connected, amqp-client created another channel but didn't redefine the consumers, so as the consumers continued to attempt to ack messages it seems amqp-client was acking them via the old broken consumer tags, so this error message occurred and messages remained in RabbitMQ in an unacked state. Unfortunately I don't have the logs available anymore to show.
Seemingly relevant discussion on the problem is here:
http://rabbitmq.1065348.n5.nabble.com/reply-code-406-reply-text-PRECONDITION-FAILED-unknown-delivery-tag-tp21310p21312.html
Paraphrasing from this webpage, perhaps the following could be the issue?
"- ack'ing on a channel other than the one the messages was received on (*)
...
(*) this is a common occurrence in applications with naive error
recovery logic that re-establishes connections&channels transparently
behind the scenes. "
I'm no RabbitMQ expert, so am interested in your thoughts. Also a potential solution might be to use channel.basicCancel(consumerTag)?
Some example code that might be of use to implement this is here (credit to momania/akka-amqp for this):
https://github.com/momania/akka-amqp/blob/master/src/main/scala/akka/amqp/DurableConsumer.scala#L90

Hi All,
Is this issue solved, i have exactly the same error when i stop the consumer .


Add code documentation

Body of the issue
Ref: https://github.com/inventree/InvenTree/issues/2493#issuecomment-1523121443
Ref: https://github.com/mkdocstrings/mkdocstrings
Build code documentation into the InvenTree docs automatically

It might be an idea to add a decorator to functions we wish to specify as "API" functions (which we make an effort not to change), while some functions are marked as internal. Or mark internal functions with an underscore prefix, or similar.
Having an API of public functions would help to make them more discoverable for inclusion in generated reports, for example

@SchrodingersGat I think it makes sense to only expose things we want to be included specifically like plugin mixins.

So you would suggest an "opt in" approach for which classes and methods we expose?

not stale

Still important

still important

I think this is still relevant because this would reduce a lot of duplicate documentation in the docstrings and the documentation.
The suggested library was now also already added as part of #4824 documentation.


refactor dead test cases

1.active KafkaSchemaServiceImplTest and resolve failures

hi Jin,
Could you check why build failed?
Tests in error:
JobInstanceBeanRepoTest.testFindByActiveState » IllegalState Failed to load Ap...
JobInstanceBeanRepoTest.testFindByJobIdWithPageable » IllegalState Failed to l...
JobInstanceRepoTest.testDeleteByExpireTimestamp » IllegalState Failed to load ...
JobInstanceRepoTest.testFindByActiveState » IllegalState Failed to load Applic...
JobInstanceRepoTest.testFindByExpireTmsLessThanEqual » IllegalState Failed to ...
JobInstanceRepoTest.testFindByPredicateName » IllegalState Failed to load Appl...
JobRepoTest.findByIdAndDeleted » IllegalState Failed to load ApplicationContex...
JobRepoTest.findByJobNameAndDeleted » IllegalState Failed to load ApplicationC...
JobRepoTest.findByMeasureIdAndDeleted » IllegalState Failed to load Applicatio...
JobRepoTest.testCountByJobNameAndDeleted » IllegalState Failed to load Applica...
JobRepoTest.testFindByDeleted » IllegalState Failed to load ApplicationContext
DataConnectorRepoTest.testFindByConnectorNames » IllegalState Failed to load A...
DataConnectorRepoTest.testFindByConnectorNamesWithEmpty » IllegalState Failed ...
MeasureRepoTest.testFindByDeleted » IllegalState Failed to load ApplicationCon...
MeasureRepoTest.testFindByIdAndDeleted » IllegalState Failed to load Applicati...
MeasureRepoTest.testFindByNameAndDeleted » IllegalState Failed to load Applica...
MeasureRepoTest.testFindByOwnerAndDeleted » IllegalState Failed to load Applic...
MeasureRepoTest.testFindNameByOrganization » IllegalState Failed to load Appli...
MeasureRepoTest.testFindOrganizations » IllegalState Failed to load Applicatio...
Tests run: 141, Failures: 0, Errors: 19, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
Thanks,
William

I don't touch those testcases, just add some test cases for kafka service.  I need to check it later

root cause is about spring context association in different testcases, let me remove it and submit again


PoC link layer recommended changes.

Pretty straightforward here.
Single packets are obviously not reliable or descriptive of a point to point link between any number of Hotspots. These recommended changes can fix this for us. I'm fairly confident all Hotspot owners would be appreciative of higher reliability surrounding their PoC participation as well. Anyone interested give this a read, hopefully we don't have any serious gripes here. Happy to discuss implementation in greater detail and how we handle multiple simultaneous PoCs in an area if anyone needs it.

Rendered View: https://github.com/refugeesus/HIP/blob/rfk/poc-ll/0021-poc-link-layer/0021-poc-link-layer.md

Some thoughts:

an alternative is to just PoC / beacon more frequently, say every 20-30 blocks instead of every 120 blocks (note you mention PoC only occurring 2-3 times a day but it should be ~12 times a day (every 120 blocks).
Wont any bit error in a droplet fail the CRC check on the concentrator causing the whole droplet to be dropped?  may require removing CRC filtering.
I'm not super confident PoC should be more reliable than "normal" data.  Maybe I can just pass PoC using this method over X distance due to this added error correction but no way any LoRa device could be received by my hotspot at X distance.

The PoC link layer should attempt to provide reliable transmissions of data without requiring high error correction overhead or the need for numerous packet re-transmissions or acknowledgments.

I would say this is the goal of LoRa / LoRaWAN. This is built in and what devices expect without having to implement fountain codes.  I'd argue (devil's advocate) PoC should be more device-like transmitting device representative payload sizes, datarates, and power.  If we want more data to verify models or get averages from just beacon more.
Of course beaconing more means more on-chain transactions / verifications / etc.  But those could also be addressed.  Say maybe each challenger challenges 10 hotspots at a time and each receipt to CG includes info on each transmitter

@atgParasitics interesting comments. Seems like you know exactly what is said in internal channels!

an alternative is to just PoC / beacon more frequently, say every 20-30 blocks instead of every 120 blocks (note you mention PoC only occurring 2-3 times a day but it should be ~12 times a day (every 120 blocks).

It doesn't really matter if you have a single transmission 12 or 100 times a day spread out over the whole day (~1440 blocks). The property we are taking advantage of here is the statistical model used in a data stream.

Wont any bit error in a droplet fail the CRC check on the concentrator causing the whole droplet to be dropped? may require removing CRC filtering.

I would remove CRC filtering when this is implemented yes. It would be obsolete.

I'm not super confident PoC should be more reliable than "normal" data. Maybe I can just pass PoC using this method over X distance due to this added error correction but no way any LoRa device could be received by my hotspot at X distance.

Not sure what you're asking here. We don't use LoRaWAN in PoC at all. If you want to know if a single device sending one LoRa modulated signal could possibly reach a gateway, retrieving one droplet is sufficient. PoC needs to be able to judge coverage, including its quality. Implementing this we are able to derive these metrics with high enough resolution for the results to be meaningful as they are all related to each other. Droplets themselves resemble device like payloads with the associated data rates and transmit power.

Of course beaconing more means more on-chain transactions / verifications / etc. But those could also be addressed. Say maybe each challenger challenges 10 hotspots at a time and each receipt to CG includes info on each transmitter

This is accomplished with witness data currently, but for the same reason the in path PoC participants don't assist us in this data collection, the witnesses do not either.

dont listen to that @atgParasitics guy.   We don't use LoRaWAN in PoC at all. If you want to know if a single device sending one LoRa modulated signal could possibly reach a gateway, retrieving one droplet is sufficient.

Yea maybe should have said LoRa not LoRaWAN.  LoRa has error correction built in (the coding rate) so this method seems to be additional error detection / correction on top of that.  So my original concern is that you could successfully receive droplets with this additional error correction that wouldnt be present for "normal" device data.
That being said, if all of this is used as metrics then maybe its ok with the understanding that only droplets received with 0 errors (after accounting for the FEC built into LoRa) would be successfully received from a device.  Basically if the CRC would fail, even if disabled, then a normal LoRa device would have a corrupted packet and probably would be dropped.  I guess I do see the value in the additional detail assuming the bit errors are part of evaluating the link.
Basically for a "good" signal between hotspots you would go from:

"out of 20 beacons from A, B heard 17 without error".

To:

out of the 20 droplets transmitted by A, hotspot B received 19 of them, 17 without any errors and 2 with X bits of error that would fail CRC".

Similarly for a bad / very intermittent link between hotspots would go from:

"out of 20 beacons from A, B heard 1 without error"

To:

"out of 20 droplets from A, B heard 2, 1 without error and 1 with X bits of error that would fail CRC"

Lastly you may get a lot more lora packets out of the packet forwarder if you disable CRC.  In my non scientific tests on a a few in my area I do see the rate of messages go up, so these would have to be handled somehow, you probably dont want to submit payloads with bad CRC to routers / etc. device owners likely dont want to pay for corrupted data.  This is minor and can be addressed elsewhere.

LoRa has error correction built in (the coding rate) so this method seems to be additional error detection / correction on top of that. So my original concern is that you could successfully receive droplets with this additional error correction that wouldnt be present for "normal" device data.

The hardware error correction encoding for all LoRa components is flawed to not working. Semtech openly admits this. The LDPC encoding will add some gain, sure, and you have to subscribe to device behavior ruling the judgement of coverage to think this was detrimental. We are using this ecc for more than just the correction here.

Basically if the CRC would fail, even if disabled, then a normal LoRa device would have a corrupted packet and probably would be dropped. I guess I do see the value in the additional detail assuming the bit errors are part of evaluating the link.

A BER evaluation is the intent.

Lastly you may get a lot more lora packets out of the packet forwarder if you disable CRC. In my non scientific tests on a a few in my area I do see the rate of messages go up, so these would have to be handled somehow, you probably dont want to submit payloads with bad CRC to routers / etc. device owners likely dont want to pay for corrupted data. This is minor and can be addressed elsewhere.

This implementation doesn't concern devices. Only PoC transactions between gateways are affected. How/Why/Who pays is also out of scope here I think.

This implementation doesn't concern devices. Only PoC transactions between gateways are affected. How/Why/Who pays is also out of scope here I think.

Sure, agreed a bit out of scope but maybe in the (small) unintended consequences.  By turning off CRC filtering it will be off for all packets received by the concentrator so you cant assume data passed to the miner passes CRC which you can today.  So you may want to introduce code to check CRC for non PoC payloads before further processing / forwarding to a router, etc.  or somehow handle this.  What you dont want is simultaneously with "hey we introduced this great new droplet PoC feature" is having everyone on #console say "whats going on I'm getting 1-3 garbled packets for every valid one I receive, the data going through console is all garbage now"

As a benchmark for how much additional traffic will be forwarded, I checked the statistics for 24h on one of m gateways. This was the number of messages:

CRC Error
84919

CRC Ok
103650

So forwarding packets with failed CRC might almost double the amount of traffic from the gateway to the miner. This will affect systems where the miner is in the cloud and the gateway uses a LTE backhaul.
I am not aware of any gateways that can selectively forward error packets, so they will either forward all or none.
Adding code to the miner to drop packets with invalid CRC (to avoid getting bad packets in the console and paying for them)  should be possible, but will not help the cases using LTE backhaul.

@Carniverous19 @mfalkvidd certainly things we should be noting as required peripheral changes to implementing this. Not sure where it is best to list these things other than keeping a personal note in my notebook. I'll add them to a ticket for task management tool of choice as well.

The other tangential concern I have both with existing PoC methods and this proposal is that you mention PoC packets arent LoRaWAN but device packets are.  One thing I noticed running the middleman code is how easy it is to differentiate PoC data from device data and thats even assuming they were both LoRaWAN.  With PoC payloads being different than device data its possible for middleman or other gaming software to treat them differently.
Part of me thinks it should be fairly indistinguishable so you cant give PoC data special treatment.  For example, as @mfalkvidd mentions there may be cost concerns for LTE backhaul, why not just drop ALL packets that aren't PoC packets? that would mean you only use a tiny amount of LTE data and are still capable of getting full PoC rewards.  Maybe this is better discussed in discord as its not specific to this proposal, just something I wasnt aware of.

Reviewed, numbered and merged for discussion.
Please direct future questions, feedback or comments to the central tracking issue: https://github.com/helium/HIP/issues/78


Export createElement from light module

Allows using createElement easily when using the light build, without pulling in all languages.

do you have an idea how much bigger this makes the light build by any chance?

Oh I'm not sure, I just assumed it wouldn't make much of a difference because create-element.js is pretty small. It'd be nice to have some way to import createElement in the light build though, without having to import the main package, because importing the main package causes it to pull in all the language syntax highlighting files. Right now we can still do this by importing from 'react-syntax-highlighter/dist', but that feels a bit wrong.
I'll try and do a build and report back. Thanks!

what version are you on, you shouldn't have to reach into the dist, just react-syntax-highlighter/create-element

Oh huh, I was on 5.7.0. Updating to a newer version should hopefully fix that. Never mind then!


Betting exchange link is missing

There will be a link to the betting exchange visible on the landing page at each breakpoint.
Link = can use www.augur.net for now

[x] When the nav bar is visible - the link is on the far right of the nav bar HIGH Figma
[x] When the hamburger icon is visible - the link should be displayed on a new bar below and centered HIGH Figma

One small issue on tablet/mobile, matt using the background to the nav bar behind the link.
In the build it's sitting on the background (not the nav bar) on tablet/mobile.
Design on left, build on right


"Nanopolish" is not recognized as an internal or external command, operable program or bath file.

Hello,
I am trying to download nanopolish in my Windows pc, but something I am doing wrong because I get that this error 👍 (base) C:\Users\hmw180>git clone --recursive https://github.com/jts/nanopolish.git
'git' is not recognized as an internal or external command,
operable program or batch file.
(base) C:\Users\hmw180>cd nanopolish
(base) C:\Users\hmw180\nanopolish>git checkout v0.7.1
'git' is not recognized as an internal or external command,
operable program or batch file.
(base) C:\Users\hmw180\nanopolish>make
'make' is not recognized as an internal or external command,
operable program or batch file.
Could you help me with this please?
Thank you

Sorry but Windows is not a supported platform. You'll have to use Linux.
Jared

On May 3, 2018, at 7:51 AM, Adelaam<EMAIL_ADDRESS>wrote:
Hello,
I am trying to download nanopolish in my Windows pc, but something I am doing wrong because I get that this error 👍 (base) C:\Users\hmw180>git clone --recursive https://github.com/jts/nanopolish.git
'git' is not recognized as an internal or external command,
operable program or batch file.
(base) C:\Users\hmw180>cd nanopolish
(base) C:\Users\hmw180\nanopolish>git checkout v0.7.1
'git' is not recognized as an internal or external command,
operable program or batch file.
(base) C:\Users\hmw180\nanopolish>make
'make' is not recognized as an internal or external command,
operable program or batch file.
Could you help me with this please?
Thank you
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Ok, thank you. I did not know it.
Adela
From: Jared Simpson<EMAIL_ADDRESS>Sent: 03 May 2018 13:04
To: jts/nanopolish
Cc: Medina, Adela; Author
Subject: Re: [jts/nanopolish] "Nanopolish" is not recognized as an internal or external command, operable program or bath file. (#375)
Sorry but Windows is not a supported platform. You'll have to use Linux.
Jared

On May 3, 2018, at 7:51 AM, Adelaam <notifications<EMAIL_ADDRESS>wrote:
Hello,
I am trying to download nanopolish in my Windows pc, but something I am doing wrong because I get that this error 👍 (base) C:\Users\hmw180>git clone --recursive https://github.com/jts/nanopolish.git
'git' is not recognized as an internal or external command,
operable program or batch file.
(base) C:\Users\hmw180>cd nanopolish
(base) C:\Users\hmw180\nanopolish>git checkout v0.7.1
'git' is not recognized as an internal or external command,
operable program or batch file.
(base) C:\Users\hmw180\nanopolish>make
'make' is not recognized as an internal or external command,
operable program or batch file.
Could you help me with this please?
Thank you
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jts/nanopolish/issues/375#issuecomment-386272596, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ak7kEsXDslYD9URcrOdOw_zkGXnncze4ks5tuvI_gaJpZM4Tw8Gx.


The switch from the iframe to the sub-iframe is not working

Scenario:
Then ("#myiframe").switchFrame() => It works, and I can access the element.
Then ("#subiframe").switchFrame() => It's not working, and it's not throwing any error message, and I can't access the element

follow this process to reopen please, also try stack overflow: https://github.com/karatelabs/karate/wiki/How-to-Submit-an-Issue


Fix GeoTiff Grid Transformation

Setting a custom transformation and projection in the .tif format is already supported, but never used. I've set the output to include the correct transformation if a custom one is not supplied. Also adds unit test for .tif format.
Lots of great info from the GDAL API Tutorial used here.
Fixes #18

The FRF-Remote-Sensing:master branch now also contains user-defined grid functionality and unit tests.

@atdyer looks like we've got two fixes in this pull request — one that'll fix #18 and a new set of changes to add user-defined grids. For the sake of cleanliness, could you separate those into two branches? Keep the #18 fix in this pull request and put the user-defined grid stuff in a new pull request.
Also, each PR can probably be rebased down to one commit.
If you need help with the branching or rebasing hit me up on gchat tomorrow and we can walk through it. Thanks :beer:.


Azure Function BackEnd endpoint access not working.

I installed the required programmes on Windows 10 21H2 x64 and executed the source code.
Everything was executed normally until the azd up command, but when accessing the Backend Endpoint created in Azure apps, the following error is returned.
"Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again."
Everything ran fine until azd up and the logs are as follows.
C:\Users\niceysj\repo\chatgptspk\chatpdf>azd up
Packaging services (azd package)
(✓) Done: Packaging service backend

Package Output: C:\Users\niceysj\AppData\Local\Temp\azddeploy2270936496.zip
(✓) Done: Packaging service functionapp
Package Output: C:\Users\niceysj\AppData\Local\Temp\azddeploy1938513666.zip

Provisioning Azure resources (azd provision)
Provisioning Azure resources can take some time
You can view detailed progress in the Azure Portal:
https://portal.azure.com/#blade/HubsExtension/DeploymentDetailsBlade/overview/id/%2Fsubscriptions%2F3e5e369f-3d6e-4c3f-87f4-83c1cca16cb5%2Fproviders%2FMicrosoft.Resources%2Fdeployments%2Fchatgptspk
(✓) Done: Resource group: chatspk
(✓) Done: Application Insights: chatspkappisg
(✓) Done: App Service plan: chatspkasp
(✓) Done: Storage account: chatspkstor
(✓) Done: Storage account: chatspkfuncsa
(✓) Done: Function App: chatspkfunc
(✓) Done: Search service: chatspkazs
(✓) Done: Azure OpenAI: chatspkoai
(✓) Done: App Service: chatspkbackend
Executing predeploy hook => C:\Users\niceysj\AppData\Local\Temp\azd-predeploy-1027173797.ps1
npm WARN deprecated<EMAIL_ADDRESS>Package moved to @redux-devtools/extension.
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
added 589 packages, and audited 590 packages in 1m
59 packages are looking for funding
run npm fund for details
2 high severity vulnerabilities
To address all issues, run:
npm audit fix
Run npm audit for details.

<EMAIL_ADDRESS>build
tsc && vite build --mode prod

vite v4.1.1 building for prod...
✓ 2703 modules transformed.
../backend/static/index.html                      0.46 kB
../backend/static/assets/github-fab00c2d.svg      0.96 kB
../backend/static/assets/index-d593fb67.css      16.45 kB │ gzip:   2.90 kB
../backend/static/assets/index-4215e6c8.js    1,185.83 kB │ gzip: 348.14 kB │ map: 10,008.16 kB
(!) Some chunks are larger than 500 kBs after minification. Consider:

Using dynamic import() to code-split the application
Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.

Deploying services (azd deploy)
(✓) Done: Deploying service backend

Endpoint: https://chatspkbackend.azurewebsites.net/

(✓) Done: Deploying service functionapp

Endpoint: https://chatspkfunc.azurewebsites.net/

SUCCESS: Your Azure app has been deployed!
You can view the resources created under the resource group chatspk in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/3e5e369f-3d6e-4c3f-87f4-83c1cca16cb5/resourceGroups/chatspk/overview
C:\Users\niceysj\repo\chatgptspk\chatpdf>npm audit fix
added 93 packages, and audited 94 packages in 3s
12 packages are looking for funding
run npm fund for details
found 0 vulnerabilities

At times we are seeing inconsistent behavior on the deployment and trying to figure that out.  Alternatively, we are going to allow users to deploy via "Deploy to Azure" button that we hope will be released soon

I look forward to seeing your feature updated.
Thank you.


Compilation errors in Swift 3.0

I'm using swift branch via CocoaPods:
pod 'DateTools', :git => 'https://github.com/MatthewYork/DateTools', :branch => 'swift'

When I compile project, I'm getting several compilation errors:

Value of type Date has no member subtract
Value of type Date has no member add
Cannot convert value of type TimeChunk to expected argument type TimeInterval (aka Double)

+1, I am having the same issue, but a week ago one of my other projects compiled with this branch. Possibly a bug was introduced since then?

That is entirely possible. We are tying to keep the branch as stable as we can, but there is a lot of active development on it as it is prerelease.
To see what is working correctly, I recommend running the unit projects on the swift branch. We will do our best resolve the cocoa pods issue and to not break the branch in the future.

I saw this too. Use tag in the cocoapod instead of the branch.
pod 'DateTools', :git => 'https://github.com/MatthewYork/DateTools.git', :tag => '2.0.0-beta.1'

This is the correct answer. Also, as of pretty much now, beta 2 is available on the swift branch.
The tag is: 2.0.0-beta.2
I will update the pod spec to account for this change.

@k3zi @igormatyushkin014 Please let me know if this resolved your issue. Thanks!

I am using 2.0.0-beta.2, but i will still get the above error.

@pushian - Has "isEarlierThan" been replaced by "less" method for the Swift branch?

@codemodouk I have found the answer. "isEarlierThan" has been replaced by "earlier(than: ***)"

"addingDays" function is unavailable now. The most similar function I can find is add(timeChunk: TimeChunk) but I cannot figure out how to use this function. Anyone please help.

@codemodouk @pushian So, we have a lot of new functionality that is yet undocumented on the Swift branch... The add() method will consume a time chunk, which is an all new high-level extension of DateComponents that allows for grouping and shorthanding complex component operations. For instance, A time chunk can be constructed as 2.days or 4.weeks or 3.minutes + 2.seconds. This may then be applied as date component updates to a given date, time period, chain, etc. Time intervals are also supported to give you both fuzzy and non-fuzzy option when manipulating dates.
There will be a lot of new documentation once we make another few passes through the API to ensure consistency. This iteration had multiple writers, so I am sure there is much to unify. Until then, I will try to answer any questions that arise!

Also, earlier(than:) should be isEarler(than:). You will see all boolean returning functions prefixed by "is" and "has". Part of that unification I was mentioning.

These issues will be marked as resolved for version 2.0.2. Please reopen if there are any new developments. Regards, Matt.


[Housekeeping] verify serializers are consistent

Some testing to verify consistent behavior between different serializer implementations.
Specifically consider https://github.com/VIAME/VIAME-Web/pull/424#discussion_r523080294

@subdavis could you fill out the description with more detail? I'm not sure this is pickuppable by a dev in its current state.


Sentry update

@tisto, do you have any idea why the tests are failing?

@zotya looks like the image upload stopped working in the cypress tests (both for Plone backend and Guillotina)

@pnicolli would you mind having a second look for a final review? cc @plone/volto-team

@zotya I have no clue why the Guillotina tests on Travis fail. I know that @bloodbare worked on the Guillotina Docker configuration lately. Though, this seems to work on master...

@zotya ok, seems that my merge led to an invalid razzle conf file: https://github.com/plone/volto/pull/1665/checks?check_run_id=1148806786
Would you mind having a look? Sorry for breaking things. :/

I went through the code and it feels like there's a lot of code involved just to set up Sentry, which is weird, but I never tried Sentry on a SSR application so I can live with that.
I feel like the RAZZLE_ vars thing is not really related to Sentry. Is it needed to make Sentry work? Is it not included in another PR? If it's like this, then I'm ok with the PR.
I already have a possible improvement for the future, I wouldn't say it's a blocker for now. I would suggest moving all the bash scripting to node.js scripting, for better compatibility with platforms e.g. Windows.

@pnicolli Indeed, the runtimeConfig (and RAZZLE_ stuff) could have have been separated to another PR, but it's a small part of this PR. The runtime config is needed because the client (browser) code can't read process.env variables, so there's a need to expose the sentry DSN information to the client code.
We deploy Volto with docker and configure the environment variables for the orchestration through a web gui. Kind of like this: https://github.com/eea/eea.rancher.catalog/tree/master/templates/volto-ims
That's why I guess my colleague decided to use bash for the scripting, because we would run the create-sentry-release.sh script from the docker entrypoint. The purpose for that is to automatically upload the source files to sentry by "creating a release", so that you get proper sourcecode mapping on reported errors. Leaving the fact that we're a very small community right now, would anyone deploy Volto to production on Windows?
While there's obviously room for improvement (my colleague is new to Volto), I don't see any big issues with the PR.

@zotya seems the razzle config is invalid (from gh actions):
ERROR  Invalid razzle.config.js file.

@tiberiuichim I'm actually surprised that the client can't see process.env vars, maybe because I'm more used to create-react-app projects. If that's the case, then I'm ok with this PR.
It would be great to see Sentry become available again.

@pnicolli I don't think we want automatic transparency of system environment variables to the browser. There could be passwords, etc.
See the section on runtime env vars: https://razzlejs.org/docs/environment-variables#runtime-variables
The idea is that we have/had this situation:

the old code wanted process.env.SENTRY_DSN, but that variable doesn't exist on the client browser
that var could exist if it's renamed to process.env.RAZZLE_SENTRY_DSN
but the way razzle works is that it "cooks" these variables in the generated bundle.js files, which means...
if you change variables on the server, but don't build the bundle, it's not reflected to the client browser.

In our setup we use docker images and jenkins to build the images, then configure the env vars from the cloud infrastructure that runs the containers. Volto's entrypoint shows what would need to be done if you want to expose environment variables to the client: search/replace in generated bundles: https://github.com/plone/volto/blob/bc0e54a9eef643ed43c7125600972601c62df25a/entrypoint.sh#L13
That works, but is not scalable. So what we're doing now is fulfilling razzle's promise of variable transparency (all RAZZLE_ vars are published) by cooking them in the server.jsx process. So when you get the html response from the server, it has the RAZZLE variables published as a global JS variable

@zotya I am happy to merge and release this but I need a green build and a working razzle config. cc @tiberiuichim @avoinea

@zotya I am happy to merge and release this but I need a green build and a working razzle config. cc @tiberiuichim @avoinea

@tisto: After cleaning razzle.config.js, the tests for guillotina are still failing. I ran the tests locally, and I have the same results. I even tried to run the tests on the master branch and the guillotina tests are failing there too.
The tests are failing with similar problems:

for file uploading:
https://github.com/plone/volto/blob/master/cypress/integration/content.js#L84
fails at:
https://github.com/plone/volto/blob/master/src/components/theme/View/FileView.jsx#L27
content.file is undefined

for image uploading
https://github.com/plone/volto/blob/master/cypress/integration/content.js#L130
fails at:
https://github.com/plone/volto/blob/master/src/components/theme/View/ImageView.jsx#L29
content.image.download is undefined (but strangely content.image.scales.preview.download exists)

I could modify FileView.jsx like this:
{content?.file?
{content?.file?.filename} : ""
}
but I'm not sure this is ok.
Do you have any hint for me?
Thanks

@sneridagh please review again. Then we are good to merge and release. Can't wait to give this a shot. :)

@zotya changes looks great! Thanks!
I've run a bundle analysis:

It's a pity that we have to add this burden either you use sentry or not in the build.
We can leave it as it is or try to find a solution for lazy load it (if it can be done).
@tiberiuichim @pnicolli I leave it up to you, I'm +1 to merge this now.

File sizes after gzip:

  462.17 KB (+18.39 KB)  build/static/js/8.af2796d6.chunk.js
  159.5 KB (-10 B)       build/static/js/client.9ed23467.chunk.js
  107.35 KB              build/static/js/4.781cea7a.chunk.js
  97.05 KB               build/static/css/8.faa001b1.chunk.css
  32.72 KB (-212 B)      build/static/js/2.24df0b6a.chunk.js
  27.62 KB (+1 B)        build/static/js/9.09187cd7.chunk.js
  26.67 KB               build/static/js/0.87f3aabe.chunk.js
  16.4 KB                build/static/css/client.6fdf65f7.chunk.css
  14.3 KB (+812 B)       build/static/js/10.5744157d.chunk.js
  10.22 KB (+454 B)      build/static/js/17.b5e914ad.chunk.js
  10 KB (-4.3 KB)        build/static/js/11.31206beb.chunk.js
  9.78 KB (+636 B)       build/static/js/16.b6742f7a.chunk.js
  9.69 KB (+1.23 KB)     build/static/js/14.dff375ec.chunk.js
  9.44 KB (+1.33 KB)     build/static/js/21.7f63962e.chunk.js
  9.16 KB (-544 B)       build/static/js/15.b8a5e992.chunk.js
  9.1 KB                 build/static/js/plone-volto-components-manage-Widgets-DatetimeWidget.f98c4adf.chunk.js
  8.45 KB (+3.44 KB)     build/static/js/13.f9c6adb9.chunk.js
  8.12 KB (+1.38 KB)     build/static/js/19.1b94f67f.chunk.js
  8.11 KB (-15 B)        build/static/js/20.299007c0.chunk.js
  6.74 KB (-3.48 KB)     build/static/js/18.93059b74.chunk.js
  5.02 KB (-4.98 KB)     build/static/js/12.5e99b75e.chunk.js
  4.14 KB                build/static/js/1.9baa586b.chunk.js
  3.39 KB                build/static/css/4.9a97b7b4.chunk.css
  1.75 KB (-14 B)        build/static/js/runtime~client.9cada166.js
  1.45 KB                build/static/js/plone-volto-components-theme-View-EventView.9877e31c.chunk.js

The bundle size increase of +18.39 KB for the main bundle is ok with me for now. We should make this optional or at least allow to remove Sentry from the bundle.

@plone/volto-team merged and released<EMAIL_ADDRESS>Give it a shot and let me know how it goes...

Thanks! Will try it asap.


Add support for iPhone X

https://developer.apple.com/ios/update-apps-for-iphone-x/

Learn More

@RubenMattan, if you can add support for iPhone X.
I will do the iOS SDK 11 build stuff.


Allow specifying both sqlcipher and bundled.

This is useful because currently, when using rusqlite in a Cargo workspace with one crate that uses sqlcipher and another that uses bundled, a build error will be triggered by an unqualified cargo build (as cargo will use the union of all features enabled by crates in the workspace).
Instead of panicing, this just emits a warning, before (mostly) ignoring that the bundled feature was specified. Note: in this configuration, we still use our bundled bindings, to avoid changing rusqlite to
handle this edge case (hence 'mostly').

We'd appreciate a release going out when you next have the opportunity to do so, to get https://github.com/mozilla/application-services/ off of my branch.


Update firebase config to show a clear connection

Description
Collabies find our config confusing. By defining const firebaseInstance = firebase.initializeApp(firebaseConfig);, we make a clear connection between the configuration and what we're consuming down the road. These changes clearly answer the question  "Where is our db coming from?"
Type of Changes

Type

:bug: Bug fix

:sparkles: New feature

✓
:hammer: Refactoring

:100: Add tests

:link: Update dependencies

:scroll: Docs

@segdeha I tagged you in slack.


docs: add Japanese README

I created Japanese translated README.

Thanks for your PR! I appreciate your contribution and effort. Great work!


Clarification on how to setup android client id

I have added my issue to stackoverflow so that it might more easily help others when resolved.
http://stackoverflow.com/questions/43396530/trouble-creating-android-clientid-to-use-with-appauth-library-for-android

I figured this out and updated the stackoverflow question for clarity in case someone struggles with this like I did.


5.6.0-beta1 - Tweedeck login blank page & refresh crash

Describe the bug
Tweetdeck login does not work and shows only a blank screen. Refresh (Cmd + R) will cause Franz to crash.
To Reproduce
Steps to reproduce the behavior:

Add tweetdeck
Click on "Log in"
Blank page is shown
Hit Cmd + R to refresh
Application crashes

Expected behavior
Login screen loads and refreshing doesn't cause the app to crash
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: MacOS Mojave 10.14.6
Franz Version: 5.6.0-beta1

Confirming the same issue with Franz using the Tweetdeck.

Add tweetdeck

Click on "Log in"

Blank page is shown

Hit Cmd + R to refresh

Application crashes

I've reproduced the same steps, as well as full removing Franz, removing cached files, re-installing, and still get the same results no matter what.

Same issue.

same here!

Version 5.6.0-beta.1 (5.6.0-beta.1.1808)

I also expecting this issue. There are did not appear any error message inside the Developer Console of the service himself.

I also expecting this issue. There are did not appear any error message inside the Developer Console of the service himself.

I also expecting this issue. There are did not appear any error message inside the Developer Console of the service himself.

I was able to fix this issue by remove Franz completely which mean also delete the caching folders under ~/Library/Application Support/Franz.
After reinstallation the login is possible again.

I also expecting this issue. There are did not appear any error message inside the Developer Console of the service himself.

I was able to fix this issue by remove Franz completely which mean also delete the caching folders under ~/Library/Application Support/Franz.
After reinstallation the login is possible again.


Add support for custom schemas written in typescript

:tada: This issue has been resolved in version 5.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: