recurring SqLiteError

Netflix add-on version
1.20.3+matrix.1
Operative systems used
CoreELEC
Kodi version used
Kodi 20 (Nexus)
Description of the bug
Hi there,
I get frequent and recurrent SqLiteErrors thrown by Netflix addons for - let's say - last two or three weeks.
In spite of the error, everything seems to work just fine. The only inconvenience is that each time the error is thrown an alert window is displayed.
Please find below an extract form my debug log. Hope it helps.
2023-01-05 16:03:47.873 T:13492   error <general>: [plugin.video.netflix (0)] SQLite error UNIQUE constraint failed: menu_data.ContextId:
2023-01-05 16:03:47.873 T:13492   error <general>: [plugin.video.netflix (0)] IPC callback raised exception:
2023-01-05 16:03:47.941 T:13492   error <general>: [plugin.video.netflix (0)] Traceback (most recent call last):
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/database/db_base_sqlite.py", line 124, in _execute_non_query
                                                       cursor.execute(query, params)
                                                   sqlite3.IntegrityError: UNIQUE constraint failed: menu_data.ContextId

                                                   The above exception was the direct cause of the following exception:

                                                   Traceback (most recent call last):
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/services/http_server.py", line 105, in handle_request
                                                       ret_data = _call_func(func, pickle.loads(data))
                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/services/http_server.py", line 161, in _call_func
                                                       return func(**data)
                                                              ^^^^^^^^^^^^
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/utils/logging.py", line 139, in timing_wrapper
                                                       return func(*args, **kwargs)
                                                              ^^^^^^^^^^^^^^^^^^^^^
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/directorybuilder/dir_builder.py", line 145, in get_genres
                                                       return build_loco_listing(loco_list, menu_data, force_use_videolist_id)
                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/utils/logging.py", line 139, in timing_wrapper
                                                       return func(*args, **kwargs)
                                                              ^^^^^^^^^^^^^^^^^^^^^
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/directorybuilder/dir_builder_items.py", line 218, in build_loco_listing
                                                       G.LOCAL_DB.set_value(list_id, sub_menu_data, TABLE_MENU_DATA)
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/database/db_base_sqlite.py", line 53, in wrapper
                                                       return func(*args, **kwargs)
                                                              ^^^^^^^^^^^^^^^^^^^^^
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/database/db_base_sqlite.py", line 223, in set_value
                                                       self._execute_non_query(insert_query, (key, value))
                                                     File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/database/db_base_sqlite.py", line 129, in _execute_non_query
                                                       raise DBSQLiteError from exc
                                                   resources.lib.common.exceptions.DBSQLiteError

Steps to reproduce the behavior
I can see no pattern related to this bug. It seem to happen even if not using Netlix. Probably related to some service workers running in background.
Debug log - mandatory
https://paste.kodi.tv/ofoquneyuh.kodi
Possible fix
No response
Additional context
No response
Screenshots
No response

from the log seem you have 3 skin widgets and all them try to access to the addon at same time
2023-01-05 16:03:41.841 T:30075    info <general>: plugin.program.autowidget: Added to queue: 78996fb3081e85f5eca55596105db06e87813a32 plugin://plugin.video.netflix/directory/genres/movies/34399/ None
2023-01-05 16:03:41.844 T:30075    info <general>: plugin.program.autowidget: Added to queue: 82755bfe59a5b99c4c1aa038c2c5d246fc9e3b1d plugin://plugin.video.netflix/directory/category_list/newAndPopular/ None
2023-01-05 16:03:41.848 T:30075    info <general>: plugin.program.autowidget: Added to queue: 0a488e43c6f1e8685008002d1796a33d80349716 plugin://plugin.video.netflix/directory/genres/tvshows/83/ None
2023-01-05 16:03:43.020 T:13384    info <general>: [plugin.video.netflix (91)] The debug logging is set as DISABLED
2023-01-05 16:03:43.034 T:13382    info <general>: [plugin.video.netflix (90)] The debug logging is set as DISABLED
2023-01-05 16:03:43.070 T:13388    info <general>: [plugin.video.netflix (92)] The debug logging is set as DISABLED

this is more likely the problem, so widgets has caused a kind of database concurrency
widgets do not have any kind of access control are executed without any limit
this is the reason why this addon dont support widgets there are no way to have a control over them
however can you try update with this test?
plugin.video.netflix_1.20.3+matrix.1_20230110_t1.zip
is possible that this change perhaps may improve a bit the situation

Please before try test update with this "t2" test:
plugin.video.netflix_1.20.3+matrix.1_20230110_t2.zip

@CastagnaIT Many thanks for your reply - I'll give it a try and get back to you with feedback asap.

there is no way to hide error messages, because there is no way to identify if the call come from a widget
otherwise you hide all errors and you are not able to know when the addon works correctly or not
the screenshot is not useful, you have to share the new log so i can try see if there is other things to check,
but you have to remember also to enable the debug as described in github Readme

Yeah, sure. I see your point. I will enable debug mode and wait for an error to send you my log.
Many thanks anyway!

Ok, today is the 6th day after installing t2 version and I am happy to confirm I haven't experienced any errors or crashes except for the single timeout error I described earlier (which I cannot reproduce and is most likely not related). That said, I believe it is safe to say your t2 version resolved my problem. Are you going to merge that version with the main branch?
Many thanks for your support @CastagnaIT.

thanks for feedback
yes you can already update with last version


Trunk fails to create a target directory when a parent directory does not exist

For example, when building into target/dist, the build will fail when target does not exist yet.

IIRC the default dist dir is just dist, and it requires the parent to exist. So that's kind of expected.
On the other hand, I agree that it might make sense to allow creating all parents. Can you come up with a PR for this?

Ping @benfrankel
We can probably take a look after the current Bevy game jam :)


[All OSes] Android NDK versions <=25 will be removed from images on August 19

Breaking changes
Toolcache Android NDK versions <=25 will be removed from images on August 19
Target date
Image deployment is starting on July 29 and will take 3-4 days.
The motivation for the changes
All versions <= 25 were EOLed more than a 10 months ago. We would like to remove long-term unsupported versions.
Possible impact
If your workflows / pipeline depend on Android NDK versions <=25 , they might become broken
Platforms affected

[X] Azure DevOps
[X] GitHub Actions

Runner images affected

[X] Ubuntu 20.04
[X] Ubuntu 22.04
[X] Ubuntu 24.04
[ ] macOS 12
[ ] macOS 13
[ ] macOS 13 Arm64
[ ] macOS 14
[ ] macOS 14 Arm64
[X] Windows Server 2019
[X] Windows Server 2022

Mitigation ways
Nothing is required.

New version available with PR

Hi , The changes has been made under  PR , the default ndk version would be "27" , thanks , closing the announcement.

s8

The changes have been made under this PR


Cop Idea: Detect repeated include_examples in same context

Similar to #260, we should detect identical includes of shared examples within an example group.
This should be a violation (spotted in spec for rubocop Style/ConditionalAssignment):
it_behaves_like('all assignment types', '=')
it_behaves_like('all assignment types', '+=')
it_behaves_like('all assignment types', '-=')

it_behaves_like('all assignment types', '=') # violation: repeated
it_should_behave_like('all assignment types', '+=') # violation: repeated with different syntax

include_examples('all assignment types', '-=') # violation: similar but in current context instead of nested context

it_behaves_like and it_should_behave_like are identical (both include the examples in a nested context) so should be treated the same.
Although include_examples includes the examples in the current context instead of a nested context, I can't think of any cases where one would want to use different forms for the same shared_examples.

The following should not be violations:
context 'with foo' do
  it_behaves_like 'some examples', 'test'

  it_behaves_like 'some examples', 'other' # ok: different parameters
  it_behaves_like 'other examples', 'test' # ok: different shared_examples
end

context 'with bar' do
  it_behaves_like 'some examples', 'test' # ok: in a different context
end

Nice!
Would you like to hack on it?

@pirj yeah, I fancy having a go at it.


Are there a padding schema?

See http://stackoverflow.com/q/43599252/287948

@ppKrauss see https://github.com/cryptocoinjs/base-x#how-it-works for an explanation on how the "padding" works


Provide a technical documentation to install your own instance on your own infrastructure

available here https://github.com/correctexam/documentation/blob/main/Install.md

https://correctexam.readthedocs.io/en/latest/Install.html


AC can not be turned off by siri @ 0.98

Home Assistant release with the issue:

Last working Home Assistant release (if known): 0.96
Operating environment (Hass.io/Docker/Windows/etc.): docker with Hass.io

Component/platform: homekit & syssi's custom component xiaomi_miio_airconditioningcompanion

Description of problem:
After I upadted HA from 0.96 to 0.98, when use siri to turn off the ac, I said "Hey siri, turn off the bedroom's air conditioning", but nothing happended.
Then I went to the dev-tools to see the logs and found that it use a invalid "heat_cool" for hvac mode.
Here is the logs:
Error executing service <ServiceCall climate.set_hvac_mode : entity_id=['climate.air_conditioning_2f'], hvac_mode=heat_cool>
custom_components/xiaomi_miio_airconditioningcompanion/climate.py (ERROR)
ValueError: 'heat_cool' is not a valid OperationMode

I also put the issuse to syssi and hope this can be fixed.

I think it has something to do with the possible Operatiomodes, here are all declared OperationModes in custom_components/xiaomi_miio_airconditioningcompanion/climate.py:
class OperationMode(enum.Enum):
    Heat = HVAC_MODE_HEAT
    Cool = HVAC_MODE_COOL
    Auto = HVAC_MODE_AUTO
    Dehumidify = HVAC_MODE_DRY
    Ventilate = HVAC_MODE_FAN_ONLY
    Off = HVAC_MODE_OFF

And these are the OperationModes for the HomeKit integration:
HC_HASS_TO_HOMEKIT = {
    HVAC_MODE_OFF: 0,
    HVAC_MODE_HEAT: 1,
    HVAC_MODE_COOL: 2,
    HVAC_MODE_HEAT_COOL: 3,
}

In comparison, the 'heat_cool' operation mode is missing in xiaomi_miio_airconditioningcompanion/climate.py.
However, something else seems to be going wrong because for the climate component constants are defined here:
# All activity disabled / Device is off/standby
HVAC_MODE_OFF = "off"
...
# The device supports heating/cooling to a range
HVAC_MODE_HEAT_COOL = "heat_cool"

Instead of switching your AC off, like you asked Siri, it attempts to switch to 'heat_cool' mode.

@springstan
I got your point, but I'm not sure how these components work. I tried to switch the AC mode manually in the homekit app and it works well, but when I ask siri to do it, it awlays send a wrong value to hass and make it nothing happend.
And which perplexed me is that why send "heat_cool" not "off“ when I ask siri to shut the AC down.

@weibrkreuz Looks like Siri is the one acting up and not Homekit. Have you tried to explicitly ask Siri to "shut off the AC?" since it could be a misinterpretation from Siri that "shut down" means lower temperature.

@springstan sure I tried words like " shut down" "cut off the power" "power off" "turn off" and in logbook homekit component always send a "heat_cool" to the climate components. Then I try "turn on the AC" and  found homekit also sent a "heat_cool" to the climate. Otherwise, ervery manual operating in komekit app can make homekit component send a correct instruction to climate, but siri can NOT.

I think I had this same issue with a heater and an AC unit. If I asked Siri to turn on my 'Living Room Heater' (as named in HA and HomeKit), by asking something like, "Turn on the Living Room Heater", it wouldn't work.
I renamed my heater in HomeKit to be 'Living Room Climate', and now "Turn on the Living Room Heater" commands work.

I had the same Problem with the Homematic IP integration and their radiator water valve. The valve only supports the fixed hvac_modes: auto, heat. If have "heat" selected and want to go to Auto in homekit (which interesstingly sets the hvac_mode to "heat_cool") then the mode is not changed in hassio as the hvac_mode "heat_cool" is unavailable for this climate entity. This is all according to the documentation, see https://www.home-assistant.io/integrations/climate/.
I would still like to have a way to map the hvac_modes coming from homekit to the hvac_modes supported by the entities. There might also be some workaround by using a climate template and only publishing the template on homekit and in hassio mapping the template to the actual climate entity (using automations for example), but I could find a climate template.


Feature/gh 644

fixes GH-644

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


Fix bugs in determining which restore item actions to run

Note: only the last commit is unique to this PR, the previous ones are from #1606. I'll rebase this after #1606 gets merged.
There were a couple of bugs related to determining which restore item actions to run for a resource, all around the use of namespace selectors -- essentially they were being ignored.
@nrb @prydonius @carlisia

This is waiting on #1606

Alright, rebased and ready for merge on green


Processing new Planet Four images for upload

Hi @astopy,
When you get a chance would you be able to process these HiRISE images listed below  with the Zooniverse scripts? Given these fans are so big we wanted to get this region done with the current P4 before we switch over to panoptes since the size of the subject image is much much smaller in panoptes compared to the current P4 interface. . Hoping to switch over to panoptes next year.  We fully understand that this might take weeks or months for you to get to.
Thanks,
ESP_040216_0950
ESP_040189_0950
ESP_039359_0950
ESP_038462_0950
ESP_038040_0950
ESP_037842_0950
ESP_029548_0945
ESP_049209_0950
ESP_048576_0950
ESP_048431_0950
ESP_047653_0950
ESP_047363_0950
ESP_046862_0950
ESP_046770_0950
ESP_046769_0950

These should be live now


Continuity counter should not increment in some cases

According to ISO/IEC 13818-1, Section <IP_ADDRESS> (as described at https://stackoverflow.com/questions/24310441/mpeg-transport-stream-continuity-counters ), the continuity counter should not be incremented under certain circumstances:
a) Packet has no payload
b) The discontinuity flag is set
c) Packet is a duplicate of the last packet
As far as I can tell, tsduck doesn't do anything special for any of these cases, so if a packet has no payload yet has its CC incremented compared to the last packet of the same PID, tsanalyze doesn't report this as a continuity error.  This threw me for a loop, as tsanalyze reported no continuity errors while some other tools reported continuity errors (VLC and DVBinspector) for a TS file that I had generated using tsduck but for which I had to fix the CCs ala the approach taken in the rmsplice plugin.
Further, there is at least one plugin, the rmsplice plugin, that doesn't adhere to these rules in the fixcc code.  The fixcc code should look more like the following:
	// should not increment CC if no payload or if discontinuity indicator is set
	// also should not do in the case of duplicate packets
	bool bIncrementCC = true;
	if (!pkt.hasPayload())
		bIncrementCC = false;
	else if (pkt.getDiscontinuityIndicator())
		bIncrementCC = false;
	// possible TODO:  detect duplicate packets--should not increment in this case
	// could use VLC's approach of keeping the last packet for each PID and comparing the memory of each
	// however, duplicate packets shouldn't typically come up in practice
	if (bIncrementCC)
		pkt.setCC((ccstate.m_cc + 1) & CC_MASK);
	else
		pkt.setCC(ccstate.m_cc & CC_MASK);

There are other places in the tsduck codebase that call setCC(), and this may be relevant for those as well.

Agreed, I will look into it.
I have only one remark about so-called "duplicate" packet. It is sometimes legitimate to have a sequence of two identical but distinct packets. Typically, we see sequences of identical all-FF packets in video streams.

On a receiver side, this means that we simply check the CC and drop a packet if its CC is the same as the previous one (either duplicate packet or no payload).
On a generator side, we never send duplicates. Duplicates can appear in the network.
The problem is the "fixer" side, as in TSDuck. If we keep a copy of the previous packet and the next one is identical (except the CC), then this is not necessarily a duplicate. We need to "replicate the duplicate" without collapsing sequences of identical packets as false duplicate.

Hi,
I, too, have another observation about "no payload" packets. A packet without payload may contain useful information in the header, e.g. PCR marks. Therefore, in this case the CC counter must be increased.
So, please, if you provide any new behavior, include some options to enable or disable this change.
Regards.

I, too, have another observation about "no payload" packets. A packet without payload may contain useful information in the header, e.g. PCR marks. Therefore, in this case the CC counter must be increased.
So, please, if you provide any new behavior, include some options to enable or disable this change.

Regarding lars's comment, the CC should not be incremented in this case.  In fact, incrementing the CC in this case results in serious problems with playback in VLC, as I personally encountered.  As soon as I stopped incrementing the CC for packets without any payload, the VLC issues went away.  Not all players care about this though.  For example, both Kodi and MPC-HC aren't impacting by incorrect CC increments.
Here are the relevant paragraphs from the actual specification:
"continuity_counter – The continuity_counter is a 4-bit field incrementing with each Transport Stream packet with the same PID. The continuity_counter wraps around to 0 after its maximum value. The continuity_counter shall not be incremented when the adaptation_field_control of the packet equals '00' or '10'.
In Transport Streams, duplicate packets may be sent as two, and only two, consecutive Transport Stream packets of the same PID. The duplicate packets shall have the same continuity_counter value as the original packet and the adaptation_field_control field shall be equal to '01' or '11'. In duplicate packets each byte of the original packet shall be duplicated, with the exception that in the program clock reference fields, if present, a valid value shall be encoded.
The continuity_counter in a particular Transport Stream packet is continuous when it differs by a positive value of one from the continuity_counter value in the previous Transport Stream packet of the same PID, or when either of the nonincrementing conditions (adaptation_field_control set to '00' or '10', or duplicate packets as described above) are met.  The continuity counter may be discontinuous when the discontinuity_indicator is set to '1' (refer to <IP_ADDRESS>). In the case of a null packet the value of the continuity_counter is undefined."

The problem is the "fixer" side, as in TSDuck. If we keep a copy of the previous packet and the next one is identical (except the CC), then this is not necessarily a duplicate. We need to "replicate the duplicate" without collapsing sequences of identical packets as false duplicate.

With TSDuck, at least with the rmsplice example that I cited earlier, the plug-in does act as a pseudo-generator.  If, say, the input packets had been duplicates and marked as such by whatever created the input media by not incrementing the CC, this non-increment of the CC will be discarded, since the code increments the CC regardless of the content of the packets.  Perhaps there are other cases of this in the tsduck source base.

Hi,
With all due respect, just one comment about my request: I only say to include the OPTION to enable or disable the new functionality requested by @alevinsn .
From my point of view the current behaviour is correct (in reference to the CC +1 when no payload). And a lot of STBs will have troubles if you force to not increment the CC when no payload. From my experience the VLC implementation isn't very good in several aspects. The developers doesn't agree to fix some bugs for years, and prefer sometimes to overcome the specs.
I do not doubt to not increase the CC when the error flag is present. But I don't agree to not do it when there is no payload but there is adaptation field (so header info present).
So, I hope @lelegard will consider this an optional functionality.

Hi @lars18th

... include the OPTION to enable or disable the new functionality requested by @alevinsn .
From my point of view the current behaviour is correct (in reference to the CC +1 when no payload).

@alevinsn is right and TSDuck is currently wrong. The ISO 13818-1 is very clear about that:

continuity_counter – The continuity_counter is a 4-bit field incrementing with each Transport Stream packet with the same PID. The continuity_counter wraps around to 0 after its maximum value. The continuity_counter shall not be incremented when the adaptation_field_control of the packet equals '00' or '10'.
In Transport Streams, duplicate packets may be sent as two, and only two, consecutive Transport Stream packets of the same PID. The duplicate packets shall have the same continuity_counter value as the original packet and the adaptation_field_control field shall be equal to '01' or '11'. In duplicate packets each byte of the original packet shall be duplicated, with the exception that in the program clock reference fields, if present, a valid value shall be encoded.
The continuity_counter in a particular Transport Stream packet is continuous when it differs by a positive value of one from the continuity_counter value in the previous Transport Stream packet of the same PID, or when either of the non- incrementing conditions (adaptation_field_control set to '00' or '10', or duplicate packets as described above) are met. The continuity counter may be discontinuous when the discontinuity_indicator is set to '1' (refer to <IP_ADDRESS>). In the case of a null packet the value of the continuity_counter is undefined.

I cannot imagine STB's or VLC having troubles with such thing.
It is sometimes useful to make invalid behaviour an option to satisfy buggy equipments. And buggy is the most common characteristics of most STB middleware. But the CC are usually handled at hardware demux level, not middleware. So, in this specific case, I do not think that this would be appropriate to enable incorrect behaviour.

Hi @alevinsn,
I have (hopefully) fixed this. Now, all CC processing are centralised in one single class, ContinuityAnalyzer, which can be used either as an analyser, fixer or generator. All plugins and utility classes now use this one.
Please confirm that the new behaviour is ok for you.

TSDuck version 3.17 is out (including this fix).

I tested these changes against the latest code in the git repository as of today (but nothing has changed related to the continuity counter code since 3.17), and from my perspective, this issue is fixed (as of 3.17).  I did notice one thing during an inspection of the code for the ContinuityAnalyzer class, but I will submit that as a separate issue, and I also noticed a misleading message when I ran a TS file with the continuity counter incorrectly incremented when there is no payload through tsfixcc, although the message is reported by the ContinuityAnalyzer class.  I will also submit that as a separate issue.  Note that I tested against both the bad TS file and a good TS file, using tsanalyze and tsfixcc --noaction, and the correct behavior regarding discontinuities is now exhibited by both applications.


detect bad class invocations

this... is a typo
class A {
}

var b = A();

and I think we should warn as it needs to be new A()

JSHint should also warn about (class A {}());


Better support for reproducible builds

I know this has already been discussed (at least in https://github.com/qpdf/qpdf/issues/944), but I wanted to ask, if it would not make more sense to have --deterministic-id enabled by default, and provide an option for disabling it.
Most tools create reproducible output by default, and qpdf already mostly creates a reproducible output.

I don't plan to make determistic-id the default. It would be a significant behavior change to behavior that's been in qpdf since the beginning, and qpdf follows the recommendation of the spec to include something time-based or random in the /ID generation. If you need reproducible output, that's why --deterministic-id is there. If you are doing comparisons of PDFs in test suites, there is a program called compare-for-test in qpdf's source tree that I use to compare PDF files. It is not installed because I don't want to commit to its API, but you can always grab the code and use it. It compares two PDF files and ignores differences in the /ID with specific rules, and it also compensates for differences in the zlib outputs, which makes it possible to link qpdf with different zlib implementations and get passing test. Maybe you might find it useful.

The issue if the PDF file is somewhere else (in  a zip archive for example), then the hash of the archive won't match, and finding out what causes the difference is not always trivial.
Can I suggest to support at least the SOURCE_DATE_EPOCH environment variable?
See https://reproducible-builds.org/docs/source-date-epoch/ for more information, the TLDR is that yes, there is --deterministic-id, but every tools works differently, and patching pipelines/build systems is not always as easy, and finding out how every tool needs to be invoked to make a reproducible output is also not always trivial.

Yes, I'd consider that.

Can you give me more context on what you're trying to do? I don't want to go down a path of making little tweaks that won't solve the problem. I have spent a little effort trying to get this to be clean: https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/qpdf.html but there is not enough information to make it easy to know how to fix the problem. The issue that the page says applies to qpdf, as far as I can tell, doesn't actually apply, and I have long ago implemented the workaround that they say to implement. It would be nice if there were some failure that explained exactly why a build was considered non-reproducible or some test/tool I could use so I could enforce that it is. If that were the case, then I could add something to qpdf's CI. This would make me much more inclined to fix this kind of thing.

I believe the page you have linked is for making the binary qpdf reproducible from the source files.
In my case, I want the PDF generated by qpdf to be reproducible.
I can give it a better look in the next days, otherwise diffoscope can help to find diffetrnces between files, and
https://salsa.debian.org/reproducible-builds/strip-nondeterminism
can help to identify non deterministic components of a file

Okay, thanks for clarifying your intention. It would be quite trivial to make QUtil::get_current_time obey SOURCE_DATE_EPOCH. Note that there are other places where random values are used, such as in the creation of encrypted files. To get deterministic encrypted files with AES encryption, you also need --static-aes-iv, which creates a static initialization vector. There's no equivalent of a deterministic IV since the initialization vector is intended to be a secure random number. I don't think I would want an environment variable to cause that behavior since it would be too easy to exploit for evil purposes. That said, I think there is less of an expectation of encrypted files being repeatable.
If it will meet your needs, I can have QUtil::get_current_time obey SOURCE_DATE_EPOCH. It sounds like it might help other things as well as based on the link you shared.

If it will meet your needs, I can have QUtil::get_current_time obey SOURCE_DATE_EPOCH. It sounds like it might help other things as well as based on the link you shared.

Seems like a sensible approach.
For encrypted files, just as signed files, I do not think it makes sense to force 100% reproducibility with SOURCE_DATE_EPOCH.
I have to admit that I did not have such use-case yet.
I would still expect all other components to be as much reproducible as possible (ie to have a deterministic id also in that case).


FixedArray has an inefficient move constructor

  FixedArray(
      FixedArray&& other,
      const allocator_type& a = allocator_type()) noexcept(NoexceptMovable())
      : FixedArray(std::make_move_iterator(other.begin()),
                   std::make_move_iterator(other.end()), a) {}

This is the current implementation of the move constructor.
In case other has an out-of-line storage, it would be preferable to "steal" this storage, instead of allocating a new one.
The counterpoint is, that this operation would change the size of the original array. I don't know if it's a problem -  the object would be left in a destructible state, even if an invariant was broken.
Is it a desirable change?

You should think of a FixedArray as a stand-in for std::array or even a C-style array. Its size must never change. Further, the address of the underlying storage must not change either.


[wip] improve membrane length estimation

add note to Pixel docs describing method with references

as part of getBoundaries, identify each vertex (pixel corner) as

not part of a boundary [black]
part of a straight boundary segment [blue]
inflexion point / corner on boundary [red]

add getPixelCornerImage() to Mesh
ImageMembranePixels calculates weights for each edge from pixel corners image
add getWeights() to Membrane
pixel simulation multiplies each membrane reaction term by the weight of the edge
membrane areas also use weights, so are now less than the sum of pixel edges
[todo] add rotated square test

high res square image
high res version rotated 45 degrees (or other angles)
check difference between pixel sim for different angles
check difference between pixel & dune sim

[todo] WORSE agreement with dune on existing membrane reaction circle test case

should be better estimate of amount crossing area
but maybe not better for concentration in adjacent pixel?
e.g. if we treat pixel area as being the same as membrane, then our pixel area factor cancels itself out in the final dcdt
need to think more about this

[todo] have to think about how to fix existing single-pixel tests
[todo] this would be a big breaking change, in that it would change the pixel simulation results for the same model: should only do it if it is clearly an improvement

Closing as unclear if the potential benefit outweighs changing numerical behaviour of pixel simulations - will leave the branch for future reference.


amp-form xhr amp-mustache not displaying returned json vars

Describe the bug
amp-form xhr amp-mustache not displaying returned json vars
To Reproduce
On page https://www.ampproject.org/docs/reference/components/amp-form#success/error-response-rendering the first example under "Success/error response rendering" was coded.
See here for code: https://codepen.io/iamalta/pen/vVyErX
The returned json is
[{"name":"Jane<EMAIL_ADDRESS>Expected behavior
Should get the following for the above example with the mustaches completed.
Success! Thanks {{name}} for subscribing! Please make sure to check your email {{email}}
to confirm! After that we'll start sending you weekly articles on {{#interests}}{{name}} {{/interests}}.
This is what is displayed - missing name and start date.
Success! Thanks for subscribing! Please make sure to check your email to confirm! After that we'll start sending you weekly articles on .
Screenshots
n/a
Desktop (please complete the following information):

OS: n/a
Browser chrome, firefox dev
Version most recent

Smartphone (please complete the following information):
Didn't test.
Additional context
n/a

Hi,
this project is ampbyexample.com while you are referencing code from https://www.ampproject.org which is a separate repo. I suggest to file an issue on https://github.com/ampproject/docs.

Got it. I thought amp was amp regardless of amp project or my example. I now know. Thank you for the clarification.

@Kul3r4,
This ampbyexample page has the same issue.
https://ampbyexample.com/components/amp-form/
It says "You can use amp-mustache templates to show custom success or error messages, using data sent by the server endpoint as JSON." and gives an example that we tried. It didn't work.

I just tried the sample and it prints the result from the json. Attached the snapshot.
Can you provide the code you are using and the setup?

Hi Chiara @kul3r4 ,
I spend hours on a problem and when I ask for help, I then see the problem.
This is solved.
The problem was the returned json had too many dimensions in the array. It was created as for amp-list with "items" as the parent array.
So sorry but thanks for the kick to get this solved :)
Make it a nice day. You deserve it.


how can i get balance of a address with specified checkpoint ?

the rpc method 'suix_getBalance' don't have a param like 'checkpoint' in the params . how can i get balance of a address with specified checkpoint ?

good question

I also encountered this problem

With JSON-RPC this is not possible, unfortunately.

With JSON-RPC this is not possible, unfortunately.

is there  some other way that i can achieve it ?


Errors when using plugins/packages

Found an issue or bug? Tell me all about!
New to electron so this is very possibly user error, and if so, I apologize in advance. Would very much appreciate some help.
When I import some packages into my project I get syntax errors in the console.
When I use the regular vue webpack-simple template with the same plugins an they work fine. Not sure what I'm doing wrong.
This is not for all plugins, just some. I'm unsure of how to debug the errors. The errors have so far come from template tags and css.
Describe the issue / bug.
#
Console Syntax Errors thrown on some plugins that work in regular vue webpack-simple template
How can I reproduce this problem?
#
vue init simulatedgreg/electron-vue my-project
$ cd my-project
$ npm install
$ cd app
$ npm install vue-video-player --save

then in app/src/renderer/main.js
import VueVideoPlayer from 'vue-video-player'
Vue.use(VueVideoPlayer)

then
$ npm run dev
If visual, provide a screenshot.
#

Tell me about your development environment.

Node version: 7.9.0
NPM version: 4.2.0
vue-cli version: 2.8.1
Operating System: Mac OSX (darwin platform)

Thank-you
If you are looking to suggest an enhancement or feature, then feel free to remove everything above.

@rugor
Quick fix, update your webpack.renderer.config.js at line 19 to...
externals: Object.keys(pkg.dependencies || {}).filter(d => !['vue','vue-video-player'].includes(d)),

Not entirely sure why some modules don't like to be treated as externals. When installing vue-video-player, did you use npm or yarn?

@SimulatedGREG I used npm to install the package.
I'm figuring out electron-vue by porting over an existing project and a few plugins/modules had this issue. Will keep messing around with it, seems like a good way to learn -- will report back if I figure out anything more.
Thanks for taking the time to answer, and for this project.

Thanks for the feedback. Feel free to comment back any questions.

Hey @SimulatedGREG , commenting back on this because I just updated to the newest version of electron-vue and I am receiving the same error as above when importing two npm packages. Steps to reproduce below:
$ vue init simulatedgreg/electron-vue my-project
$ cd my-project
$ npm install
$ npm install vue-video-player --save

then in webpack.renderer.config.js (now in the root folder) updating line 19 to:
externals: Object.keys(pkg.dependencies || {}).filter(d => !['vue', 'vue-video-player'].includes(d)),
Console error:

Any help appreciated.

Cancel that... got it working by modifying whiteListedModules in .electron-vue/webpack.renderer.config.js as per:
https://simulatedgreg.gitbooks.io/electron-vue/content/en/webpack-configurations.html#white-listing-externals

Not sure how you may have migrated your project to a newer electron-vue version, but make sure your vue-cli is updated. There was a bug awhile back that mistakenly merged cached templates with updated ones.

Thanks @SimulatedGREG will look into that.


Error: Cannot export an empty document while .tldr file isn't empty

I'm trying to run some tests on my program but it crashes when its about to export the .tldr file. This is not always the case since I didn't have this problem a few days ago. I couldn't manage to convert the file with the cli commands as well, so I doubt the problem has to do with my code.
I also don't think the file is corrupted since I can open and export it normally on tldraw.com.
If you cannot replicate this issue and want to test with my .tldr file go to https://github.com/NontasBak/sapiloguide/tree/testing-exporting-error/src/lesson1 and download 2020-feb.tldr (the other file 2020-sep.tldr works fine btw)
> npm start
[Error] [Browser] Couldn't parse tldr file: migrationFailed
file:///home/nontas/Projects/sapiloguide/node_modules/@kitschpatrol/tldraw-cli/dist/lib/index.js:17062
      throw new Error("Cannot export an empty document");
            ^

Error: Cannot export an empty document
    at TldrawController.download (file:///home/nontas/Projects/sapiloguide/node_modules/@kitschpatrol/tldraw-cli/dist/lib/index.js:17062:13)
    at tldrawToImage (file:///home/nontas/Projects/sapiloguide/node_modules/@kitschpatrol/tldraw-cli/dist/lib/index.js:17599:47)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async convertTldrToImages (file:///home/nontas/Projects/sapiloguide/main.js:68:23)
    at async build (file:///home/nontas/Projects/sapiloguide/main.js:20:13)

Node.js v20.11.1```

Thanks, I'll take a look at this.

Quick update:
The issue here seems to be that the local version of tldraw used in tldraw-cli can't load tldr files saved by the latest version of tldraw.com.
Specifically, the shape record version:

2020-sep.tldr has schema.recordVersions.shape.version: 3 and loads fine
2020-feb.tldr has schema.recordVersions.shape.version: 4 and fails to load

I'm guessing this is from a recent update to the tldraw.com site which hasn't made it into a release of the tldraw library itself. (tldraw-cli is already using the latest release, which seems to predate shape version 4.)
I'll think about the right approach and keep you posted here. Tricky spot since tldraw.com interoperability is obviously critical, but embedding non-release versions of tldraw doesn't seem especially great. But will probably have to do that. 😅
(There's also a big change to tldraw's migration strategy in the pipeline which could create some additional bumps.)

Ok, I just cut a new release v4.5.2 which uses a pre-release version of tldraw (2.1) for local operations.
The library should work now with 2020-feb.tldr (and other shape version 4 files), let me know if it's a fix for you.

It did get fixed with the latest update fortunately, thank you again for your help 🙏
So from what I understand they pushed this experimental 2.1 version (to a subset of users?) and this is what's making the 2020-feb.tldr file throw an error.

Hey Nontas, just FYI I saw migration issues again recently in the latest tldraw.com "schema version 2" files.
Just fixed it in tldraw-cli 4.5.3 which updates to one of the tldraw 2.2.0 canary releases.

Thanks for the update!

Hey @kitschpatrol ! Is it possible you can update the tldraw version to a newer canary one? I cannot export unfortunately:( Here's a .tldr file if you want to test for yourself
2021-sep.zip

Hey Nontas, yes I'll take a look at this today.

Ok, Should be fixed in the latest release v4.5.5.
It's working now on my end with 2021-sep.tldr, let me know if it's a fix for you.
Thanks for bringing this to my attention and providing a test file.
I should really run the test suite on a schedule...

Thank you very much! Works perfectly 👌Also thank you for your continuous support!

Glad it's working! I just added a daily test action, hoping to catch the next API breakage more quickly. 🤞


ci: allow making tests workflow green for external contributors

This is a workaround to allow merging changes from external contributors. It will skip integration and e2e tests in case the required secrets are missing.
I had to fix a couple of new linter issues that somehow started to pop up now.
Instead of this workaround, we'll need to make the workflow runnable after some verification steps for any PR. An issue to track this effort: https://github.com/Kong/kubernetes-testing-framework/issues/596

Thank you for doing this!


add check for bottom

In some cases, the last element can be very short and will never be the only visible element. That causes some awkward situations when you click the last link on a navbar, it doesn't get activated.
So, I added a check that if we are at the bottom of the page, the last element in the items array will be the active one. We could put this check behind a prop trigger but I don't know if it is necessary?

@anzzstuff Thanks ;) Released in v2.2.0.


Use more type-inference to reduce number of legalizations?

Currently, when we have an instruction that requires legalizations for several types, and the legalization is the same modulo the types involved, we'll create one legalization for each type, and will bind the source instruction to the type.
It's actually a shame, because the meta crate implements type inference and can do better than this: for instance, if the instruction you're legalizing accepts types in a set S, then it could be able to generate all the legalizations for types in S as one legalization, and not one per type.
We could switch to use the type inference a bit more. One drawback I can think of is that it would make it harder to find which legalizations handle which types. It's still possible to look at the generated source files, though, so that's a minor problem.
For what it's worth, I've already implemented it, since I thought I found a bug in the type inference code (it was just never triggered, and has existed as long as type inference existed in Cranelift). Branch is there and diff of generated code is there.

The new backend framework doesn't use legalizations as much as the old backend framework anymore.


autogpt

 i  can not find the autogptmulti, but AutoGpt can be find in bmtools, where is the autogptmulti?

The autogptmulti  is in bmtools.agent. We have updated our codes, please refer to the updates and check if there are other problems.

thank you for your reply


installation error due to missing file in profiles directory: plonethemebooster_default.txt

In setuphandlers.py on line 19 plonethemetango_default.txt is referred to .
Suggestion:
Change it into plonethemebooster_default.txt and add an empty file with that name in  path  plonetheme\booster\profiles
Or change post_install setuphandlers.py into this:
def post_install(context):
"""Post install script"""
# Do something during the installation of this package

@petersta thanks for reminding me, I'll do the later,  create an empty function.

+1 for a fix. Package is not installable at the moment.

fixed!


Error when using Stage

Description

Steps to reproduce

I just added Stage at any components and get error "Cannot set properties of undefined (setting 'autoStart')"
Maybe something wrong with webpack config or I should add special loader?

Additional info

@inlet/react-pixi version: 6.8.0
React version: 17.0.2
ReactDOM version: 17.0.2
PIXI version: 6.5.3
webpack version: 4.46.0

@duckforce I'm puzzled and struggling to reproduce via codesandbox, https://codesandbox.io/s/angry-wave-1ly78t?file=/src/App.tsx. Can you provide a repro?

I solve problem with removing hot-loader @pmmmwh/react-refresh-webpack-plugin.
Could you solve this problem?
@saitonakamura

If you can provide a repro, we can look into it, but I'm not too well-versed in hot reload shenanigans to know how to approach it

Closing as no repro has been provided.


Spot saving is bugged and causes players to skip steps

Sometimes, when saving the position of a player in a tutorial, when they rejoin, they will end up having skipped a step.
When resuming on Stage 1, Step 2, once completing this, it will remove straight to Step 2 of Stage 2 and skip Step 1 of Stage 2.
There doesn't appear to be any other combination of stages and steps which causes this, although I suspect if there was a Stage 3 then the same issue would occur when resuming the last step of stage 2.

It appears that the issue was being caused by the fact that every stage was always started at the step defined in the Lesson object, which never changes. When not resuming a lesson, this is simply always 1 so stages are always started at the first step. When resuming a lesson, this is set to whatever step they are at when they resume, and never changes.
One solution to this is to change the iStep in lesson to be iResumeStep to clarify that this is the step to resume a lesson at, not the current step and to then change nextStage() to not use iStep if it is not resuming a stage. Either by creating a resumeStage() method which DOES use iStep or having nextStage() take a boolean input of bResumingStageAtStep or having nextStage() take in an int always.
The firstly mentioned option costs space and all the processing power it saves by avoiding an if branch as appears is option 2 is completely negligible. The lastly mentioned option is more sustainable because it allows for future use of specifying the starting step of a stage. The adding passing of integers is negligible. Thus option 3 shall be used. It also encourages step to be specified whenever using nextStage() which should prevent further such issues whenever this method is used.


Open up to allow different left and right return types

Previously, the left and right evaluation results had to be the same type. This allows the types to be different.
This includes a breaking change, so if we decide to keep it we will probably have to bump up to 6.0.0.

closing this as we decided to go in a different direction


Update jsoniter-scala-core, ... to 2.13.36

Updates

com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-core
com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-macros

from 2.13.34 to 2.13.36.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.plokhotnyuk.jsoniter-scala" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.github.plokhotnyuk.jsoniter-scala" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #350.


Feat: Harmonize extended landing page metrics

Description of change

Styled extended landing page metric like on figma (currently visible only on alphanet with hardcoded values)

Will be made dynamic with https://github.com/iotaledger/explorer/issues/334
Aims to complete https://github.com/iotaledger/explorer/issues/365
Type of change

Enhancement (a non-breaking change which adds functionality)

Change checklist

[x] My code follows the contribution guidelines for this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[] I have made corresponding changes to the documentation
[] I have added tests that prove my fix is effective or that my feature works
[] New and existing unit tests pass locally with my changes

LGTM.


IPT3 functional testing -> Mapping page -> Translation works -> do not allow translations that does not fit within constraints

As an example, in camtrap-dp/media, the fileMediatype values are constrained to (from the info button)

However, it is currently possible to add a translation that does not fit within the constraints without an error prompt, for example
image/jpeg --> jpeg
Ideally, only translations for allowed values, or construction of allowed values, should be allowed.

Thanks!

This is fixed


Option to specify credential format when reading from file

Currently the default format when parsing credentials from a file is: email:password or username:password.
The idea is to implement an option, like --format, that can be used to specify the format to use when reading credentials from a file.
The allowed values for this parameter would be in the format: u|e|p separator u|e|p [...]. For example:
email:password
username;email;password
email,username,password

Sounds nice.


My event is not being tracked, how do I troubleshoot it?

Hi there, I have an event that is not being properly tracked.  (I have several that are tracked without any problems in the same project and with the same call to .Track)
I could post the code here to get feedback but I would prefer to know how to see error messages, some stack trace, a promise, or anything similar in this library when something doesn't work, it's try catched and obviously the catch is not being hit.

Aaprently I was being rate limited due to events sent based on my plan. The library should have error messages for this. It's really bad that I cannot see this when hitting with the Track method.


Resolve error with adding user (issue 17)

Correct spelling to resolve error with adding user (issue 17) & Refactoring

Tested successfully in the dev image


Revert single code change

We investigated this issue into more detail and found out that the issue it not related to single operators, but really related to the use of onErrorContinue operator being used on Cosmos APIs.
Looks like - Cosmos SDK doesn't support onErrorContinue operator completely.
This PR restores single() operator on public surface and implementation layer.
This PR reverts this : https://github.com/Azure/azure-sdk-for-java/pull/13585

/azp run java - cosmos - tests


Attribute initialization support for clones

As discussed in issue [Attribute initialization with clones #7] (https://github.com/ucsb-cs-education/hairball/issues/7)

Thanks!

Sure! I'd be glad to help with the maintenance of the project!


Can't working with Hooks

If we use new React Hook on a package (Context in my case) we got an error message that say

hooks can only be called inside the body of a function component

I bump React in all packages but the problem stay.
I find an issue on react GH
https://github.com/facebook/react/issues/13991

We may close this @oyouf?

Yes, it will be closed with the hooks version


Edit Multiple Style of calendar view using customStyle props

customStyle={({ eventIndicator: { backgroundColor: '#ff0000' } },
{ eventIndicatorFiller: { marginTop: 10, width: 10 } },
{ currentDayCircle: { backgroundColor: 'black' } })}
when I used above code, It is only editing currentDayCircle not all three.
can you please tell me how to edit multiple style at once by using customStyle props.

The customStyle prop expects a plain object with properties that map to the available custom styles.
Take a look at the documentation here: https://github.com/christopherdro/react-native-calendar#available-custom-styles.
Your snippet above has some syntax issues. Should look something like this...

const customStyle = {
  eventIndicator: { backgroundColor: '#ff0000' },
  eventIndicatorFiller: { marginTop: 10, width: 10 },
  currentDayCircle: { backgroundColor: 'black' }
}

<Calendar customStyle={customStyle} />


Acknowledgements for docking practical

We probably need to add an acknowledgement section to the docking tutorial. See the Python tutorial for an example of this.

Now done for 2020


Overview of received photo is black

Send a photo (from the image gallery of the phone) from device 1
After reception on device 2:
The photo is rotated and when I click on it the overview is black.

Sent photo from device 1 is

Version 0.5.3-dev (20372b8)

Black could mean that the media cannot be downloaded.

I cannot fix this issue without a bug report (i don't reproduce it).


Error: Perfect separation detected, results not available

Hi,
I met an error described in the title when invoking fit_scores(). My data structrue is below

and I draw samples 2000 for test, 20000 for control for fitting the matcher, but I have no clue why this error occurs (I have looked into the source code). In addition, I ran the example code for loan.csv successfully, so I wonder if the fields of the data should not be string, rather integer? In fact, the data structure of loan example contains string as well see below

Hope anyone can help, thanks!

@wiekern Not sure if it helps you, but I had similar errors and was pretty stuck. After some basic data analysis, I realized I had a few input variables with very limited distribution across groups (ex. Binary age bin with 10,000 rows = 0, and 5 rows = 1). After removing these variables/features, I had no errors.
Again, not sure if that's applicable to you, but was my (embarrassing ) issue.

Thanks for your answer!
The distribution might not be the problem, that was my view. I am wondering if the regression model supports input with string like in my case column of "text". I am think of I must be convert text into a numeric value or word embeddings (vector).

model = sm.logit('Result ~ Year + Amount_Spent + Popularity_Rank', data = train_data).fit()
Traceback (most recent call last):
File "", line 1, in
model = sm.logit('Result ~ Year + Amount_Spent + Popularity_Rank', data = train_data).fit()
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\discrete\discrete_model.py", line 1963, in fit
bnryfit = super().fit(start_params=start_params,
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\discrete\discrete_model.py", line 227, in fit
mlefit = super().fit(start_params=start_params,
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\base\model.py", line 519, in fit
xopt, retvals, optim_settings = optimizer._fit(f, score, start_params,
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\base\optimizer.py", line 215, in _fit
xopt, retvals = func(objective, gradient, start_params, fargs, kwargs,
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\base\optimizer.py", line 327, in _fit_newton
callback(newparams)
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\discrete\discrete_model.py", line 211, in _check_perfect_pred
raise PerfectSeparationError(msg)
PerfectSeparationError: Perfect separation detected, results not available
model = sm.logit('Result ~ Year + Amount_Spent + Popularity_Rank', data = train_data).fit()
Traceback (most recent call last):
File "", line 1, in
model = sm.logit('Result ~ Year + Amount_Spent + Popularity_Rank', data = train_data).fit()
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\discrete\discrete_model.py", line 1963, in fit
bnryfit = super().fit(start_params=start_params,
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\discrete\discrete_model.py", line 227, in fit
mlefit = super().fit(start_params=start_params,
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\base\model.py", line 519, in fit
xopt, retvals, optim_settings = optimizer._fit(f, score, start_params,
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\base\optimizer.py", line 215, in _fit
xopt, retvals = func(objective, gradient, start_params, fargs, kwargs,
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\base\optimizer.py", line 327, in _fit_newton
callback(newparams)
File "C:\Users\UMANG\anaconda3\lib\site-packages\statsmodels\discrete\discrete_model.py", line 211, in _check_perfect_pred
raise PerfectSeparationError(msg)
PerfectSeparationError: Perfect separation detected, results not available


Fix PostgreSQL metastore migration script failure if indexes already exist

:mag: Description
Issue References 🔗

This pull request is a small fix for #5674
Describe Your Solution 🔧
PostgreSQL support as backend for metadata store was added in #6027. If we choose it and run schema init scripts several times, then the following errors will be logged: Error executing sql: CREATE UNIQUE INDEX unique_identifier_index ON metadata(identifier), with params: . ERROR: relation "unique_identifier_index" already exists. This PR adds lacking IF NOT EXISTS to db indexes creation ddls in the PostgreSQL metastore init script.
Types of changes :bookmark:

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

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklist 📝

[x] This patch was not authored or co-authored using Generative Tooling

Thanks, merged to master


Pub packager does not install hosted packages on MACOS X

This issue was originally filed by<EMAIL_ADDRESS>
I tried to use the TodoMVC examples, run "pub install" (inside the editor, or with command line), but the web_components package is not installed into the "packages" folder.
I tried to print some info into the pub sources (added printing info before loading, in the response handler and in the error handler of the httpGet method) and obtained this traces :
Resolving dependencies...
loading http://pub.dartlang.org/packages/web_components.json
complete http://pub.dartlang.org/packages/web_components.json
loading http://pub.dartlang.org/packages/web_components/versions/0.2.0.yaml
complete http://pub.dartlang.org/packages/web_components/versions/0.2.0.yaml
loading http://pub.dartlang.org/packages/js.json
complete http://pub.dartlang.org/packages/js.json
loading http://pub.dartlang.org/packages/html5lib.json
complete http://pub.dartlang.org/packages/html5lib.json
loading http://pub.dartlang.org/packages/js/versions/0.0.3.yaml
complete http://pub.dartlang.org/packages/js/versions/0.0.3.yaml
loading http://pub.dartlang.org/packages/html5lib/versions/0.0.13.yaml
complete http://pub.dartlang.org/packages/html5lib/versions/0.0.13.yaml
Downloading web_components 0.2.0 from hosted...
loading http://pub.dartlang.org/packages/web_components/versions/0.2.0.tar.gz
Downloading js 0.0.3 from hosted...
loading http://pub.dartlang.org/packages/js/versions/0.0.3.tar.gz
Downloading html5lib 0.0.13 from hosted...
loading http://pub.dartlang.org/packages/html5lib/versions/0.0.13.tar.gz
I use the stable dart editor build : version 0.2.0.r13841, build 13841
My OS is : MAC OSX 10.7.4

This issue has been moved to dart-lang/pub#244.


[BUG] - game crashes after going back to menu and starting again

Describe the bug
Game crashes after going back to menu and starting again
Vector out of range
How to recreate
Step by step guide how to recreate the bug

Start the game and create a new world
Go back to main menu
Start a new game again
After playing for some time the game crashes
Additional Information

Add some additional information - OS, Game version etc.

closed by #38


freshclam log - day in wrong row!

freshclam log - day in wrong row!
see attachement

Added a bit more tweaking to the log viewer while here... os-clamav 1.5 will be in OPNsense 18.1.3. Thanks!

Great...Thx for the fast response. Have a nice day!
Montag, 12. Februar 2018, 07:48 +0100 von<EMAIL_ADDRESS><EMAIL_ADDRESS>
Added a bit more tweaking to the log viewer while here... os-clamav 1.5 will be in OPNsense 18.1.3. Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly,  view it on GitHub , or  mute the thread .


Features and Fixes

Features

Better Graphics class

DrawBeizer has been added
More DrawImage overloads have been added
VMWareSVGIIGraphics has been depretciated fully
Copy as been replaced with a better CopyFromScreen
DrawCircle has been added
DrawEllipse has been added
DrawArc has been added
FillEllipse has been added
FillCircle has been added
DrawLine has been replaced with Bresenham's Line Algorithm instead of Wu's Line Algorithm as it is faster
Blur has been re-added

Full MathF Implementation
Converted all commented throw statements to equivalent ThrowHelpers.Throw calls
Better networking documentation inside Program.cs
Generated System.SR.cs file is now available for use
String class has had multiple upgrades

Fixes

Removal of test.cpp It is not necessary
Tons of code optimizations and cleaning of
API has been improved
uints are no longer primarily used for Graphics class's colors, please use ( if implementing further graphics capability ) Color class instead of uint
Objects that are in use in a loop have been properly disposed of

Notes

The Corlib directory and project have been renamed to CoreLib
The Kernel directory and project have been renamed to Framework
GUI Files from the Framework ( formerly Kernel ) project have been moved to the MOOS project inside of a newly created GUI directory which is alongside Program.cs in the MOOS directory.
Removed usage of HAXM, replaced with windows hypervisor, if you do not have the windows hypervisor installed, you may use HAXM by changing -accel whpx in MOOS.csproj to -accel hax
DOOM has been removed ( I do not plan on adding it back )
Rufus > 3.18 does not work with MOOS
Removed Trash.cs ( Don't tell me if you are going to add it back, I understand if you don't want me to remove it )
Renamed directory history is available at, as of writing; https://github.com/nifanfa/MOOS/tree/79943401102e88c25b5304c3df3f541d7443f98f This link has been added to README.md
Although I have tested most cases of it, this may introduce 'memory overusage` ( When memory runs out because objects are not being disposed of properly, therefore allocating 100% of memory causing a Kernel Panic ) in this update. ( Ex. Demo OS uses memory but does not dispose of it when opening window in this update, I do not have a fix for it )

Plans for the Future
I plan on adding even more .NET classes, and upgrading the graphics class to a whole new level ( Full GDI+ ) I also plan on redesigning the Demo OS to be more efficient as a demonstration of MOOS's graphics and speed capabilities ( When used correctly, of course )
FAQ
Are there Conflicts?
Yes, there are conflicts, lots in fact.
Is the file history lost for deleted things?
No! It is here!
Why do you use <![[CDATA]]> in comments
To draw attention that this portion of a comment is important. In Visual Studio, It highlights the contents of these tags orange, a very visible color.

Use this file for Trash.cs if you consider adding it
( Of course, extract the file inside the ZIP )
Trash.zip
t

i said don't rename the folders


Services need records of logs and errors

During the provisioning process it's possible some important messaging or errors might be returned by the provider or client and we should record these messages.
These logs should be readonly, and they don't need any methods or interfaces for a user to create them.

[ ] Store messages, record log level and timestamp
[ ] Display messages on the service details page
[ ] Paginate results for UX and sort by newest first

Is this an object, possibly titled logs we want to append to /api/v1/services/:id  ?
Or is this a new endpoint /api/v1/logs/:serviceid (except it would just be id) ?
d

Each log should be a record in the database and should be associated with a Service as a has_many relationship. Since it won't be much trouble we can make that relationship polymorphic so other things can have logs attached to them.
The endpoint to get the logs should be scoped to the service so either of the following could work (the second only if the polymorphic route is taken.)

/api/v1/services/:id/logs?page=:page&per_page=:per_page
/api/v1/logs/:logableType/:logableId?page=:page&per_page=:per_page

PR #1068 resolves everything except for server-side pagination of the Service logs
There's a compatibility problem between Serializer root being false and attaching log meta information (current page, next page, total logs, etc) to a request response.

Sadly, yes. Getting meta information into the responses would be really helpful and useful in a lot more places than just pagination results.
Off the top of my head adding roots would require

using a different services library (maybe Restangular?) in UX
updating every resource in UX


Fix install of kindlegen

When migrating Kindlegen from homebrew-binary to homebrew-cask (#22194), the binary artifact was incorrectly named to be in a subdirectory that only exists when the downloaded zipfile is opened through the Finder archiver integration. When using ditto or unzip, kindlegen is extracted without a base directory.
Kindlegen would not install without this change on my machine.

Thank you.

Closes https://github.com/caskroom/homebrew-cask/issues/29181


drop union decorator in zson writer when unambiguous

Current the zson writer always decorates union values (unless the value's type is implied).  The spec allows for dropping the decorator when the union's type can be unambiguously determined from the list of union's types.  This issue is about dropping the decorator in the zson writer when we determine it's okay to do so.
Comment from zio/zsonio/writer.go:
	// XXX For now, we always write the dectorate a union value so that
	// we can determine the selector from the value's explicit type.
	// We can later optimize this so we only print the decorator if its
	// ambigous with another type (e.g., int8 and int16 vs a union of int8 and string).
	// Let's do this after we have the parser working and capable of this
	// disambiguation.  See issue #1764.

Type values are known formatted in canonical form.  But maybe we should have a way to do abbreviated form?  Not fully self described but easier to read by omitting typedefs?    This could be string cast or a new function.

Make this part of flag week...

The first step for this is to make mixed-type arrays have an implied union type.  For example, this
echo '1 "foo"' | zq -z 'collect(this)' -

currently generates
{collect:[1((int64,string)),"foo"((int64,string))]}

but should simply be formatted as
{collect:[1,"foo"]}

which is already valid ZSON.

I think this is duplicate with #3400

This has been fixed.


Jupyter notebook raises error: "NO notebook document" in VSCode (WSL v2)

Environment data

Language Server version: v2023.10.50
OS and version: W10 Version 10.0.19045 and WSL 2 (Ubuntu 22.04.3 LTS)
Python version (& distribution if applicable, e.g. Anaconda): Python 3.11.5 (conda 4.10.3)

Repro Steps

Launch VSCode and open an existing WSL project or create a new one.
Create a new Jupyter notebook and save inside this project.
In the first cell execute the following sample code (it might first be necessary to reload the window / restart the language server to enable Pylance features), e.g.:

x = range(10)
y = range(10, 20)
z = [i*j for i, j in zip(x, y)]

Highlight some line of code to copy, e.g. x = range(10) and paste into a new cell.
Try to execute the cell (repeating the above step if necessary until the error is raised)

Expected behavior
Cell executes normally, Pylance features such as syntax highlighting remain intact.
Actual behavior
The following notification appears in VSCode and the notebook hangs indefinitely:
NO notebook document for 'file:///*.ipynb'
Logs

2023-10-27 19:57:26.847 [info] [Info  - 7:57:26 PM] (3129) Pylance language server 2023.10.50 (pyright cfe56bfb) starting
2023-10-27 19:57:26.847 [info] [Info  - 7:57:26 PM] (3129) Server root directory: /home/lancelot/.vscode-server/extensions/ms-python.vscode-pylance-2023.10.50/dist
2023-10-27 19:57:26.852 [info] [Info  - 7:57:26 PM] (3129) Starting service instance "pylance_debug"
2023-10-27 19:57:26.898 [info] [Info  - 7:57:26 PM] (3129) Setting pythonPath for service "pylance_debug": "/home/lancelot/miniconda3/envs/pylance-env/bin/python"
2023-10-27 19:57:26.898 [info] [Info  - 7:57:26 PM] (3129) Setting environmentName for service "pylance_debug": "3.11.5 (pylance-env conda)"
2023-10-27 19:57:26.922 [info] [Info  - 7:57:26 PM] (3129) Assuming Python version 3.11
2023-10-27 19:57:26.948 [info] [Info  - 7:57:26 PM] (3129) No source files found.

@kkacie can you try to reproduce the problem?

I can't reproduce myself. Cells execute fine. I do get a problem with intellisense not working anymore, but that's been fixed in 2023.10.53.

When I first encountered the bug, I was able to reliably trigger it by clicking an error in the Problems pane, which then opened a new temporary window -- by which I mean the sort of window with an italicized filename that gets automatically overwritten by the next command that opens a temporary window. The filename was identical, but fading for unused definitions and squiggles for errors only appeared in the temporary window. Closing the temporary window resulted in the "NO notebook document" error.
After one or two rounds of this, however, it just stopped working entirely whether or not I opened and closed the weird temporary window.

I also face this problem, but only when I open the notebook at first, then "Run all" cell successfully at first. Then, if I select any cell to run again, it pops up me this warning message.

The problem disappears when downgrading to 2023.10.40

I met same problem.

This problem may be caused by the accumulated visualized outputs that you made.
Clear all outputs in your .ipynb!!

Same issue, changing the Pylance version seems to fix it for now. Was able to replicate on server on Ubuntu and WSL2.

The problem disappears when downgrading to 2023.10.40

I was having this problem before 2023.10.40 on WSL, maybe there is something else going on.

The problem disappears when downgrading to 2023.10.40

I was having this problem before 2023.10.40 on WSL, maybe there is something else going on.

Change Jupyter > Logging:Level to verbose in vscode settings and try again, is there any event like "Dispose Kernel process" inJupyter in the Output panel?

same here -  rolling back pylance solved, rolling back jupyter did nothing

same here. switch python language server from pylance to jedi. then I got no such annoying errors anymore.

The problem disappears when downgrading to 2023.10.40

This worked for me

Still getting this error in the latests Pylance version (2024.6.1)

Still getting this error in the latest Pylance version (2024.6.1) on Debian 12

True for me as well I get the error in WSL though.

I don't believe this error is actually caused by us. It's returned by VS code itself when it can't find a notebook document anymore.
We'd really need a repro in order to figure out if there's something we can do about it.

Having this exact same problem in WSL2, can confirm downgrading fixed the issue so far.

Having this exact same problem in WSL2, can confirm downgrading fixed the issue so far.

I have the same issue. It is not solve in the newest stable version yet.

Anybody that is hitting this issue, if you could provide steps on what you did to cause the problem, we'd greatly appreciate it.

@mohammadmoein, your problem would not be related to Pylance. You should log an issue on the Jupyter extension here:
https://github.com/microsoft/vscode-jupyter/issues

now is July 2024 and the problem has not been resolved yet, are u joking with us? DEAR developers?

now is July 2024 and the problem has not been resolved yet, are u joking with us? DEAR developers?

Perhaps you missed my comment. We can't reproduce this in house. If you have a consistent repro, we'd love to try it.

Anybody that is hitting this issue, if you could provide steps on what you did to cause the problem, we'd greatly appreciate it.

we simply open vs code in WSL2, create .ipynb files, start writing code, try to run cell, try to run another cell, try another, and try to run another cell but did not run. why? Pylance crashed.
it works in .py files without any problem.
i downgraded to 20 versions earlier but did not work.

I find that the problem is going with Continue AI assistant, when I disabled continue everything works well. guys please migrate to this issue https://github.com/continuedev/continue/issues/1463

If someone not using Continue but WSL2 or Azure, some discussions (and maybe solutions) are here: https://github.com/microsoft/vscode-jupyter/issues/15716

Thanks for posting. For chained path issue, which is different to this original post, please track it in https://github.com/microsoft/pylance-release/issues/6169.

I find that the problem is going with Continue AI assistant, when I disabled continue everything works well. guys please migrate to this issue continuedev/continue#1463

Workable, solved my problem. Disabled Continue Dev then things are fine now.

For me I tried downgrading pylance, removing pylance but issue still exists.
As I see someone mention about LLM, so I remove extension "Continue" (which is LLM extension)  and issue disappear.

Closing this issue as it sounds like it's the fault of the 'continue' extension. Thanks for the follow up.


extractor.py

please help!
File "crawl_profile.py", line 27, in <module>
    information = extract_information(browser, username)
  File "/home/kurozone/instagram-profilecrawl/util/extractor.py", line 127, in extract_information
    img, tags, likes, comments = extract_post_info(browser)
  File "/home/kurozone/instagram-profilecrawl/util/extractor.py", line 80, in extract_post_info
    return img, tags, int(likes), int(len(comments) - 1)
TypeError: object of type 'int' has no len()

#23


Expand on testing in documentation

Documentation build for this PR can be seen here:
https://datajudge--56.org.readthedocs.build/en/56/testing.html
Datajudge delegates the execution of tests to pytest. As a consequence one might argue that there is no need to document the execution of tests since the user might want to familiarize themselves with pytest independently of the datajudge documentation.
Yet, in practice, it might be desirable to give current and potential users ideas and guidance with respect to configuring the test execution adaptation.
So far, our documentation carries little information on how to configure test execution. This PR introduces an entire documentation article with a couple of exemplary adaptations. These adaptations have been relevant for some of our internal users.

Thanks both of you!


Terminated message is received twice when a watched remote actor is stopped

I've noticed that the Terminated message is received twice when you have a local actor watch a remote actor and the remote actor is stopped.
Here is the output from tests when the local actor logs receiving the Terminated message:

Note this does not happen when the remote node is forcibly killed, only when you call remoteActorPID.Stop();

Looks like the difference between the two messages is that the second one says the address has been terminated also:

Hmm, the Address Terminated one should only occur when the connection between nodes is lost.
So that message originates from the EndpointWatcher.
My guess is that there is a bug in there

I just ran a test to make sure you can still create remote actors after stopping one, and you can, so i don't think it is actually terminating the address. I think the bug is probably here https://github.com/AsynkronIT/protoactor-dotnet/blob/dev/src/Proto.Remote/EndpointWatcher.cs#L33
But that would still mean there are two messages being sent. Is one from the remote actor itself, and the other from the endpoint watcher?

You are right, the highlighted line is incorrect.
The terminated message from the remote actor should go through the EndpointWatcher.
Maybe it does both, e.g. both go through the EndpointWatcher and might be frowarded directly to the watching actor.. maybe a missing return in between or something

i found the issue:
this should be an else if https://github.com/AsynkronIT/protoactor-dotnet/blob/dev/src/Proto.Remote/EndpointReader.cs#L38

Yup, if I change that I only get a single Terminated message now - I'll add to https://github.com/AsynkronIT/protoactor-dotnet/pull/169


[question] Get info on Spotify account's current state/track

I'm having trouble finding an answer to this question:
Is it possible to use the Spotify API (and pyspotify) to get the current state (and currently playing track) of the account? Is it possible to see what another client is playing on the same account?
Thanks

I don't know about Spotify's Web APIs, but it's not possible to know if you're already playing somewhere else or what is being listened to using pyspotify/libspotify.

Thanks!


checkcommits: Don't look for Fixes tags in release PRs

It's annoying to have yet another step releasing, creating an issue for the release. That seems unnecessary.
Not too sure how we could detect release PRs, maybe "^release: " in the (commit) subject line.

See https://github.com/clearcontainers/runtime/issues/305


Esbuild and fastify-swagger-ui build output can't access the swagger-ui-dist static files.

Prerequisites

[X] I have written a descriptive issue title
[X] I have searched existing issues to ensure the bug has not already been reported

Fastify version
4.17.0
Plugin version
1.8.1
Node.js version
18.16.0
Operating system
macOS
Operating system version (i.e. 20.04, 11.3, 10)
12.6.5
Description
Attempting to run code built with esbuild, fastify, fastify-swagger-ui results in the error:
node:internal/modules/cjs/loader:1075
  const err = new Error(message);
              ^

Error: Cannot find module './static/logo.svg'
Require stack:
- /Users/david/workspace/fastifySwaggerTest/dist/index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
    at Function.resolve (node:internal/modules/cjs/helpers:116:19)
    at NE (file:///Users/david/workspace/fastifySwaggerTest/dist/index.js:533:3585)
    at lo.exec (file:///Users/david/workspace/fastifySwaggerTest/dist/index.js:17:1196)
    at Et.om (file:///Users/david/workspace/fastifySwaggerTest/dist/index.js:17:2907)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/Users/david/workspace/fastifySwaggerTest/dist/index.js' ]
}

Supplying a valid logo will run the server, but the assets served at static will 404.
In the provided esbuild.config.mjs, we are defining __filename and __dirname for integration with commonjs libraries.
Steps to Reproduce
Clone repo
run yarn start and observe that it doesn't error
run yarn buildandrun and observe that it errors
Expected Behavior
No response

This seems normal and expected. I do not even know how this could be fixed or handled on our part.
I would recommend to not bundle your servers.

Advantages to bundling your fastify apps:
1). Smaller image size which is less for Serverless compute to load and size in Storage
2). Smaller memory footprint.
If I run my application with TS-Node, it takes just over 600MB of memory.
If I build with esbuild and run the result, it takes just over 100MB of memory.
Deploying to Google Cloud Run with the unbuilt version requires a larger instance as I run out of memory heap error with the unbuilt version.  I returned my app to being built and will try to find a different solution.

You can bundle, but then handle the copying of the files to the expected places yourself.

Adding onto @Uzlopak's comment, there's a popular esbuild plugin, esbuild-plugin-copy, which can handle this task. I'm personally bundling through esbuild and then compiling to a Docker image, so I added a COPY directive there.
Regardless of how you get the files into your final bundle, the location you'll want to copy from is node_modules/@fastify/swagger-ui/static.

@arimgibson would you like to add a small guide in this repo on how to do this?

Thanks for the suggestions! I appreciate it.

@mcollina happily! Just straight into the README?
I'm at capacity right now but can submit that PR in ~1 week

@mcollina happily! Just straight into the README?
I'm at capacity right now but can submit that PR in ~1 week

Longest week of my life 😉

no clue

FYI I am getting 404s for other assets besides the index.html, swagger-initializer.js, hook.js when doing this.

I was having the same issue and I could only get it to work by applying the following patch:
   // serve swagger-ui with the help of @fastify/static
   fastify.register(fastifyStatic, {
-    root: path.join(__dirname, '..', 'static'),
+    root: opts.baseDir || path.join(__dirname, '..', 'static'),
     prefix: staticPrefix,
     decorateReply: false
   })

Then defining the baseDir option
  await server.register(fastifySwaggerUi, {
    baseDir: process.env.ASSETS_ROOT ? path.resolve(process.env.ASSETS_ROOT) : undefined,
	// ...
  })

Copying the assets in my Dockerfile
COPY ./node_modules/@fastify/swagger-ui/static ./assets
ENV ASSETS_ROOT=/app/assets/

FYI I am getting 404s for other assets besides the index.html, swagger-initializer.js, hook.js when doing this.

I was having the same issue and I could only get it to work by applying the following patch:
   // serve swagger-ui with the help of @fastify/static
   fastify.register(fastifyStatic, {
-    root: path.join(__dirname, '..', 'static'),
+    root: opts.baseDir || path.join(__dirname, '..', 'static'),
     prefix: staticPrefix,
     decorateReply: false
   })

Then defining the baseDir option
  await server.register(fastifySwaggerUi, {
    baseDir: process.env.ASSETS_ROOT ? path.resolve(process.env.ASSETS_ROOT) : undefined,
	// ...
  })

Copying the assets in my Dockerfile
COPY ./node_modules/@fastify/swagger-ui/static ./assets
ENV ASSETS_ROOT=/app/assets/

Thank you! :)

@davidjbng
Can you provide a PR please?

Can you provide a PR please?

Yes I will.
I noticed the csp.json is not available yet using my approach. Need to check that first.

For those still looking for a solution, I manage to get it working with this setup in a esbuild.config.js file
import esbuild from "esbuild";
import { promisify } from "util";
import path from "path";
import fs from "fs";

const copyDir = async (src, dest) => {
  const readdir = promisify(fs.readdir);
  const mkdir = promisify(fs.mkdir);
  const copyFile = promisify(fs.copyFile);
  const stat = promisify(fs.stat);

  // Create destination directory if not exists
  await mkdir(dest, { recursive: true });

  const files = await readdir(src);

  for (const file of files) {
    const srcPath = path.join(src, file);
    const destPath = path.join(dest, file);

    const stats = await stat(srcPath);
    if (stats.isDirectory()) {
      await copyDir(srcPath, destPath);
    } else {
      await copyFile(srcPath, destPath);
    }
  }
};

esbuild
  .build({
    entryPoints: ["src/index.ts"],
    logLevel: "info",
    outdir: "dist",
    bundle: true,
    platform: "node",
    format: "cjs",
  })
  .then(() => {
    copyDir("node_modules/@fastify/swagger-ui/static", "dist/static");
  });

I have the assets copied to the dist/static directory, but am getting 404 errors for some of the resources. The .css, .js, and .png files are all returning 404, except index.html, and swagger-initializer.js are returning as expected.

I was able to get the esbuild bundle to work by replacing '..' with '.' in the lib/routes.js file.  The file expects the static folder to be in a parallel directory.
import { build } from 'esbuild';
import textReplace from 'esbuild-plugin-text-replace';
...
await build({
  ...
  plugins: [
    textReplace({
      include<EMAIL_ADDRESS>      pattern: [
        [`'\.\.'`, `'.'`]
      ]
    })
]

You can bundle, but then handle the copying of the files to the expected places yourself.

Which files? That's the problem. Where are the default files?


[State CosmosDb] Built-in compression of value

This customer blog-post highlights a very simple and warranted need to compress state before it hits CosmosDb.

This simple act of compression reduced the document size from 300KB to 9KB, resulting in a roughly 97% reduction. Consequently, the RU consumption plummeted from 600K RU/s to an average of 20K RU/s in a 24 hour period.

The customer rolled their own client side compression solution for this, but I think the CosmosDb component should include its own turn-key compression implementation to achieve the same goal.
This behavior could be enabled via a flag on the spec enableValueCompression
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: my-state-store
spec:
  type: state.azure.cosmosdb
  version: v1
  metadata:
     ...
  - name: enableValueCompression
    value: true

Pros

huge efficiency, resulting in massive savings for the customer, making the component more viable for high-throughput use-cases i.e. Actors & Workflows

Cons

The value would no longer be a document but a string, meaning the query API capability would not be possible.
Increased CPU for compression / decompression. (However, in reality this CPU increase is simply shifted to the sidecar away from the App, rather than net new cost)

Thinking out loud...
Given that Postgres V2 has dropped support for query API due to changing the way it stores the value data- I do not see this as a controversial move to make for CosmosDb. Maybe it makes sense to leave the CosmosDb v1 component alone, and implement this compression feature as the standard behavior for CosmosDb V2?

@KrylixZA Maybe you could provide some thoughts on if this would feature/change would be welcome to you and how a turnkey solution provided by the component would simplify your client-side concerns.

Hey @olitomlinson
Thanks for raising this issue. We had plans to raise it ourselves but got a bit wrapped up in work and day-to-day.
We would absolutely welcome this change. We were going to raise under dapr/dapr against actors as the usual state management is already base64 encoded while actor state is raw, formatted JSON. Having it as a configurable flag on the component YAML actually feels like a neater solution than what we had planned. We were hoping for an overload on the actor state management API. With it on the YAML, the team will be able to set it once during project bootstrapping as a best practice and ensure costs don't ever grow wildly beyond their expected range. I like it!
Giving it more thought, it makes sense to be an option for all forms of state management and for any consumption-based database, not just CosmosDB. This same behaviour would apply neatly to DynamoDB as well, for example.

Thanks @olitomlinson for detailed information on the request.  I raised the issue under dapr/dapr yesterday.
[Proposed] Add compression option when saving state

Bump

Bump

Keep alive

Keep alive

Do you envision this being something where the developer can specify one of multiple built-in compression algorithms or did you have one in mind that you think would be a better fit than others?

Sad to see this close but I can understand why this wouldn't be included in Dapr. For those looking for more details, we've detailed these changes on the Cosmos DB state management docs: https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-azure-cosmosdb/#optimizing-cosmos-db-for-cost-savings


Conflict With Bootstrap

In a modal component I use bootstrap.min for formatting but bootstrap.min prevents the "More" toolbar button from opening the drop down. Does anyone know what the conflict is with bootstrap.min? Is there a way to import bootstrap.min and not conflict with the "More" drop down?

@mtm12, are you using bootstrap for a different application that embeds the viewer, or for a forked version of the viewer? I know we recently did some work so bootstrap would no longer be a required dependency, but any time you include external style scripts you risk conflicts.
I can suggest strategies based on what you're trying to achieve.

The application is a forked version of the viewer. I use bootstrap to format the content of a modal window where the user selects imaging processing properties. Import bootstrap.min.css causes the conflict with the "More" toolbar button drop down.

I recompiled bootstrap.css with the dropdown classes removed with this tool: https://getbootstrap.com/docs/3.4/customize/ . The "More" drop down works with this bootstrap. The files are attached if anyone needs them.
bootstrap.zip

@mtm12, good catch :+1:
We should probably provide a similar ability for our classes, or to prefix all classes with a "vendor" prefix to reduce the chance of conflicts.


flag provided but not defined: -initial-advertise-peer-urls

I want to deploy an etcd cluster for test, so I follow this doc Clustering Guide
I use coreos + vagrant + virtualbox
coreos version
cat /etc/os-release
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1353.7.0
VERSION_ID=1353.7.0
BUILD_ID=2017-04-26-2154
PRETTY_NAME="Container Linux by CoreOS 1353.7.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"

etcd version
etcdctl -v
etcdctl version 2.3.7

content from doc
$ etcd --name infra0 --initial-advertise-peer-urls http://<IP_ADDRESS>:2380 \
  --listen-peer-urls http://<IP_ADDRESS>:2380 \
  --listen-client-urls http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:2379 \
  --advertise-client-urls http://<IP_ADDRESS>:2379 \
  --initial-cluster-token etcd-cluster-1 \
  --initial-cluster infra0=http://<IP_ADDRESS>:2380,infra1=http://<IP_ADDRESS>:2380,infra2=http://<IP_ADDRESS>:2380 \
  --initial-cluster-state new

actually I run
etcd --name infra0 --initial-advertise-peer-urls http://<IP_ADDRESS>:2380 --listen-peer-urls http://<IP_ADDRESS>:2380 --listen-client-urls http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:2379 --advertise-client-urls http://<IP_ADDRESS>:2379 --initial-cluster-token etcd-cluster-1 --initial-cluster infra0=http://<IP_ADDRESS>:2380,infra1=http://<IP_ADDRESS>:2380,infra2=http://<IP_ADDRESS>:2380 --initial-cluster-state new

but I got an error
etcd --name infra0 --initial-advertise-peer-urls http://<IP_ADDRESS>:2380 --listen-peer-urls http://<IP_ADDRESS>:2380 --listen-client-urls http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:2379 --advertise-client-urls http://<IP_ADDRESS>:2379 --initial-cluster-token etcd-cluster-1 --initial-cluster infra0=http://<IP_ADDRESS>:2380,infra1=http://<IP_ADDRESS>:2380,infra2=http://<IP_ADDRESS>:2380 --initial-cluster-state new
etcd

Usage:
  etcd -name <name>
  etcd -name <name> [-data-dir=<path>]
  etcd -h | -help
  etcd -version

Options:
  -h -help          Show this screen.
  --version         Show version.
  -f -force         Force a new configuration to be used.
  -config=<path>    Path to configuration file.
  -name=<name>      Name of this node in the etcd cluster.
  -data-dir=<path>  Path to the data directory.
  -cors=<origins>   Comma-separated list of CORS origins.
  -v                Enabled verbose logging.
  -vv               Enabled very verbose logging.

Cluster Configuration Options:
  -discovery=<url>                Discovery service used to find a peer list.
  -peers-file=<path>              Path to a file containing the peer list.
  -peers=<host:port>,<host:port>  Comma-separated list of peers. The members
                                  should match the peer's '-peer-addr' flag.

Client Communication Options:
  -addr=<host:port>         The public host:port used for client communication.
  -bind-addr=<host[:port]>  The listening host:port used for client communication.
  -ca-file=<path>           Path to the client CA file.
  -cert-file=<path>         Path to the client cert file.
  -key-file=<path>          Path to the client key file.

Peer Communication Options:
  -peer-addr=<host:port>  The public host:port used for peer communication.
  -peer-bind-addr=<host[:port]>  The listening host:port used for peer communication.
  -peer-ca-file=<path>    Path to the peer CA file.
  -peer-cert-file=<path>  Path to the peer cert file.
  -peer-key-file=<path>   Path to the peer key file.
  -peer-heartbeat-interval=<time>
                          Time (in milliseconds) of a heartbeat interval.
  -peer-election-timeout=<time>
                          Time (in milliseconds) for an election to timeout.

Other Options:
  -max-result-buffer   Max size of the result buffer.
  -max-retry-attempts  Number of times a node will try to join a cluster.
  -retry-interval      Seconds to wait between cluster join retry attempts.
  -snapshot=false      Disable log snapshots
  -snapshot-count      Number of transactions before issuing a snapshot.
  -cluster-active-size Number of active nodes in the cluster.
  -cluster-remove-delay Seconds before one node is removed.
  -cluster-sync-interval Seconds between synchronizations for standby mode.

flag provided but not defined: -initial-advertise-peer-urls

I checked the help of etcd and understand it's wrong options error.
But why? official doc is wrong? or any error I didn't noticed?

Can you try running with etcd2.service? And etcd.service might have been deprecated.
See https://coreos.com/etcd/docs/latest/os-faq.html.

For reasons of compatibility, previous, deprecated versions of etcd, named etcd and etcd2, are included in the Container Linux filesystem until they complete their sunset schedules and are finally removed.
The etcd (v0) binary will be removed from Container Linux in May, 2017.
The etcd2 binary will be included in the OS until June, 2018.
The recommended way to run etcd on Container Linux is to use the etcd-member service.

@gyuho thank you very much, it worked.
But why we don't update the word etcd in the docs to etcd2?

@xiaotuanyu120 it's the 2.3.7 docs for etcd in general, not coreos specifically; the binary is still called etcd.
Furthermore, I tried running the command:
etcd --name infra0 --initial-advertise-peer-urls http://localhost:2380 --listen-peer-urls http://localhost:2380 --listen-client-urls http://localhost:2379 --advertise-client-urls http://localhost:2379 --initial-cluster-token etcd-cluster-1 --initial-cluster infra0=http://localhost:2380,infra1=http://<IP_ADDRESS>:2380,infra2=http://<IP_ADDRESS>:2380 --initial-cluster-state new

Both 2.3.8 and 3.2.0+git can handle the command line arguments fine, so it's not breakage from using 3.x instead of 2.x. Was etcd being launched through a script or some init system?

@heyitsanthony
he runs etcd under systemd with coreos, where etcd service means etcd0.
@xiaotuanyu120
that is for compatibility reason. coreos cannot magically change etcd from etcd binary to etcd3 binary, which will break existing users. it is not something etcd controls. so closing.


More Setup Instructions required for Ubuntu 22.04, Windows 11, etc.

I have tried setting this up on Ubuntu 22.04 and Windows 11 and I am getting python run errors when trying to start the backend.  I have tried setting this project up from scratch twice and can't seem to get it to work.  I feel it is lacking instructions on how to set it up on ubuntu 22.04 or and Windows 11.

I have tried setting this up on Ubuntu 22.04 and Windows 11 and I am getting python run errors when trying to start the backend. I have tried setting this project up from scratch twice and can't seem to get it to work. I feel it is lacking instructions on how to set it up on ubuntu 22.04 or and Windows 11.

hey, i made a guide for ubuntu earlier
https://github.com/OpenDevin/OpenDevin/commit/08a2dfb01af1aec6743f5e4c23507d63980726c0#commitcomment-140559598

If you want to file a bug report, please follow the format in the bug template and provide the necessary information, this will help us resolve the issue. I'll close this issue for now due to lack of concrete information that we can act on, but we will be happy to take a look at a new issue with more details!


INDI:NATI Definition Change from v5.5 and v5.5.1

In GEDCOM v5.4, v5.5 and v5.5.1 the definition of the INDI:NATI tag is:

NATIONAL_OR_TRIBAL_ORIGIN:= {Size=1:120}
The person's division of national origin or other folk, house, kindred, lineage, or tribal interest. Examples: Irish, Swede, Egyptian Coptic, Sioux Dakota Rosebud, Apache Chiricawa, Navajo Bitter Water, Eastern Cherokee Taliwa Wolf, and so forth.

in GEDCOM v7.0.8 it is now:

The national heritage of an individual.

The loss of several “divisions” for house, kindred, lineage and tribe removes functionality and changes a long time use that involves personal identity.  Please correct this by including an updated definition in the next release.
I’ve used this definition since it’s inclusion in the v5.4/5.5 time frame!

5.5.1 provides two definitions:

page 90 has 7.0's current text, "The national heritage of an individual."
page 56 has the text @Norwegian-Sardines quoted: "The person's division of national origin or other folk, house, kindred, lineage, or tribal interest" with examples.

I agree that we should use the more inclusive text