Maximize load performance

We advertise this library as "fast, efficient", and is performance or memory footprint affected by loading every single class for every single country (that's 360+ classes) even when the user needs holidays only for a single country, which I assume this to be 90%+ of use cases, or just a few countries? What about on small footprints (e.g. Raspberry Pi)? I would assume so, but am not very familiar with Python innards.
If so, are there architectures that we can implement to maximize load performance especially when only one (or a few) countries are needed?
Originally posted by @mborsetti in https://github.com/dr-prodigy/python-holidays/issues/948#issuecomment-1432382359

Some thoughts

We're importing a ton of alpha-3 codes, and nowhere in the documentation we say we support them. I don't really see a reason why we should support them (they are superfluous to the alpha-2 codes that are very familiar due to their use as TLDs); maybe it's a good time to start deprecating the existing alpha-3 codes (and stop adding them when new countries are added)?
Do we even want a long-form nonstandard for countries, which also opens ourselves up to discussions on political issues such as whether the class for HK should be HongKong vs. HongKongSAR (the latter being closer to the official name), CN be China vs. PeoplesRepublicOfChina and on and on?
I also found IRL that finding a class called "HongKong" ("HongKongSAR"?) or "Eswatini" or similar in the debugger is very confusing -- Eswatini what? What is the Eswatini or China or whatever object supposed to be? We should consider calling the base class in the format of HolidaysHK, HolidaysSZ, etc. to make it very clear when debugging what is the function of an object of this class.

I can (slowly) work on all of this if there's interest.

I have found this issue because I'm profiling a project's startup time (as per this blog post), and holidays is one of the slower-to-import libraries. It takes 56ms on my machine, most of which is indeed wasted on loading countries which the project doesn't need.
Here's a profile:

python -X importtime -c 'import holidays'

import time: self [us] | cumulative | imported package
import time:       268 |        268 |   _io
import time:        40 |         40 |   marshal
import time:       539 |        539 |   posix
import time:       586 |       1430 | _frozen_importlib_external
import time:       198 |        198 |   time
import time:       142 |        340 | zipimport
import time:        94 |         94 |     _codecs
import time:       493 |        587 |   codecs
import time:       908 |        908 |   encodings.aliases
import time:      1493 |       2987 | encodings
import time:       365 |        365 | encodings.utf_8
import time:       293 |        293 | _signal
import time:        48 |         48 |     _abc
import time:       260 |        308 |   abc
import time:       358 |        666 | io
import time:        64 |         64 |       _stat
import time:       114 |        178 |     stat
import time:       944 |        944 |     _collections_abc
import time:        18 |         18 |       genericpath
import time:        40 |         58 |     posixpath
import time:       271 |       1449 |   os
import time:        36 |         36 |   _sitebuiltins
import time:      1174 |       1174 |   _distutils_hack
import time:       238 |        238 |   types
import time:       211 |        211 |       warnings
import time:       123 |        333 |     importlib
import time:       199 |        199 |     importlib._abc
import time:        74 |         74 |         itertools
import time:        78 |         78 |         keyword
import time:        48 |         48 |           _operator
import time:       217 |        264 |         operator
import time:       112 |        112 |         reprlib
import time:        82 |         82 |         _collections
import time:       771 |       1380 |       collections
import time:        85 |         85 |         _functools
import time:      1065 |       1150 |       functools
import time:       710 |       3239 |     contextlib
import time:       135 |       3904 |   importlib.util
import time:        69 |         69 |   importlib.machinery
import time:        66 |         66 |   sitecustomize
import time:     11430 |      18363 | site
import time:       193 |        193 |   holidays.constants
import time:       196 |        196 |         math
import time:       177 |        177 |         _datetime
import time:      1205 |       1578 |       datetime
import time:        91 |         91 |           dateutil._version
import time:       147 |        238 |         dateutil
import time:       131 |        368 |       dateutil.easter
import time:       159 |        159 |           collections.abc
import time:      1070 |       1070 |             enum
import time:        44 |         44 |               _sre
import time:       175 |        175 |                 re._constants
import time:       458 |        633 |               re._parser
import time:        69 |         69 |               re._casefix
import time:       249 |        993 |             re._compiler
import time:       144 |        144 |             copyreg
import time:       402 |       2607 |           re
import time:       109 |        109 |           _typing
import time:      1881 |       4755 |         typing
import time:        98 |         98 |               _bisect
import time:        97 |        195 |             bisect
import time:        61 |         61 |             hijri_converter.helpers
import time:      1125 |       1125 |             hijri_converter.locales
import time:       178 |        178 |             hijri_converter.ummalqura
import time:       260 |       1817 |           hijri_converter.convert
import time:       143 |       1960 |         hijri_converter
import time:       277 |       6991 |       holidays.calendars
import time:       137 |        137 |             _weakrefset
import time:       381 |        517 |           weakref
import time:        47 |         47 |               org
import time:        16 |         63 |             org.python
import time:         9 |         71 |           org.python.core
import time:       156 |        743 |         copy
import time:        62 |         62 |             _locale
import time:      3489 |       3550 |           locale
import time:       389 |       3939 |         calendar
import time:       617 |        617 |         gettext
import time:        94 |         94 |           fnmatch
import time:        59 |         59 |             _winapi
import time:        41 |         41 |             nt
import time:        35 |         35 |             nt
import time:        32 |         32 |             nt
import time:        51 |         51 |             nt
import time:       167 |        167 |             nt
import time:       134 |        516 |           ntpath
import time:        42 |         42 |           errno
import time:        85 |         85 |             urllib
import time:       993 |       1077 |           urllib.parse
import time:       616 |       2345 |         pathlib
import time:       116 |        116 |             __future__
import time:        20 |         20 |               _string
import time:       470 |        490 |             string
import time:       164 |        164 |                 _struct
import time:       141 |        304 |               struct
import time:       730 |       1033 |             six
import time:       223 |        223 |                 numbers
import time:       514 |        737 |               _decimal
import time:        88 |        824 |             decimal
import time:       616 |        616 |               dateutil._common
import time:       187 |        802 |             dateutil.relativedelta
import time:        24 |         24 |                 six.moves
import time:       140 |        140 |                 dateutil.tz._common
import time:       140 |        140 |                 dateutil.tz._factories
import time:        18 |         18 |                   six.moves.winreg
import time:       185 |        203 |                 dateutil.tz.win
import time:       849 |       1355 |               dateutil.tz.tz
import time:       118 |       1472 |             dateutil.tz
import time:       752 |       5487 |           dateutil.parser._parser
import time:       236 |        236 |           dateutil.parser.isoparser
import time:       258 |       5980 |         dateutil.parser
import time:       706 |      14327 |       holidays.holiday_base
import time:       377 |      23638 |     holidays.countries.albania
import time:       212 |        212 |       holidays.countries.united_states
import time:       160 |        372 |     holidays.countries.american_samoa
import time:       113 |        113 |     holidays.countries.andorra
import time:       165 |        165 |     holidays.countries.angola
import time:       335 |        335 |     holidays.countries.argentina
import time:       103 |        103 |     holidays.countries.armenia
import time:       210 |        210 |     holidays.countries.aruba
import time:       122 |        122 |     holidays.countries.australia
import time:       112 |        112 |     holidays.countries.austria
import time:       136 |        136 |     holidays.countries.azerbaijan
import time:       108 |        108 |     holidays.countries.bahrain
import time:        82 |         82 |     holidays.countries.bangladesh
import time:       329 |        329 |     holidays.countries.belarus
import time:       127 |        127 |     holidays.countries.belgium
import time:       136 |        136 |     holidays.countries.bolivia
import time:       150 |        150 |     holidays.countries.bosnia_and_herzegovina
import time:       124 |        124 |     holidays.countries.botswana
import time:       125 |        125 |     holidays.countries.brazil
import time:       117 |        117 |     holidays.countries.bulgaria
import time:       112 |        112 |     holidays.countries.burundi
import time:       164 |        164 |     holidays.countries.canada
import time:       122 |        122 |         pymeeus
import time:        74 |         74 |         pymeeus.base
import time:       261 |        261 |         pymeeus.Angle
import time:       502 |        959 |       pymeeus.Epoch
import time:       139 |        139 |           pymeeus.Interpolation
import time:       569 |        707 |         pymeeus.Coordinates
import time:      1136 |       1136 |         pymeeus.Earth
import time:       190 |       2031 |       pymeeus.Sun
import time:       328 |        328 |           sysconfig
import time:       476 |        476 |           _sysconfigdata__linux_aarch64-linux-gnu
import time:      1204 |       2007 |         zoneinfo._tzpath
import time:       843 |        843 |         zoneinfo._common
import time:       133 |        133 |         _zoneinfo
import time:       423 |       3405 |       zoneinfo
import time:       234 |       6627 |     holidays.countries.chile
import time:       106 |        106 |     holidays.countries.china
import time:       125 |        125 |     holidays.countries.colombia
import time:        87 |         87 |     holidays.countries.croatia
import time:        91 |         91 |     holidays.countries.cuba
import time:       104 |        104 |     holidays.countries.curacao
import time:        80 |         80 |     holidays.countries.cyprus
import time:        99 |         99 |     holidays.countries.czechia
import time:        83 |         83 |     holidays.countries.denmark
import time:       107 |        107 |     holidays.countries.djibouti
import time:       489 |        489 |     holidays.countries.dominican_republic
import time:        98 |         98 |     holidays.countries.egypt
import time:       107 |        107 |     holidays.countries.estonia
import time:       100 |        100 |     holidays.countries.eswatini
import time:       175 |        175 |     holidays.countries.ethiopia
import time:       143 |        143 |     holidays.countries.finland
import time:       137 |        137 |     holidays.countries.france
import time:       113 |        113 |     holidays.countries.georgia
import time:       126 |        126 |     holidays.countries.germany
import time:       199 |        199 |     holidays.countries.greece
import time:       184 |        184 |     holidays.countries.guam
import time:       133 |        133 |     holidays.countries.honduras
import time:       141 |        141 |     holidays.countries.hongkong
import time:       186 |        186 |     holidays.countries.hungary
import time:       124 |        124 |     holidays.countries.iceland
import time:       117 |        117 |     holidays.countries.india
import time:       196 |        196 |     holidays.countries.indonesia
import time:       149 |        149 |     holidays.countries.ireland
import time:       180 |        180 |       holidays.countries.united_kingdom
import time:       107 |        286 |     holidays.countries.isle_of_man
import time:        94 |         94 |             convertdate.utils
import time:       160 |        253 |           convertdate.gregorian
import time:        65 |         65 |           convertdate.julian
import time:       154 |        471 |         convertdate.armenian
import time:        89 |         89 |         convertdate.bahai
import time:        58 |         58 |         convertdate.coptic
import time:        56 |         56 |           convertdate.julianday
import time:       114 |        170 |         convertdate.daycount
import time:        46 |         46 |         convertdate.dublin
import time:        74 |         74 |             convertdate.data
import time:       169 |        243 |           convertdate.data.french_republican_days
import time:        99 |        342 |         convertdate.french_republican
import time:        95 |         95 |         convertdate.hebrew
import time:        78 |         78 |           convertdate.islamic
import time:       203 |        280 |         convertdate.holidays
import time:        83 |         83 |         convertdate.indian_civil
import time:       129 |        129 |         convertdate.iso
import time:       122 |        122 |         convertdate.mayan
import time:        92 |         92 |         convertdate.persian
import time:       505 |        505 |           convertdate.data.positivist
import time:        94 |        598 |         convertdate.positivist
import time:        62 |         62 |         convertdate.ordinal
import time:       326 |       2956 |       convertdate
import time:       132 |       3088 |     holidays.countries.israel
import time:       164 |        164 |     holidays.countries.italy
import time:        80 |         80 |     holidays.countries.jamaica
import time:       236 |        236 |     holidays.countries.japan
import time:        84 |         84 |     holidays.countries.kazakhstan
import time:       101 |        101 |     holidays.countries.kenya
import time:        87 |         87 |     holidays.countries.kyrgyzstan
import time:        87 |         87 |     holidays.countries.latvia
import time:        88 |         88 |     holidays.countries.lesotho
import time:        93 |         93 |     holidays.countries.liechtenstein
import time:        74 |         74 |     holidays.countries.lithuania
import time:       101 |        101 |     holidays.countries.luxembourg
import time:        71 |         71 |     holidays.countries.madagascar
import time:        70 |         70 |     holidays.countries.malawi
import time:       235 |        235 |     holidays.countries.malaysia
import time:        75 |         75 |     holidays.countries.malta
import time:       110 |        110 |     holidays.countries.marshall_islands
import time:        64 |         64 |     holidays.countries.mexico
import time:        85 |         85 |     holidays.countries.moldova
import time:       123 |        123 |     holidays.countries.monaco
import time:        87 |         87 |     holidays.countries.montenegro
import time:        80 |         80 |     holidays.countries.morocco
import time:        86 |         86 |     holidays.countries.mozambique
import time:        87 |         87 |     holidays.countries.namibia
import time:        92 |         92 |     holidays.countries.netherlands
import time:       121 |        121 |     holidays.countries.new_zealand
import time:       100 |        100 |     holidays.countries.nicaragua
import time:       104 |        104 |     holidays.countries.nigeria
import time:        83 |         83 |     holidays.countries.north_macedonia
import time:        86 |         86 |     holidays.countries.northern_mariana_islands
import time:        97 |         97 |           _heapq
import time:       152 |        248 |         heapq
import time:       371 |        619 |       dateutil.rrule
import time:       108 |        726 |     holidays.countries.norway
import time:       169 |        169 |     holidays.countries.pakistan
import time:        70 |         70 |     holidays.countries.panama
import time:        80 |         80 |     holidays.countries.paraguay
import time:        83 |         83 |     holidays.countries.peru
import time:        71 |         71 |     holidays.countries.philippines
import time:       223 |        223 |     holidays.countries.poland
import time:       190 |        190 |     holidays.countries.portugal
import time:       148 |        148 |     holidays.countries.puerto_rico
import time:       110 |        110 |     holidays.countries.romania
import time:       105 |        105 |     holidays.countries.russia
import time:        98 |         98 |     holidays.countries.san_marino
import time:       110 |        110 |     holidays.countries.saudi_arabia
import time:        93 |         93 |     holidays.countries.serbia
import time:       288 |        288 |     holidays.countries.singapore
import time:        87 |         87 |     holidays.countries.slovakia
import time:       114 |        114 |     holidays.countries.slovenia
import time:        89 |         89 |     holidays.countries.south_africa
import time:       214 |        214 |         korean_lunar_calendar.korean_lunar_calendar
import time:       120 |        333 |       korean_lunar_calendar
import time:       164 |        497 |     holidays.countries.south_korea
import time:       178 |        178 |     holidays.countries.spain
import time:       134 |        134 |     holidays.countries.sweden
import time:        90 |         90 |     holidays.countries.switzerland
import time:        92 |         92 |     holidays.countries.taiwan
import time:       520 |        520 |     holidays.countries.thailand
import time:       123 |        123 |     holidays.countries.tunisia
import time:       152 |        152 |     holidays.countries.turkey
import time:       148 |        148 |     holidays.countries.ukraine
import time:        88 |         88 |     holidays.countries.united_arab_emirates
import time:       110 |        110 |     holidays.countries.united_states_minor_outlying_islands
import time:        92 |         92 |     holidays.countries.united_states_virgin_islands
import time:       160 |        160 |     holidays.countries.uruguay
import time:       102 |        102 |     holidays.countries.uzbekistan
import time:        76 |         76 |     holidays.countries.vatican_city
import time:        70 |         70 |     holidays.countries.venezuela
import time:       176 |        176 |     holidays.countries.vietnam
import time:       122 |        122 |     holidays.countries.zambia
import time:        81 |         81 |     holidays.countries.zimbabwe
import time:      1783 |      51229 |   holidays.countries
import time:       110 |        110 |     holidays.financial.european_central_bank
import time:       125 |        125 |     holidays.financial.ny_stock_exchange
import time:       109 |        343 |   holidays.financial
import time:        47 |         47 |         _ast
import time:       856 |        902 |       ast
import time:        93 |         93 |           _opcode
import time:       220 |        312 |         opcode
import time:       549 |        861 |       dis
import time:        90 |         90 |           token
import time:       578 |        668 |         tokenize
import time:       112 |        780 |       linecache
import time:      1343 |       3885 |     inspect
import time:       174 |       4058 |   holidays.utils
import time:       581 |      56402 | holidays

Lazy-loading these modules would be the biggest win for speed, I think. This may involve moving some attributes like the alpha codes into a centralized dictionary, rather than pulling them from the classes, since you want to avoid importing the class until requested.

@arkid15r Any interest in this?  We'd probably be looking at a transition architecture with deprecation followed by a much faster v1.0.

I can (slowly) work on all of this if there's interest.

@arkid15r Any interest? We'd probably be looking at a transition architecture with deprecation followed by a much faster v1.0.

Hey Mike, absolutely!
This idea is great! The library performance is the second highest priority for us. I didn't look into any implementation details yet and at this point I can only see potential compatibility issues that could be a show stopper for this. I'm looking forward to seeing any early stage PR(s) or PoC code to discuss specifics.
Thank you!
// @adamchainz I appreciate your input too!

Hey Mike, absolutely! This idea is great! The library performance is the second highest priority for us. I didn't look into any implementation details yet and at this point I can only see potential compatibility issues that could be a show stopper for this. I'm looking forward to seeing any early stage PR(s) or PoC code to discuss specifics.

Hi Arkadii, I think I found a way to solve all three issues simply and elegantly ,and still be backwards compatible. However, I hit an undocumented function argument, which you added; can you please see https://github.com/dr-prodigy/python-holidays/pull/878?

Hey Mike, that sounds promising! I'm eager to see your solution!
I replied to your comments for #878, let me know if you still have questions.

The v0.25 with the lazy loading implementation has just been released.

👍 Thank you for doing this.
python -X importtime -c 'import holidays' now shows 29ms for me, compared to 56ms before. A 27ms saving, and most of the time is now in Python standard library modules.

Thanks for your input and the feedback @adamchainz


GEODE-5971: Have all offline commands extends OfflineGfshCommand inst…

…ead of InternalGfshCommand

eventually InternalGfshCommand should be deleted and replaced with GfshCommand

Co-authored-by: Peter Tran<EMAIL_ADDRESS>Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[ ] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

@aditya87

this test failure is a known failure on develop


Error when add virtual environment in py project

The output gives error message Error: missing params.textDocument.text while
adding virtual env in py project(a new created empty py project), no matter the venv set to Global available or not.
But after close the solution and then add venv in VS2022 with no sln loaded, the error will not occur.
I tried the following steps but the error still came out:

Add a venv when no sln loaded
Remove the venv just added when no sln loaded (no files deleted on disk)
Open a py project and add existing env using dir left in step 2 to the project not setting the venv global available
Do anything in Python environment pane Packages(PyPI) group (install or upgrade) the same error came out

The py project used above is a new created one, with only one empty .py file.
I searched old issues here and found #7093 #7326 mentioned the same error message above, but their situation were different from what I encountered.
This is the error message I got:
Error: missing params.textDocument.text
    at _0x37bf59.<computed>.handleOpen (c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\pylance\dist\pylance-langserver.bundle.js:1:293473)
    at _0x2ed90e.onDidOpenTextDocument (c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\pylance\dist\pylance-langserver.bundle.js:1:353494)
    at notificationHandler (c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\pylance\dist\pyright-internal\src\languageServerBase.ts:514:71)
    at handleNotification (c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\pylance\dist\pyright-internal\node_modules\vscode-jsonrpc\lib\common\connection.js:606:25)
    at processMessageQueue (c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\pylance\dist\pyright-internal\node_modules\vscode-jsonrpc\lib\common\connection.js:324:17)
    at Immediate.<anonymous> (c:\program files\microsoft visual studio\2022\community\common7\ide\extensions\microsoft\python\core\pylance\dist\pyright-internal\node_modules\vscode-jsonrpc\lib\common\connection.js:311:13)
    at processImmediate (node:internal/timers:466:21)

Configuration information
VS Version: 17.4.4
PTVS version: 17.0.22263.6
Python version: 3.11.2x64 (I tried 3.9.7x64 still the same error)

Thanks for your report. It probably has to do with LSP client not sending us the right data. It's in our backlog to fix. I will mark it as duplicate of #7093 and #7326 for now, and make sure this is fixed once we have a fix for the other two issues. Thanks! 😊

Thanks for your works.
BTW, the temporary solution I found is to change the venv to a global one, thus the error disappeared at least on my machine.
For those who are bothering by this bug can consider giving a try.


Filter on boolean field

Hi,
If I use:
myfield = Column.boolean(
            query__gui__show=True,
            )

to filter a table on a boolean field, the state of the filter is always either True or False after the 1st use, i.e. it cannot be reset to "undefined" (so that all records are displayed, without filtering on myfield).
I tried to use Column.choice instead, but the choice argument expects a list of strings, which will never match a True or False value...
I'd be most thankful for any input here!

We have fixed this with a custom column (and variable and field) type in our own codebase, but it should probably be moved into tri.[form|query|table].
For the impatient it looks roughly like this:
from tri.form import Field, Shortcut, choice_parse
from tri.query import Variable, boolean_value_to_q
from tri.table import Column

boolean_tristate_field = Shortcut(
    choices=[True, False],
    parse=choice_parse,
    choice_to_option=lambda form, field, choice, **_: (
        choice,
        'true' if choice else 'false',
        'Yes' if choice else 'No',
        choice == field.value,
    ),
    required=False,
    call_target=Field.choice,
)

boolean_tristate_variable = Shortcut(
    gui__call_target=boolean_tristate_field,
    value_to_q=boolean_value_to_q,
    call_target=Variable,
)

boolean_tristate_column = Shortcut(
    query__call_target=boolean_tristate_variable,
    call_target=Column.boolean,
)

/ Johan

Hi,
Thanks for the answer. I tried this code, but choice_parse is not implemented in tri.form. Anyway, that would be a nice feature to have.

Column.boolean_tristate is now implemented in tri.table directly. I think this should solve this. If not, please reopen it.


availableCameras

Steps to reproduce

create a demo app base on the exampe from dev flutter
call availableCameras and display the result

Expected results
All the available cameras ( in my exemple samsung galaxy ultra 24 has many cameras)
Actual results
I got only 4, looks like generic 2 front and 2 back cameras
I tried on few other phones and I get the same result
Code sample
Code sample
 availableCameras().then((cameras) => allCameras = cameras)

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[Paste your output here]

Closing as duplicate of https://github.com/flutter/flutter/issues/91247


end of central directory record signature not found

This happens when the downloads are aborted and we try to build again. Zip are corrupted.
The solution is just to remove the node_modules/.cache/keycloakify.
It should be done automatically.

Shoud be fixed in 9.4


Fix install_entitlements.js script

Use context.opts.projectRoot parameter as it is available in both AppBuilder and Cordova CLI
Do not place the generated .entitlements file in directory Resource as it may not exist

👍


Update pkg/kubelet/config to v1beta3

This isn't strictly blocking v1beta3 enablement #5475, nor did it block elimination of BoundPods. However, at some point prior to 1.0 we're going to nuke ContainerManifest and v1beta1. Kubelet should start consuming v1beta3 sooner rather than later.
Additionally, pkg/kubelet/config/http_test.go serializes api.ContainerManifest in several places. The internal representation should never be serialized. This is blocking removal of the json tags from pkg/api/types.go #3933.

There is a WIP PR for reading pods: #5598. BoundPods have been removed in kubelet already.
#5632 to fix http_test.go

Thanks for the http_test.go fix @yujuhong !
cc @vmarmol
As for this issue, I think that #3372 is a prerequisite for this. I'm currently working on adding a support for reading Pods via http source (#5598). Once done with it, I will also modify the file channel.
As soon as both are done, I think we can start thinking of getting rid of support for ContainerManifest from there. I'm also happy to work on it.
@bgrant0607 : What deprecation policy do we have? Can we just simply remove support for ContainerManifest (obviously assuming that all tests & scripts are working correctly) or should we do something before it?

@wojtek-t since the Container VM relies on, and we publish examples using, the ContainerManifest I don't think we can remove our ability to take it in just yet. We should at least announce the deprecation in Container VMs and change all our examples. A tool to change manifests would be nice too, I think we can do that today easily as well.

Thanks Victor. Just few questions:

How/where should we announce deprecation?
Can you point me to Container VM code/examples so that I can change them?
Once Kubelet supports reading pods via http & config file, I'm happy to start changing our examples (and also create such tool).

@vmarmol @wojtek-t ContainerVM is not a product. It is used by internal teams. However, we're not committed to continuing to improve and evolve ContainerVM for them. We should announce the deprecation of ContainerVM ASAP. We're definitely going to nuke it along with the rest of v1beta1 if not sooner.

@bgrant0607 That is what I thought for a while until EricH pointed me this public page: https://cloud.google.com/compute/docs/containers/container_vms
Sounds like we talked about it, but no real action is performed.

As soon as #3372 is done (all necessary PRs are already under review), Kubelet will support reading both Pods and ContainerManifest. I looked through the Kubernetes codebase and it seems that there are no references to ContainerManifest anywhere.
So I think that the only remaining work here would be related to ContainerVM. However, from the internal discussions it seems that there is still no consensus what we're going to do with ContainerVM. So I'm not sure if we can do anything about it right now.

pkg/kubelet/config currently supports v1beta3 (in addition to ContainerManifest).
Since there is no clear plan what to do with ContainerManifest (and since removing is part of getting rid of v1beta1), I'm closing this one as fixed.


PR regarding bug #453

I reported this bug yesterday, and thought i should provide a pull request to fix it, so here it is.
I added a confirmation dialogue to verify that the user knows that their .bak file will be deleted in the process.
I also added a message to the user at the end of the script.
Thank you for writing and maintaining bash-it!

Thanks for providing the PR, looks great! I've added some comments for a couple of minor things to fix/adjust.

Thanks a lot for commenting. I'll provide a fixed PR later.

I close this PR and submit a new one. Thanks!


Implement eth_getFilterLogs

Problem
As a developer I'd like to be able to call eth_getFilterLogs to get an array of all logs matching filter with given id.
ℹ Can compute the same results with an eth_getLogs call.
Solution
⚠ Filters expire after 5 minutes of inactivity (no queries).
⚠This method only works for filters created with eth_newFilter not for filters created using eth_newBlockFilter or eth_newPendingTransactionFilter, which will return "filter not found".
Parameters

params (array of strings) - The filter id that is returned from eth_newFilter, eth_newBlockFilter or eth_newPendingTransactionFilter -> example ['0x1']

Returns

address - An address from which this log originated
topics - An array of zero to four 32 Bytes DATA of indexed log arguments.
data - It contains one or more 32 Bytes non-indexed arguments of the log
blockNumber - The block number where this log was in. null when its a pending log
transactionHash - The hash of the transactions this log was created from. null when its a pending log
transactionIndex - The integer of the transaction's index position that the log was created from. null when it's a pending log
blockHash - The hash of the block where this log was in. null when its a pending log
logIndex - The integer of the log index position in the block. null when it's a pending log
removed - It is true when the log was removed due to a chain reorganization, and false if it's a valid log

Alternatives
No response
Related issue(s):
Fixes #1489
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 69.23% and project coverage change: +1.04% :tada:

Comparison is base (8d7338b) 78.56% compared to head (063a765) 79.61%.

:exclamation: Current head 063a765 differs from pull request most recent head 26b7300. Consider uploading reports for the commit 26b7300 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1624      +/-   ##
==========================================
+ Coverage   78.56%   79.61%   +1.04%
==========================================
  Files          36       23      -13
  Lines        2683     2134     -549
  Branches      536      430     -106
==========================================
- Hits         2108     1699     -409
+ Misses        419      314     -105
+ Partials      156      121      -35

Files Changed
Coverage Δ

.../lib/services/ethService/ethFilterService/index.ts
80.95% <14.28%> (-13.34%)
:arrow_down:

.../lib/services/ethService/ethCommonService/index.ts
88.23% <76.74%> (-6.57%)
:arrow_down:

packages/relay/src/lib/eth.ts
85.25% <100.00%> (+0.58%)
:arrow_up:

... and 14 files with indirect coverage changes

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

Question: does this would support synthetic (HTS) logs?

Yes. Under the hood, eth_getFilterLogs is using the eth_getLogs logic. As long as synthetic HTS logs are supported on eth_getLogs, they will be included on eth_getFilterLogs as well.


Fix / Renovate SpecialChars plugin

Query
Please let me know here if you have any idea for how to get the width of a character in a textarea element, for use in rendering the character below in the highlighted section with the same width. A canvas solution is already being used, but some arbitrary checks are in place to make it more cross-browser compatible and this is becoming very messy. The code for this is in the special-chars plugin.
Testing
To test the special character view for every character, like in the screenshot below, use new codeInput.plugins.SpecialChars(true, true, /./g).
Status when Writing

It doesn't get the right width with Unicode characters like emojis, but it appears fine with all ASCII characters except for Tab (0009):

It never highlights newlines - maybe this should be made clear / fixed?
The rather messy canvas method used to find character width may be the problem.
The RegEx for special characters should probably be changed - perhaps it should just match zero-width () and -like characters?

This is truly broken - I tried the same tests on an X11/Ubuntu machine on Chromium and Firefox and it gave different results to on a Windows 11 machine.


WIP: Update github.com/google/go-github to vXX (Refactor: Use GetTime() upstreamed helper)

based on https://github.com/google/go-github/pull/2743
because of https://github.com/go-gitea/gitea/pull/23946#discussion_r1160317554

I'm gona wait for next tag as this is just a refactor nothing important ...
... just that it's not forgotten

The new version 52 has been released.
I have updated and added it to this RP in my branch sonjek:note_use_upstreamed_helper Tests looks ok.


Add high level utilities for comparing analyzed types

Except TypeChecker.fromRuntime.

This was originally a request to move the TypeChecker class from source_gen, but I suspect if we implement such a feature we'd want to consider if that API was the one we want.
This utility is intended to make it easier to work with DartType - it more directly expresses assignability, it allows comparing against other ways to express a type like a URL scheme (or from the runtime, but that capability uses mirrors and probably isn't worth porting over), and it filters annotations by type.

After a brief glance at TypeChecker, there appears to be a fair bit of duplication with the analyzer package's TypeSystem. I would prefer to talk about specific APIs that might be useful to add to TypeSystem than to have another mechanism for dealing with types.
It would be great if someone more familiar with TypeChecker could do the comparison and let us know what you think should be added.

How to get or initialize TypeSystem instance?

You can access the type system that was used for analysis through ResolvedUnitResult.typeSystem.

It would be great if someone more familiar with TypeChecker could do the comparison and let us know what you think should be added.

This is an important question. What is the ask here, for these utilities?

What is the ask here, for these utilities?

The original request was on the source_gen repo asking for TypeChecker to get moved into the analyzer package.
It sounds like the right resolution is to close this issue, and @ykmnkmi can file issues with more specific requests for anything not covered by TypeSystem.

If you have the element for the class (or whatever defines the type) you can ask it to instantiate a type based on it. Would that work?

I'm wondering about the case where I want to compare a type in the code I'm analyzing against a known hardcoded type. For instance I might want to check whether the @Foo() annotation on a class is a subclass of class Bar. I can get a DartType for Foo by parsing the metadata, but I don't know how to most easily get a DartType for Bar.
If resolving the library where Bar is defined based on the hardcoded known URI and then getting the type from there is the preferred approach I think that is OK. TypeChecker does some normalization so you can specify a type by a URL and name, and then it can compare that against DartType instances.

We'd typically assume that the library had already been resolved (necessarily true in the case where Foo is a subtype of Bar, but maybe not otherwise) so the cost to re-resolve shouldn't be too high.
Walking up the superclass chain as you described is I think effectively what we've implemented with TypeChecker - it might be worth considering some utility to abstract some of that but I don't have any concrete proposals.
The main value in TypeChecker seems to be the URI normalization (since builders may see different formats like asset: or package: URIs for sources using the analyzer APIs). The URIs are controlled by our integration with the analyzer, so it probably continues to make sense to keep that in source_gen instead of the analyzer.
Does the driver (or session, or type system) track types that have been resolved so far? If so, would it be feasible to query for a particular type  or class element by library URI and name?

Does the driver (or session, or type system) track types that have been resolved so far?

I believe the answer is no. @scheglov to correct me if I'm wrong.

You can ask for a specific library by its URI, and then ask it for a ClassElement that it exports, see for example https://github.com/dart-lang/sdk/blob/e995cb5f7cd67d39c1ee4bdbe95c8241db36725f/pkg/analyzer/lib/src/dart/analysis/session_helper.dart#L24
Then you could ask https://github.com/dart-lang/sdk/blob/d78797d0141cd5956dbe599caebd1b5b19fc270e/pkg/analyzer/lib/dart/element/type.dart#L158
Or you could iterate over https://github.com/dart-lang/sdk/blob/d78797d0141cd5956dbe599caebd1b5b19fc270e/pkg/analyzer/lib/dart/element/type.dart#L275 to check if there is a class that you are looking for, get InterfaceType.element, its ClassElement.library.source, check Source.uri and ClassElement.name.
We do know internally which libraries are available in the current session, but we don't expose this information.


[Question] Reveal API column on click?

Any suggestion on how to show/hide the right hand api code. I'm curious how I would implement something like this example - http://docs.servioticy.com/#
thanks :)

If you look in screen.scss, there's some styles that collapse everything to a single column on mobile. If you apply those styles and then just hide the code block, everything should be in a single column.


[alignmentdb] error

I ran nanopolish-dev0.6.0 with a draft assembly constructed by Canu assembler. One of the contigs got following error messages:
[alignmentdb] error: requested coordinates [150161 150241] is outside of region boundary [99960 150240]
Therefore, it did not create consensus segment. This error is repeatable for the same contig.

Hi
Just to note that I also see this, also from Canu.
I have two contigs which fail:
nano.tig00000022.1450000-1500200.sh.e2115371:[alignmentdb] error: requested coordinates [1500154 1500241] is outside of region boundary [1449960 1500240]
nano.tig00011452.900000-950200.sh.e2115428:[alignmentdb] error: requested coordinates [950129 950241] is outside of region boundary [899960 950240]
Neither have produced polished data.  Both have produced some tabular output.
Every other segment across two contigs has successfully finished.
I'm on the latest branch, cloned yesterday
Cheers
Mick

Ok, thanks for the note. I'll look into it.

Hi Mick,
Jared told  me to use –min-candidate-frequency 0.2, and it worked.
Good luck!
George
From: mw55309<EMAIL_ADDRESS>Sent: Wednesday, April 12, 2017 8:55 AM
To: jts/nanopolish<EMAIL_ADDRESS>Cc: Gong, George Lixin<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [jts/nanopolish] [alignmentdb] error (#119)
Hi
Just to note that I also see this, also from Canu.
I have two contigs which fail:
nano.tig00000022.1450000-1500200.sh.e2115371:[alignmentdb] error: requested coordinates [1500154 1500241] is outside of region boundary [1449960 1500240]
nano.tig00011452.900000-950200.sh.e2115428:[alignmentdb] error: requested coordinates [950129 950241] is outside of region boundary [899960 950240]
Neither have produced polished data. Both have produced some tabular output.
Every other segment across two contigs has successfully finished.
I'm on the latest branch, cloned yesterday
Cheers
Mick
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jts/nanopolish/issues/119#issuecomment-293584468, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALU-XYupV7HFykzSLjyjuQMj7Gw6qnDbks5rvNe8gaJpZM4Mb3id.

OK this worked for one of my errors but not the other one.
Should I try  –min-candidate-frequency 0.3 ??
What is this actually doing?

I'll try to fix this today but I might need some help. I think nanopolish is trying to make a correction too close to the end of a contig. --min-candidate-frequency is just hiding the error but reducing the number of corrections it tries to make, I need to fix it properly.

Mick could you send me the stderr/stdout logs, preferably with with -vvvvv option added if possible?

I've just pushed a candidate fix in 3b2c032. Could you test it and let me know if the issue is fixed?


Use CA bundle if provided via command args.

Signed-off-by: Shakti<EMAIL_ADDRESS>Please provide a description of what this PR is for.
If CA certificate is provided via command args --caCertFile, then use that to patch the sidecar injector MutatingWebhookConfiguration caBundle.

Hi @shakti-das. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@ramaraochavali please review.

/ok-to-test

cc @shakti-das @ramaraochavali Did we also want this in 1.6? I know there was previous work we cherry picked for cli args for externally managed certs.

Yes. This will also require cherry-picking to be compatible.

/cherrypick release-1.6

@jacob-delgado: #23612 failed to apply on top of branch "release-1.6":
error: Failed to merge in the changes.
Using index info to reconstruct a base tree...
M	pilot/pkg/bootstrap/sidecarinjector.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/bootstrap/sidecarinjector.go
CONFLICT (content): Merge conflict in pilot/pkg/bootstrap/sidecarinjector.go
Patch failed at 0001 Use CA bundle if provided via command args.

In response to this:

/cherrypick release-1.6

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@jacob-delgado: new issue created for failed cherrypick: #23626

In response to this:

/cherrypick release-1.6

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Update to ASP.NET Core 2.0?

I upgraded my project to ASP.NET Core 2.0 and now get an exception related to StructureMap:
StructureMap.Building.StructureMapBuildException: 'Error while building type Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionDescriptorChangeProvider.  See the inner exception for details'
The exception is thrown on call to
var tenant = httpContextAccessor.HttpContext.GetTenant<AppTenant>();
I'm not sure how to go about fixing this and imagine that SaasKit has to be updated to work properly with Core 2.0...?

Got it working in 2.0 and I don't think that exception is relevant to the topic at hand.


Getting more traffic to site from homepage

Problems:

The Explore page isn't getting enough traffic for us to determine how interested people are in the content being published there.
We don't want to hive off 'editorial' type content to its own section if few people go there
We want to legitimise editorial as a digital manifestation of the public programme, and to give it emphasis within the site as a whole
The homepage should be an eclectic, and eventually more personalised, reflection of Wellcome Collection.

This is a piece of discovery work to establish how might we integrate Explore into the site better, using our most heavily accessed page.

@Norvard We need to tackle this first as a research phase - assembling what we know about how the current homepage is used, what user goals are, etc, before designing any components. Let's discuss the w/c 2 May, yeah?

@jennpb Yep makes sense. Lets discuss and plan.

A/B test currently running calling 'explore' 'magazine' instead for 50% of traffic to see if more people click through.

@jennpb Do we want to restart an A/B test with the nav again?

@hthair I don't think so.
However, I'd like for you to do a piece of research and analysis work on the homepage itself. In order to progress with a homepage redesign, we need to decide:

Is it for new or returning visitors?
Are we positioning only the venue or also digital?
Should the focus be on us or on what's happening?
Do we allow people to customise it based on what they've looked at before, or opt in to customisation based on audience type (for example)?

This warrants a new issue, so I'll do that :)
#1861


Firefox Read Aloud integration please

Firefox Read Aloud integration please. It works great on Linux in Chromium but I updated my Read Aloud in Firefox and I don't see any Piper related options.

Version 1.68.0 of the Firefox extension has been submitted and will be available in a few days, thanks.


datepicker : can't manually write date when setting format 'dd/MM/yyyy'

Reproduction link
https://stackblitz.com/edit/ng-zorro-antd-ivy-jb4sww?file=src/app/app.component.ts
Steps to reproduce
Just click on date picker input, type "15/03/2021" and press enter
What is expected?
It should recognise and use given date
What is actually happening?
nothing happens when press enter button

Environment
Info

ng-zorro-antd
11.2.0

Browser
Chrome

it work when using default format, but not with this format 'dd/MM/yyyy'

Please import date-fns, see https://ng.ant.design/docs/i18n/en#how-to-format-a-date-using-date-fns

I dont understand, i did import date-fns, but that does not change anything.
When i type 15/03/2021 in the datepicker's input, it still does not recognise it.


Can't open creatures from compedium

Since I migrated to 3.0 I cannot open the compedium creature sheets.
On the other hand, I can open manually created actors sheets without any problems.

All modules disabled?

Found the non-updated module (Tidy Sheet 5e btw).
Thx


log file rotation not work

I have used the example of 'log file rotation', but it could not log and save.
file-stream-rotator is the newest version

it saved when I close the app. But how can I log in terminal at the same time, it doesn't output in terminal when I use the file-stream-rotator

Hi! So if you would like the logs to go two places at once (a file and the terminal), all you have to do is app.use() two morgan instances: one to write to the file, and the other to write to the terminal. Here is a simple example:
// setup the rotated file logger
app.use(morgan('combined', {stream: accessLogStream}))

// setup the terminal logger
app.use(morgan('dev'))


Need help for sql syntax(Can't sum float value)

Hi I'm trying to get some cumulative counter from the sched track.
But the sum() function can't deal with '-1.0' correctly.
Could some one help for this?
Thanks so much!
df=tp.query(f"""
        create or replace perfetto view tsall as
        select ts, cast(1 as float) as counter from sched
        union
        select ts_end as ts, cast(-1 as float) as counter from sched;

        select ts, counter, SUM(counter) OVER (ORDER BY ts) AS cumulative_sum
         from tsall order by ts limit 100
    """).as_pandas_dataframe()

What I got:
|ts | counter | cumulative_sum|
|------|------|------|
1412880579962 |  1.0 | 1.0
1412880584004 |  1.0 | 2.0
1412880604670 | -1.0 | 2.0
1412880604670 |  1.0 | 2.0
1412880635878 | -1.0 | 2.0
1412880635878 |  1.0 | 2.0
1412880699878 | -1.0 | 2.0
1412880699878 |  1.0 | 2.0
1412880721503 | -1.0 | 2.0
1412880721503 |  1.0 | 2.0
1412880724419 |  1.0 | 3.0

Sorry I find that's because "order by " sequence
Because the last ts_end is often equal to next ts
After dither ts_end as '+1", the result is correct
 create or replace perfetto view tsall as
        select ts, cast(1 as float) as counter from sched
        union
        select ts_end+1 as ts, cast(-1 as float) as counter from sched;

        select ts, counter, SUM(counter) OVER (ORDER BY ts) AS cumulative_sum
         from tsall order by ts limit 100


Any plans for Ligature's ?

Wondering if this is in the works or been considered previously. Thanks

Hi @the-real-adammork - can you expand on this please? :)

Ligatures is a font feature that traditionally collapses 'ae' or 'fi' from two characters to one. It can be used to collapse 'facebook' to one character. Takes alot of pain out of the process because you dont need to templatize the unicode characters after compiling the icon font.
I ended up grabbing the latest version of https://github.com/sunflowerdeath/webfonts-generator and ligature support is included. I call it directly and this solved my issue.

No reason to close this - I would still consider implementing it on this repo as well

Ok, and you sit ontop of webfonts-generator so it should be pretty straightforward. Ill try and take a crack at it later today.

That would be great, I'm gonna struggle finding time to look at it for a few days - just make sure to test that it works if you wanna open a pull request - thanks :)

How is the status of this feature request?

I was able to work around this!
Seems like the underlying library sunflowerdeath/webfonts-generator has added support for ligatures a long time ago.
Unfortunately, the author of the repository forgot to update the package on NPM. The repository is now read-only and therefore we can't submit issues for that.
To work around this, we can use a specific commit of the Github repository in NPM like so
package.json
{
  "dependencies": {
     "webfonts-generator": "sunflowerdeath/webfonts-generator#ed306cd"
  }
}

In order to correctly reference your icon font, you must use a custom CSS template. (Inspired by Material Design Icons)
template/css.hbs
@font-face {
  font-family: "{{ fontName }}";
  font-style: normal;
  font-weight: 400;
  src: {{{ src }}};
}

{{ baseSelector }} {
  font-family: "{{ fontName }}";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: pre;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}

template/html.hbs
<!DOCTYPE html>

    <meta charset="UTF-8">
    <title>{{ fontName }}</title>

    <link rel="stylesheet" type="text/css" href="{{ htmlCssRelativePath }}" />

{{ fontName }}

    {{# each names }}

                <{{ ../baseTag }} class="{{ ../baseClassNames }}">{{ this }}</{{ ../baseTag }}>

            {{ this }}

    {{/ each }}

I execute it like this
icon-font-generator --htmltp template/html.hbs \
  --csstp template/css.hbs \
  -o dist \
  icons/*.svg

I think the easiest way to fix this issue properly, is by forking sunflowerdeath/webfonts-generator and maintain it properly. Personally I am not quite sure whether I want to maintain it myself due to time consumption. If anyone would like to volunteer, I would love to help though.
From icon-font-generator side of things, I would love to see a --ligature parameter, which will simply use the CSS and HTML template from above.

Hi, thanks for the tip to make it work with liga!
But the woff and woff2 generated haven't ligature for tools other tan web (desktop, photoshop...). I have tracked down this issue and I have a solution :
package.json
{
"scripts": {
    "postinstall": "npm-run-all cleanDepWebfonts cleanDepIconFont",
    "cleanDepWebfonts": "rm -rf node_modules/webfonts-generator/node_modules/svgicons2svgfont",
    "cleanDepIconFont": "rm -rf node_modules/icon-font-generator/node_modules"
  },
  "devDependencies": {
    "icon-font-generator": "=2.1.9",
    "npm-run-all": "=4.1.5",
    "svgicons2svgfont": "manland/svgicons2svgfont#9f3e2ac",
    "webfonts-generator": "sunflowerdeath/webfonts-generator#ed306cd"
  }
}

Explanations :
svgicons2svgfont generate ligature with html unicode (for add it become add) which is perfect for web, but not for desktop font and tools :'(
So in manland/svgicons2svgfont#9f3e2ac I have made a little patch. And all is ok. I have open an issue in svgicons2svgfont but make no sense to fix it in their way. And if they do it, webfonts-generator has very old version , so we can't have it :man_shrugging:

Hi, is it possible to fix this inside this package? Compared to Google's Material Icons the Ligature Feature ist now really common and it would be nice to have it inside the generated fonts. I would not prefer to fork my own version just to set the commit for the webfonts-generator.
Thanks :)


[Bug] Data lost after the latest update

Is there an existing issue for this?

[X] Yes, I have searched the existing issues and none of them match my problem.

Product Variant
Cloud (http://rxresu.me)
Current Behavior
It seems only the English data has been saved. I lost my data in Chinese.
Expected Behavior
All my resume data can be found in dashboard
Steps To Reproduce

Login
Open the resume dashboard.

What browsers are you seeing the problem on?
Chrome, Safari
What template are you using?
None
Anything else?
No response

The migration is still running, and probably will be running for a couple of hours (more than 450,000 resumes to process). So if your resume isn't there right now, please wait, I'm working as hard as I can :)


Fix/pythran extension side effect

The following lines should be redundant now:
https://github.com/serge-sans-paille/pythran/blob/4dd3b9b45402288bc11242ebc1fd41e4a7995df8/omp/__init__.py#L9-L14


Q: Getting ath9k driver on NixOS 21.05?

wpa_supplicant[574309]: wlp8s0: Unsupported driver 'ath9k'

Howddya get this driver on NixOS? Doesn't seem to be packaged?
In my configuration.nix sourced file:
...
	# NOTE(Krey): uses Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01) -> ath9k?
	# NIX-BUG(Krey): Fails to deploy
	# boot.kernelModules = [ pkgs.ath9k ];
	networking.wireless = {
		enable = true;
		driver = "ath9k";
		interfaces = [
			"wlp8s0" # wlan0?
		];
		# networks = {
		# 	"ZyXEL" = {
		# 		# DND-SECURITY(Krey): Figure out how to store the password safely
		# 		psk = "abcdefgh";
		# 	};
		# };
	};
...

Solved by using hardware.enableAllFirmware = true;


127 adjust threshold

When training models, dataset now split into train, validation, test
Validation set used to calculate thresholds for best F1 scores for each label
Calculated thresholds included in Excel analysis document for each model
predict_multilabel now takes as argument a dict containing thresholds to use for each label

Testing has shown small improvements to performance
Next steps: integrate into the API

closes #127


don't use ..* syntax in Cargo.toml

it's just unreadable and doesn't make any sense ;)

I prefer how explicit major.*.* syntax is, so I'm not going to merge this.  Thanks for the contribution anyway!


Initial commit for Mass Conditional RNN

Just noting down a couple of points we discussed with @skinnider so they're not lost:

The descriptors for sampling can come from the held-out dataset, for all the samplings done for that training fold. (this will be a tweak in the workflow and will likely not drastically change anything in this PR).

create_training_sets should copy over any non-smile, non-inchikey columns and save them in the augmented dataset (i.e. descriptors don't change for a smile when its augmented).

preprocess should just pass on any non-smile fields to downstream steps (i.e. assume that the raw dataset has smiles and descriptors, and we don't try to generate them manually).

Notes on the current implementation:

sample_descriptor_file is the same format as the input to train_models_RNN

sample_descriptors.csv has been introduced with dummy values, but is not being used in any of the tests.

train_models_RNN

conditional_RNN = False -> no change in behavior
conditional_RNN = True:

csv - descriptors from csv file; if none found, then it comes up with its own (6) hardcoded descriptors.


Question regarding copyrights

Hello. I work at a company that is making a software manual for a client. The manual will be made in Japanese then translated into English. Within the manual, there is a brief mention of "Pixi.js". For this reason, we would like to know if you require us to include a copyright phrase in our manual for your product. If so, could you please tell us what copyright phrase to use? (English only is fine.) Also, if you require some trademark attribution phrase ("Pixi.js   is a trademark of..."), please let us know. If you need more specific details, please email me at<EMAIL_ADDRESS>Thank you for your time!

Pixi.js is copyrighted by Mathew Groves. It is not trademarked.

looks all good here!


AC: add adaptor and metrics for attribute classification models

Add attribute_classification adapter convert outputs of attribute classification models to ContainerPrediction which contains multiple ClassificationPredictions with their scores.
Add precision, recall, accuracy for attribute classification models. Each metric takes ContainerAnnotation with ClassificationAnnotationand ContainerPrediction with ClassificationPrediction and outputs its metric scores per attribute and their mean optionally.
Update REAMD.md

jenkins ok to test


Unselected polygons visualized on the map

I am working on adding tags to existing areas and renaming them as the part of the name is now part of the tags.
While checking the results I was playing with area selector and I found such strange behavior: only the area Zenne - Senne is selected, but the polygon of Mark - Marcq are shown as well. See screenshot below. Notice it was not easy to have a reproducible example of such behavior. This happens for example if you do the following:

select Mark and Zenne
Remove Zenne from the selected areas
Add Mark and remove Zenne. Notice that if you first remove Zenne and then add Mark you get the expected behavior

Notice that this behavior:

is common to all polygons. I tried it with Antwerp and Brussels as well. See second screenshot.
occurs with a triplet as well. I tested with Antwerp, Brussels and Dyle. Remove Dyle first and then add it while removing the other two. See third screenshot.

@niconoe: not sure this issue is instance dependent. If not, maybe worth to be moved to https://github.com/riparias/gbif-alert/issues.
Screenshots
Mark and Zenne

Antwerp and Brussels

Antwerp, Brussels and Dyle

Hi @damianooldoni, I had a quick look and this isn't as easy to fix as I had hoped. If that's okay for you, I'll let that issue on hold a bit so I can focus on more urgent features.

Of course! As told in our video call, this issue is not urgent at all as the shown/filtered occurrences are correct, that's the most important thing!


apply_gradients Error after do weight modification

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): conda
TensorFlow version (use command below): 1.15.0
Python version: 3.7.5
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
I want to do some modification of gradient, weight separately. When I do modification of gradient, it works, but when I use similar code to do modification of weight, it does not work.
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

train_op = tf.train.GradientDescentOptimizer(0.01)
w = tf.trainable_variables()[0]
grads_vars = train_op.compute_gradients(cross_entropy, var_list=[w])
residual = tf.zeros([784, 10])

for i, (g, v) in enumerate(grads_vars):
    import pdb; pdb.set_trace()
    # if len(g.shape) == 2:
    #     g_size = 1
    #     g_shape = g.get_shape().as_list()
    #     for j in g_shape:
    #         g_size *= j
    #     top_k_size = int(g_size * 0.1)
    #     g = tf.add(g, residual)
    #     g_top_k = get_top_k(g, top_k_size)
    #     residual = tf.subtract(g, g_top_k)
    #     grads_vars[i] = (g_top_k, v)
    if len(v.shape) == 2:
        v_size = 1
        v_shape = v.get_shape().as_list()
        for j in v_shape:
            v_size *= j
        top_k_size = int(v_size * 0.1)
        grads_vars[i] = (g, get_top_k(v, top_k_size))

opt = train_op.apply_gradients(grads_vars)

Traceback (most recent call last):
  File "/home/usu_hu_lab/Documents/tfv1/mnist_train.py", line 52, in <module>
    if len(v.shape) == 2:
  File "/usr/local/anaconda3/envs/tfv1/lib/python3.7/site-packages/tensorflow_core/python/training/optimizer.py", line 614, in apply_gradients
    update_ops.append(processor.update_op(self, grad))
  File "/usr/local/anaconda3/envs/tfv1/lib/python3.7/site-packages/tensorflow_core/python/training/optimizer.py", line 194, in update_op
    raise NotImplementedError("Trying to update a Tensor ", self._v)
NotImplementedError: ('Trying to update a Tensor ', <tf.Tensor 'Select:0' shape=(784, 10) dtype=float32>)

Describe the expected behavior
Actually, when I use pdb to debug the v, it is a variable, it should be updated.
(Pdb) p v
<tf.Variable 'Variable:0' shape=(784, 10) dtype=float32_ref>
(Pdb) p type(v)
<class 'tensorflow.python.ops.variables.RefVariable'>

Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

@marxwolf
Looks like code is incomplete. Request you to provide colab link or simple standalone code with supporting files to reproduce the issue in our environment. It helps us in localizing the issue faster. Thanks!

This is the full code.
import numpy as np
import tensorflow as tf
from tensorflow_core.examples.tutorials.mnist import input_data

def get_top_k(t, k):
	if len(t.shape) == 1:
		values, _ = tf.nn.top_k(t, k)
	elif len(t.shape) == 2:
		flatten_t = tf.reshape(t, [-1])
		values, _ = tf.nn.top_k(flatten_t, k)

	threshold = values[-1]

	mask = tf.greater_equal(t, threshold)
	zeros = tf.zeros_like(t)
	top_k = tf.where(mask, t, zeros)

	return top_k

mnist = input_data.read_data_sets("MNIST_data", one_hot=True)

x = tf.placeholder(tf.float32, [None, 784])

W1 = tf.Variable(tf.zeros([784, 10]))

b1 = tf.Variable(tf.zeros([10]))

y = tf.nn.softmax(tf.matmul(x, W1) + b1)

y_ = tf.placeholder(tf.float32, [None, 10])

cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

train_op = tf.train.GradientDescentOptimizer(0.01)
w = tf.trainable_variables()[0]
grads_vars = train_op.compute_gradients(cross_entropy, var_list=[w])
# residual = tf.zeros([784, 10])

for i, (g, v) in enumerate(grads_vars):
    # import pdb; pdb.set_trace()
    # if len(g.shape) == 2:
    #     g_size = 1
    #     g_shape = g.get_shape().as_list()
    #     for j in g_shape:
    #         g_size *= j
    #     top_k_size = int(g_size * 0.1)
    #     grads_vars[i] = (get_top_k(g, top_k_size), v)
        # g = tf.add(g, residual)
        # g_top_k = get_top_k(g, top_k_size)
        # residual = tf.subtract(g, g_top_k)
        # grads_vars[i] = (g_top_k, v)
    if len(v.shape) == 2:
        v_size = 1
        v_shape = v.get_shape().as_list()
        for j in v_shape:
            v_size *= j
        top_k_size = int(v_size * 0.1)
        grads_vars[i] = (g, get_top_k(v, top_k_size))

opt = train_op.apply_gradients(grads_vars)

init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    for i in range(1000):
        x_batch, y_batch = mnist.train.next_batch(100)
        _, gradvar, loss = sess.run([opt, grads_vars, cross_entropy], {x: x_batch, y_: y_batch})
        # import pdb; pdb.set_trace()

        if i % 100 == 0:
            print("The %s-th steps, loss = %f" % (i, loss))

    correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))

    accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
    print(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels}))

I have tried on colab with TF version 1.15 and was able to reproduce the issue.Please, find the gist here. Thanks!

@gowthamkpr When will you help to fix this problem?

@marxwolf Are you still facing the same issue?


Form Options section has incorrect information stated

[Enter feedback here]
Under "Form Options > Show Unsupported Fields" the description states,
"All fields are currently supported. This is reserved for potential changes Dataverse may make to field types."
This is not true, as at the very least "Choice" and "Choices" based fields are not supported.
This was identified via a portal created this morning using the current "Portal Starter Pack 9.2.2108.4".
I have not investigated any other unsupported field types as this misinformation has already led to hours of lost time!

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

ID: 4f4c99d3-65e9-9be5-70af-9cb9d3fcda29
Version Independent ID: cedbcc2e-1cf8-7397-ac76-1324d0b8a735
Content: About basic forms - Power Apps
Content Source: powerapps-docs/maker/portals/configure/entity-forms.md
Service: powerapps
Sub-service: portals
GitHub Login: @sandhangitmsft
Microsoft Alias: sandhan

Thank you for reaching out. Documentation has been updated and will reflect the changes soon.


Intermittent build failure on rebuild - possibly related to how menus are fetched

When rebuilding my project with a clean cache, it builds successfully all of the time. However on doing a rebuild, intermittently (probably 5% of the time) I will get a build failure caused by missing data in a static menu query. When deploying to Netlify with their Gatsby cache plugin, the first succeeds but after that I get build failures every time. To me this points to a race condition caused by a missing await operator or misconfigured promise somewhere.
I've been debugging this issue for a day and a half an i'm still not 100% sure what the root cause is. Looking through the source for gatsby-source-wordpress-experimental, it looks like the menu items are included via beforeChangeNode. Is this related?
From some googlling I found out that the static queries are saved in public/page-data/sq. When I managed to replicate the issue, I could see in the json files that all menu queries were null however other non menu data in the same static query existed.
First build:
2:46:20 PM: success open and validate gatsby-configs - 0.468s
2:46:21 PM: success load plugins - 1.136s
2:46:21 PM: success  gatsby-source-wordpress  step -> setErrorMap - 0.000s
2:46:21 PM: success  gatsby-source-wordpress  step -> tempPreventMultipleInstances - 0.000s
2:46:21 PM: success onPreInit - 0.046s
2:46:21 PM: success delete html and css files from previous builds - 0.003s
2:46:21 PM: success initialize cache - 0.006s
2:46:21 PM: success copy gatsby files - 0.033s
2:46:21 PM: success onPreBootstrap - 0.016s
2:46:21 PM: success  gatsby-source-wordpress  step -> setGatsbyApiToState - 0.011s
2:46:24 PM: success  gatsby-source-wordpress  step -> ensurePluginRequirementsAreMet - 2.421s
2:46:25 PM:
2:46:25 PM: info  gatsby-source-wordpress
2:46:25 PM: 	This is either your first build or the cache was cleared.
2:46:25 PM: 	Please wait while your WordPress data is synced to your Gatsby cache.
2:46:25 PM: 	Maybe now's a good time to get up and stretch? :D
2:46:25 PM: success  gatsby-source-wordpress  step --> checkIfSchemaHasChanged - 1.210s
2:46:27 PM: success  gatsby-source-wordpress  step --> introspectAndStoreRemoteSchema - 2.155s
2:46:27 PM: success  gatsby-source-wordpress  step --> identifyAndStoreIngestableFieldsAndTypes - 0.014s
2:46:28 PM: success  gatsby-source-wordpress  step --> buildNodeQueries - 0.294s
2:46:28 PM: success  gatsby-source-wordpress  step --> buildNonNodeQueries - 0.003s
2:46:28 PM: success  gatsby-source-wordpress  step --> undefined - 0.298s
2:46:28 PM: success  gatsby-source-wordpress  step --> cacheFetchedTypes - 0.051s
2:46:28 PM: success  gatsby-source-wordpress  step --> writeQueriesToDisk - 0.000s
2:46:28 PM: success  gatsby-source-wordpress  step --> undefined - 0.053s
2:46:28 PM: success  gatsby-source-wordpress  ingest WPGraphQL schema - 3.733s
2:46:28 PM: success  gatsby-source-wordpress  step -> ingestRemoteSchema - 3.734s
2:46:28 PM: success  gatsby-source-wordpress  step -> createSchemaCustomization - 0.073s
2:46:28 PM: success createSchemaCustomization - 6.247s
2:46:28 PM: success  gatsby-source-wordpress  step -> setGatsbyApiToState - 0.002s
2:46:28 PM: success  gatsby-source-wordpress  step -> persistPreviouslyCachedImages - 0.002s
2:46:28 PM: success  gatsby-source-wordpress  step -> sourcePreviews - 0.000s
2:46:30 PM: success  gatsby-source-wordpress  Consultant - 1.958s - fetched 3
2:46:30 PM: success  gatsby-source-wordpress  Category - 1.993s - fetched 2
2:46:30 PM: success  gatsby-source-wordpress  Comment - 2.674s - fetched 0
2:46:32 PM: success  gatsby-source-wordpress  EventCategory - 3.863s - fetched 2
2:46:33 PM: error  gatsby-source-wordpress  (undefined) location: line 91, column: 5
2:46:33 PM: 	 Sorry, you do not have permission to view this setting.
2:46:33 PM:  Error path: generalSettings.email
2:46:33 PM:  If you haven't already, try adding define( 'GRAPHQL_DEBUG', true ); to your wp-config.php for more detailed error messages.
success  gatsby-source-wordpress  Event - 4.988s - fetched 12
2:46:33 PM: success  gatsby-source-wordpress  ContentType - 5.055s - fetched 12
2:46:33 PM: success  gatsby-source-wordpress  FaqCategory - 5.094s - fetched 4
2:46:34 PM: success  gatsby-source-wordpress  JobCategory - 5.837s - fetched 2
2:46:34 PM: success  gatsby-source-wordpress  JobTag - 6.659s - fetched 2
2:46:35 PM: success  gatsby-source-wordpress  Job - 6.855s - fetched 2
2:46:35 PM: success  gatsby-source-wordpress  LocationCategory - 7.087s - fetched 1
2:46:35 PM: success  gatsby-source-wordpress  Faq - 7.349s - fetched 4
2:46:36 PM: success  gatsby-source-wordpress  Location - 7.944s - fetched 4
2:46:37 PM: success  gatsby-source-wordpress  Menu - 8.921s - fetched 5
2:46:37 PM: success  gatsby-source-wordpress  NewsArticle - 9.236s - fetched 1
2:46:37 PM: success  gatsby-source-wordpress  NewsCategory - 9.396s - fetched 2
2:46:38 PM: success  gatsby-source-wordpress  NewsTag - 9.925s - fetched 1
2:46:39 PM: success  gatsby-source-wordpress  MenuItem - 10.945s - fetched 43
2:46:39 PM: success  gatsby-source-wordpress  PostFormat - 11.057s - fetched 0
2:46:39 PM: success  gatsby-source-wordpress  Promotion - 11.436s - fetched 2
2:46:40 PM: success  gatsby-source-wordpress  Service - 12.187s - fetched 2
2:46:41 PM: success  gatsby-source-wordpress  ServiceCategory - 12.864s - fetched 2
2:46:41 PM: success  gatsby-source-wordpress  SpecialityTag - 12.979s - fetched 3
2:46:41 PM: success  gatsby-source-wordpress  Page - 13.431s - fetched 15
2:46:41 PM: success  gatsby-source-wordpress  Tag - 13.611s - fetched 2
2:46:42 PM: success  gatsby-source-wordpress  Taxonomy - 13.858s - fetched 12
2:46:42 PM: success  gatsby-source-wordpress  Testimonial - 13.992s - fetched 2
2:46:42 PM: success  gatsby-source-wordpress  UserRole - 14.078s - fetched 0
2:46:42 PM: success  gatsby-source-wordpress  User - 14.664s - fetched 2
2:46:43 PM: success  gatsby-source-wordpress  Post - 14.919s - fetched 25
2:46:46 PM: success  gatsby-source-wordpress  MediaItem - 3.245s - fetched 20
2:46:46 PM: success  gatsby-source-wordpress  creating nodes - 3.246s
2:46:46 PM: success  gatsby-source-wordpress  fetching nodes - 18.178s - 189 total
2:46:46 PM: success  gatsby-source-wordpress  MediaItems - 13.278s - fetched 0
2:46:46 PM: success  gatsby-source-wordpress  fetch root fields - 18.235s
2:46:46 PM: success  gatsby-source-wordpress  step -> sourceNodes - 18.236s
2:46:46 PM: success  gatsby-source-wordpress  step -> undefined - 18.239s
2:46:46 PM: success  gatsby-source-wordpress  step -> setImageNodeIdCache - 0.003s
2:46:46 PM: success Downloading remote files - 3.494s - 21/21 6.01/s
2:46:46 PM: success Checking for changed pages - 0.000s
2:46:46 PM: success source and transform nodes - 18.353s
2:46:48 PM: success building schema - 1.789s
2:46:48 PM: info Total nodes: 293, SitePage nodes: 1 (use --verbose for breakdown)
2:46:48 PM: success createPages - 0.056s
2:46:48 PM: success Checking for changed pages - 0.000s
2:46:48 PM: success createPagesStatefully - 0.087s
2:46:48 PM: success update schema - 0.076s
2:46:48 PM: success onPreExtractQueries - 0.001s
2:46:49 PM: success extract queries from components - 1.390s
2:46:49 PM: success write out redirect data - 0.001s
2:46:49 PM: success onPostBootstrap - 0.000s
2:46:49 PM: info bootstrap finished - 33.432s
2:46:50 PM: success run static queries - 0.811s - 15/15 18.48/s
2:46:50 PM: success run page queries - 0.005s - 2/2 385.50/s
2:46:50 PM: success write out requires - 0.004s
2:47:35 PM: success Building production JavaScript and CSS bundles - 45.197s
2:47:36 PM: success Rewriting compilation hashes - 0.002s
2:47:47 PM: success Building static HTML for pages - 11.023s - 2/2 0.18/s
2:47:47 PM: success Generating image thumbnails - 57.311s - 35/35 0.61/s
2:47:47 PM: success  gatsby-source-wordpress  step -> setImageNodeIdCache - 0.003s
2:47:47 PM: success onPostBuild - 0.012s
2:47:47 PM: info Done building in 90.817852873 sec
2:47:47 PM:
2:47:47 PM: (build.command completed in 1m 31.1s)
2:47:47 PM:
2:47:47 PM: ┌─────────────────────────────────────────────────────────┐
2:47:47 PM: │ 3. onPostBuild command from netlify-plugin-gatsby-cache │
2:47:47 PM: └─────────────────────────────────────────────────────────┘
2:47:47 PM:
2:47:48 PM: Stored the Gatsby cache to speed up future builds.
2:47:48 PM:
2:47:48 PM: (netlify-plugin-gatsby-cache onPostBuild completed in 639ms)
2:47:48 PM:
2:47:48 PM: ┌─────────────────────────────┐
2:47:48 PM: │   Netlify Build Complete    │
2:47:48 PM: └─────────────────────────────┘

Subsequent builds:
2:48:46 PM: success open and validate gatsby-configs - 0.447s
2:48:47 PM: success load plugins - 1.218s
2:48:47 PM: success  gatsby-source-wordpress  step -> setErrorMap - 0.000s
2:48:47 PM: success  gatsby-source-wordpress  step -> tempPreventMultipleInstances - 0.000s
2:48:47 PM: success onPreInit - 0.054s
2:48:47 PM: success delete html and css files from previous builds - 0.007s
2:48:47 PM: success initialize cache - 0.006s
2:48:47 PM: success copy gatsby files - 0.050s
2:48:47 PM: success onPreBootstrap - 0.027s
2:48:47 PM: success  gatsby-source-wordpress  step -> setGatsbyApiToState - 0.006s
2:48:47 PM: success  gatsby-source-wordpress  step -> ensurePluginRequirementsAreMet - 0.004s
2:48:48 PM: success  gatsby-source-wordpress  diff schemas - 1.277s
2:48:48 PM: success  gatsby-source-wordpress  step --> checkIfSchemaHasChanged - 1.279s
2:48:48 PM: success  gatsby-source-wordpress  step --> introspectAndStoreRemoteSchema - 0.064s
2:48:48 PM: success  gatsby-source-wordpress  step --> identifyAndStoreIngestableFieldsAndTypes - 0.040s
2:48:48 PM: success  gatsby-source-wordpress  step --> buildNodeQueries - 0.002s
2:48:48 PM: success  gatsby-source-wordpress  step --> buildNonNodeQueries - 0.007s
2:48:48 PM: success  gatsby-source-wordpress  step --> undefined - 0.010s
2:48:49 PM: success  gatsby-source-wordpress  step --> cacheFetchedTypes - 0.060s
2:48:49 PM: success  gatsby-source-wordpress  step --> writeQueriesToDisk - 0.001s
2:48:49 PM: success  gatsby-source-wordpress  step --> undefined - 0.061s
2:48:49 PM: success  gatsby-source-wordpress  ingest WPGraphQL schema - 1.457s
2:48:49 PM: success  gatsby-source-wordpress  step -> ingestRemoteSchema - 1.458s
2:48:49 PM: success  gatsby-source-wordpress  step -> createSchemaCustomization - 0.092s
2:48:49 PM: success createSchemaCustomization - 1.567s
2:48:49 PM: success  gatsby-source-wordpress  step -> setGatsbyApiToState - 0.002s
2:48:49 PM: success  gatsby-source-wordpress  step -> persistPreviouslyCachedImages - 0.004s
2:48:49 PM: success  gatsby-source-wordpress  step -> sourcePreviews - 0.000s
2:48:50 PM: success  gatsby-source-wordpress  pull updates since last build - 0.780s
2:48:50 PM: error  gatsby-source-wordpress  (undefined) location: line 91, column: 5
2:48:50 PM: 	 Sorry, you do not have permission to view this setting.
2:48:50 PM:  Error path: generalSettings.email
2:48:51 PM:  If you haven't already, try adding define( 'GRAPHQL_DEBUG', true ); to your wp-config.php for more detailed error messages.
success  gatsby-source-wordpress  fetch root fields - 1.842s
2:48:51 PM: success  gatsby-source-wordpress  step -> sourceNodes - 1.845s
2:48:51 PM: success  gatsby-source-wordpress  step -> undefined - 1.851s
2:48:51 PM: success  gatsby-source-wordpress  step -> setImageNodeIdCache - 0.005s
2:48:51 PM: success Checking for changed pages - 0.000s
2:48:51 PM: success source and transform nodes - 1.956s
2:48:52 PM: success building schema - 1.749s
2:48:52 PM: info Total nodes: 64, SitePage nodes: 1 (use --verbose for breakdown)
2:48:52 PM: success createPages - 0.055s
2:48:52 PM: success Checking for changed pages - 0.000s
2:48:53 PM: success createPagesStatefully - 0.121s
2:48:53 PM: success Cleaning up stale page-data - 0.002s
2:48:53 PM: success update schema - 0.058s
2:48:53 PM: success onPreExtractQueries - 0.001s
2:48:54 PM: success extract queries from components - 1.359s
2:48:54 PM: success write out redirect data - 0.001s
2:48:54 PM: success onPostBootstrap - 0.001s
2:48:54 PM: info bootstrap finished - 12.810s
2:48:54 PM: success run static queries - 0.080s - 12/12 150.89/s
2:48:54 PM: success run page queries - 0.006s - 2/2 337.49/s
2:48:54 PM: success write out requires - 0.005s
2:49:10 PM: success Building production JavaScript and CSS bundles - 15.976s
2:49:17 PM: failed Building static HTML for pages - 6.510s
2:49:17 PM: error Building static HTML failed for path "/404/"
2:49:17 PM:
2:49:17 PM:   52 |     `);
  53 |
> 54 |     const nodesPrimary = flatListToHierarchical( menus.primary.menuItems.nodes );
     |                                                  ^
  55 |     const nodesSecondary = flatListToHierarchical( menus.secondary.menuItems.nodes );
  56 |     const nodesTertiary = flatListToHierarchical( menus.tertiary.menuItems.nodes );
  57 |     const isReverse = typeof state.header?.isReverse !== 'undefined' ? state.header?.isReverse : true;

  WebpackError: TypeError: Cannot read property 'menuItems' of null

  - Header.js:54
    src/components/Header/Header.js:54:50

2:49:17 PM: ┌─────────────────────────────┐
2:49:17 PM: │   "build.command" failed    │
2:49:17 PM: └─────────────────────────────┘

Thanks for reporting this @peteluffman and sorry for the inconvenience here. Do you know if this only happens with static query or with regular queries as well?

@TylerBarnes I'll have this info for you in the next day or two

Hi again @peteluffman , I believe this was fixed in a later version of the plugin. If upgrading doesn't fix this please comment here or re-open the issue.
Thanks!

I hadn't touched the project for a while until last week when I upgraded all deps including this plugin. Looks like problem has been fixed as i'm now able to use Netlify's Gatsby cache plugin without issue :)


Unable to add already uploaded files to dropzone.

I needed to add to the DropZone component so that it emits an event once it's mounted, this way I can add files that have already been uploaded to the drop zone otherwise I was getting caught in a race condition.
ie At the end of the mounted method inside the dropzone component
vm.$emit('vdropzone-mounted')
Then in the parent component I have something like this...
<DropZone ref="dropzone" @vdropzone-mounted="loadExistingFiles"></DropZone>
And the method...
loadExistingFiles() {
    let that = this
    _.each(this.files, function(el) {
        var mockFile = { name: el.filename, size: el.size };
        that.$refs.dropzone.dropzone.emit("addedfile", mockFile);
        that.$refs.dropzone.dropzone.emit("thumbnail", mockFile, el.thumbnailS3);
        that.$refs.dropzone.dropzone.emit("complete", mockFile);
    })
}

Not sure if there is a better way to do this.

Hey @plexus77 , Simple way can be as below,
for (var i = 0; i < this.files.length; i++) {
	var mockFile = { name: "File_" + i, size: 526 };  //Any name, size.
	this.$refs.dropzone.manuallyAddFile(mockFile,this.files[i]);
}

@vrajroham didn't see that method cheers :)

Hey @vrajroham actually there is still a race condition.  I am doing an ajax call to the server in the mounted method in the parent component to retrieve the list of files already uploaded, after completion I call 'this.$refs.dropzone' and it is undefined.

This error usually occurs when dom is loaded before your ajax response is received. Even there would be any other issue we will see. Could you share the snippet of ajax call? So I can explain you better.

You mean that the Ajax call in the parent mounted method is completing before the child component is mounted?  There is still the potential for a race condition.
        mounted() {             let that = this             api.jobsGet(this.id).then(function(response) {                 store.commit(JOBADD, response.data.job)                 _.each(response.data.job.files, function(el) {                     var mockFile = { name: el.filename, size: el.size };                     that.$refs.dropzone.manuallyAddFile(mockFile, el.thumbnailS3);                 })             })         },
I added some console logs to the parent and dropzone (child) mount methods and also when the ajax call finishes, as expected they appear in this order.

Parent Mounted.
Ajax Call completed.
Dropzone Component Mounted.

The only foolproof solution I can think of is to emit an event from dropzone when it mounts or pass the already uploaded files into a property so that the dropzone knows to load them.

Your solution sounds great. I'll look into implementing event for such case.
I got same problem but in case of other library. This solution may help in your case. IT'S NOT RECOMMENDED!
Scenario and Workaround
I was loading the images via ajax call and trying to initiate a lightbox. Everytime  I was getting error as .....undefined. But I was able to receive images from server. What I did is set timeout of 100ms before initializing the light box, keeping everything same. It worked!
Try to set file manually after some minimum timeout. Hope this work around helps you.
Although I'll do some hands on on your suggestion, keep issue open

@plexus77 Once newer version is released check with your suggested method.

In my case, this.$refs.dropzone is defined correctly, but added files never show up.
var dropzone = this.$refs.dropzone;
var mockFile = { name: "icon.jpg", size: 12345 };
dropzone.manuallyAddFile(mockFile, "http://correctpathtoexistingfile.png");

No files show up. Am I missing something?

@iamgoodbytes
I just used your code (3 lines above this post) in my mounted() {} directive and it worked right away, did not need to use the vdropzone-moutned method.. not sure how that differs from the regular mounted() directive

Got this to work but one thing that wasn't working is that it wasn't working the maxFiles limit. I got this to work by adding this code:
  mounted() {

    for (var i = 0; i < this.user.images.length; i++) {

      var mockFile = {id: this.user.images[i].id, name: this.user.images[i].name, size: this.user.images[i].size};

      this.$refs.myDropzone.manuallyAddFile(mockFile, this.user.images[i].url);

      if (this.$refs.myDropzone.dropzone.options.maxFiles > 0) {
        this.$refs.myDropzone.dropzone.options.maxFiles--
      }
    }
  },

@vesper8. Make sure to remove the workaround you implemented for maxFiles if you update library to latest version. (Yet not released updated version) Because the workaround you implemented is updated in newer version. Right now the problem is Repo's documentation is updated but yet repo is not published to npm so npm it is serving old version.
keep note of your workaround

My previous comment can be ignored. It works fine, reason it didn't seem to work was because my dropzone existed in a v-if statement that would hide and show it when loading new data in my view. My guess is that this messes up the rendering of the thumbnail canvas. Anyway, solved on my part!

Hi @plexus77
Sorry for weighing in late here, my other suggestion would be to perhaps to use the use the .nextTick method or perhaps a watch method.
Or even better if you're using vue-router you could use the [data fetching] (http://router.vuejs.org/en/advanced/data-fetching.html) approach

Hi @rowanwins
Thanks for the suggestions, they all seem pretty viable....
I hadn't seen the vue-router data fetching stuff before.  Sounds like a good suggestion.

Im going to close this issue because it's more about state management now of the application but hopefully there are enough suggestions to go on with


Installation on different os

My test on MacOS 14 with an M3 machine does not currently work:
$ duckfetch install
> Select the DuckDB version to install (Esc to cancel):  v1.1.1
Downloading DuckDB version: v1.1.1 ...
DuckDB version v1.1.1 successfully downloaded
Error: Failed to move DuckDB binary

Caused by:
    No such file or directory (os error 2)

Thank you for the feedback. I found the issue, will push a fix this afternoon.

For Windows nightly, both amd and arm binaries are included within the same zip file.
https://artifacts.duckdb.org/latest/duckdb-binaries-windows.zip

I tested it and it appears to work:
$ duckfetch install
> Select the DuckDB version to install (Esc to cancel):  v1.1.1
Downloading DuckDB version: v1.1.1 ...
DuckDB version v1.1.1 successfully downloaded
> /path/to/.local/bin does not exist. Would you like to create it? Yes
Directory /path/to/.local/bin created successfully.
DuckDB v1.1.1 installed successfully in /path/to/.local/bin!

I don't have it on my path, but I ran /path/to/.local/bin/duckdb --help and it worked.

Thank you very much for that feedback, it is appreciated!


Add option allowUnusedValues and UnusedEnvVarsError

Add option allowUnusedValues and UnusedEnvVarsError
If a variable is not defined in the example file, but present in the environment, disabling this option will throw an error after loading. Defaults to true.

We are stuck with a situation in my current project which would probably benefit from a solution like the one mentioned above. Could you please verify that the definitions below are invalid, in the time of writing, with dotenv in conjunction with dotenv-safe? (A_MARKET_SPECIFIC_ID would be undefined?)
.env
AN_ORDINARY_PROPERTY=123abc
A_MARKET_SPECIFIC_ID=jdDJDJKEdkl3902djl

.env.example
AN_ORDINARY_PROPERTY=
```

This is a very good feature, we really need this one . can you tell if there is a plan to develop it?

I don't understand how this would work exactly - there will always be some environment variables defined by the system such as USER, LANG or PWD, so even if you don't include these variables in .env specifically there will always be some "unused" environment variable somewhere.
.env is meant to be a dumb file that gets merged with the current environment, and it shouldn't matter where the variables came from as long as they're present in the environment at runtime. Adding an option like this means that .env becomes special - in the example that @henrikbernstrom provided, would it be an error if A_MARKET_SPECIFIC_ID was provided in the environment externally? I don't think this use case is common enough (or difficult enough to work around) to merit the increased cognitive overhead of using this library.
If you really need to do this, you can look at the parsed and required objects returned by config() and use them to make the checks that you need. I'll close this as I'm not convinced it's a worthwhile feature, but happy to continue discussing if anyone feels particularly strongly about it.


LengthAwarePaginator returns wrong array of $elements in links()

Laravel Version:  6.1.0
PHP Version: 7.2.5
Database Driver & Version:

Description:
LengthAwarePaginator returns wrong array of $elements in links()
Steps To Reproduce:
$collection = new Collection();
$collection->push([]);
$paginator = new LengthAwarePaginator($collection, 10, 1, 3);
$paginator->onEachSide = 1;
$paginator->links() in $elements I got doubles 2 => "/?page=2"

Hi there,
Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.


UI Usability - Enable Search for files

There could be many files as part of a specific repository / directory / branch.
It would be useful to be able to search for those as opposed to clicking "next", "next" etc. to get to the right file when looking for a specific file.
Potentially, a prefix search can be a good starting point in this case.

prefix works today IMO. We don't have a search yet.


Safari extension

Hi, thanks for this awesome extension.
Can I ask for a Safari Extension as well? I'd love to help with this somehow.

This is aligned with issue #17 and I think it might work with safari. I'll try to book some time to investigate this. Thanks!

This a awesome extension, but will be really nice have a safari extension too. 👍


Will there be JPMS support?

While there is some overlap, there also seems to be places where DI could make JPMS easier to live with.  Is there a plan to add JPMS support?  Here's an example of the Dagger Coffee App using modules.  It works, but DI would definitely make it more elegant.

plan to add JPMS support?

JPMS in this sense to me just means ServiceLoader and modules provides.  Do you have a different view on what it means?
In terms of ServiceLoader, it's great but limited and (irrespective of DInject) when we use ServiceLoader we need to additionally code scope for ServiceLoader to be something like:

singleton on first instance and we expect only 1 instance (reuse the same instance as needed)
create new each time and expect only 1 instance (prototype scope)
create new expecting many instances (all implementations of ...)

So when this is sufficient and good then ServiceLoader is nice.
Is this DI though?  Not so much and we can see that code like:
    static Heater getInstance() {
        return ServiceLoader.load(Heater.class).findFirst().get();
    }

    private final Heater heater;
    private final Pump pump;

    public CoffeeMaker() {
        this.heater = Heater.getInstance();
        this.pump =  Pump.getInstance();
    }

So, can we use DI within the scope of a single module? Yes, I have thoughts and plans for this.  This means DInject is used totally internally inside a module and the outside world just sees something provided by ServiceLoader (often exposed with singleton scope - maybe via default method on interface).
Can we use DI across JPMS modules?  Well, to call it DI and have it look like DI in code terms I think we need to expose the context (BuilderContext) such that we actually get things like constructor injection done for us (by DInject).  Could this be done?  Yes, but we are pretty much have to avoid the "everything is exposed as ServiceLoader" approach and this means that it then works pretty much the same in non-JPMS world (but with improved package visibility rules).
What is your view of it?

I think we're of one mind as how I see DInject working with JPMS.  Thanks for taking the time to highlight the other areas where ServiceLoader is deficient in a DI context; I have much to learn:  My primary gripe was the lack of a singleton instance and I did not delve any further.

I've put up a version of the CoffeeApp example using DInject: https://github.com/dinject/CoffeeApp
Note that this doesn't use java module-info / module system etc.
You could try and adjust it - for me it was not obvious how to get the annotation processing working and I've got a few other things to sort out etc so I need to look at those things.


need help

How to submit y or n in checkbox component.

The checkbox component only stores boolean values, but you can make the label what ever you want.
If you want a yes/no component, you can use a radio, select, or custom component.