Commit Graph

173 Commits (7c641925be316bf9d57f88399f30f9c11e20e3d4)

Author SHA1 Message Date
Gabriel Horner 917a8aa098 Fix page blocks not displaying full property values in query tables
We were only saving these in pre-block but we also need them in page
block. Also adds tests for blocks that had this behavior since #6529
2023-02-01 16:28:42 -05:00
Gabriel Horner 78506f22d0 Fix deftests that have confusing args that only apply to defn
Follow up to #8412 where we're accidentally copying
invalid forms from other tests
2023-01-30 10:56:06 -05:00
Brooks Rady e7b511dc5b
fix: normalize the case of property keys (#8412)
* fix: normalize the case of property keys

* chore: remove debugging print statement

* chore: remove unneeded file from diff

* Added tests for Org title parsing

---------

Co-authored-by: Bad3r <bad3r@protonmail.com>
Co-authored-by: Gabriel Horner <97210743+logseq-cldwalker@users.noreply.github.com>
2023-01-30 10:44:23 -05:00
Gabriel Horner e2fe300da7 Move delete-blocks-fn to graph-parser for reuse for nbb
Also:
- Move test to a more appropriate ns - model-test isn't for testing
  higher level parse file behavior
- Delete model fns that are no longer used
- Fix tests which had incorrect target-page-content and were no longer
  testing retractAttribute
- Add options to cli ns for related nbb reuse
- Light cleanup of block deletion
2022-11-26 01:01:36 -05:00
Gabriel Horner 93dd107b8f Fix file links creating garbage pages
Fixes #6034, #6618, #6930
2022-10-27 20:56:31 +08:00
Gabriel Horner 5962e0621d Bump to latest kondo and enable new aliased-namespace-symbol linter 2022-10-19 21:24:54 +08:00
Gabriel Horner daf654172c Disallow tags as property names - fix #6753 2022-10-19 21:19:26 +08:00
Gabriel Horner c6a3eb2de0 Fix title and other built-in properties incorrectly parsing refs
Fixes issues in #6970. Introduced built-in property types as there are
fewer to list as parsed than unparsed.  Also removed test case that was
incorrectly introduced in #5580
2022-10-16 12:17:11 +08:00
Junyi Du 99dc9c371c test: double queare bracket in title 2022-10-16 12:17:11 +08:00
Peng Xiao cca1d35510 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-10-08 17:26:45 +08:00
Junyi Du 0e4037ab61
Feat: new file name escaping rules (#6134)
* feat: new file name escaping for namespace

feat: new file name decoding back to page name

* test: file name sanitization

feat: use _0x to encode %

feat: don't create title property

test: extra URL encoding for escaped file names

fix: fit pdf prefix into new file name rules

fix: encoding rules on some characters

fix: handle the buggy file names imported by users

fix: pdf block ref failed to jump

fix: #6167

* fix: enhance backward compatibility

chore: title validation

test: fix namespace queries test

chore: use index version stored in config.edn instead of search.versions

* feat: convert old version graph mechanism

ui: file conversion UI

feat: rename files for conversion

feat: don't trigger conversion when title property is manually edited

fix: file conflict notification while renaming files on some OS

feat: re-index on update version

feat: clicking NO in the re-index dialog would update the index-ver flag to suppress the dialog

feat: use html entities for reserved char escaping

dev: remove unresolved vars & minor refactor

chore: move file name sanity from gp-util to fs-util, as it's for encoding only but not parsing

test: update file name tests to html entities rule

test: convert files from dir ver 3 for repo_tests

feat: convert Windows reserved file names

fix: save index version into idb instead of file

fix: decode uri of path while parsing files on mobile

fix: couple dir version and index version to ensure only re-index on converted dirs

feat: go back to url-encode for special chars

* chore: fix lint

chore: improve codebase to address Gabriel's comments

fix: remove file remnants on add conflict

fix: remove file remnants on rename conflict

chore: add test ns to nbb runner

Also fix typoed fn and remove unused code

* fix: issues of rebase PR6134 to master after file-sync merged

* feat: switchable filename format

* fix: use  go block to replace promesa for rename all with blocking

* feat: re-index after apply rename all

* ui: file conversion enhancement

* fix: merging filename format PR with master

* fix: filename format lint & CI

* ui: filename format flow

* fix: error handling on the rare internal file path confliction case

* chore: shorten component code for files-breaking-changed

* chore: fix CI

* Minor fixes per latest code review

- Remove unused page-name-order
- Update catch usage to be consistent with what's on master
- Place state fn in right place
- Wording fixes:
  - select and apply -> manual. There are no checkboxes for the user
  - Update -> Edit. We use edit for all other settings button
  - Alternatives to starting sentences with May. Not a common way to
    start a sentence
  - update outdated template comment

* ux: rename instruction update

* ux: rename instruction update (2)

* Tweak wording of conversion modal

Simplifed first paragraph and explained the page to the user in first
sentence, may isn't a common way to start sentences and updated outdated
wording

* Fix large-var warning by splitting out a piece of component

* fix: right slash on Windows; legacy format file sanitization

* fix: triple lowbar renaming fns

Co-authored-by: Gabriel Horner <gabriel@logseq.com>
2022-10-08 15:47:45 +08:00
Tienson Qin 91dddd7541
Fix: stuck re-index when there're multiple whiteboards have the same UUID (#6890)
* fix: keep parsing even if some whiteboards can't be transacted

* enhance: notice parse errors

* enhance: instrument parse-and-load-error

* chore: add tests for whiteboards parsing and loading
2022-10-07 12:04:43 +08:00
Peng Xiao d1a7846a3b fix: tests 2022-09-29 00:21:49 +08:00
Peng Xiao ce4b2a4ad1 fix: use :block/type instead of :block/whiteboard? 2022-09-28 18:27:03 +08:00
Peng Xiao fd94862312 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-09-24 09:42:00 +08:00
Tienson Qin 50db6e42a0 fix: extract property refs support mixed values 2022-09-21 16:46:56 +08:00
Tienson Qin 0ede2d1263 fix: lint 2022-09-21 16:07:05 +08:00
Tienson Qin 1fbb364512 Add :block/properties-text-values 2022-09-21 15:06:48 +08:00
Gabriel Horner edd79954c1 Another test and address review feedback that shouldn't be controversial
- Added test for 71514ab36c
- Also removed dependency that is no longer used
2022-09-15 18:01:29 -04:00
Gabriel Horner ecce39d13b Misc cleanup and test improvements
- Remove incorrect carve entry
- Move test-only code for extract-properties to test
- Remove unused if branches in extract-properties
- Move json parsing of get-references into mldoc to be consistent about
  json encapsulation like other mldoc fns
- reorganize relevant unit tests
- add tests for alias, tags and comma separated config properties
- Update incorrect docstring
2022-09-14 23:26:00 -04:00
Tienson Qin 00e13c1fc5 fix: datoms count 2022-09-14 20:45:04 +08:00
Tienson Qin 79af14d75e fix: graph parser CI 2022-09-09 14:30:39 +08:00
Tienson Qin 58839059ac fix: CI 2022-09-09 14:13:35 +08:00
Tienson Qin cab5dc45a2 fix: tag parsing 2022-09-09 13:19:35 +08:00
Tienson Qin 2c7bae1190 fix: , and some chars shouldn't be supported for tags 2022-09-09 12:39:28 +08:00
Tienson Qin 040fd5510f fix: some tests on graph_parser 2022-09-09 12:39:26 +08:00
Tienson Qin c376c408e0 fix: lint warnings in graph_parser 2022-09-09 12:37:57 +08:00
Tienson Qin 336fa578d5 refactor: replace directives(front matter or org) with properties 2022-09-09 12:37:55 +08:00
Tienson Qin d1d1dc50c2 wip: get references from property values 2022-09-09 12:36:54 +08:00
Peng Xiao 91d63b82b9 test: failed test 2022-09-06 23:42:27 +08:00
Peng Xiao 0ff5324c02 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-08-29 10:45:15 +08:00
Gabriel Horner b47826d69d Fix page block not saving invalid-properties 2022-08-27 10:52:29 +08:00
Gabriel Horner 340fb8cf9a Invalid property fix and tests
- Fix validator considering 'foo bar' or a number or any valid edn, a valid keyword
- Rename property keys to names as users don't know what keys are
- Also bumped nbb-logseq to latest version
- Also give property validation more product focused namespace and name
2022-08-27 10:52:29 +08:00
Peng Xiao 37d0ad2524 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-08-24 16:50:57 +08:00
Gabriel Horner 55ccc2d17c Rename config to :rich-property-values?
Name should allow for additional functionality later
2022-08-23 09:55:15 -04:00
Peng Xiao 03ccde7008 fix: ci tests 2022-08-16 17:59:39 +08:00
Peng Xiao 384fc95231 fix: whiteboard name case issue 2022-08-16 17:52:43 +08:00
Gabriel Horner 509422901a Fix bugs with tests
- Quoted property values were extracting refs
- Punctuation at end of tags was getting included in tag
- Property values were only getting displayed as refs/relationships
  instead of full property value
- cli wasn't passing along user config
2022-08-11 17:20:47 -04:00
Gabriel Horner 39b43b363c Fix page-properties bug and dsl-query bug
parser test caught page properties bug and dsl-query tests once written
correctly exposed another bug. Also remove unit test as they are
replaced by integration style tests in graph-parser-test
2022-08-11 16:32:00 -04:00
Gabriel Horner 0719163d30 Split out parse-property for use in dsl-query and tests
- Add tests for all *property dsl queries with and without new
  config option
- Add tests for property persistence
- Add tests for property relationships
2022-08-11 16:32:00 -04:00
Gabriel Horner 405183db09 Add config option to allow for more free text in property values
Still need to test that *property operators work correctly when this
option is on
2022-08-11 16:32:00 -04:00
Peng Xiao b9bc4130e9 fix: tests 2022-08-06 13:29:36 +08:00
Peng Xiao 1e476bd26c feat: add tabler icon extensions 2022-08-05 21:50:58 +08:00
Peng Xiao b30adea656 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-08-05 13:59:06 +08:00
Tienson Qin 59b924f25d fix: CI 2022-08-04 17:25:29 +08:00
Gabriel Horner e0b1f6b2de Move common uses of page-ref to its own ns
By having a specific ns for page-ref utils, our code is more readable
and intention revealing. Also found that
text/{get-page-name,page-ref-un-brackets!} was getting called in
contexts that didn't make sense e.g. query layer was checking for
markdown and org page-refs
2022-08-04 17:25:29 +08:00
Peng Xiao ab6eec5fc3 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-08-03 14:12:10 +08:00
Gabriel Horner 49fbdd0244
Merge pull request #6214 from logseq/fix/hidden-properties-in-autocompletion
Fix: Property completion for hidden properties and property ordering
2022-08-01 14:42:06 -04:00
Peng Xiao 45272ef52b Merge remote-tracking branch 'upstream/master' into whiteboards 2022-08-01 10:22:15 +08:00
Gabriel Horner 42b7f5d189 Add two editable org built-in properties
Also ported old filetags property tests from b991599244.
2022-07-30 06:33:37 +08:00
Gabriel Horner b1c98ec09c Fix property ordering for large property maps
Fixes #4907. Issue was that we were losing sort order by converting a
linked/sorted map to a normal unsorted map.  Also ensure
properties-order is a vec to simplify edn serialization
2022-07-28 15:46:18 -04:00
Peng Xiao 66a08f8916 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-07-26 09:31:48 +08:00
Gabriel Horner c8864e777d Fix page-properties not using :property-pages/* config 2022-07-21 13:59:16 -04:00
Peng Xiao 2bb7ef5919 Merge remote-tracking branch 'upstream/master' into whiteboards 2022-07-18 22:50:43 +08:00
Gabriel Horner 7370716215 Move editable linkable built-in props to var
They were also being referred to elsewhere in block.cljs
Also moved filters to editable as that is existing behavior
Also disabled verbosity of cli tests to allow graph-parser tests to be
more readable
2022-07-15 10:41:35 -04:00
llcc 54a7e61b26 Revert: don't parse some special property key values as pages
Produced two many extra pages.
2022-07-15 16:11:11 +08:00
llcc cd6c355e8d fix testings 2022-07-15 15:52:00 +08:00
Gabriel Horner a0087d7792 Add config options to disable property pages and to exclude certain ones 2022-07-15 15:26:09 +08:00
Peng Xiao 0b1119a61f fix tests 2022-07-13 14:46:38 +08:00
Peng Xiao dbb49fe8d1 lint 2022-07-13 14:33:45 +08:00
Peng Xiao deb0268ac5 fix graph-parser tests 2022-07-13 14:28:11 +08:00
Peng Xiao a84ec7a5f3 fix block uuid 2022-07-13 14:20:30 +08:00
Peng Xiao d33d1cfede wip add more tests 2022-07-13 03:20:22 +08:00
Tienson Qin e8023b9246 fix: graph parser ci 2022-07-07 01:42:16 +08:00
Gabriel Horner 69ba15252e cli/parse-graph returns ast data as well
This data was not returned and is valuable for CI jobs
and possibly other functionality
2022-06-20 10:06:08 +08:00
Gabriel Horner 6608537909 Move logseq.graph-parser.db* namespaces to their own dep
Also add its own CI file
2022-06-10 15:39:11 +08:00
Gabriel Horner 01b28e26ee Exceptions during block extraction shouldn't delete data
This will prevent future occurrences of #5548
2022-06-08 13:19:50 +08:00
Gabriel Horner 5188c86547 Add tests for bug fix in #5553
Test normal and buggy case. Put these tests in graph-parser as
it allows us to test more user facing assertions and is easier to setup
2022-06-08 13:19:50 +08:00
Tienson Qin 78d1b17743 fix: ignore parsing for :file-path 2022-06-05 12:39:12 +08:00
Gabriel Horner b142327491 Finish up logseq.graph-parser
- Parser now parses all graph files like the app does, not just pages and journals.
  This required extracting another fn from repo-handler
- Add and tweak CI steps that are specific to graph-parser. All
  namespaces in this library are checked for nbb compatibility
- Cleaned up parser cli API so only one fn is needed for scripts
- Tests were updated to match new parsing behavior
- large_vars.clj can run with a smaller max-line-count after only refactoring two fns
- Add docs
2022-05-27 00:54:30 -04:00
Gabriel Horner 1e299052ce Setup cljs tests for graph-parser
- Also reuse docs graph test assertions to ensure main app
and graph-parser are in sync.
- Removed promesa from extract tests
since they are no longer async
- Added cljs and npm deps that were missing and caught by cljs tests
2022-05-26 18:04:45 -04:00
Gabriel Horner 15b8e5e9df Setup CI jobs that are only for graph-parser
Also move all non graph-parser fns to frontend thanks to carve lint
2022-05-26 18:04:45 -04:00
Gabriel Horner 4813d903d5 Move graph-parser to its own dir 2022-05-26 18:04:45 -04:00